正则的详细解释以及灵活运用(包含Lasso)

本文详细介绍了正则化的概念及其在限制模型参数中的作用,特别是L1和L2正则化的区别。通过几何角度解释了L1正则化产生稀疏解的原因,以及在特定问题中如何选择使用L1或L2。同时,讨论了交叉验证在选择最佳超参数中的应用,以及参数搜索策略,如网格搜索、随机搜索和遗传算法。最后,探讨了Lasso正则化在特征选择中的优势,并举例说明了在房价预测问题中如何利用Lasso进行特征提取。
摘要由CSDN通过智能技术生成

正则的介绍

正则一开始是用来限制参数的,例如在逻辑回归中,目标函数: p ( y = 1 ∣ x ; w ) = 1 1 + e − w T x + b p(y=1|x;w)=\dfrac{1}{1+e^-{w^Tx+b}} p(y=1x;w)=1+ewTx+b1越大越好参数, p ( y = 0 ∣ x ; w ) = 1 − 1 1 + e − w T x + b p(y=0|x;w)=1-\dfrac{1}{1+e^-{w^Tx+b}} p(y=0x;w)=11+ewTx+b1越小越好,如果我们的数据线性可分时, 根据目标函数, w w w就会变得无穷大,因为此时 p ( y = 1 ∣ x ; w ) = 1 p(y=1|x;w)=1 p(y=1x;w)=1 p ( y = 0 ∣ x ; w ) = 0 p(y=0|x;w)=0 p(y=0x;w)=0,但是这显然不是我们想要的,这样模型就会过拟合了。所以我们要限制参数,不让它太大因此这个时候我们用到了正则:

w , b = a r g m i n ∏ i = 1 n p ( y i ∣ x i ; w ) + λ ∣ ∣ w ∣ ∣ 2 w,b=argmin\quad\prod_{i=1}^n p(y_i|x_i;w)+\lambda||w||^2 w,b=argmini=1np(yixi;w)+λw2

∣ ∣ w ∣ ∣ 2 = w 1 2 + w 2 2 + w 3 2 + . . . + w d 2 ||w||^2=w_1^2+w_2^2+w_3^2+...+w_d^2 w2=w12+w22+w32+...+wd2

假设 w w w变得很大,那么 λ ∣ ∣ w ∣ ∣ 2 \lambda||w||^2 λw2也会变得很大,这样就会使公式也会变得很大,而我们的目标函数是为了求最小,所以在计算的时候不会让 w w w变得特别大。也就是做到了限制参数的作用。

此时 λ \lambda λ表示的是超参数,当 λ = 0 \lambda=0 λ=0时表示没有任何限制,
λ \lambda λ越大对 w w w的限制越大,相反当 λ \lambda λ越小对 w w w的限制越小。因此 λ \lambda λ限制 w w w避免线性可分时参数 w w w变得无穷大。

L1和L2

λ ∣ ∣ w ∣ ∣ 2 \lambda ||w||^2 λw2我们经常称为 L 2 L2 L2,,但是正则不仅仅只有 λ ∣ ∣ w ∣ ∣ 2 \lambda ||w||^2 λw2一种,我们常见的还有正则 L 1 : λ ∣ ∣ w ∣ ∣ = λ ∑ i = 1 d ∣ w i ∣ L1:\lambda ||w||=\lambda\sum_{i=1}^d|w_i| L1:λw=λi=1dwi当然还有其他正则在这里就不一一介绍啦,一般正则的使用都是比较灵活,针对特定的问题使用正则。

现在我们了解一下这两种正则

w , b = a r g m i n ∏ i = 1 n p ( y i ∣ x i ; w ) + λ ∣ ∣ w ∣ ∣ 2 2 w,b=argmin\quad\prod_{i=1}^n p(y_i|x_i;w)+\lambda||w||^2_2 w,b=argmini=1np(yixi;w)+λw22

w , b = a r g m i n ∏ i = 1 n p ( y i ∣ x i ; w ) + λ ∣ ∣ w ∣ ∣ 1 w,b=argmin\quad\prod_{i=1}^n p(y_i|x_i;w)+\lambda||w||_1 w,b=argmini=1np(yixi;w)+λw1

L 1 L1 L1 L 2 L2 L2的作用都是使得参数 w w w变小,避免变得很大,但是它俩有一个不同之处:

使用 L 1 L1 L1导致我们获得解是一个稀疏的解:

w = ( 0 , 0 , 0 , 0 , 0.01 , 0 , 0 , 0 , 0.2 , 0 , 0.4 ) w=(0,0,0,0,0.01,0,0,0,0.2,0,0.4) w=(0,0,0,0,0.01,0,0,0,0.2,0,0.4)

也就是遇到一些很小的值我们都把它设置为0,因此 L 1 L1 L1可以做一些选择性的场景

而使用使用 L 2 L2 L2导致我们获得解是不是稀疏的

w=(0.1,0.054,0.11,0.25,0.01,0.2,0.4)

为什么会是这样的

我们使用几何的角度来了解一下如下图:

在这里插入图片描述
我们求得解也就是 f ( w ) f(w) f(w) L 1 或 L 2 L1或L2 L1L2的交集处,我们可以从图片中看出 f ( w ) f(w) f(w) L 1 L1 L1的交点有很多都落在 y y y轴上,所以加入L1的正则得到的解往往是稀疏的

因此我们在使用正则的时候往往是根据特定 问题去选择使用L1还是L2,比如我们在思考问题的时候大脑中的的神经不是全部在发生作用,往往只是一小部分,或者只是一部分区域,如果我们在思考这类问题时,可以加入一个L1正则
在这里插入图片描述
目标函数为: f ( r 1 w 1 + r 2 w 2 + r 3 w 3 + r 4 w 4 + . . . + r n w n ) f(r_1w_1+r_2w_2+r_3w_3+r_4w_4+...+r_nw_n) f(r1w1+r2w2+r3w3+r4w4+...+rnwn)

解: w ( w 1 , w 2 . w 3 . . . w n ) w(w_1,w_2.w_3...w_n) w(w1,w2.w3...wn)

大部分时间思考时我们只有小部分区域可以活动,因此可以使用L1正则

L 1 v s L 2 L1 \quad vs \quad L2 L1vsL2

虽然L1和L2都能使参数变小,但是L2的准确率比L1要高,L1是稀疏的L2不是

L1还有一个缺点:从相似参数里随机选择一个,而不是最好的那个。所以现在有:

w , b = a r g m i n ∏ i = 1 n p ( y i ∣ x i ; w ) + λ 1 ∣ ∣ w ∣ ∣ 1 + λ 2 ∣ ∣ w ∣ ∣ 2 2 w,b=argmin\quad\prod_{i=1}^n p(y_i|x_i;w)+\lambda_1||w||_1+\lambda_2||w||^2_2 w,b=argmini=1np(yixi;w)+λ1w1+λ2w22

并且对于超参数 λ 1 , λ 2 \lambda_1,\lambda_2 λ1,λ2进行不断地优化

对于

w 1 = a r g m i n ∏ i = 1 n p ( y i ∣ x i ; w ) + w_1=argmin\quad\prod_{i=1}^n p(y_i|x_i;w)+ w1=argmini=1np(yixi;w)+
w 2 = a r g m i n ∏

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值