2021.10.25
用人話講明白線性回歸LinearRegression - 知乎 (zhihu.com)
以前
理解:
最小:理論值和觀測值之差的平方和最小。
參考:https://www.zhihu.com/search?type=content&q=最小二乘的本質
3 推廣
算術平均數只是最小二乘法的特例,適用范圍比較狹窄。而最小二乘法用途就廣泛。
比如溫度與冰淇淋的銷量:
看上去像是某種線性關系:

可以假設這種線性關系為:
通過最小二乘法的思想:

上圖的 分別為:
總誤差的平方為:
不同的 會導致不同的
,根據多元微積分的知識,當:
這個時候 取最小值。
對於 而言,上述方程組為線性方程組,用之前的數據解出來:
也就是這根直線:

其實,還可以假設:
在這個假設下,可以根據最小二乘法,算出 ,得到下面這根紅色的二次曲線:

同一組數據,選擇不同的 【此處尋找f(x)意味着選擇一個數學模型,如選擇1次函數,2次函數,還是3次函數...】,通過最小二乘法可以得到不一樣的擬合曲線(出處):

不同的數據,更可以選擇不同的 ,通過最小二乘法可以得到不一樣的擬合曲線:

也不能選擇任意的函數,還是有一些講究的,這里就不介紹了。
鏈接:https://www.zhihu.com/question/37031188/answer/411760828
1: 最小二乘法的原理與要解決的問題
最小二乘法是由勒讓德在19世紀發現的,形式如下式:
觀測值就是我們的多組樣本,理論值就是我們的假設擬合函數。目標函數也就是在機器學習中常說的損失函數,我們的目標是得到使目標函數最小化時候的擬合函數的模型。舉一個最簡單的線性回歸的簡單例子,比如我們有 個只有一個特征的樣本:
樣本采用一般的 為
次的多項式擬合,
為參數
最小二乘法就是要找到一組 使得
(殘差平方和) 最小,即,求
2 :最小二乘法的矩陣法解法
最小二乘法的代數法解法就是對 求偏導數,令偏導數為0,再解方程組,得到
。矩陣法比代數法要簡潔,下面主要講解下矩陣法解法,這里用多元線性回歸例子來描:
假設函數 的矩陣表達方式為:
其中, 假設函數 為
的向量,
為
的向量,里面有
個代數法的模型參數。
為
維的矩陣。
代表樣本的個數,
代表樣本的特征數。
損失函數定義為 ,其中
是樣本的輸出向量,維度為
。
在這主要是為了求導后系數為1,方便計算。
根據最小二乘法的原理,我們要對這個損失函數對 向量求導取0。結果如下式:
對上述求導等式整理后可得:
3:最小二乘法的幾何解釋
先說結論:最小二乘法的幾何意義是高維空間中的一個向量在低維子空間的投影。
考慮這樣一個簡單的問題,求解二元一次方程組:
方程組的解也就是直線$a$與$b$的交點,並且很容易算出 .它的矩形形式:
表示 倍的向量
加上
倍的向量
等於向量
。或者說,
是向量
與
的線性組合。

可以看到,1倍的 加上2倍的
既是
,而1和2正是我們的解。而最小二乘所面臨的問題遠不止兩個點,拿三個點來說吧。(0,2),(1,2),(2,3)

假設我們要找到一條直線 穿過這三個點(雖然不可能),為表述方便,用
代替
,
代替
:
進一步的:
向量 是向量
與
的線性表示。用圖形表示:
作圖之后,我們驚訝的發現,無論我們怎樣更改 和
的系數都不可能得到b,因為
與
的線性組合成的向量只能落在它們組成的子空間S里面,也就是說,向量
不在平面
上,雖然我們找不到這樣的向量,但在
上找一個比較接近的可以吧。很自然的想法就是將向量
投影在平面
上,投影在
上的向量
就是
的近似向量,並且方程
是有解的。

這個誤差最小的時候就是 正交於平面
,也正交與
中的向量
(矩陣
的列向量),即點乘為0,
,
矩陣表示:


4:最小二乘法的局限性和適用場景
從上面可以看出,最小二乘法適用簡潔高效,比梯度下降這樣的迭代法似乎方便很多。但是這里我們就聊聊最小二乘法的局限性。
首先,最小二乘法需要計算 的逆矩陣,有可能它的逆矩陣不存在,這樣就沒有辦法直接用最小二乘法了,此時梯度下降法仍然可以使用。當然,我們可以通過對樣本數據進行整理,去掉冗余特征。讓
的行列式不為0,然后繼續使用最小二乘法。
第二,當樣本特征 非常的大的時候,計算
的逆矩陣是一個非常耗時的工作(
的矩陣求逆),甚至不可行。此時以梯度下降為代表的迭代法仍然可以使用。那這個
到底多大就不適合最小二乘法呢?如果你沒有很多的分布式大數據計算資源,建議超過10000個特征就用迭代法吧。或者通過主成分分析降低特征的維度后再用最小二乘法。
第三,如果擬合函數不是線性的,這時無法使用最小二乘法,需要通過一些技巧轉化為線性才能使用,此時梯度下降仍然可以用。