機器學習演算法 - 線性迴歸
線性迴歸演算法
- 解決迴歸問題
- 思想簡單,容易實現
- 許多強大的非線性模型的基礎
- 結果具有很好的可解釋性
- 蘊含機器學習中很多重要的思想$$y=ax_i +b$$
樣本特徵只有一個的線性迴歸問題,為簡單線性迴歸。
樣本特徵有多個的線性迴歸問題,為多元線性迴歸。(由此可見,線性並不代表直線)
線性迴歸演算法將無數的訓練集資料放在一個座標系中,以座標系的一個維度作為 label,其他維度作為特徵, 最終會發現他們是沿著一條直線分佈。線性迴歸演算法的最終目的就是尋找出一條直線、一個面或者體 (根據資料的維度而定), 最大程度上 "擬合" 樣本特徵和輸出 label 之間的關係。
特徵是一維時,線性模型在二維空間構成一條直線; 特徵是二維時,線性模型在三維空間中構成一個平面; 特徵是三維時,則最終模型在四維空間中構成一個體; 以此類推…
簡單線性迴歸演算法思想
在簡單線性迴歸中,我們將訓練集特徵作為橫座標,訓練集 label 作為縱座標,那麼我們的最終目的就是 尋找出一條直線 當給出新的特徵時, 我們希望能夠帶入到 中,求出預測值。
公式推導
找到 a 和 b 使得 儘可能小, 這是一個典型的最小二乘法問題:最小化誤差的平方 損失函式是計算期望值和預測值的差值,期望其差值 (也就是損失) 越來越小
簡單線性迴歸演算法公式推導
求損失函式 的最小值
最小二乘法求解:本質是試圖找到一條直線,使得樣本上的點到直線的歐式距離之和最小$$ J(a,b) = \sum_{i=1}^{m} (y^{(i)} -ax^{(i)} -b)^2 $$
對損失函式求導並且令
$$\frac{\partial J(a,b)}{\partial b} = 0,\frac{\partial J(a,b)}{\partial a} = 0$$
$$ \frac{\partial J(a,b)} {\partial b} =\sum_{i=1}^{m} 2(y^{(i)} -ax^{(i)} -b)(-1) = 0 \text {} $$