机器学习笔记(4):多变量线性回归

目录

1)Multiple Features

2)Gradient descent for multiple variables

3)Gradient descent in practice 1:Feature Scaling

4)Gradient descent in pratice2:Learning rate

5)Features and polynomial regression

6)Normal equation

前面我们探讨了单变量的回归模型,现在我们队房价预测模型增加更多的特征,构成一个多变量的模型。

1)Multiple Features

下面是我们增加后的新的特征,有房价大小,卧室数量,楼层数,房子年龄。

机器学习笔记(4):多变量线性回归_第1张图片

增加了新的特征后,我们解释一下我们后面用到的符号,分别是:

  1. 特征数量n;
  2. 训练集输入样例x(i);
  3. 以及每个输入样例对应的第j个特征;

机器学习笔记(4):多变量线性回归_第2张图片

此时,我们要重新定义我们队多个特征的预测模型:

机器学习笔记(4):多变量线性回归_第3张图片

为了方便向量表示,我们定义X0=1,此时预测模型可以写成两个向量相乘,这就是多变量线性回归。

机器学习笔记(4):多变量线性回归_第4张图片

2)Gradient descent for multiple variables

与单变量线性回归类似,我们也构建一个代价函数,这个代价函数是所有误差的平方和,于是我们得到的梯队下降算法如下,还是要同时更新每个参数

机器学习笔记(4):多变量线性回归_第5张图片

我们把之前的单变量线性回归梯度下降和多变量梯队下降进行比较,如下:

机器学习笔记(4):多变量线性回归_第6张图片

 

3)Gradient descent in practice 1:Feature Scaling

我们希望的是特征都具有相近的尺度,这能帮助梯度下降算法更快收敛,下面左边这幅图显示了特征范围不一致的时候,收敛速度很慢,而右边这幅图进行缩放之后,收敛速度更快。

机器学习笔记(4):多变量线性回归_第7张图片

 

解决办法是尝试使所欲特征的尺度都收敛到-1到1之间,如图:

机器学习笔记(4):多变量线性回归_第8张图片

最简单的办法就是均值化,特征减去它的均值再除以标准差

机器学习笔记(4):多变量线性回归_第9张图片

 

4)Gradient descent in pratice2:Learning rate

先回顾我们之前的梯度下降算法求参数的公式,我们要决定的是如何选择学习率以及判断我们的梯度下降算法是正确的:

机器学习笔记(4):多变量线性回归_第10张图片

我们可以绘制迭代次数和代价函数的图来观测算法何时收敛,如下图示所示,每次迭代,代价函数都下降:

机器学习笔记(4):多变量线性回归_第11张图片

 

下图显示了,梯度下降算法是否正常工作,这和学习率有很大关系,如果学习率较大的话,很可能会越过代价函数局部最小点,变得发散:

机器学习笔记(4):多变量线性回归_第12张图片

学习率太大或太小都不合适,一般的选择是这样选择的,每次递增三倍:

机器学习笔记(4):多变量线性回归_第13张图片

5)Features and polynomial regression

再来看之前我们的房价预测的例子,预测模型与长宽鱼贯,但其实也跟面积有关,我们可以得到一个新的预测模型,这里进行了特征的重新整合。

机器学习笔记(4):多变量线性回归_第14张图片

下面两次图显示了如果我们的模型不是一次的,可以把非线性转换成线性模型来表示:

机器学习笔记(4):多变量线性回归_第15张图片机器学习笔记(4):多变量线性回归_第16张图片

 

6)Normal equation

前面我们使用梯度下降算法求参数,但我们也可以使用正规方程来求参数。下面显示了我们可以直接领偏导数为零来求参数这类似与求极值点。

机器学习笔记(4):多变量线性回归_第17张图片

下面是正规方程的求解公式:

机器学习笔记(4):多变量线性回归_第18张图片

下面来比较一下梯度下降和正规方程之间的优缺点,这和特征数量大小有很强的的关系。

机器学习笔记(4):多变量线性回归_第19张图片

 

你可能感兴趣的:(机器学习)