機器學習--PCA降維和Lasso演算法

來源:互聯網
上載者:User

標籤:約束   雜訊   嶺迴歸   調整   可視化   藍色   iss   去除   fill   

1、PCA降維

降維有什麼作用呢?
資料在低維下更容易處理、更容易使用;
相關特徵,特別是重要特徵更能在資料中明確的顯示出來;如果只有兩維或者三維的話,更便於可視化展示;
去除資料雜訊
降低演算法開銷

常見的降維演算法有主成分分析(principal component analysis,PCA)、因子分析(Factor Analysis)和獨立成分分析(Independent Component Analysis,ICA),其中PCA是目前應用最為廣泛的方法。

在PCA中,資料從原來的座標系轉換到新的座標系,新座標系的選擇是由資料本身決定的。第一個座標軸的選擇是未經處理資料中方差最大的方向,從資料角度上來講,這其實就是最重要的方向,

即總直線B的方向。第二個座標軸則是第一個的垂直或者說正交(orthogonal)方向,即中直線C的方向。該過程一直重複,重複的次數為未經處理資料中特徵的數目。

而這些方向所表示出的資料特徵就被稱為“主成分”。

Principal Component Analysis(PCA)是最常用的線性降維方法,它的目標是通過某種線性投影,將高維的資料對應到低維的空間中表示,並期望在所投影的維度上資料的方差最大,

以此使用較少的資料維度,同時保留住較多的原資料點的特性。

通俗的理解,如果把所有的點都映射到一起,那麼幾乎所有的資訊(如點和點之間的距離關係)都丟失了,而如果映射後方差儘可能的大,那麼資料點則會分散開來,以此來保留更多的資訊。可以證明,PCA是丟失未經處理資料資訊最少的一種線性降維方式。(實際上就是最接近未經處理資料,但是PCA並不試圖去探索資料內在結構)

2、Lasso演算法

參考自:http://blog.csdn.net/slade_sha/article/details/53164905

先看一波過擬合:

圖中,紅色的線存在明顯的過擬合,綠色的線才是合理的擬合曲線,為了避免過擬合,我們可以引入正則化。

 

下面可以利用正則化來解決曲線擬合過程中的過擬合發生,存在均方根誤差也叫標準誤差,即為√[∑di^2/n]=Re,n為測量次數;di為一組測量值與真值的偏差。

實際考慮迴歸的過程中,我們需要考慮到誤差項,

這個和簡單的線性迴歸的公式相似,而在正則化下來最佳化過擬合這件事情的時候,會加入一個約束條件,也就是懲罰函數:

這邊這個懲罰函數有多種形式,比較常用的有l1,l2,大概有如下幾種:

講一下比較常用的兩種情況,q=1和q=2的情況:

q=1,也就是今天想講的lasso迴歸,為什麼lasso可以控制過擬合呢,因為在資料訓練的過程中,可能有幾百個,或者幾千個變數,再過多的變數衡量目標函數的因變數的時候,可能造成結果的過度解釋,而通過q=1下的懲罰函數來限制變數個數的情況,可以優先篩選掉一些不是特別重要的變數,見:

作圖只要不是特殊情況下與正方形的邊相切,一定是與某個頂點優先相交,那必然存在橫垂直軸中的一個係數為0,起到對變數的篩選的作用。

 

q=2的時候,其實就可以看作是上面這個藍色的圓,在這個圓的限制下,點可以是圓上的任意一點,所以q=2的時候也叫做嶺迴歸,嶺迴歸是起不到壓縮變數的作用的,在這個圖裡也是可以看出來的。

 

lasso迴歸:

lasso迴歸的特色就是在建立廣義線型模型的時候,這裡廣義線型模型包含一維連續因變數、多維連續因變數、非負次數因變數、二元離散因變數、多元離散因變,除此之外,無論因變數是連續的還是離散的,lasso都能處理,總的來說,lasso對於資料的要求是極其低的,所以應用程度較廣;除此之外,lasso還能夠對變數進行篩選和對模型的複雜程度進行降低。這裡的變數篩選是指不把所有的變數都放入模型中進行擬合,而是有選擇的把變數放入模型從而得到更好的績效參數。 複雜度調整是指通過一系列參數控制模型的複雜度,從而避免過度學習(Overfitting)。 對於線性模型來說,複雜度與模型的變數數有直接關係,變數數越多,模型複雜度就越高。 更多的變數在擬合時往往可以給出一個看似更好的模型,但是同時也面臨過度學習的危險。

 

lasso的複雜程度由λ來控制,λ越大對變數較多的線性模型的懲罰力度就越大,從而最終獲得一個變數較少的模型。除此之外,另一個參數α來控制應對高相關性(highly correlated)資料時模型的性狀。 LASSO迴歸α=1,Ridge迴歸α=0,這就對應了懲罰函數的形式和目的。

 

機器學習--PCA降維和Lasso演算法

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.