4.1 多维特征

image.png
那么:支持多变量的假设4 多变量线性回归(Linear Regression with Multiple Variables) - 图2表示为:4 多变量线性回归(Linear Regression with Multiple Variables) - 图3.
这个公式中有4 多变量线性回归(Linear Regression with Multiple Variables) - 图4个参数和4 多变量线性回归(Linear Regression with Multiple Variables) - 图5个变量,为了使得公式能够简化一些,引入4 多变量线性回归(Linear Regression with Multiple Variables) - 图6,则公式转化为:4 多变量线性回归(Linear Regression with Multiple Variables) - 图7.
此时模型中的参数是一个4 多变量线性回归(Linear Regression with Multiple Variables) - 图8维的向量,任何一个训练实例也都是4 多变量线性回归(Linear Regression with Multiple Variables) - 图9维的向量,因此公式可以简化为:4 多变量线性回归(Linear Regression with Multiple Variables) - 图10,其中上标4 多变量线性回归(Linear Regression with Multiple Variables) - 图11代表矩阵转置。

4.2 多变量梯度下降

4 多变量线性回归(Linear Regression with Multiple Variables) - 图12

4 多变量线性回归(Linear Regression with Multiple Variables) - 图13时:
4 多变量线性回归(Linear Regression with Multiple Variables) - 图14
4 多变量线性回归(Linear Regression with Multiple Variables) - 图15
4 多变量线性回归(Linear Regression with Multiple Variables) - 图16

4.3 梯度下降法实践1-特征缩放

4.3.1 特征缩放

4 多变量线性回归(Linear Regression with Multiple Variables) - 图17
以房价问题为例(左图),假设我们使用两个特征,房屋的尺寸和房间的数量,尺寸的值为 0-2000平方英尺,而房间数量的值则是0-5,以两个参数分别为横纵坐标,绘制代价函数的等高线图能,看出图像会显得很扁,梯度下降算法需要非常多次的迭代才能收敛。

4.3.1 均值归一化

image.png
总结:
最简单的方法是令: 4 多变量线性回归(Linear Regression with Multiple Variables) - 图19,其中4 多变量线性回归(Linear Regression with Multiple Variables) - 图20是平均值,4 多变量线性回归(Linear Regression with Multiple Variables) - 图21是特征值的范围(最大值减去最小值)。
在我们面对多维特征问题的时候,我们要保证这些特征都具有相近的尺度,即通过特征缩放,帮助梯度下降算法更快地收敛。

4.4 梯度下降法实践2-学习率

image.png
image.png

  • 可以通过三倍三倍的增加去找到合适的学习率,通过观察4 多变量线性回归(Linear Regression with Multiple Variables) - 图24图更好的判断是否达到较好的收敛效果。

4.5 特征和多项式回归

4 多变量线性回归(Linear Regression with Multiple Variables) - 图254 多变量线性回归(Linear Regression with Multiple Variables) - 图26
如图, 线性回归并不适用于所有数据,有时我们需要曲线来适应我们的数据,比如一个二次方模型,假设使用4 多变量线性回归(Linear Regression with Multiple Variables) - 图27,其中4 多变量线性回归(Linear Regression with Multiple Variables) - 图28(面积),那么在初始阶段房价随着面积增加,随着面积不断增加,房价最终会下降。为了更好的拟合,可以使用 三次方模型:4 多变量线性回归(Linear Regression with Multiple Variables) - 图29.另外,我们可以令:4 多变量线性回归(Linear Regression with Multiple Variables) - 图304 多变量线性回归(Linear Regression with Multiple Variables) - 图31,从而将模型转化为线性回归模型。
根据函数图形特性,我们还可以使:4 多变量线性回归(Linear Regression with Multiple Variables) - 图32,或者:
4 多变量线性回归(Linear Regression with Multiple Variables) - 图33.
可以自由选择特征和回归多项式,同时在运行梯度下降算法前,特征缩放非常有必要,具体看视频回顾。

4.6 正规方程(区别于迭代方法的直接求解法)

image.png
正规方程是通过求解下面的方程来找出使得代价函数最小的参数的:4 多变量线性回归(Linear Regression with Multiple Variables) - 图35 .
假设我们的训练集特征矩阵为 4 多变量线性回归(Linear Regression with Multiple Variables) - 图36(包含了4 多变量线性回归(Linear Regression with Multiple Variables) - 图37)并且我们的训练集结果为向量4 多变量线性回归(Linear Regression with Multiple Variables) - 图38,则利用正规方程解出向量 4 多变量线性回归(Linear Regression with Multiple Variables) - 图39 .
总结一下,只要特征变量的数目并不大,标准方程是一个很好的计算参数4 多变量线性回归(Linear Regression with Multiple Variables) - 图40的替代方法。具体地说,只要特征变量数量小于一万,我通常使用标准方程法,而不使用梯度下降法。但对于特定的线性回归模型,标准方程法是一个比梯度下降法更快的替代算法。所以,根据具体的问题,以及你的特征变量的数量,这两种算法都是值得学习的。

4.7 正规方程在矩阵不可逆情况下的解决方法

首先,看特征值里是否有一些多余的特征,例如4 多变量线性回归(Linear Regression with Multiple Variables) - 图41是以英尺为尺寸规格计算的房子,4 多变量线性回归(Linear Regression with Multiple Variables) - 图42是以平方米为尺寸规格计算的房子,像这些4 多变量线性回归(Linear Regression with Multiple Variables) - 图434 多变量线性回归(Linear Regression with Multiple Variables) - 图44是相关的,互为线性函数。同时,当有一些多余的特征时,可以删除这两个重复特征里的其中一个,无须两个特征同时保留,将解决不可逆性的问题。因此,首先应该通过观察所有特征检查是否有多余的特征,如果有多余的就删除掉,直到他们不再是多余的为止,如果特征数量实在太多,我会删除些 用较少的特征来反映尽可能多内容。
其实,即便是不可逆,用Octave里来实现4 多变量线性回归(Linear Regression with Multiple Variables) - 图45的计算,都会得到一个正常的解。在Octave里,有两个函数可以求解矩阵的逆,一个被称为pinv(),另一个是inv(),这两者之间的差异是些许计算过程上的,一个是所谓的伪逆,另一个被称为逆。使用pinv() 函数,即便矩阵4 多变量线性回归(Linear Regression with Multiple Variables) - 图46是不可逆的,也能计算出4 多变量线性回归(Linear Regression with Multiple Variables) - 图47的值。
总之,出现不可逆矩阵的情况极少发生,所以在大多数实现线性回归中,出现不可逆的问题不应该过多的关注4 多变量线性回归(Linear Regression with Multiple Variables) - 图48的计算问题。