线性回归(七)—— 弹性网
弹性网(elastic net) 介绍 前面介绍了两种正则化方法来解决过拟合问题,分别是LASSO的L1正则化和Ridge的L2正则化。 其实惩罚函数有无数多个 λ ∑ i = 1 m ∣ θ i ∣ q \lambda\sum_{i=1}^m|\theta_i|^q λ i = 1 ∑ m ∣ θ i ∣ q 这里q取1就变成了LASSO,q取2就变成了Ridge。 当然q也可以取其他的值 后来有人把LASSO和Ridge结合了起来,把代价函数中的惩罚函数变成了这样 λ ∑ i = 1 n ( α θ i 2 + ( 1 − α ) ∣ θ i ∣ ) \lambda\sum_{i=1}^n(\alpha\theta_i^2+(1-\alpha)|\theta_i|) λ i = 1 ∑ n ( α θ i 2 + ( 1 − α ) ∣ θ i ∣ ) 这就是弹性网。 elastic net 的python代码 # encoding:utf-8 import numpy as np from sklearn import linear_model # 读入数据 data = np . genfromtxt ( "../data/longley.csv" , delimiter = ',' ) x_data = data [ 1 : , 2 : , ] y