多元变量梯度下降
}repeat until convergence:{θ0:=θ0−α1m∑i=1m(hθ(x(i))−y(i))⋅x(i)0θ1:=θ1−α1m∑i=1m(hθ(x(i))−y(i))⋅x(i)1θ2:=θ2−α1m∑i=1m(hθ(x(i))−y(i))⋅x(i)2⋯ repeat until convergence: { θ 0 := θ 0 − α 1 m ∑ i = 1 m ( h θ ( x ( i ) ) − y ( i ) ) ⋅ x 0 ( i ) θ 1 := θ 1 − α 1 m ∑ i = 1 m ( h θ ( x ( i ) ) − y ( i ) ) ⋅ x 1 ( i ) θ 2 := θ 2 − α 1 m ∑ i = 1 m ( h θ ( x ( i ) ) − y ( i ) ) ⋅ x 2 ( i ) ⋯ }
特征缩放与均值归一化
为了使梯度下降能够更快的收敛,对于取值范围很大或者很小的特征,进行特征缩放与均值归一化处理。
其中, μi μ i 是特征 i i 的均值,是特征 i i 的取值区间长度或者标准差。
学习率(leanring rate,)
调试梯度下降
画图观察梯度下降法每次迭代的代价函数值 J(θ) J ( θ ) ,如果 J(θ) J ( θ ) 增大,说明应该减小 α α
自动收敛检验
如果在 J(θ) J ( θ ) 的一次迭代中,减小的值小于 10−3 10 − 3 ,则认为代价函数已经收敛。然而在实际操作中其实很难选到这种阈值。
如果 α α 过小,收敛速度会很慢;
如果 α α 过大,代价函数值不会在每次迭代时减小,所以不会收敛。
多项式回归
对于假设函数 hθ(x)=θ0+θ1x1 h θ ( x ) = θ 0 + θ 1 x 1 ,可以基于 x1 x 1 构造新的特征 x21 x 1 2 , x31 x 1 3 或 x1−−√ x 1 ,以此得到二次函数 hθ(x)=θ0+θ1x1+θ2x21 h θ ( x ) = θ 0 + θ 1 x 1 + θ 2 x 1 2 ,三次函数 hθ(x)=θ0+θ1x1+θ2x21+θ3x31 h θ ( x ) = θ 0 + θ 1 x 1 + θ 2 x 1 2 + θ 3 x 1 3 ,和平方根函数 hθ(x)=θ0+θ1x1+θ2x1−−√ h θ ( x ) = θ 0 + θ 1 x 1 + θ 2 x 1 。
以三次函数 hθ(x)=θ0+θ1x1+θ2x21+θ3x31 h θ ( x ) = θ 0 + θ 1 x 1 + θ 2 x 1 2 + θ 3 x 1 3 为例,选择新的特征 x2=x21 x 2 = x 1 2 , x3=x31 x 3 = x 1 3 ,就可以将三次函数拟合到三元线性函数 hθ(x)=θ0+θ1x1+θ2x2+θ3x3 h θ ( x ) = θ 0 + θ 1 x 1 + θ 2 x 2 + θ 3 x 3 ,就可以使用多元线性回归来进行求解。
需要注意的是构造新的特征后,特征缩放变得尤为重要。
正规方程法
分别对n个特征变量求偏导数,偏导数等于0求
θ
θ
∂J(θ)∂θj=0
∂
J
(
θ
)
∂
θ
j
=
0
,for
j=0,1,⋯,n
j
=
0
,
1
,
⋯
,
n
θ=(XTX)−1XTy θ = ( X T X ) − 1 X T y
Y=Xθ Y = X θ
XTY=XTXθ X T Y = X T X θ
(XTX)−1XTY=θ ( X T X ) − 1 X T Y = θ
梯度下降法与正规方程法对比
梯度下降法 | 正规方程法 |
---|---|
需要选择学习率 α α | 不需要选择 α α |
需要经过多次迭代计算 | 不需要迭代计算 |
在特征数量n很大时,依然可以有效计算 | 在n很大时,由于要计算 (XTX)−1 ( X T X ) − 1 ,矩阵维度变大使计算量变大,计算缓慢 |
计算时间复杂度 o(kn2) o ( k n 2 ) | 时间复杂度 o(n3) o ( n 3 ) |
XTX X T X 不可逆问题
造成
XTX
X
T
X
不可逆的问题主要有两个:
1. 多余的特征,比如两个特征可以通过线性关系相互表示
2. 特征数目过多,
m≤n
m
≤
n
,删除某些特征或者使用正则化