机器学习:正规方程(Normal Equation)的推导

在coursera上看了Andrew Ng的《Machine Learning》课程,里面讲到了正规方程(Normal Equation),现在在此记录一下推导过程。
假设函数(Hypothesis Function)为:

h θ ( x ) = θ 0 + θ 1 x 1 + θ 2 x 2 + + θ n x n

此处我们可以令 x 0 = 1 .
代价函数(Cost Function):
J ( θ ) = J ( θ 0 , , θ n ) = 1 2 m i = 1 m ( h θ ( x ( i ) ) y ( i ) ) 2

我们想要代价函数的最小解,对代价函数进行求导。因为对于向量我们有 z T z = i z i 2 ,所以:
J ( θ ) = 1 2 m ( X θ y ) T ( X θ y )

因为 1 2 m 部分对最终的解没影响,为了便于书写和计算,我们可以先将这部分舍去。对方程的转置进行化简:
J ( θ ) = ( θ T X T y T ) ( X θ y )

J ( θ ) = θ T X T X θ ( X θ ) T y y T X θ + y T y

因为 x θ y 都是矢量,所以这两者相乘先后顺序没有关系,所以可以化简成:
J ( θ ) = θ T X T X θ 2 ( X θ ) T y + y T y

接着方程 J ( θ ) θ 进行求导:
θ J ( θ ) = 2 X T X θ 2 X T y = 0
1
θ J ( θ ) = 0 θ
X T X θ = X T y

两边同时乘以 X T X 的逆矩阵,得:
θ = ( X T X ) 1 X T y

此即为正规方程。当 θ = ( X T X ) 1 X T y 时,代价方程有最优解。


  1. 关于矩阵、向量、标量的一些求导https://blog.csdn.net/xidianliutingting/article/details/51673207

猜你喜欢

转载自blog.csdn.net/Mao_Jonah/article/details/82119408