逻辑回归

概念

E.n. Logistic Regression,经典的机器学习分类算法之一,与线性回归同属于广义线性模型 (generalized linear model)。逻辑回归的作用域在于整个实数集。经由参数 W W W b b b (统称为 θ \theta θ ) 线性变换后得出的实数,由特定函数投射到 [ 0 , 1 ] [0,1] [0,1] 的值域范围内:
z i = f ( X i ; θ ) = f ( W T X i + b ) z_i=f(X_i;\theta)=f(W^TX_i+b) zi=f(Xi;θ)=f(WTXi+b)

二分类

在二分类中, f f f 即为 Sigmoid 函数,求出的 z z z 可以理解为样本属于正案例的概率, ( 1 − z ) (1-z) (1z) 即为样本属于负案例的概率,这里我们将判断分类的阈值设为 0.5 0.5 0.5
z i = 1 1 + e − ( W T X i + b ) z_i=\frac{1}{1+e^{-(W^TX_i+b)}} zi=1+e(WTXi+b)1

y i ^ = { 0 , z i &lt; 0.5 1 , z i ≥ 0.5 \hat{y_i}=\begin{cases}0,&amp; z_i&lt;0.5\\1, &amp; z_i\ge0.5 \end{cases} yi^={0,1,zi<0.5zi0.5

我们希望最大化全部样本预测正确的综合概率,似然函数
l ( X ; θ ) = ∏ X i ∈ X z i y i ( 1 − z i ) 1 − y i l(X;\theta)=\prod_{X_i\in X} z_i^{y_i}(1-z_i)^{1-y_i} l(X;θ)=XiXziyi(1zi)1yi

使用极大似然法求解最优参数 θ ∗ \theta^* θ
θ ∗ = arg ⁡ max ⁡ θ l ( X ; θ ) = arg ⁡ min ⁡ θ − log ⁡ l ( X ; θ ) \theta^* =\arg\max_\theta l(X;\theta)=\arg\min_\theta-\log l(X;\theta) θ=argθmaxl(X;θ)=argθminlogl(X;θ)

由此,最大化似然函数的问题转变为最小化损失函数
L ( X ; θ ) = − ∑ i ( y i log ⁡ z i + ( 1 − y i ) log ⁡ ( 1 − z i ) ) L(X;\theta)=-\sum_i\big(y_i\log z_i +(1-y_i)\log (1-z_i)\big) L(X;θ)=i(yilogzi+(1yi)log(1zi))

这也就是我们常见的交叉熵损失函数。经过简化,损失函数成为
L ( X ; θ ) = − ∑ i ( y i z i + log ⁡ ( 1 + e z i ) ) L(X;\theta)=-\sum_i\big(y_iz_i+\log (1+e^{z_i})\big) L(X;θ)=i(yizi+log(1+ezi))

若样本标签从当前的 { 0 , 1 } \{0,1\} {0,1} 改为 { − 1 , 1 } \{-1,1\} {1,1},则重写后的上述公式为
L ( X ; θ ) = − ∑ i log ⁡ ( 1 + e − z i y i ) L(X;\theta)=-\sum_i\log\big(1+e^{-z_iy_i}\big) L(X;θ)=ilog(1+eziyi)

也就是我们熟悉的 Logistic Loss。模型训练过程中,使用梯度下降法或牛顿法逐步拟合参数。

Algorithm LogisticRegression( D D D, η \eta η):
Input: Sample data D = { ( X i , y i ) } D=\{(X_i,y_i)\} D={(Xi,yi)}, learning rate η \eta η.
Output: Prediction result y ^ \hat{y} y^.
 initialize W W W and b b b;
while not converged do
   z ← σ ( W T X + b ) z\leftarrow \sigma(W^TX+b) zσ(WTX+b)
   L ← − y log ⁡ z − ( 1 − y ) log ⁡ ( 1 − z ) L\leftarrow -y\log z-(1-y)\log(1-z) Lylogz(1y)log(1z)
   W ← W − η ⋅ ∂ L ∂ W W\leftarrow W-\eta\cdot \frac{\partial L}{\partial W} WWηWL
   b ← b − η ⋅ ∂ L ∂ b b\leftarrow b-\eta\cdot \frac{\partial L}{\partial b} bbηbL
return I ( σ ( W T X + b ) ≥ 0.5 ) \mathbb{I}\big(\sigma(W^TX+b)\ge0.5\big) I(σ(WTX+b)0.5)

多分类

多分类的思路与二分类不大,针对每一种分类单独训练一套参数,标签为 “属于该分类” 和 “不属于该分类”。各个分类下的模型最后求出来的 z z z 值通过 Softmax 函数归一化处理后的值即为分属于该分类的概率。
s o f t m a x ( z k ) = e z k ∑ k = 1 K e z k softmax(z_k)=\frac{e^{z_k}}{\sum_{k=1}^Ke^{z_k}} softmax(zk)=k=1Kezkezk

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值