【Lasso回归和岭回归】

线性回归(linear regression),就是用线性函数 f(x)=wx+b 去拟合一组数据 D={(x1,y1),(x2,y2),...,(xn,yn)} 并使得损失 J=1nni=1(f(xi)yi)2 最小。线性回归的目标就是找到一组 (w,b),使得损失 J 最小。

线性回归的拟合函数(或 hypothesis)为:

f(x)=wx+b (1)

cost function (mse) 为:

J=1ni=1n(f(xi)yi)2=1ni=1n(wxi+byi)2 (2)

Lasso 回归和岭回归(ridge regression)都是在标准线性回归的基础上修改 cost function。

Lasso 的全称为 least absolute shrinkage and selection operator,又译最小绝对值收敛和选择算子、套索算法。

Lasso 回归对式(2)加入 L1 正则化,其 cost function 如下:

J=1ni=1n(f(xi)yi)2+λw1(3)

岭回归对式(2)加入 L2 正则化,其 cost function 如下:

J=1ni=1n(f(xi)yi)2+λw22(4)

Lasso回归和岭回归的同和异:

相同: 都可以用来解决标准线性回归的过拟合问题。

不同:

lasso 可以用来做 feature selection,而 ridge 不行。或者说,lasso 更容易使得权重变为 0,而 ridge 更容易使得权重接近 0。

从贝叶斯角度看,lasso(L1 正则)等价于参数 w 的先验概率分布满足拉普拉斯分布,而 ridge(L2 正则)等价于参数 w 的先验概率分布满足高斯分布。具体参考博客 从贝叶斯角度深入理解正则化 -- Zxdon 。

也许会有个疑问,线性回归还会有过拟合问题?

加入 L1 或 L2 正则化,让权值尽可能小,最后构造一个所有参数都比较小的模型。因为一般认为参数值小的模型比较简单,能适应不同的数据集,也在一定程度上避免了过拟合现象。

可以设想一下对于一个线性回归方程,若参数很大,那么只要数据偏移一点点,就会对结果造成很大的影响;但如果参数足够小,数据偏移得多一点也不会对结果造成什幺影响,一种流行的说法是『抗扰动能力强』。