上次我们介绍了L2岭回归的代码实现,本次我们将介绍L1 Lasso回归中的LARS算法。
………………………………………………………………………………………………
1. 首先看一下L1和L2范数的区别:
这一部份的学习我参考了这篇博文,感觉写得非常高屋建瓴,摘出其中我认为在这里非常值得强调的部分如下:
其实监督学习中几乎所有带参模型都可以写成最小化下面的目标函数:
其中第一项L是训练误差要尽量小,即要求模型是要拟合我们的训练样本的;第二项是对模型规则化的要求,即要求模型要尽可能的简单防止过拟合且保证较好的模型适用性。
L1和L2范数的区别就在上式的第二项中,即有不同衡量模型规则化的标准,L1是对绝对值的约数,而L2是对平方的约束,可以分别想象约束到球内部和n边体内部。
两者不同在于L1会趋向于产生少量的特征,而其他的特征都是0,而L2会选择更多的特征,这些特征都会接近于0。Lasso在特征选择时候非常有用,而Ridge就只是一种规则化而已。
2. 其次介绍一下L1回归中常见的算法对比:
这部分我参考了这篇文章,详细介绍了L1回归中常见的几种算法,下面我就不做过多赘述,只是详细介绍一下LSRA算法的步骤:
1).Standardize the predictors to have mean zero and unit norm. Startwiththe residualr=y–y^,β1, β2, … . , βp= 0.
将样本中心化,标准化。残差向量 r = y – y^ ,系数β初始化为