ML基本知识(三)逻辑斯谛回归

应用背景

该模型解决的是二分类问题,即 y ∈ { 0 , 1 } y\in \{0,1\} y∈{0,1},对数据做出的假设为伯努利分布,假设取1的真实概率为 ϕ \phi ϕ,目标为寻找到合适的 ϕ \phi ϕ,使得预测分布接近真实分布。公式如下所示:

p ( y = 1 / x ; θ ) = ϕ p ( y = 0 / x ; θ ) = 1 − ϕ \begin{matrix} p(y=1/x;\theta)=\phi\\ p(y=0/x;\theta)=1-\phi \end{matrix} p(y=1/x;θ)=ϕp(y=0/x;θ)=1−ϕ​
上述公式合二为一,即为所求的条件概率:
p ( y / x ; θ ) = ϕ y ( 1 − ϕ ) 1 − y p(y/x;\theta)=\phi^y(1-\phi)^{1-y} p(y/x;θ)=ϕy(1−ϕ)1−y

求解过程

上述 ϕ \phi ϕ的函数公式为如下公式,也就是sigmoid函数,
ϕ = h θ ( x ) = 1 1 + e x p ( − θ T x ) \phi = h_{\theta}(x)=\frac{1}{1+exp(-\theta^Tx)} ϕ=hθ​(x)=1+exp(−θTx)1​

函数图示为
ML基本知识(三)逻辑斯谛回归
将上面公式带入条件概率公式可得:
p ( y / x ; θ ) = ϕ y ( 1 − ϕ ) 1 − y = h θ ( x ) y ( 1 − h θ ( x ) ) 1 − y p(y/x;\theta)=\phi^y(1-\phi)^{1-y}=h_{\theta }(x)^y(1-h_{\theta}(x))^{1-y} p(y/x;θ)=ϕy(1−ϕ)1−y=hθ​(x)y(1−hθ​(x))1−y

根据极大似然函数,求解目标为:
L ( θ ) = ∏ i = 1 m p ( y ( i ) ∣ x ( i ) ; θ ) L(\theta)= \prod_{i=1}^{m}p\left ( y^{(i)}|x^{(i)} ;\theta \right ) L(θ)=i=1∏m​p(y(i)∣x(i);θ)

将条件概率公式带入极大似然函数得到如下公式,
L ( θ ) = ∏ i = 1 N P ( y ( i ) / x ( i ) ; θ ) = ∏ i = 1 N [ h θ ( x ( i ) ) y ( i ) ( 1 − h θ ( x ( i ) ) ) 1 − y ( i ) ] L(\theta)=\prod_{i=1}^{N}P(y^{(i)}/x^{(i)};\theta ) = \prod_{i=1}^{N} \left [h_{\theta }(x^{(i)})^{y{(i)}}(1-h_{\theta}(x^{(i)}))^{1-y^{(i)}} \right ] L(θ)=i=1∏N​P(y(i)/x(i);θ)=i=1∏N​[hθ​(x(i))y(i)(1−hθ​(x(i)))1−y(i)]

公式取log得到如下公式:
l o g L ( θ ) = ∑ i = 1 N [ y ( i ) l o g h θ ( x ( i ) ) + ( 1 − y ( i ) ) l o g ( 1 − h θ ( x ( i ) ) ) ] logL(\theta) = \sum_{i=1}^{N}\left [ y^{(i)}logh_{\theta }(x^{(i)}) +({1-y^{(i)}})log(1-h_{\theta}(x^{(i)})) \right ] logL(θ)=i=1∑N​[y(i)loghθ​(x(i))+(1−y(i))log(1−hθ​(x(i)))]

求取上述公式的最大值,即可求得合适的 θ \theta θ,进而求得合适的 ϕ \phi ϕ,求最大值即寻找上述公式导数为0的点,因而问题转换为求取上述公式的导数,其中sigmoid函数的导数为(这里设 z = θ T x z=\theta^Tx z=θTx):
h ′ ( z ) = ∂ ∂ z 1 1 + e − z = 1 ( 1 + e − z ) 2 e − z = 1 ( 1 + e − z ) ( 1 − 1 ( 1 + e − z ) ) = h ( z ) ( 1 − h ( z ) ) h'(z)=\frac{\partial }{\partial z}\frac{1}{1+e^{-z}}=\frac{1}{(1+e^{-z})^2}e^{-z}=\frac{1}{(1+e^{-z})}(1-\frac{1}{(1+e^{-z})})=h(z)(1-h(z)) h′(z)=∂z∂​1+e−z1​=(1+e−z)21​e−z=(1+e−z)1​(1−(1+e−z)1​)=h(z)(1−h(z))

将上述公式带入 l o g L ( θ ) logL(\theta) logL(θ)(取值 l ( θ ) l(\theta) l(θ))的求导过程,公式如下:
∂ l ( θ ) ∂ θ j = ( y 1 h ( θ T x ) − ( 1 − y ) 1 1 − h ( θ T x ) ) ∂ ∂ θ j h ( θ T x ) = ( y 1 h ( θ T x ) − ( 1 − y ) 1 1 − h ( θ T x ) ) h ( θ T x ) ( 1 − h ( θ T x ) ) ∂ ∂ θ j θ T x = ( y ( 1 − h ( θ T x ) ) − ( 1 − y ) h ( θ T x ) ) x j = ( y − h θ ( x ) ) x j \frac{\partial l(\theta )}{\partial \theta _j}=(y\frac{1}{h(\theta ^Tx)}-(1-y)\frac{1}{1-h(\theta ^Tx)})\frac{\partial }{\partial \theta _j}h(\theta ^Tx)= (y\frac{1}{h(\theta ^Tx)}-(1-y)\frac{1}{1-h(\theta ^Tx)})h(\theta^Tx)(1-h(\theta^Tx))\frac{\partial }{\partial \theta_j}\theta^Tx= (y(1-h(\theta^Tx))-(1-y)h(\theta^Tx))x_j= (y-h_\theta(x))x_j ∂θj​∂l(θ)​=(yh(θTx)1​−(1−y)1−h(θTx)1​)∂θj​∂​h(θTx)=(yh(θTx)1​−(1−y)1−h(θTx)1​)h(θTx)(1−h(θTx))∂θj​∂​θTx=(y(1−h(θTx))−(1−y)h(θTx))xj​=(y−hθ​(x))xj​

利用随机梯度下降法,迭代更新参数,公式如下,经过有限次迭代之后得到 θ \theta θ的最终取值:
θ j : = θ j + α ( y ( i ) − h θ ( x ( i ) ) ) x j ( i ) \theta_j := \theta_j+\alpha(y^{(i)}-h_{\theta}(x^{(i)}))x_j^{(i)} θj​:=θj​+α(y(i)−hθ​(x(i)))xj(i)​

其中 α \alpha α指的是学习率。

常见知识点

并行化

根据上述梯度更新的公式,将数据集分块分别计算即可实现并行化。

特征重复n份对整体结果的影响

基本没有影响,对特征重复n份之后相当于把一个特征平均分成n份,且这些特征的权重也会被平均分成n份。

上一篇:O(N) 筛素数


下一篇:【文献阅读】Learning to Demodulate from Few Pilots via Offline and Online Meta-Learning