【机器学习算法】LR以及正则项

本文详细介绍了Logistic回归的基本原理及其数学推导过程,并解释了如何使用极大似然估计法来求解参数。此外,还对比了L1正则化和L2正则化的特点及应用场景。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

一,手推Logistic回归
logistic回归是概率型非线性回归,研究二分类结果y与一些影响因素(x1,x2…,xd)之间关系的一种多变量分析方法。
logistic回归基于线性分类 θ T X + b θ^TX+b θTX+b,并使用sigmoid函数将线性函数做非线性映射到(0,1)空间中去。于是有假设函数 H θ ( x ) H_θ(x) Hθ(x),表示的是x发生的几率。若 H θ ( x ) H_θ(x) Hθ(x)值大于0.5则表示是正样本否则是负样本。
1,对于样本集D={(x1,y1),(x2,y2),…,(xn,yn)}有n个样本,每个样本有x = (x1;x2;…;xd) d个维度,y={y=0,y=1}。在对其进行线性分类的时候有:
f ( θ , b ) = θ 1 ∗ x 1 + θ 2 ∗ x 2 + . . . θ d ∗ x d f(θ,b)=θ_1*x_1+θ_2*x_2+...θ_d*x_d f(θ,b)=θ1x1+θ2x2+...θdxd
f ( θ , b ) = θ T x = f ( z ) (1) f(θ,b)=θ^Tx = f(z) \tag 1 f(θ,b)=θTx=f(z)(1)
其中θ,b是要训练的参数。
2,对于二分类来说,f(x)是一个实数,现在欲将其映射到(0,1)的区间上。于是logistic回归的假设为:
y = h θ ( x ) = g ( θ T x ) = 1 1 + e − θ T x (2) y=h_\theta(x)=g(\theta^Tx)= \frac{1}{1+e^{-\theta^Tx}} \tag{2} y=hθ(x)=g(θTx)=1+eθTx1(2)

这里写图片描述

sigmoid的好处是理论上可以任何数投影到(0,1)之间。

3,损失函数
通过损失函数来计算样本预测的准确率。
由公式(2)可以得到
d d d ln\frac{y}{1-y}={\theta^Tx} \tag{3}KaTeX parse error: Can't use function '$' in math mode at position 16: ~~将y视作后验概率,那么 $̲d$y=p(y=1|x)
$d 1 − y = p ( y = 0 ∣ x ) 1-y=p(y=0|x) 1y=p(y=0x)$~~
那么根据公式(2),公式(3)可以转变为:
d d dp(y=1|x)=\frac{e{\thetaTx}}{1+e{\thetaTx}} \tag{4}KaTeX parse error: Can't use function '$' in math mode at position 2: $̲d$p(y=0|x)=\fra…

将y视作后验概率。那么样本x在条件 θ θ θ下y发生的概率是:
p ( y = 1 ∣ x ; θ ) = h θ ( z ) (6) p(y=1|x;\theta)=h_\theta(z) \tag{6} p(y=1x;θ)=hθ(z)(6)
y不发生的概率是:
p ( y = 0 ∣ x ; θ ) = 1 − h θ ( z ) (7) p(y=0|x;\theta)=1-h_\theta(z) \tag{7} p(y=0x;θ)=1hθ(z)(7)
将(6)(7)合并,就得到样本被预测正确的概率:
p ( y ∣ x ; θ ) = h θ ( z ) y ( 1 − h θ ( z ) ) 1 − y (8) p(y|x;\theta)=h_\theta(z)^y(1-h_\theta(z))^{1-y}\tag{8} p(yx;θ)=hθ(z)y(1hθ(z))1y(8)

4,极大似然估计
再得到样本的预测概率之后,再使用极大似然法来估计 θ , b \theta,b θ,b
极大似然估计是令每个样本属于其真实标记的概率越大越好。
由于各观测样本之间相互独立,他们的联合分布为各边缘分布的乘积,因此似然函数为:
L ( θ , b ) = ∏ i = 1 n [ h θ ( z ) y ( 1 − h θ ( z ) ) 1 − y ] L(\theta,b)=\quad\prod_{i=1}^n[h_\theta(z)^y(1-h_\theta(z))^{1-y}] L(θ,b)=i=1n[hθ(z)y(1hθ(z))1y]
为了简化两边取对数并加上符号,变成求取最小值。转变后的公式如下:
J ( θ , b ) = − l n ( L ( θ , b ) ) = − ∑ i = 1 n [ y l n ( h θ ( z ) ) + ( 1 − y i ) ∗ l n ( 1 − h θ ( z ) ) ] (9) J(\theta,b)=-ln(L(\theta,b))=- \sum_{i=1}^n[yln(h_\theta(z)) +(1-y_i)*ln(1-h_\theta(z))] \tag{9} J(θ,b)=ln(L(θ,b))=i=1n[yln(hθ(z))+(1yi)ln(1hθ(z))](9)
由此得到了LR的损失函数,该函数又被称为交叉熵,最大似然损失函数,log损失函数。
4,当然还需要加入正则项来防止过拟合。
J ( θ , b ) = − ∑ i = 1 n [ y l n ( h θ ( z ) ) + ( 1 − y i ) ∗ l n ( 1 − h θ ( z ) ) ] + 1 2 n ∑ i = 1 n θ i 2 (9) J(\theta,b)=- \sum_{i=1}^n[yln(h_\theta(z)) +(1-y_i)*ln(1-h_\theta(z))] +\frac{1}{2n}\sum_{i=1}^n \theta_i^2 \tag{9} J(θ,b)=i=1n[yln(hθ(z))+(1yi)ln(1hθ(z))]+2n1i=1nθi2(9)
这里写图片描述

下面就可以使用随机梯度下降等优化方法来求解最优的参数theta了。

二,正则项小议
L1正则化和L2正则化可以看做是损失函数的惩罚项。所谓『惩罚』是指对损失函数中的某些参数做一些限制。对于线性回归模型,使用L1正则化的模型建叫做Lasso回归,使用L2正则化的模型叫做Ridge回归(岭回归)。
损失函数以均方误差,其加上L1,L2的损失函数为:
这里写图片描述
这里写图片描述
一般回归分析中回归w表示特征的系数,从上式可以看到正则化项是对系数做了处理(限制)。L1正则化和L2正则化的说明如下:

*** L1正则化是指权值向量w中各个元素的绝对值之和,通常表示为||w||1
*** L2正则化是指权值向量w中各个元素的平方和然后再求平方根(可以看到Ridge回归的L2正则化项有平方符号),通常表示为||w||2

L1和L2正则化的直观理解
假设有如下带L1正则化的损失函数:
J = J 0 + α ∑ w ∣ w ∣ J = J_0 + \alpha \sum_w{|w|} J=J0+αww
求解J0的过程可以画出等值线,同时L1正则化的函数L也可以在w1w2的二维平面上画出来。如下图:
这里写图片描述

图中等值线是J0的等值线,黑色方形是L函数的图形。在图中,当 j 0 j_0 j0等值线与L图形首次相交的地方就是最优解。上图中 j 0 j_0 j0与L在L的一个顶点处相交,这个顶点就是最优解。
j 0 j_0 j0与这些角接触的机率会远大于与L其它部位接触的机率,而在这些角上,会有很多权值等于0,那么对于多维特征中也会存在更多的特征为0。这就是为什么L1正则化可以产生稀疏模型,进而可以用于特征选择。

同样的假设有如下带L2正则化的损失函数:
J = J 0 + α ∑ w ∣ w ∣ 2 J = J_0 + \alpha \sum_w{|w|^2} J=J0+αww2
可以画出他们在二维平面上的图形,如下:
这里写图片描述

二维平面下L2正则化的函数图形是个圆,与方形相比,被磨去了棱角。因此 J 0 J_0 J0与L相交时使得 w 1 {w_1} w1 w 2 w_2 w2等于零的机率小了许多,这就是为什么L2正则化不具有稀疏性的原因。
因为在最小化损失函数的时候加上了L2正则化因此最终的最优解会是的参数量和参数本身都不会太大,最终达到抑制过拟合的作用。

L1,L2总结:

  • L1正则化是指权值向量w中各个元素的绝对值之和,通常表示为 ∑ ∣ ∣ w ∣ ∣ \sum{||w||} w
  • 使用L1能够得到数据的稀疏特征
  • L2正则化是指权值向量w中各个元素的平方和然后再求平方根(可以看到Ridge回归的L2正则化项有平方符号),通常表示为 ∑ ∣ ∣ w ∣ ∣ 2 \sum{||w||^2} w2
  • 使用L2能够比较好的抑制模型过拟合

其他比较好的博文:
L1,L2:
http://blog.youkuaiyun.com/jinping_shi/article/details/52433975
LR:
http://www.cnblogs.com/GuoJiaSheng/p/3928160.html
http://blog.youkuaiyun.com/xierhacker/article/details/53316138

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

一杯拿铁go

你的打赏是我更新最大的动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值