吴恩达机器学习-可选实验室:逻辑回归,决策边界(Logistic Regression,Decision Boundary))

文章目录

    • 目标
    • 数据集
    • 图数据
    • 逻辑回归模型
    • 复习逻辑回归和决策边界
    • 绘图决策边界
    • 恭喜

目标

在本实验中,你将:绘制逻辑回归模型的决策边界。这会让你更好地理解模型的预测。

import numpy as np
%matplotlib widget
import matplotlib.pyplot as plt
from lab_utils_common import plot_data, sigmoid, draw_vthresh
plt.style.use('./deeplearning.mplstyle')

数据集

假设你有以下训练数据集

  • 输入变量X是一个numpy数组,它有6个训练样本,每个样本有两个特征
  • 输出变量y也是一个包含6个示例的numpy数组,y为0或1
X = np.array([[0.5, 1.5], [1,1], [1.5, 0.5], [3, 0.5], [2, 2], [1, 2.5]])
y = np.array([0, 0, 0, 1, 1, 1]).reshape(-1,1) 

图数据

让我们使用一个辅助函数来绘制这些数据。标签y = 1的数据点显示为红色,标记为y=0的数据点用蓝色圆圈表示。

fig,ax = plt.subplots(1,1,figsize=(4,4))
plot_data(X, y, ax)ax.axis([0, 4, 0, 3.5])
ax.set_ylabel('$x_1$')
ax.set_xlabel('$x_0$')
plt.show()

在这里插入图片描述

逻辑回归模型

  • 假设您想在这个数据上训练一个逻辑回归模型,其形式为

F (x) = g(w0x0 + w1x1 + b)

g(z)是sigmoid函数

  • 假设你训练了模型,得到的参数是b=-3, w0= 1 w 1=1。也就是说,

F (x) = g(xo +x1 - 3)

(您将在课程中学习如何进一步将这些参数拟合到数据中)让我们试着通过绘制决策边界来理解这个训练过的模型预测的是什么

复习逻辑回归和决策边界

  • 回想一下,对于逻辑回归,模型表示为

fw.b (x^i) = g (w·x ^i + b)(1)

其中g(z)被称为sigmoid函数,它将所有输入值映射到0到1之间的值:

g (z) =1/(1+e^-z)

w·x是向量的点积

W·X= w0x0 + w1x1

  • 我们将模型(fw.b(x))的输出解释为给定x并由w和b参数化的y= 1的概率。
  • 因此,为了从逻辑回归模型中获得最终预测(y=0或y = 1),我们可以使用以下启发式方法

如果fw,b(x) >= 0.5,则预测y=1
如果fw,b(x) < 0.5,则预测y = 0

  • 让我们画出sigmoid函数,看看g(z) >= 0.5的地方
# Plot sigmoid(z) over a range of values from -10 to 10
z = np.arange(-10,11)fig,ax = plt.subplots(1,1,figsize=(5,3))
# Plot z vs sigmoid(z)
ax.plot(z, sigmoid(z), c="b")ax.set_title("Sigmoid function")
ax.set_ylabel('sigmoid(z)')
ax.set_xlabel('z')
draw_vthresh(ax,0)

在这里插入图片描述

  • 如您所见,对于z>=0, g(z) >=0.5
  • 对于逻辑回归模型,z = w·x+b。因此,

如果w·x+b>= 0,则模型预测y= 1
如果w·x+b<0,则模型预测y=0

绘图决策边界

现在,让我们回到我们的例子来理解逻辑回归模型是如何进行预测的。

  • 我们的逻辑回归模型是这样的

f (x) = g ( -3 + x0 + x1)

  • 从上面你学到的,你可以看到这个模型预测y= 1 如果-3+x0 +x1>=0

我们来看看它的图形是怎样的。我们先画出-3 +x0 +x 1= 0,也就是x1 =3- x0。

# Choose values between 0 and 6
x0 = np.arange(0,6)x1 = 3 - x0
fig,ax = plt.subplots(1,1,figsize=(5,4))
# Plot the decision boundary
ax.plot(x0,x1, c="b")
ax.axis([0, 4, 0, 3.5])# Fill the region below the line
ax.fill_between(x0,x1, alpha=0.2)# Plot the original data
plot_data(X,y,ax)
ax.set_ylabel(r'$x_1$')
ax.set_xlabel(r'$x_0$')
plt.show()

在这里插入图片描述

  • 在上图中,蓝线表示x0 +x1-3=0,它应该与x1轴相交于3(如果我们设置x1 = 3, x0 =0)和x0轴相交于3(如果我们设置x1 =0, x0 = 3)。
  • 阴影区域表示-3+x0+x1 <0。这条线上的区域是-3+xo+x >0。阴影区域(线下)的任何点都被分类为y =0。
  • 直线上或直线上的任何点都归为y = 1。这条线被称为“决策边界”。

正如我们在讲座中看到的,通过使用高阶多项式项(例如:f(x)= g(x0^2 +x1-1))我们可以得到更复杂的非线性边界。

恭喜

你已经在逻辑回归的背景下探索了决策边界。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.hqwc.cn/news/527365.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

强大的项目管理软件:OmniPlan Pro 4 mac中文版

OmniPlan Pro 4 mac中文版是由The Omni Group为macOS和iOS操作系统开发的一款专业级项目管理软件。它允许用户创建和管理复杂的项目&#xff0c;从定义任务、分配资源到跟踪进度和生成报告&#xff0c;一应俱全。 这款软件提供了一系列强大的工具&#xff0c;帮助用户进行高效…

R语言复现:如何利用logistic逐步回归进行影响因素分析?

Logistic回归在医学科研、特别是观察性研究领域&#xff0c;无论是现况调查、病例对照研究、还是队列研究中都是大家经常用到的统计方法&#xff0c;而在影响因素研究筛选自变量时&#xff0c;大家习惯性用的比较多的还是先单后多&#xff0c;P&#xff1c;0.05纳入多因素研究&…

【论文整理】自动驾驶场景中Collaborative Methods多智能体协同感知文章创新点整理

Collaborative Methods F-CooperV2VNetWhen2commDiscoNetAttFusionV2X-ViTCRCNetCoBERTWhere2commDouble-MCoCa3D 这篇文章主要想整理一下&#xff0c;根据时间顺序这些文章是怎么说明自己的创新点的&#xff0c;又是怎么说明自己的文章比别的文章优越的。显然似乎很多文章只是…

C++指针(五)完结篇

个人主页&#xff1a;PingdiGuo_guo 收录专栏&#xff1a;C干货专栏 前言 相关文章&#xff1a;C指针&#xff08;一&#xff09;、C指针&#xff08;二&#xff09;、C指针&#xff08;三&#xff09;、C指针&#xff08;四&#xff09;万字图文详解&#xff01; 本篇博客是介…

【LLM】Advanced rag techniques: an illustrated overview

note 文章目录 noteAdvanced rag techniques: an illustrated overview基础RAG高级RAG分块和向量化(Chunking & Vectorisation)搜索索引(Search Index)1. 向量存储索引&#xff08;Vector Store Index&#xff09;2. 多层索引(Hierarchical Indices)3. 假设问题和HyDE(Hypo…

计算机网络——OSI网络层次模型

计算机网络——OSI网络层次模型 应用层表示层会话层传输层TCP和UDP协议复用分用 网络层数据链路层物理层OSI网络层次模型中的硬件设备MAC地址和IP地址MAC地址IP地址MAC地址和IP地址区别 OSI网络层次模型通信过程解释端到端点到点端到端和点到点的区别 我们之前简单介绍了一下网…

三、N元语法(N-gram)

为了弥补 One-Hot 独热编码的维度灾难和语义鸿沟以及 BOW 词袋模型丢失词序信息和稀疏性这些缺陷&#xff0c;将词表示成一个低维的实数向量&#xff0c;且相似的词的向量表示是相近的&#xff0c;可以用向量之间的距离来衡量相似度。 N-gram 统计语言模型是用来计算句子概率的…

【测试】优化软件测试:有效测试用例设计的关键

&#x1f34e;个人博客&#xff1a;个人主页 &#x1f3c6;个人专栏&#xff1a;Spring ⛳️ 功不唐捐&#xff0c;玉汝于成 目录 前言 正文 等价类划分法&#xff1a; 边界值分析法&#xff1a; 因果图&#xff1a; 状态转换测试&#xff1a; 错误猜测法&#xff1a…

Day34-Linux网络管理4

Day34-Linux网络管理4 1. IP地址分类与子网划分基础1.1 什么是IP地址1.2 十进制与二进制的转换1.3 IP地址的分类1.4 私网地址和局域网地址 2. 通信类型3. 子网划分讲解3.1 为什么要划分子网&#xff1f;3.2 什么是子网划分&#xff1f;3.3 子网划分的作用&#xff1f;3.4 子网划…

16.Git从入门到进阶

一.Git 初识 1. 概念&#xff1a; 一个免费开源&#xff0c;分布式的代码版本控制系统&#xff0c;帮助开发团队维护代码 2. 作用&#xff1a; 记录代码内容&#xff0c;切换代码版本&#xff0c;多人开发时高效合并代码内容 3. 如何学&#xff1a; 个人本机使用&#xf…

WEBUI中的完美像素模式(Pixel Perfect)到底是什么意思

在webui的controlnet中&#xff0c;有个选项&#xff0c;叫做“完美像素模式”&#xff0c;英文为“pixel perfect mode”&#xff0c;有很多朋友在使用的时候不知道这个神奇的选项是否应该勾选上&#xff0c;所以有时候排查问题的时候&#xff0c;会反复的选择和去掉勾选&…

Django简易用户登入系统示例

Django简易用户登入系统示例 1&#xff09;添加url和函数的对应关系&#xff08;urls.py) urlpatterns [ path(login/, views.login), #login:url路径&#xff0c;views.login:对应的函数 ]2&#xff09;添加视图函数&#xff08;views.py) def login(req):if…