吳恩達機器學習(三)正規方程(求解線性迴歸引數)
阿新 • • 發佈:2018-12-11
目錄
學習完吳恩達老師機器學習課程的多變數線性迴歸,簡單的做個筆記。文中部分描述屬於個人消化後的理解,僅供參考。
0. 前言
線上性迴歸中,通常採用梯度下降,不斷迭代來降低代價函式 ,求解最佳的引數 。
但大量的迭代,遍歷資料集,消耗的時間較大,可通過正規方程,直接求解 。
1. 正規方程(Normal Equation)
首先給出一個例子如下,對於 的資料,在其最前面增加一個 ,為全1。:
x0 | x1 | x2 | x3 | y |
---|---|---|---|---|
1 | ||||
1 | ||||
1 |
設 ,,則 ,可直接求的 向量,包含所有引數。
一般地,我們可以令 ,對於每一個樣本 ,則 ,可通過正規方程求解:
採用正規方程求解 時,可不進行特徵縮放。
2. 不可逆矩陣的情況
我們知道,在正規方程求解的過程中,需要對 進行矩陣求逆,但若此時矩陣不可逆(可逆矩陣定義為 ,其中為單位矩陣),我們需要對特徵進行處理。
- 刪除冗餘的特徵,如其中兩個變數間存線上性關係
- 對於太多的特徵 ,刪除部分特徵,或採用正則化(regularization)。
3. 與梯度下降的比較
梯度下降(Gradient Descent) | 正規方程(Normal Equation) |
---|---|
需要選擇學習率 |
不需要選擇學習率 |
需要多次迭代求解 | 不需要多次迭代求解 |
當特徵維度 較大時,效果較好 | 當特徵維度 較大時,時間複雜度較高計算較慢 |
注:矩陣逆運算的時間複雜度通常為 ,所以當 較大時,建議使用梯度下降。