Machine Learning:Computing Parameters Analytically
Normal Equation
梯度下降提供了一种最小化J的方法。现在我们要讨论第二种方法,这是一种显式地执行最小化而不借助迭代的算法。
在正规方程中,我们将通过明确地针对J取导数并将其置为0,这使我们无需迭代即可找到最佳θ
正规方程不需要进行特征缩放
梯度下降和正规方程的比较
梯度下降 | 正规方程 |
---|---|
需要选择学习率α | 不需要选择学习率α |
需要多次迭代 | 无需迭代 |
O(kn2) | O(n3),需要计算XTX的逆 |
当n大时效果很好 | 当n大时,计算则变慢 |
利用正规方程,计算逆具有O(n3),因此如果具有大量特征,则正规方程将变慢。在实践中,当n超过10,000时,适合使用梯度下降
Normal Equation Noninvertibility
在octave中,我们使用’pinv’函数而不是’inv’函数,前者在即使XTX不可逆的情况下仍可算出θ
如果XTX不可逆有如下原因:
- 冗余特征,其中两个特征密切相关(即,它们线性相关)
- 特征过多(例如m≤n)。在这种情况下,删除某些特征或使用“正则化”
解决上述问题的方法包括删除与另一个线性相关的要素,或者在要素过多时删除一个或多个要素。