【一、多变量线性回归模型】

多变量线性回归是指输入为多维特征的情况。比如:

机器学习(3)——多变量线性回归_梯度下降

在上图中可看出房子的价格price由四个变量(size、number of bedrooms、number of floors 、age of home)决定。为了能够预測给定条件(四个变量)下的房子的价格(y),我们须要建立对应的线性回归模型。

如果有n个变量,则对应的多变量线性回归模型例如以下:

机器学习(3)——多变量线性回归_线性回归_02

注意上图中的x是指一个训练样本,即每一个训练样本都是一个(n+1)维向量(包括附加的x0=1)

【二、代价函数】

多变量线性回归的代价函数例如以下:

机器学习(3)——多变量线性回归_正规方程_03

当中x(i)代表第i个样本

【三、梯度下降法寻找最佳theta】

机器学习(3)——多变量线性回归_梯度下降法_04

以下列出单变量线性回归梯度下降法(左)多变量线性回归梯度下降法(右)

机器学习(3)——多变量线性回归_正规方程_05

当中α为学习率。

【梯度下降法的两个细节处理】:

1. Feature Normalization

By looking at the values, note that house sizes are about 1000 times the number of bedrooms. When features differ by orders of magnitude, first performing feature scaling can make gradient descent converge much more quickly。

也就是说当特征之间相差非常大时。比如房子的大小与卧室的数量。这样会导致梯度下降收敛比較慢。例如以下图(左边)所看到的,当对特征进行正规后,梯度下降收敛变快,例如以下图(右边)所看到的。

机器学习(3)——多变量线性回归_正规方程_06

正规化方法能够使用mean value and the standard deviation 法。或者其它方法。

机器学习(3)——多变量线性回归_梯度下降_07

2. Selecting learning rates

学习率的正确选择应该保证每一步迭代后cost function都是下降的。例如以下图所看到的:

机器学习(3)——多变量线性回归_线性回归_08

如果学习率α过大,可能会使得代价函数上升,而不是一直呈现下降趋势。例如以下图。

机器学习(3)——多变量线性回归_线性回归_09

可是学习率α过小,那个梯度下降的收敛速度会太慢。

【选取学习率的方法】

机器学习(3)——多变量线性回归_梯度下降_10

【四、正规方程解最佳theta】

机器学习(3)——多变量线性回归_代价函数_11

机器学习(3)——多变量线性回归_梯度下降_12 。j=0,1,…………n

机器学习(3)——多变量线性回归_梯度下降_13

机器学习(3)——多变量线性回归_梯度下降_14

注意出现下列情况时:

机器学习(3)——多变量线性回归_梯度下降法_15

这时能够进行冗余feature的删除