Linear Regression with Multiple Variables——Normal Equation
对于线性回归问题,用梯度下降法求解参数需要选择α,并且需要多步迭代才能收敛到全局最小值,而用正规方程法可以一次性求解参数。Andrew Ng在视频中直接给出了正规方程求解参数的计算结果
θ=(XTX)−1XTy
本篇文章给出了一种可能的推导方法。
一、矩阵运算预备知识
1.1 矩阵转置
(A+B)T(AB)T=AT+BT=BTAT
1.2 矩阵求偏导
d(XTA)d(X)=d(ATX)d(X)=A
d(XTAX)d(X)=2AX
二、推导过程
对于训练样本集,有
hθ(x(1))hθ(x(2))hθ(x(m))=θ0x(1)0+θ1x(1)1+……+θnx(1)n=θ0x(2)0+θ1x(2)1+……+θnx(2)n……=θ0x(m)0+θ1x(m)1+……+θnx(m)n
用向量形式表示,得到
⎡⎣⎢⎢⎢⎢hθ(x(1))hθ(x(2))⋮hθ(x(m))⎤⎦⎥⎥⎥⎥m×1=⎡⎣⎢⎢⎢⎢⎢x(1)0x(2)0⋮x(m)0x(1)1x(2)1⋮x(m)1…………x(1)nx(2)n⋮x(m)n⎤⎦⎥⎥⎥⎥⎥m×(n+1)×⎡⎣⎢⎢⎢⎢θ0θ1⋮θn⎤⎦⎥⎥⎥⎥(n+1)×1
即
hθ(x)=Xθ
代价函数
J(θ)可写为
J(θ)=12m∑i=1m(hθ(x(i))−y(i))2=12m(Xθ−y)T(Xθ−y)=12m(θTXTXθ−2θTXTy+yTy)
最小化代价函数,即需
∂∂θJ(θ)=0
根据矩阵求偏导规则,得到
12m×[2(XTX)θ−2XTy]=0
解得
θ=(XTX)−1XTy
三、梯度下降法和正规方程法的对比

对于线性回归问题,用梯度下降法求解参数需要选择α,并且需要多步迭代才能收敛到全局最小值,而用正规方程法可以一次性求解参数,自然也不必画J(θ)曲线图了。此外,如果使用正规方程法,还不需要归一化特征变量。显然,在某些情况下,正规方程法效率更高。
那么,梯度下降法和正规方程法该如何取舍?
首先,要看n的大小。正规方程法需要进行矩阵逆运算,而实现逆矩阵计算所需的计算量大约是矩阵维度的三次方。当n非常大时,逆运算会消耗大量时间。具体来说,当n在10000以上时,就会考虑优先使用梯度下降法。
其次,要看具体的问题。梯度下降法的应用范围更广,在非回归问题中,梯度下降法也可用于求解参数。