说白了,逻辑斯蒂回归实际上就是label y = 1的对数几率是输入x的线性函数的模型。
对数几率
一个事件发生的概率为PP, 则该事件发生的几率为, 即为该事件发生的概率除以该事件不发生的概率。
该事件的对数几率即为:logit(p)=logp1−plogit(p)=logp1−p逻辑斯蒂回归模型
事件y=1y=1 的对数几率为输入xx 的线性函数,即
上述模型即为逻辑斯蒂回归模型,因此逻辑斯蒂回归是一种对数线性模型(PS:有可能数据集实际上是线性不可分的,这时候若要用逻辑斯蒂回归,可引入核函数,利用核技巧来实现(PPS:核技巧会在后续SVM算法中提到),利用核函数可以将线性不可分数据集映射到高维空间,在高维空间中,数据集变为线性可分的了)。通过定义合理的损失函数(下文会分析推导),学习得到ω,bω,b 的最优值。对于一个新的未知样本xx, 代入即可得到 的值,若大于0.5,即可认为y=1y=1 的概率大于y=0y=0 的概率,判定y=1y=1是合理的。逻辑斯蒂回归损失函数与最大似然估计
首先说结论,最小化逻辑斯蒂回归的损失函数与最大化对数似然函数是等价。下面开始推导:
由逻辑斯蒂回归模型(1)容易得到π(x)=P(y=1|x)=eωx+beωx+b+1π(x)=P(y=1|x)=eωx+beωx+b+1
则P(y=0|x)=1−π(x)P(y=0|x)=1−π(x) 于是样本(x,y)(x,y) 的似然值为L(x,y)=π(x)y×(1−π(x))(1−y)L(x,y)=π(x)y×(1−π(x))(1−y) (y=1时L(x,y)=π(x);当y=0时,L(x,y)=1−π(x)y=1时L(x,y)=π(x);当y=0时,L(x,y)=1−π(x) 综合两种情况即可得出结论)于是参数ω,bω,b的似然函数为:L(ω,b)=∏xi,yi{π(xi)yi×(1−π(xi))1−yi}L(ω,b)=∏xi,yi{π(xi)yi×(1−π(xi))1−yi}
对上式取对数将连乘变为累加:L(ω,b)=∑i=1N{yilog(π(xi))+(1−yi)log(1−π(xi))}L(ω,b)=∑i=1N{yilog(π(xi))+(1−yi)log(1−π(xi))}
而逻辑斯蒂回归的损失函数定义为:J(ω,b)=−1N∑i=1N{yilog(π(xi))+(1−yi)log(1−π(xi))}J(ω,b)=−1N∑i=1N{yilog(π(xi))+(1−yi)log(1−π(xi))}
对比以上两式可知最小化损失函数与极大化似然函数是等价的。- 逻辑斯蒂回归优化方法
在对数据进行训练时,即是对损失函数最小化的过程,在训练过程中可以利用随机梯度下降法进行训练更新权值。即可以没进来一个样本或者一批(batch)样本后计算梯度,对权值以及偏置进行更新。更新公式如下ωt=ωt−η∂L∂ωωt=ωt−η∂L∂ω
令zi=ωxi+bzi=ωxi+b ,对于单个样本的代价函数为:L(xi,yi)=−(yilog(π(xi))+(1−yi)log(1−π(xi)))L(xi,yi)=−(yilog(π(xi))+(1−yi)log(1−π(xi)))利用链式求导法则:∂L∂ω=∂L∂π(xi)×∂π(xi)∂zi×∂zi∂ω∂L∂ω=∂L∂π(xi)×∂π(xi)∂zi×∂zi∂ω
具体梯度更新公式推导敲公式太麻烦了,下面是我的推导过程。
权值向量ωω 和偏置b的梯度即更新公式如上图所示,如果每次更新时都用到了所有的样本,则这种优化算法为普通的梯度下降法GD,若每次更新权值都只利用部分样本甚至是单个样本则为随机梯度下降法SGD。
理解逻辑斯蒂回归:模型、损失函数与优化

逻辑斯蒂回归(LR)是一种对数线性模型,用于预测事件发生的概率。它通过线性函数计算对数几率,并通过最小化损失函数或最大化对数似然来进行参数优化。损失函数通常采用交叉熵,训练过程可以使用梯度下降法。
796

被折叠的 条评论
为什么被折叠?



