机器学习——岭回归

岭回归的简单介绍

什么是岭回归?什么时候要用到岭回归?岭回归是一种解决标准方程法不能求逆矩阵时的办法。我们都知道,用标准方程法最大的一个缺点就是当数据的特征多于数据的样本时,标准方程法是不能使用的,因为不能求逆矩阵。而岭回归的引入很好地解决了这个问题。
机器学习——岭回归

从公式我们可以看到,和普通的标准方程法相比多了一个岭系数和一个单位矩阵,我们来看看对比。
机器学习——岭回归
所以重点就是在于这个岭系数怎么求?岭系数和参数θ是一个反比关系,因为想要岭回归代价函数小,那么不仅仅机器学习——岭回归这个要小,后面的参数和也要小机器学习——岭回归。如果岭系数很大的话,那么θ参数就要小,这样才能让整体小。大概可以得到下面这个图形:
机器学习——岭回归
x轴表示岭系数的值,y轴表示参数θ的值。
第一点要求是平稳,所以一般选取ko附近的点,第二点要求是残差小,那么就要选一个合适的θ,不能太大,也不能太小。其实,关于岭系数的值现在并没有一个大家都认为好的求解公式,因为不同的模型,岭系数的选取不同,可能在这个模型好,下一个就不行了。

python实现sklearn——岭回归

先看看实验的数据,
机器学习——岭回归
机器学习——岭回归
代码:
机器学习——岭回归
因为岭系数很多,所以用交叉验证法找出50个值中最合适的岭系数
机器学习——岭回归
我们来看看得到的岭系数和loss的值
机器学习——岭回归机器学习——岭回归
可以看到我们得到了岭系数是0.408,16的意思是代表有16组数据,取一组为测试集,剩下为训练集,然后得到的loss的值,50表示有50个岭系数。

通过图像我们可以清楚的看到岭系数和loos值的关系并选取最合适的岭系数
机器学习——岭回归
机器学习——岭回归
得到了岭系数,我们用这个模型来试试结果:
机器学习——岭回归
机器学习——岭回归真实的结果是88.2,得到的预测值是88.1,很接近了。这就是用sklearn库实现岭回归。