吴恩达机器学习-随堂笔记04
逻辑回归(Logistic Regression)
6.1 分类问题
可将问题的结果归类,比如判断肿瘤是否是恶性还是良性;判断电子邮件是否是垃圾邮件等等。
分类问题y的取值为0或者1,若使用线性回归,则假设值可能远远大于1或者小于0;而逻辑回归算法(分类算法),其输出值永远在0到1之间。
6.2 Hypothesis Representation
逻辑回归模型的假设是:
$h_θ(x)=g(θ^TX)$
其中,X代表特征向量,g代表逻辑函数。
常见的逻辑函数为S型函数(SIgmoid function),公式为:
$g(z)=1/(1+e^{-z})$
$h_θ(x)$的作用是对于输入的变量x,根据选择计算输出变量y=1的可能性(estimated probablity) ,即$h_θ(x)=P(y=1|x;θ)$
比如输入肿瘤的大小x,带入$h_θ(x)$得到输出为0.7。说明该肿瘤为恶性的概率是70%。
6.3 判定边界(Decision Boundary)
假设分类函数$h_θ(x)=g(θ_0+θ_1x_1+θ_2x_2)$,且参数$θ=[-3,1,1]$。则$z=θ_0+θ_1x_1+θ_2x_2$,当$z=θ_0+θ_1x_1+θ_2x_2≥0$,即$x_1+x_2≥3$时,模型将预测$y=1$。在这个例子中直线$x_1+x_2=3$就是该模型的分界线,将预测为1的区域和预测为0的区域分隔开。
当我们的模型如下,需要用曲线分割$y=0$的区域和$y=1$的区域,我们需要二次方特征:
$h_θ(x)=g(θ_0+θ_1x_1+θ_2x_2+θ_3x_12+θ_4x_22)$
其中$θ=[-1,0,0,1,1]$,则我们得到的判定边界恰好是原点在远点且半径为1的圆形。
6.4 代价函数(Cost Function)
将逻辑回归的模型带入线性回归的代价函数,这里的$h_θ(x)$就是$1/(1+e{θTx})$,绘制成图像就如左图,是一个非凸函数,存在许多局部最小值,将会影响梯度下降算法寻找全局最小值。
重新定义逻辑回归函数的代价函数如下:
当$y=1$时,$h_θ(x)→1$时,误差随之变小,当等于1时,误差也为0。
当$y=0$时,且$h_θ(x)=0$时代价为0,当$y=0$而$h_θ(x)$不为0时,误差会随着$h_θ(x)$变大而变大。
代价函数简化过程:
$Cost(h_θ(x),y)=-y×log(h_θ(x))-(1-y)×log(1-h_θ(x))$
带入代价函数:
$J(θ)=1/m\sum_{i=1}{m}Cost(h_θ(x),y)=1/m\sum_{i=1}(-y×log(h_θ(x))-(1-y)×log(1-h_θ(x)))=-1/m\sum_{i=1}^{m}(y×log(h_θ(x))+(1-y)×log(1-h_θ(x)))$
6.5 逻辑回归的共轭梯度、局部优化法(BFGS)、有限内存局部优化法(L-BFGS)
这些算法的优势:
-
不需要手动选择学习率α;
-
比梯度下降法更加快速;
劣势:更加复杂。
这节课需要自己去了解自己熟悉的编程语言里面实现该方法的软件库,学会使用软件库的用法即可。
6.6 多元分类:一对多
一对多的分类算法,也被称为“一对余”(One-versus-rest)方法。
如上图,有三种类别的情况,我们可以将一种类别划分为1,那么其他类别就是0,就可以得到三种边界函数,进而可以拟合出山中分类器。
在我们进行预测时,我们将所有的分类机都运行一遍,然后对每一个输入变量,都选择最高可能性的输出变量。
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 分享一个免费、快速、无限量使用的满血 DeepSeek R1 模型,支持深度思考和联网搜索!
· 使用C#创建一个MCP客户端
· ollama系列1:轻松3步本地部署deepseek,普通电脑可用
· 基于 Docker 搭建 FRP 内网穿透开源项目(很简单哒)
· 按钮权限的设计及实现