相信學過數理統計的都學過線性回歸(linear regression),本篇文章詳細將講解單變量線性回歸並寫出使用最小二乘法(least squares method)來求線性回歸損失函數最優解的完整過程,首先推導出最小二乘法,后用最小二乘法對一個簡單數據集進行線性回歸擬合;
線性回歸
線性回歸假設數據集中特征與結果存在着線性關系;
等式:y = mx + c
y為結果,x為特征,m為系數,c為誤差 在數學中m為梯度c為截距
這個等式為我們假設的,我們需要找到m、c使得mx+c得到的結果與真實的y誤差最小,這里使用平方差來衡量估計值與真實值得誤差(如果只用差值就可能會存在負數); 用於計算真實值與預測值的誤差的函數稱為:平方損失函數(squard loss function);這里用L表示損失函數,所以有:

整個數據集上的平均損失為:

我們要求得最匹配的m與c使得L最小;
數學表達式可以表示為:

最小二乘法用於求目標函數的最優值,它通過最小化誤差的平方和尋找匹配項所以又稱為:最小平方法;這里將用最小二乘法用於求得線性回歸的最優解;
最小二乘法
為了方便講清楚最小二乘法推導過程這里使用,數據集有1…N個數據組成,每個數據由、構成,x表示特征,y為結果;這里將線性回歸模型定義為:

平均損失函數定義有:


要求得L的最小,其關於c與m的偏導數定為0,所以求偏導數,得出后讓導數等於0,並對c與m求解便能得到最小的L此時的c與m便是最匹配該模型的;
關於c偏導數:
因為求得是關於c的偏導數,因此把L的等式中不包含c的項去掉得:

整理式子把不包含下標n的往累加和外移得到:

對c求偏導數得:

關於m的偏導數:
求關於m的偏導數,因此把L等式中不包含項去掉得:

整理式子把不包含下標n的往累加和外移得到:

對m求偏導數得:

令關於c的偏導數等於0,求解:

從上求解得到的值可以看出,上面式子中存在兩個平均值,因此該等式也可以改寫成:

令關於m的偏導數等於0,求解:
關於m的偏導數依賴於c,又因為已經求得了關於c偏導數的解,因此把求關於c偏導數的解代數關於m的偏導數式子得:



合並含有m的項化簡:

求解:


為了簡化式子,再定義出:

示例:
這里使用上面得到的最小二乘法公式對以下數據集進行線性擬合:
| n | x | y | xy | x^2 |
|---|---|---|---|---|
| 1 | 2 | 4 | 8 | 4 |
| 2 | 6 | 8 | 48 | 36 |
| 3 | 9 | 12 | 108 | 81 |
| 4 | 13 | 21 | 273 | 169 |
| 平均值 | 7.5 | 11.25 | 109.25 | 72.5 |
數據點分布情況:

根據上訴最小二乘法公式計算出當前數據集最優:m與c

c = 11.25 - 1.5307 * 7.5 = -0.23
最后得出當前線性函數為:
y = 1.5307x - 0.23
計算出每個節點的預測值:
y1 = 1.5307 * 2 - 0.23 = 2.83
y2 = 1.5307 * 6 - 0.23 = 8.9542
y3 = 1.5307 * 9 - 0.23 = 13.5463
y4 = 1.5307 * 13- 0.23 = 19.6691
擬合結果:

參考資料:
https://zh.wikipedia.org/zh/最小二乘法
a first course in machine learning
