Ridge Regression、Lasso Regression和Elastic Net Regression

本文为初学者个人理解,既不规范也不全面,还有可能理解有误,慎入。

Ridge Regression(称岭回归或脊回归)、Lasso Regression和Elastic Net Regression是结构风险最小化方法。

所谓结构风险最小化,即李航《统计学习方法》中所讲到的,在经验风险(经验损失)最小化的基础上加上一个正则项或惩罚项。


结构风险定义

经验损失:可以理解为最小化损失函数,损失函数形式可为多种形式,如线性回归中常用的BLUE最小二乘法,0-1损失函数,对数损失函数等。(加号左边部分)

损失函数是误分类点的总和,用来评估预测值与真实值的差值,是一个非负函数。(非负是指每一项的值都是非负的,为了避免项与项之间抵消,比方用损失函数计算的项1误分类点距真实值差1,项2误分类点距真实值差-1,最后加总得0,误以为全部分类正确)

正则化(惩罚项):为了防止过拟合提出的。其中λ>0(加号右边部分)

注:线性回归中,当样本数量为n,特征数量为p时

n>=p时,最小二乘法误差较小; n <= p 时,可能会产生过拟合。

【从线性代数角度理解,结构风险公式中,单看经验损失函数(加号左边一项),f(x,theta)是由若干个x和系数theta组成的函数,可以看做X矩阵与theta向量相乘。

对左边一项求最小值,相当于对其函数矩阵求导,使导数=0,可以求出theta值。

由于矩阵运算中,矩阵除法要求矩阵需满足可逆,故损失函数(加号左边一项)未必满足可逆矩阵的条件。有可能经过矩阵运算后得到非满秩矩阵(不可逆),此时,需要对其补充一个可逆矩阵才可以求值,即加入了惩罚项。】


正则化方法主要是加上一个范数项

【赋范空间与度量空间不同的是赋范空间没有角度,只有长度,相对应的就是著名的欧式距离和曼哈顿距离】

对于加上的范数项的不同分为:

加上L1范数  形成Lasso Regression

加上L2范数  形成Ridge Regression

加上L1+L2范数 形成Elastic Regression

对于L1范数,可以简单理解为向量中所有元素的绝对值之和(曼哈顿距离);L2范数为向量所有元素的平方和的开平方(欧式距离)

Ridge Regression、Lasso Regression和Elastic Net Regression_第1张图片
距离举例

如上图,曼哈顿距离指的是从天安门到灯市口坐车可到距离(不止这一条路径,各种步行可走的路线都算是曼哈顿距离),欧式距离指的是两点间直线距离。

L1、L2范数都有利于降低过拟合风险,L1范数比L2范数更容易获得稀疏解,即求出的w的非零向量更少(在实际应用中可以减少无用特征列,可以降维)


包含L1范数的Lasso公式
包含L2范数的Ridge公式

Elastic Net是损失函数一致(加号左边),加号右边为L1+L2。

L1范数是矩阵中所有数的绝对值之和。

L1范数在0点不可导,但不知道为什么不可导会导致稀疏,网上找到的解释是“任何的规则化算子,如果他在Wi=0的地方不可微,并且可以分解为一个“求和”的形式,那么这个规则化算子就可以实现稀疏”。

看了很多版本解释,最为清晰的是西瓜书上给出的解释方法。

根据周志华《机器学习》中的解释:

Ridge Regression、Lasso Regression和Elastic Net Regression_第2张图片
二维空间下正则化解

由于L1范数是绝对值之和,在二维空间下为方形,与平方误差项的切点会时常切在w1或w2轴上,所以时常会得到0解,L2范数是平方项,在二维空间下为圆形,所以相比于方形不时常切在轴上,w1、w2不常取0,即L2相比于L1更不容易得到稀疏解。




待续。。。


Ridge Regression、Lasso Regression和Elastic Net Regression_第3张图片

你可能感兴趣的:(Ridge Regression、Lasso Regression和Elastic Net Regression)