文章來自:微信公眾號【機器學習煉丹術】。關注回覆【加群】,即可加入AI初學者交流群。
文章目錄:
1 拋磚引玉
2 多元迴歸
3 正態分佈
4 嶺迴歸與Lasso迴歸
1 拋磚引玉
如果你剛某運動完,虛的很,這時候你的女朋友說:你這個有多長?然後你拿過來尺子想量一量。因為很虛,所以眼睛有點花,測量了五次有五個結果:18。1cm,17。9cm,18。2cm,17。8cm,18。0cm
你這時候你要怎麼回答女朋友?告訴她五個數值?根據經驗,你決定計算一下平均數來回復:
所以你說,這個東西18cm,女朋友心滿意足,把這個
士力架
吃了補充體力。
【為什麼用算數平均?】
你事後一根菸的時候,思考,到底是誰規定的,算術平均值就是最好的答案?我為什麼不能隨機選擇一個數字來作為真實長度呢?
我們假設真實長度為,然後五次測量結果是
那麼每一次測量的誤差是
阿德里安-馬裡·勒讓德(1752-1833)提出讓總的誤差的平方最小的就是真值。
因此這裡計算每一次測量的誤差採用了平方損失,這也是
二乘
的來由
現在我們把五次測量的誤差都加起來,得到了:
現在我們可以知道,x的值應該就是讓
上面的總誤差最小的那個x
,對x求導:
可以化簡得到:
因此可以知道:
算數平方等價於最小二乘法求得的最優解
。而
最小二乘法其實就是用平方損失作為損失函式的最佳化方法。
2 多元迴歸
假設有多個隨機變數,那麼也可以用最小二乘法。
圖中的擬合曲線應該是:
採用同樣的方法,計算出平方損失之後,對損失求引數a和b的偏導數,然後讓其等於零,這樣相當於得到了一個二元一次方程組,然後求解a和b即可。
當然,假設你看了資料之後覺得這是一個二次曲線:
那麼同樣的方法可以得到一個三元一次方程組來求解。
【總結】
線性迴歸可以用
最小二乘法
來擬合各種形狀,但是前提是,你要確定你的資料大概是一個怎麼樣的形式。是一次的還是二次方的還是怎麼樣的,這就需要一些經驗了。
是過擬合還是欠擬合,就看自己的選擇了,同樣的資料,選擇了不同的f(x),可以得到不同的擬合曲線。
3 正態分佈
勒讓德的猜想,也就是最小二乘法,這個證明並不能令人信服。
數學王子高斯提出了最令人信服的證明。
依然是士力架的長度問題,我們還是用來表示誤差:
高斯認為這些誤差會形成一個機率分佈,但是我們目前還不知道這個機率分佈是什麼。假設機率分散式
然後我們來對產生了這五次資料的事實做一個似然函式:
因為這樣的事情發生了,所以我們認為這樣的事情發生機率是最大的,也就是說,x應該是最大的時候的那個x。
如果最小二乘法是對的,那麼的時候應該是L(x)最大的時候,所以帶入之後,解得:
因此高斯證明了,x是算數平均的時候,最小二乘法成立的時候,測量誤差是服從正態分佈的。
而這時最小二乘法之所以重要的原因,因為從分佈上來說,如果想讓誤差服從正態分佈,那麼用最小二乘法來求解答案。
至於為什麼正態分佈如此重要,就需要學習中心極限定理。在這裡不加贅述。
4 嶺迴歸與Lasso迴歸
求解線性迴歸的引數,有兩種方法:
梯度下降
用求導的正規方法
嶺迴歸與Lasso迴歸的出現是為了解決
線性迴歸出現的過擬合
以及在透過
正規方程方法求解θ的過程中出現的x轉置乘以x不可逆
這兩類問題的,這兩種迴歸均透過在損失函式中
引入正則化項
來達到目的,具體三者的損失函式對比見下圖:
從損失函式中可以看到,嶺迴歸其實引入了L2範數懲罰項,而Lasso引入了L1範數懲罰項。
λ稱為正則化引數,如果λ選取過大,會把所有引數θ強制小化,造成欠擬合;如果λ選取過小,會導致對過擬合問題解決不當,因此λ的選取是一個技術活。
Lasso使用了L1正則,所以會傾向於讓引數變成0,因此相比嶺迴歸,Lasso的計算量會小很多。