第二種方法:正規方程法

這里有四個訓練樣本,以及四個特征變量x1,x2,x3,x4,觀測結果是y,還是像以前一樣,我們在列代價函數的時候,需要加上一個末尾參數x0,如下:

這樣我們就可以通過下面這個公式得出參數θ最優解。

推導過程:

另一種方法:

訓練樣本的所有特征參數由x來表示
梯度下降法和正規方程法的優缺點比較:
假設有m個樣本和n個特征變量
1.需要選擇學習速率α,嘗試多個找到最優 1.不需要
2.需要多次迭代 2.不需要
3.在很多特征變量的情況下也能運行得很好 3.n很大的時候計算會很慢,n不大時效果更好
梯度下降法:
缺點:
需要選擇學習速率α,而之前的學習也知道α的選擇其實十分的困難,非常消耗我們的時間來調試並且選擇它。
需要多次迭代,這也是非常消耗時間的。
優點:
當特征參數相當大的時候,梯度下降法也能夠很好的工作。
正規方程:
優點:
不需要選擇學習速率α
不需要多次迭代
缺點:
需要計算這里寫圖片描述,而這個計算對於計算機的計算量大致是矩陣維度的三次方,復雜度相當高。
由上面一點就可以看出,當特征參數相當大的時候,正規方程的計算會非常緩慢。
所以,我們該什么時候選擇什么方式進行計算呢?
總結:
取決於特征向量的多少,可以將萬作為一個界限,當數量小於10000時,直接選擇正規方程,當大於10000時,就可以考慮是否換用梯度下降法或者后面的一些其他算法了。
存在不可逆情況如何處理?
我們注意到正規方程有一個
求逆矩陣的過程,當得到的該矩陣不可逆該怎么辦呢?
遇到這種情況時,一般有兩種原因:
第一種,實際上是有線性相關的列向量組,也就是奇異矩陣,不能求逆矩陣;
第二種,也是線性代數的知識
m < n時,也就是維度小於向量個數,在這里也就是樣本數小於特征數,線性相關,也就等價於第一種情況,m=n時,|A|=0則不可逆,|A|!=0則可逆
解決上述問題的方法包括刪除與另一個線性相關的特征或在特征太多時刪除一個或多個特征。
