多元线性回归、多项式回归、正规方程 ![在这里插入图片描述](https://i-blog.csdnimg.cn/blog_migrate/df5d5b476e3206b3a6c25079e238e3e2.jpeg)
前面我们提到的一直都是只有一个自变量,对应于一个参变量的一元线性回归问题,但是实质上在我们的现实生活中的问题,多数都不只受到一个因素的影响,所以出现了多元线性回归的解决方案。
多元线性回归
定义
在函数中含有2个及以上的自变参数,将它们的变化综合于一个参变量 y 来显示这些变量对 y 的影响;
可能出现的问题
这些个自变量的数量级可能是相同的,如果对这样的数据进行拟合将可能会出现非常极端的尖锐函数,如下图所示:
在这个图像当中我们看到的线是代价函数的值的等高线的图像,如果采用我们之前提到的梯度下降法对它进行最小值的话,它的取值将变得非常不稳定,以至于难以收敛;
解决方案
采用特征缩放,即将这些参数按照比例进行缩放,使参数变化范围接近来加速梯度下降法的收敛速度,同时如果参数在数值上具有一定的对称性,把对称轴设置为0点将是一个好主意。
多项式回归
在前面的算法中,我们均假定了自变量参数是一个一次函数,多项式回归就是为了解决这一问题而引入的;定义
多项式回归允许自变量出现高次项,这样的函数将允许我们拟合更多的数据曲线,通常我们仍将这些多次的项通称为θ1,θ2…在这种情况下,多次项的数量级将可能非常大,所以在进行梯度下降法时需要使用到我们前面提到的特征缩放;
正规方程
定义
区别于梯度下降法这种需要依靠迭代逐步逼近最小值的算法,正规方程是一种利用矩阵方程运算一步得到使得代价函数取最小值的θ向量值,公式如下:
其中,X是训练集的矩阵表示,y 是训练集对应的实际答案,在Octave当中可以使用下面的一条语句实现这一运算:
pinv(X'*X)*X'*y
与梯度下降法对比的优点
- 不需要进行迭代运算,执行效率高
- 不需要选择学习率 α
存在的问题及解决办法
虽然我们现代的计算机的计算能力已经可以非常快的实现矩阵的运算,但是当矩阵的维数达到一定的程度,这也将是一个非常费时的事情,通常这一界限可以设置在上万个测试数据集左右,在此之前使用正规方程的速度将比梯度下降法快速的多,而在此之后采用梯度下降法将能够相对快速的给出答案,同时也能稳定的给出答案。