天天看點

最小二乘的前世今生緻敬大神:1 為什麼使用最小二乘?2 線性方程與克萊姆法則3 最小二乘的表達式4.局限性和适用場景 

緻敬大神:

最小二乘的本質:https://www.zhihu.com/question/37031188

                             https://www.matongxue.com/madocs/818.html

最小二乘:https://blog.csdn.net/bitcarmanlee/article/details/51589143

各種解法:https://www.cnblogs.com/pinard/p/5976811.html

1 為什麼使用最小二乘?

使用差的平方和最小勒?用差的絕對值不行麼?

1)原理上:差平方符合最大似然估計 

我們假設直線對于坐标 Xi 給出的預測 f(Xi) 是最靠譜的預測,所有縱坐标偏離 f(Xi) 的那些資料點都含有噪音,是噪音使得它們偏離了完美的一條直線,一個合理的假設就是偏離路線越遠的機率越小,具體小多少,可以用一個正态分布曲線來模拟,這個分布曲線以直線對 Xi 給出的預測 f(Xi) 為中心,實際縱坐标為 Yi 的點 (Xi, Yi) 發生的機率就正比于 EXP[-(ΔYi)^2]。(EXP(..) 代表以常數 e 為底的多少次方)。 

是以我們在前面的兩點裡提到,假設誤差的分布要為一個正态分布,原因就在這裡了。 

2)計算上:數學處理友善

另外說一點我自己的了解:從數學處理的角度來說,絕對值的數學處理過程,比平方和的處理要複雜很多。搞過機器學習的同學都知道,L1正則就是絕對值的方式,而L2正則是平方和的形式。L1能産生稀疏的特征,這對大規模的機器學習灰常灰常重要。但是L1的求解過程,實在是太過蛋疼。是以即使L1能産生稀疏特征,不到萬不得已,我們也還是甯可用L2正則,因為L2正則計算起來友善得多。。。

2 線性方程與克萊姆法則

齊次線性方程組

當常數項全為零時,線性方程組⑵稱為齊次線性方程組,即:

最小二乘的前世今生緻敬大神:1 為什麼使用最小二乘?2 線性方程與克萊姆法則3 最小二乘的表達式4.局限性和适用場景 

線性方程組(2)的矩陣形式為

最小二乘的前世今生緻敬大神:1 為什麼使用最小二乘?2 線性方程與克萊姆法則3 最小二乘的表達式4.局限性和适用場景 

系數構成的行列式稱為該方程組的系數行列式D,即

最小二乘的前世今生緻敬大神:1 為什麼使用最小二乘?2 線性方程與克萊姆法則3 最小二乘的表達式4.局限性和适用場景 

非齊次線性方程組

當其右端的常數項b1,b2,...,bn不全為零時,線性方程組⑴稱為非齊次線性方程組。

最小二乘的前世今生緻敬大神:1 為什麼使用最小二乘?2 線性方程與克萊姆法則3 最小二乘的表達式4.局限性和适用場景 

寫作:

最小二乘的前世今生緻敬大神:1 為什麼使用最小二乘?2 線性方程與克萊姆法則3 最小二乘的表達式4.局限性和适用場景 

其中:

最小二乘的前世今生緻敬大神:1 為什麼使用最小二乘?2 線性方程與克萊姆法則3 最小二乘的表達式4.局限性和适用場景 

A是線性方程組的系數矩陣,

X是由未知數組成的列向量 

最小二乘的前世今生緻敬大神:1 為什麼使用最小二乘?2 線性方程與克萊姆法則3 最小二乘的表達式4.局限性和适用場景 

 是由常數項組成的列向量。【注:這裡的

最小二乘的前世今生緻敬大神:1 為什麼使用最小二乘?2 線性方程與克萊姆法則3 最小二乘的表達式4.局限性和适用場景 

 與下面的

最小二乘的前世今生緻敬大神:1 為什麼使用最小二乘?2 線性方程與克萊姆法則3 最小二乘的表達式4.局限性和适用場景 

0-m沒有關系】

非齊次線性方程組表達式轉為齊次:

最小二乘的前世今生緻敬大神:1 為什麼使用最小二乘?2 線性方程與克萊姆法則3 最小二乘的表達式4.局限性和适用場景 

即Aβ=Y

3 最小二乘的表達式

對于最小二乘來說,最終的矩陣表達形式可以表示為:

最小二乘的前世今生緻敬大神:1 為什麼使用最小二乘?2 線性方程與克萊姆法則3 最小二乘的表達式4.局限性和适用場景 

最後的最優解為:

最小二乘的前世今生緻敬大神:1 為什麼使用最小二乘?2 線性方程與克萊姆法則3 最小二乘的表達式4.局限性和适用場景 

4.局限性和适用場景

經典的最小二乘法使用起來夠簡單粗暴,計算過程也不複雜。比梯度下降這樣的疊代法似乎友善很多。這裡聊聊最小二乘法的局限性和适用性。

  1)一個緻命的問題就是其對噪聲的容忍度很低。 對于噪聲的處理,比如有權重最小二乘等方法。

       2)最小二乘法需要計算XTXXTX的逆矩陣,有可能它的逆矩陣不存在,這樣就沒有辦法直接用最小二乘法了,此時梯度下降法仍然可以使用。當然,我們可以通過對樣本資料進行整理,去掉備援特征。讓XTXXTX的行列式不為0,然後繼續使用最小二乘法。

  3)當樣本特征n非常的大的時候,計算XTXXTX的逆矩陣是一個非常耗時的工作(nxn的矩陣求逆),甚至不可行。此時以梯度下降為代表的疊代法仍然可以使用。那這個n到底多大就不适合最小二乘法呢?如果你沒有很多的分布式大資料計算資源,建議超過10000個特征就用疊代法吧。或者通過主成分分析降低特征的次元後再用最小二乘法。

  4)如果拟合函數不是線性的,這時無法使用最小二乘法,需要通過一些技巧轉化為線性才能使用,此時梯度下降仍然可以用。

  5)講一些特殊情況。當樣本量m很少,小于特征數n的時候,這時拟合方程是欠定的,常用的優化方法都無法去拟合資料。當樣本量m等于特征數n的時候,用方程組求解就可以了。當m大于n時,拟合方程是超定的,也就是我們常用與最小二乘法的場景了。

繼續閱讀