- Python機器學習算法: 原理、實現與案例
- 劉碩
- 359字
- 2020-01-20 15:06:22
1.2 最小二乘法
線性回歸模型通常使用均方誤差(MSE)作為損失函數,假設訓練集有m個樣本,均方誤差損失函數定義為:

均方誤差的含義很容易理解,即所有實例預測值與實際值誤差平方的均值,模型的訓練目標是找到使得損失函數最小化的。式中的常數
并沒有什么特殊的數學含義,僅是為了優化時求導方便。
損失函數最小值點是其極值點,可先求
對
的梯度并令其為0,再通過解方程求得。
計算的梯度:

以上公式使用矩陣運算描述形式更為簡潔,設:

那么,梯度計算公式可寫為:

令梯度為0,解得:

式中,即為使得損失函數(均方誤差)最小的
。需要注意的是,式中對
求了逆矩陣,這要求
是滿秩的。然而實際應用中,
不總是滿秩的(例如特征數大于樣本數),此時可解出多個
,選擇哪一個由學習算法的歸納偏好決定,常見做法是引入正則化項。
以上求解最優的方法被稱為普通最小二乘法(Ordinary Least Squares,OLS)。
推薦閱讀
- C++程序設計(第3版)
- AngularJS Testing Cookbook
- Drupal 8 Blueprints
- TypeScript Blueprints
- 數據結構和算法基礎(Java語言實現)
- 小創客玩轉圖形化編程
- Vue.js 3.0源碼解析(微課視頻版)
- PHP 編程從入門到實踐
- Internet of Things with Intel Galileo
- Windows Presentation Foundation Development Cookbook
- Learning Python by Building Games
- 軟件測試技術指南
- Java程序設計基礎(第6版)
- 零基礎C#學習筆記
- Getting Started with Web Components