Machine Learning:Computing Parameters Analytically

Normal Equation

梯度下降提供了一种最小化J的方法。现在我们要讨论第二种方法,这是一种显式地执行最小化而不借助迭代的算法。
在正规方程中,我们将通过明确地针对J取导数并将其置为0,这使我们无需迭代即可找到最佳θ
θ=(XTX)1XTyθ=(X^{T}X)^{-1}X^{T}y
Machine Learning:Computing Parameters Analytically
正规方程不需要进行特征缩放

梯度下降和正规方程的比较

梯度下降 正规方程
需要选择学习率α 不需要选择学习率α
需要多次迭代 无需迭代
O(kn2 O(n3),需要计算XTX的逆
当n大时效果很好 当n大时,计算则变慢

利用正规方程,计算逆具有O(n3),因此如果具有大量特征,则正规方程将变慢。在实践中,当n超过10,000时,适合使用梯度下降

Normal Equation Noninvertibility

在octave中,我们使用’pinv’函数而不是’inv’函数,前者在即使XTX不可逆的情况下仍可算出θ

如果XTX不可逆有如下原因:

  • 冗余特征,其中两个特征密切相关(即,它们线性相关)
  • 特征过多(例如m≤n)。在这种情况下,删除某些特征或使用“正则化”

解决上述问题的方法包括删除与另一个线性相关的要素,或者在要素过多时删除一个或多个要素。