scikit-learn/sklearn学习|弹性网络ElasticNet解读

发布于:2025-08-20 ⋅ 阅读:(15) ⋅ 点赞:(0)

【1】引言

前序学习进程中,对用scikit-learn表达线性回归岭回归套索回归多任务套索回归进行了初步解读。
线性回归的目的,是将因变量 y y y表达成由自变量 x x x、线性系数矩阵 w w w和截距 b b b组成线性函数式。
线性回归获得函数式:
y = ∑ i = 1 n w i ⋅ x i + b = w T x + b y=\sum_{i=1}^{n}w_{i}\cdot x_{i}+b=w^T{x}+b y=i=1nwixi+b=wTx+b
对应的均方误差函数计算式为:
L ( w , b ) = ∑ i = 1 n ( y i − y i ^ ) 2 = ∑ i = 1 n ( y i − ( w T x i + b ) ) 2 L(w,b)=\sum_{i=1}^{n}(y_{i}-\hat{y_{i}})^2=\sum_{i=1}^{n}(y_{i}-(w^Tx_{i}+b))^2 L(w,b)=i=1n(yiyi^)2=i=1n(yi(wTxi+b))2在这里, y y y是第i个样本的真实值, y ^ \hat{y} y^是第i个样本的预测值。
普通线性回归的均方误差将真实值和预测值作差后求平方和即可。

【2】均方误差函数

实际上很多时候数据之间不一定是理想化的线性关系,所以需要对线性关系式进行修正,修正项位于均方误差计算函数中,这个时候就衍生出其他回归方法,至少包括岭回归、套索回归等,各种回归方法的区别就在于均方误差函数的修正项定义方式不一样。

【2.1】Ridge岭回归

Ridge岭回归增加了L2正则化惩罚项:
L ( w , b ) = ∑ i = 1 n ( y i − y i ^ ) 2 + α ∑ j = 1 m w j 2 = ∑ i = 1 n ( y i − ( w T x i + b ) ) 2 + α ∑ i = 1 m w i 2 L(w,b)=\sum_{i=1}^{n}(y_{i}-\hat{y_{i}})^2+\alpha\sum_{j=1}^{m}w_{j}^{2}=\sum_{i=1}^{n}(y_{i}-(w^Tx_{i}+b))^2+\alpha\sum_{i=1}^{m}w_{i}^{2} L(w,b)=i=1n(yiyi^)2+αj=1mwj2=i=1n(yi(wTxi+b))2+αi=1mwi2在这里, y y y是第i个样本的真实值, y ^ \hat{y} y^是第i个样本的预测值。
新增加的L2正则化惩罚项为 α ∑ i = 1 m w i 2 ,其中 α ≥ 0 \alpha\sum_{i=1}^{m}w_{i}^{2},其中\alpha\geq0 αi=1mwi2,其中α0

【2.2】Lasso套索回归

Lasso套索回归的均方误差公式为:
L ( w , b ) = 1 2 n ∑ i = 1 n ( y i − y i ^ ) 2 + α ∑ j = 1 n ∣ w j ∣ = 1 2 n ∑ i = 1 n ( y i − ( w T x i + b ) ) 2 + α ∑ i = 1 n ∣ w i ∣ L(w,b)=\frac{1}{2n}\sum_{i=1}^{n}(y_{i}-\hat{y_{i}})^2+\alpha\sum_{j=1}^{n}\left | w_{j} \right |=\frac{1}{2n}\sum_{i=1}^{n}(y_{i}-(w^Tx_{i}+b))^2+\alpha\sum_{i=1}^{n}\left | w_{i} \right | L(w,b)=2n1i=1n(yiyi^)2+αj=1nwj=2n1i=1n(yi(wTxi+b))2+αi=1nwi
新增加的 L 1 L1 L1正则化惩罚项为 α ∑ i = 1 m ∣ w i ∣ , α ≥ 0 \alpha\sum_{i=1}^{m}\left | w_{i} \right |,\alpha \geq0 αi=1mwi,α0

【2.3】MultiTaskLasso多任务套索回归

MultiTaskLasso多任务套索回归的均方误差公式为:
L ( w , b ) = 1 2 n ∑ i = 1 n ( y i − y i ^ ) 2 + α ∑ i = 1 n ∑ j = 1 m w i , j 2 = ∑ i = 1 n ( y i − ( w T x i + b ) ) 2 + α ∑ i = 1 n ∑ j = 1 m w i , j 2 L(w,b)=\frac{1}{2n}\sum_{i=1}^{n}(y_{i}-\hat{y_{i}})^2+\alpha\sum_{i=1}^{n} \sqrt{\sum_{j=1}^{m}w_{i,j}^2}=\\\sum_{i=1}^{n}(y_{i}-(w^Tx_{i}+b))^2+\alpha\sum_{i=1}^{n}\sqrt{\sum_{j=1}^{m}w_{i,j}^2} L(w,b)=2n1i=1n(yiyi^)2+αi=1nj=1mwi,j2 =i=1n(yi(wTxi+b))2+αi=1nj=1mwi,j2
同时使用了 L 1 , L 2 L1,L2 L1,L2正则化惩罚项
α ∑ i = 1 n ∑ j = 1 m w i , j 2 , α ≥ 0 \alpha\sum_{i=1}^{n}\sqrt{\sum_{j=1}^{m}w_{i,j}^2},\alpha \geq0 αi=1nj=1mwi,j2 ,α0

【3】ElasticNet弹性网络

ElasticNet弹性网络的均方误差函数计算式MultiTaskLasso多任务套索回归类似,通过混合 L 1 , L 2 L1,L2 L1,L2正则化范数来修正均方误差:

L ( w , b ) = 1 2 n ∑ i = 1 n ( y i − y i ^ ) 2 + α ( ρ ∑ i = 1 n ∣ w i ∣ + 1 − ρ 2 ∑ i = 1 n w i 2 ) = ∑ i = 1 n ( y i − ( w T x i + b ) ) 2 + α ( ρ ∑ i = 1 n ∣ w i ∣ + 1 − ρ 2 ∑ i = 1 n w i 2 ) L(w,b)=\frac{1}{2n}\sum_{i=1}^{n}(y_{i}-\hat{y_{i}})^2+\alpha(\rho \sum_{i=1}^{n}|w_{i}|+\frac{1-\rho}{2}\sum_{i=1}^{n}w_{i}^2)=\sum_{i=1}^{n}(y_{i}-(w^Tx_{i}+b))^2+\alpha(\rho \sum_{i=1}^{n}|w_{i}|+\frac{1-\rho}{2}\sum_{i=1}^{n}w_{i}^2) L(w,b)=2n1i=1n(yiyi^)2+α(ρi=1nwi+21ρi=1nwi2)=i=1n(yi(wTxi+b))2+α(ρi=1nwi+21ρi=1nwi2)

新增加的 L 1 L 2 L1L2 L1L2惩罚项包括三部分:
第一部分 α \alpha α为惩罚项的强度,满足 α ≥ 0 \alpha\geq0 α0
第二项 ρ ∑ i = 1 n ∣ w i ∣ \rho \sum_{i=1}^{n}|w_{i}| ρi=1nwi L 1 L1 L1正则化项,它的存在会产生稀疏解,可以使部分系数为0;
第三项 1 − ρ 2 ∑ i = 1 n w i 2 \frac{1-\rho}{2}\sum_{i=1}^{n}w_{i}^2 21ρi=1nwi2 L 2 L2 L2正则化项,它的存在可以限制系数的绝对值不过大,实现防止过拟合。
其中 ρ ∈ [ 0 , 1 ] \rho\in[0,1] ρ[0,1],当 ρ = 1 \rho=1 ρ=1时弹性网络回到套索回归Lasso,当 ρ = 0 \rho=0 ρ=0时弹性网络回到岭回归Ridge。

【4】总结

初步学习了弹性网络ElasticNet的基本概念。


网站公告

今日签到

点亮在社区的每一天
去签到