機器學習:用正規方程法求解線性回歸
求解線性回歸最常用的兩個方法是:梯度下降法和最小二乘法,之前在文章《機器學習:用梯度下降法實現線性回歸》中介紹了梯度下降法的工作流程等,這篇文章著重介紹最小二乘法的使用。由於最小二乘法是基於正規方程的,所以也被稱為正規方程法。
什麼是最小二乘法
最小二乘法是一種數學優化技術,它通過最小化誤差的平方和尋找數據的最佳函數匹配。
方法的選擇
那麼在求解線性回歸時,對於這兩種方法該如何選擇呢?先看一下這兩種方法的對比:
可見特徵方程得到的是解析解,無需迭代,也沒有設置學習速率的繁瑣,需要特徵歸一化,但是求解正規方程需要求矩陣的逆,然而不是所有的矩陣都可逆,而且有些可逆矩陣的求逆極其耗費時間,所以特徵方程法看似簡單,其實使用場景並不多。只有當特徵值比較小的時候,可以考慮使用特徵方程法。
正規方程
我們設計一些數據,假設 X ,是一個 m x (n+1) 的矩陣:,每一行對應一個單獨的訓練樣本;y 為一個 m 維的向量: ,包含所有訓練集中的標籤。
再來回顧一下代價函數:,
將其寫作矩陣形式:
為了使代價函數 最小化,設假設函數的輸出值 與實際值 y 的差為一個趨近於 0 的極小值 ,則有:
,
因為 ,
所以 ,
兩邊同時對 求導得:
如果 不可逆,可能有兩個原因:
- 列向量線性相關,即訓練集中存在冗餘特徵,此時應該剔除掉多餘特徵;
- 特徵過多,此時應該去掉影響較小的特徵,或使用「正則化」。
當樣本總數 m 小於等於特徵數量 n 時, 一定不可逆。
如果我們對代價函數進行過正則化處理,那麼 為:
當 時,可以保證該矩陣可逆,這就是通過正則化的手段來解決 不可逆的問題。
相關文章:
王天宇:機器學習:用梯度下降法實現線性回歸推薦閱讀:
※A Hierarchical Model of Reviews for Aspect-based Sentiment Analysis
※無需編程,即刻擁有你的機器學習模型
※Tensorflow入門教程(6)
※1-2 Welcome
※李宏毅機器學習筆記(一)前言