大纲:
1. 什么是lasso regression,ridge regression?
2. 为什么lasso regression又称为l1 regularization,ridge regression又称为l2 regularization?
3. 为什么lasso regression 可以用于变量选择,但是ridge regression不可以?
一 什么是lasso regression,ridge regression
lasso regression,ridge regression 都是用于线性回归的收缩方法(Shrinkage Methods)。在线性回归目标函数中加入lasso regression或者ridge regression,可以使模型的variance降低,使模型具有更强的泛化能力(generalization)。
原来线性回归的目标函数:
加入lasso regression的线性回归目标函数:
等价于:
加入ridge regression的线性回归目标函数:
等价于:
二 为什么lasso regression又称为l1 regularization,ridge regression又称为l2 regularization
从上面的lasso regression公式可以看出,目标函数加入的lasso regression项是一范数,而ridge regression项是二范数。
三 为什么lasso regression 可以用于变量选择,但是ridge regression不可以
假设线性回归模型具有两个变量, lasso的参数估计是所有满足|β1|+|β2|≤t中,使得残差平方和取得最小值的β1和β2。当t很大时,限制条件几乎是无效的。只要t所定义的区域包含最小二乘解,那么收缩方法得出的参数估计和一般最小二乘回归就相同。相反,如果t很小,那么可能的参数取值范围就很有限。ridge同理。
下图中的椭圆表示有相同的残差平方和的参数估计,左图的菱形表示lasso 约束区域, 右图的圆形表示ridge约束区域。椭圆越大意味着残差平方和越大。我们既要保证残差平方和最小,同时也要满足lasso或者ridge的约束条件。如图所示,当保证椭圆最小同时与lasso的菱形相交,其中一个参数的估计等于0。但是对于右图的ridge regression,当椭圆与圆形约束相交时,两个参数都不为0.
上面是2个参数的情况。如果是多个,那么lasso的约束区域会有多个棱角,会有多个变量同时为0,但是ridge的约束区域仍是圆滑的,不会有参数为0,只能会无限接近0.