Probabilistic interpretation
我們應該想這樣一個問題:當我們討論迴歸問題時,我們爲什麼要最小化平方損失函數?在CS229的課程中,吳恩達教授給我們做了詳細的概率解釋。現總結如下:
對單個樣本來說:
其中 爲預測誤差,我們假定樣本的誤差屬於獨立同分布。
根據中心極限定理:多個隨機變量的和符合正態分佈;因爲誤差的隨機性, 符合均值爲0,方差爲 的正態分佈,即假定 ,因此:
上述第2個等式表明,在給定 , 的條件下, 符合正態分佈,且均值爲 ,方差爲 ,即
注意,這裏不等同於,前者默認爲是一個固定的值,一個本身就存在的最佳參數矩陣;而後者認爲是一個變量(統計學中frequentist和Bayesian的差別)。
此時,我們已知了y的概率分佈,因爲 是獨立同分布的,所以每個樣本的輸出y也是獨立同分布的。那麼就可以用極大似然估計(MLE)來估計。似然函數爲
似然函數取對數可得
可以看出,MLE的最終結果就是要最小化
這恰好就是我們的cost function。
對對數似然函數求導可得:
易得:(具體的推導可參見Normal Equation)
這不就是我們用Normal Equation得出的結論嗎!(Normal Equation)
得到的估計之後,我們再來估計一下,先暫記,則:
解得:
至此,我們已經估計得到了和,所以我們可以得到之前的概率分佈模型的確切表達式。
有了這個模型,對於輸入就可以很容易的得到對於的,及其概率,以及置信區間等。
關於概率解釋還有幾點可以寫。
- 正則項的貝葉斯先驗解釋
下次有時間補上
局部加權線性迴歸(Locally Weighted Linear Regression,LWLR)
LWLR算法是一個non-parametric(非參數)學習算法,而線性迴歸則是一個parametric(參數)學習算法。
所謂參數學習算法它有固定的明確的參數,參數一旦確定,就不會改變了,我們不需要在保留訓練集中的訓練樣本。
而非參數學習算法,每進行一次預測,就需要重新學習一組,是變化的,所以需要一直保留訓練樣本。也就是說,當訓練集的容量較大時,非參數學習算法需要佔用更多的存儲空間,計算速度也較慢。
先介紹這個概念是因爲LWLR由於是非參數的學習算法,所以訓練的方式與傳統的線性迴歸有點區別。LWLR並不進行預先訓練,而是當每次需要預測新樣本點的時候纔開始訓練整體樣本。LWLR的核心思想就是,與新樣本點相關度高的(距離近的)樣本起到的權重大,相關度低的起到的作用很小。
首先我們來看一個線性迴歸的問題,在下面的例子中,我們選取不同維度的特徵來對我們的數據進行擬合。
對於上面三個圖像做如下解釋:
選取一個特徵,來擬合數據,可以看出來擬合情況並不是很好,有些數據誤差還是比較大。
針對第一個,我們增加了額外的特徵,,這時我們可以看出情況就好了很多。
這個時候可能有疑問,是不是特徵選取的越多越好,維度越高越好呢?所以針對這個疑問,如最右邊圖,我們用五階多項式使得數據點都在同一條曲線上,爲。此時它對於訓練集來說做到了很好的擬合效果,但是,我們不認爲它是一個好的假設,因爲它不能夠做到更好的預測(過擬合)。
針對上面的分析,我們認爲第二個是一個很好的假設,而第一個圖我們稱之爲欠擬合(underfitting),而最右邊的情況我們稱之爲過擬合(overfitting)
所以我們知道特徵的選擇對於學習算法的性能來說非常重要,所以現在我們要引入局部加權線性迴歸,它使得特徵的選擇對於算法來說沒那麼重要,也就是更隨性了。
在我們原始的線性迴歸中,對於輸入變量,我們要預測,通常要做:
而對於局部加權線性迴歸來說,我們要做:
爲權值,從上面我們可以看出,如果很大,那麼該樣本點所產生的平方誤差的影響就很大,所以如果很小,則它所產生的影響也就很小。
通常我們選擇的形式如下所示:
上式中參數爲新預測的樣本特徵數據,它是一個向量,參數控制了權值變化的速率,和的圖像如下
可以看到(感覺這幅圖並不太好,雖然大致的意思(分佈上)表達出來了)
(1)如果,則。
(2)如果,則。
也即,離很近的樣本,權值接近於1,而對於離很遠的樣本,此時權值接近於0,這樣就是在局部構成線性迴歸,它依賴的也只是周邊的點。
圖中紅色直線使用線性迴歸做的結果,黑色直線使用LWR做的結果,可以看到局部加權迴歸的效果較好。
參數τ控制權重函數的寬度,τ越大,權重函數越寬,也就是下降越慢,τ越小,則對於距離越敏感:
總結
這個模型相對比較簡單,雖然可以在一定程度上解決欠擬合的問題,但有相當明顯的缺陷。
- 當數據量比較大的時候,存儲量比較大,計算量比較大,代價較大。
- 每次進來新的x時,需要重新根據訓練數據得到局部加權迴歸模型。
- 不一定能夠解決under-fitting的問題
參考文章: