機器學習(十)-------- 降維(Dimensionality Reduction)

降維(Dimensionality Reduction)算法

降維的目的:1 數據壓縮
對象

這個是二維降一維 三維降二維就是落在一個平面上。blog

2 數據可視化
降維的算法只負責減小維數,新產生的特徵的意義就必須由咱們自 己去發現了。排序

主成分分析(PCA)是最多見的降維算法。it

在 PCA 中,咱們要作的是找到一個方向向量(Vector direction),當咱們把全部的數據
都投射到該向量上時,咱們但願投射平均均方偏差能儘量地小。io

主成分分析與線性迴歸是兩種不一樣的算法。主成分分析最小化的是投射偏差(Projected
Error),而線性迴歸嘗試的是最小化預測偏差。線性迴歸的目的是預測結果,而主成分分析
不做任何預測。圖像處理

上圖中,左邊的是線性迴歸的偏差(垂直於橫軸投影),右邊則是主要成分分析的偏差
(垂直於紅線投影)。效率

PCA 將𝑛個特徵降維到𝑘個,能夠用來進行數據壓縮,若是 100 維的向量最後能夠用 10
維來表示,那麼壓縮率爲 90%。一樣圖像處理領域的 KL 變換使用 PCA 作圖像壓縮。但 PCA
要保證降維後,還要保證數據的特性損失最小。
PCA 技術的一大好處是對數據進行降維的處理。咱們能夠對新求出的「主元」向量的重要
性進行排序,根據須要取前面最重要的部分,將後面的維數省去,能夠達到降維從而簡化模
型或是對數據進行壓縮的效果。同時最大程度的保持了原有數據的信息。
PCA 技術的一個很大的優勢是,它是徹底無參數限制的。在 PCA 的計算過程當中徹底不
須要人爲的設定參數或是根據任何經驗模型對計算進行干預,最後的結果只與數據相關,與
用戶是獨立的。
可是,這一點同時也能夠看做是缺點。若是用戶對觀測對象有必定的先驗知識,掌握了
數據的一些特徵,卻沒法經過參數化等方法對處理過程進行干預,可能會得不到預期的效果,
效率也不高。數據可視化

PCA 減小𝑛維到𝑘維:
第一步是均值歸一化。咱們須要計算出全部特徵的均值,而後令 𝑥𝑗 = 𝑥𝑗 − 𝜇𝑗。若是特
徵是在不一樣的數量級上,咱們還須要將其除以標準差 𝜎2。
第二步是計算協方差矩陣(covariance matrix)𝛴: ∑ = 1 𝑚
∑ (𝑥(𝑖)) 𝑛 𝑖=1 (𝑥(𝑖))𝑇
第三步是計算協方差矩陣𝛴的特徵向量(eigenvectors):可視化

相關文章
相關標籤/搜索