逻辑回归
目的:分类
一、Sigmoid函数
公式如下:
g(z)=11+e−z

图中Sigmoid函数将任意输入映射到[0,1]区间,我们通过线性回归的到预测值,再将该值映射到Sigmoid函数中,这样就完成了值到概率的转换。变成了分类任务。
利用Sigmoid函数得出的预测函数:
hθ=g(θTx)=11+e−θx
其中
θ0+θ1x1+,...,+θnxn=n∑i=1θixi=θTx
这个就和线性回归中的函数很像了。
由于是二分类,只有True、False两种结果,因此由上述函数得到的预测分类的概率分别为:
P(y=1|x;θ)=hθ(x)
P(y=0|x;θ)=1−hθ(x)
因此
P(y|x;θ)=(hθ(x))y(1−hθ(x))1−y
解释:这里只不过是把上面P(y=1)P(y=0)整合了一下。
利用似然函数来得到损失函数(如果不太清楚直接看损失函数就可以,这里损失函数与线性回归不一样),似然函数如下:
L(θ)=m∏i=1(hθ(xi))yi(1−hθ(xi))1−yi
将似然函数取对数得损失函数为:
l(θ)=logL(θ)=m∑i=1(yiloghθ(xi)+(1−yi)log(1−hθ(x)))
我们得到代价函数为(foreachθ):
J(θ)=−1mm∑i=1[l(θ)]
我们的目标为最小化代价函数。
那么,为什么要这样来构造损失函数呢?
因为如果按照线性回归的方法来构造损失函数,那么得到的函数并不是凸函数,由于初始化参数不同,很容易走到局部最小值点而非全局最小值点。采用如上方法构造的函数为凸函数,这使得其能更好的利用到梯度下降算法中。(关于推导记住就行)
我们采用梯度下降法时的偏导数如下,
∂∂θjJ(θ)=1mm∑i=1(hθ(xi)−yi)xji
因此,我们进行同步更新时的柿子:(看起来和线性回归差不多)
θj=θj−α∂∂θjJ(θ)
总结:逻辑回归是要预测二分类问题,在线性回归的基础上增加了一个sigmoid外壳,然后改写损失函数,进而将其变为凸函数,从而更好地进行梯度下降操作。
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 全程不用写代码,我用AI程序员写了一个飞机大战
· DeepSeek 开源周回顾「GitHub 热点速览」
· 记一次.NET内存居高不下排查解决与启示
· MongoDB 8.0这个新功能碉堡了,比商业数据库还牛
· 白话解读 Dapr 1.15:你的「微服务管家」又秀新绝活了