Locally weighted linear regression(局部加權線性回歸)


    (整理自AndrewNG的課件,轉載請注明。整理者:華科小濤@http://www.cnblogs.com/hust-ghtao/

    前面幾篇博客主要介紹了線性回歸的學習算法,那么它有什么不足的地方么?怎么改進呢?這就是本篇的主題。

    為了引出問題,先看一個關於線性的例子,選取不同的特征會得到不同結果。考慮給定一組數據,我們要進行線性回歸,得到之間的關系。提出了三種不同的特征的選擇方式,結果如下:

image

左圖,選取一個特征,假設為,我們可以看到數據不能很好的和數據相吻合。

中圖,我們選取了兩個特征,假設為,我們可以看到擬合效果變好了。那是不是特征越多越好呢?非也。

右圖,一共6個數據點,所以用5階多項式就可以做到所有的數據點都在曲線上了,假設為。雖然將數據點擬合的很perfect,但是我們不認為這是一個很好的假設,因為它不能做到很好的預測。

     我們稱左圖的擬合效果為underfitting(欠擬合),數據中的明顯的結構關系沒有被模型所捕獲。稱右圖的擬合效果為overfitting(過擬合),這種假設只是用於特定的數據,預測效果不好。中圖的效果最好,那我們應該如何選擇特征,使得假設的效果最好?有人說了,那就挨個試唄,先選擇1個特征,看效果,2個特征,看效果。。。。我們可不願意做這種事情。

    就像上面討論的那樣,特征的選擇對學習算法的性能至關重要,那有沒有自動選擇特征集的算法,或者是讓特征的選擇對結果影響不那么大?這就是我們要介紹的Locally weight-

ed linear regression (LWR),這個算法對特征集要求不是非常的嚴格。

    在最初的線性回歸算法中,對於輸入變量,我們要預測,我們通常要做的:

 

      image

    相對而言,對於局部加權線性回歸,我們要做:

 

    image ,這里多了一個權值項。直觀上,的值越大,它所對應的對結果的影響越大,反之越小。

    我們選擇的形式如下:

    image ,其中的就是我們要預測的輸入變量。為了理解,看下圖:

   

    gg1顯然,當足夠小時,近似為1;當足夠大時,近似為0;也就是說離很近的樣本會得到接近為1的權值,很遠的樣本權值近乎為0。所以我們無們可以這樣理解:在局部構成了線性回歸算法,對於的學習,主要依賴於附近的點。如下圖:

      image ,圖中紅色直線使用線性回歸做的結果,黑色直線使用LWR做的結果,可以看到局部加權回歸的效果較好。

 

    在讓我們來看一下形式的的形式,和高斯函數形式很像,但和那一點關系都沒有哦!是波長參數,控制了權值隨距離的下降速率。

    總結一下:LWR算法是我們遇到的第一個non-parametric(非參數)學習算法,而線性回歸則是我們遇到的以一個parametric(參數)學習算法。所謂參數學習算法它有固定的明確的參數,參數一旦確定,就不會改變了,我們不需要在保留訓練集中的訓練樣本。而非參數學習算法,每進行一次預測,就需要重新學習一組是變化的,所以需要一直保留訓練樣本。也就是說,當訓練集的容量較大時,非參數學習算法需要占用更多的存儲空間,計算速度也較慢。有得必有失,效果好當然要犧牲一些其他的東西。人不一定什么都擅長,只要有自己的特點就可以了!!


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM