赞
踩
LASSO算法和岭回归算法在应用目的上其实都是相似的,这两种算法的本质就是两种不同的正则化方法。
下面来看看这两种方法的对比:
岭回归是L1正则化,LASSO是L2正则化。两个回归系数的值都可以用来限制t,取值有相同的地方。这是一张表示系数和代价函数值关系的图:
红色的圈圈表示的是代价函数值等高线,中间的黑点表示最小值。蓝色区域是系数的选取范围,可以看到,当选取范围和等高线交界的地方是最合适的取值点,这时即符合选取范围,代价函数的值也越接近中心的最小值。
来看看实验用到的数据:
代码实现:
lasson算法的模型也是用到交叉验证法,但和岭回归相比,不用传入参数,因为这个方法本身就有很多参数,直接用它内部的参数计算即可。
然后打印结果看看效果如何:
14.13是求得的lasson系数,第二行是相关系数,可以理解为特征,后面的3个0表示这3个特征量可能是线性重复,对lasson的计算没有太大帮助和影响,而前面3个特征则是有影响的。从这里我们看到lasson的解释性是很强的,最后得到的预测结果115.7和真实结果一样。
岭回归和lasson用的其实都是一个算法公式,不同的参数取值会得到岭回归和lasson或者其他一些算法。
当q是1时就是lasson,q是2时就是岭回归,其他类型的一般很少用,效果不如这两种好。弹性网则结合了lasson和岭回归两种算法,吸取了两种算法的特点,这是一种相对来说比较新的算法。
当α取0.2时得到类似lasson的图形,但是边是弯曲的,所以被称为弹性网,这时岭回归前面的系数是0.2,lasson前面的系数是0.8,说明lasson的比重比较大,这就是和 lasson的图形类似的原因。
数据和上面的lasson用到的数据是一样的,代码开始部分都一样。
这里和lasson一样也是不用传入参数的,只不过调用的方法不同。结果也和lasson一样可以得到相关系数和本身的弹性系数。
可以看到结果形式和lasson差不多,理论上说,因为弹性网结合了岭回归和lasson的特点,所以得到的预测值应该比这两种算法都要好。
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。