有多个特征的线性回归就是我们常说的多变量线性回归。我们先申明一些数学标记的含义:
x(i)j代表第i个样本中第j个特征
x(i)代表第i个样本的所有特征
m代表训练样本个数
模型的多变量形式如下:
hθ(x)=θ0+θ1x1+θ2x2+⋯+θnxn
为了便于理解,我们可以抽象一种情形, θ0代表房屋的基本价格, θ1代表每平米的价格, θ2代表每层的价格, x1代表房屋面积, x2代表房屋层数。
通过矩阵乘法,多项式可以写成矩阵的形式:
hθ(x)=[θ0θ1θ2⋯θn]⎡⎣⎢⎢⎢⎢⎢⎢x0x1x2⋯xn⎤⎦⎥⎥⎥⎥⎥⎥=θTx
则成本函数(代价函数)可以写作:
J(θ0,θ1,⋯,θn)=12m∑i=1m(hθ(x(i))−y(i))2
对单个θj进行梯度下降有:
θjθj:=θj−α∂∂θjJ(θ):=θj−α1m∑i=1m(hθ(x(i))−y(i))x(i)j
实用技巧——特征缩放(feature scaling)
动机:保证特征在相似的范围内
特征范围差异大会极大减缓收敛速度,梯度下降的迭代过程中会出现震荡现象。
例如:
x1表示房屋面积(0-2000)平方米
x2表示卧室数量(1-5)
x1x2=size(feet2)2000=number of bedroom5
如果我们想把特征范围控制在[-1, 1]之间,可以进行以下变化:
xi:=xi−μisi
其中 μi是特征i的均值, si是特征的范围值(max - min)。
学习率选择
如果学习率太小,梯度下降会收敛的很慢;
如果学习率太大,每次迭代J(θ)反而会增大,导致无法收敛。