逻辑斯蒂回归与梯度下降算法

逻辑斯蒂回归与梯度下降算法 - CSDN博客
http://blog.csdn.net/zhihaoma/article/details/48382097

逻辑斯蒂回归与梯度下降算法

2015年09月11日 23:34:03


Logistic回归属于分类模型。回顾线性回归,输出的是连续的实数,而Logistic回归输出的是[0,1]区间的概率值,通过概率值来判断因变量应该是1还是0。因此,虽然名字中带着“回归”(输出范围常为连续实数),但Logistic回归属于分类模型(输出范围为一组离散值构成的集合)。

整体步骤

假如我们的自变量是“数学课和英语课的成绩”,x={x1,x2},因变量是“能否被哥大录取”,y∈{0,1}。我们要通过这两个自变量的分布,来预测因变量的值。Logistic回归的步骤为:

  1. 设定拟合函数(hypothesis function):hθ(x),其意义是给定参数θ,根据输入x,给出输出hθ(x),当输出值大于0.5时预测录取,否则预测被拒。
  2. 设定代价函数(cost function):J(θ),其意义是累加所有样本的 预测结果hθ(x) 与 真实结果y 之间的差距。
  3. 利用梯度下降法,来调整参数θ,使得代价函数J(θ)的值最小。

比较线性回归与Logistic回归,可以看出二者非常相似,但是Logistic回归的拟合函数(步骤一)和代价函数(步骤二)的定义方法与线性回归有所不同。

Step 1:拟合函数

logistic function

线性回归的拟合函数为:hθ(x) = θTx,输出范围为所有实数,而其因变量的取值范围也确实属于所有实数。但是Logistic回归的最终输出要么是0,要么是1,我们不能直接套用线性回归的拟合函数。对于Logistic回归,我们需要控制输出在[0,1]之间,因此借助函数g:

函数g为S型函数(Sigmoid function),也称为Logistic function,“Logistic回归”就是得名于此。最终的拟合函数(其实就是在给定x条件下Y=1的概率)为

这个拟合函数的输出范围在[0,1]之间,表示分类结果为1的可能性。例如,我输入我的成绩,得到的拟合函数输出值为0.7,就表示我有70%的概率被哥大录取(30%的概率被拒)。当输出值超过0.5,我们将其分类为1(这表示模型最终预测我会被哥大录取)。值为0.5的线称为“Decision Boundary”(可以是曲线)

想象一个三维坐标系(x1,x2,y),对于任意的地面坐标(x1,x2),都有唯一的y值与之对应。首先计算 θTx,值可正可负且没有边界。然后将其作为S型函数g的输入,得到的输出固定在[0,1]之间。当 θTx≥0时,h≥0.5,预测为1分类,否则为0分类。拟合函数的意义就在于将值固定在0到1之间。

Step 2:代价函数

non-convex

如果直接套用线性回归的代价函数,那么得到的代价函数将非凸(non-convex),利用梯度下降我们可能停留在局部最小值,而不是我们想要的全局最小值。因此我们需要重新定义代价函数。

对于一个样本,我们新的代价函数定义如下:

cost function

公式可以进一步化简为:


下图是代价函数曲线,横坐标为h的值,纵坐标为代价。可以看出,在y=1的前提下,如果预测值越接近1,那么相应代价就越小,反之则越大。

cost function

将所有m个样本的代价累加并平均,我们有最终的代价函数:

cost function

这个代价函数满足convex的条件,所以有全局最小值。其来源与最大似然估计有关,此处略去细节。

Step 3:梯度下降

我们采用与线性回归中一样的梯度下降法来确定θ的值,即设置一个合适的学习率α之后,同步更新所有j=1 to n:

gradient

 重复更新步骤,直到代价函数的值收敛为止。



posted on   yusisc  阅读(46)  评论(0编辑  收藏  举报

编辑推荐:
· 开发者必知的日志记录最佳实践
· SQL Server 2025 AI相关能力初探
· Linux系列:如何用 C#调用 C方法造成内存泄露
· AI与.NET技术实操系列(二):开始使用ML.NET
· 记一次.NET内存居高不下排查解决与启示
阅读排行:
· 阿里最新开源QwQ-32B,效果媲美deepseek-r1满血版,部署成本又又又降低了!
· 开源Multi-agent AI智能体框架aevatar.ai,欢迎大家贡献代码
· Manus重磅发布:全球首款通用AI代理技术深度解析与实战指南
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
· AI技术革命,工作效率10个最佳AI工具

导航

< 2025年3月 >
23 24 25 26 27 28 1
2 3 4 5 6 7 8
9 10 11 12 13 14 15
16 17 18 19 20 21 22
23 24 25 26 27 28 29
30 31 1 2 3 4 5
点击右上角即可分享
微信分享提示