機器學習之PCA降維

2021-08-07 13:43:57 字數 2841 閱讀 1647

1. 前言

如果學習分類演算法,最好從線性的入手,線性分類器最簡單的就是lda,它可以看做是簡化版的svm,如果想理解svm這種分類器,那理解lda就是很有必要的了。

2. (線性判別分析)lda

1) lda思想:

lda是一種監督學習的降維技術,也就是說它的資料集的每個樣本是有類別輸出的。這點和pca不同。pca是不考慮樣本類別輸出的無監督降維技術。lda的思想可以用一句話概括,就是「投影後類內方差最小,類間方差最大」。什麼意思呢? 我們要將資料在低維度上進行投影,投影後希望每一種類別資料的投影點盡可能的接近,而不同類別的資料的類別中心之間的距離盡可能的大。

2) 計算公式:

參考:

3) 演算法流程:

輸入:資料集d=,其中任意樣本xi為n維向量,yi∈,降維到的維度d。

輸出:降維後的樣本集d'

1) 計算類內散度矩陣sw

2) 計算類間散度矩陣sb

3) 計算矩陣sw^−1sb

4)計算sw^−1sb的最大的d個特徵值和對應的d個特徵向量(w1,w2,…wd),得到投影矩陣

5) 對樣本集中的每乙個樣本特徵xi,轉化為新的樣本zi=wtxi

6) 得到輸出樣本集

3. 主成分分析(pca)

(po主從最大方差和最小誤差兩個方面解釋了pca,並利用公式進行推導得到pca的投影向量與原資料之間的關係) pca的思想是將n維特徵對映到k維上(k

這k維是全新的正交特徵。這k維特徵稱為主元,是重新構造出來的k維特徵,而不是簡單地從n維特徵中去除其餘n-k維特徵。

如何保證是正交呢?正交的定義是?(線性代數)

要解釋為什麼協方差矩陣的特徵向量就是k維理想特徵,我看到的有三個理論:分別是最大方差理論、最小錯誤理論和座標軸相關度理論。

最大方差理論:

在訊號處理中認為訊號具有較大的方差,雜訊有較小的方差,訊雜比就是訊號與雜訊的方差比,越大越好。如前面的圖,樣本在橫軸上的投影方差較大,在縱軸上的投影方差較小,那麼認為縱軸上的投影是由雜訊引起的。

因此我們認為,最好的k維特徵是將n維樣本點轉換為k維後,每一維上的樣本方差都很大。 假設我們選擇兩條不同的直線做投影,那麼左右兩條中哪個好呢?根據我們之前的方差最大化理論,左邊的好,因為投影後的樣本點之間方差最大。

投影的概念:

紅色點表示樣例x^((i)),藍色點表示x^((i)) 在u上的投影,u是直線的斜率也是直線的方向向量,而且是單位向量。藍色點是x^((i)) 在u上的投影點,離原點的距離是:(u^t*x^(i)))由於這些樣本點(樣例)的每一維特徵均值都為0,因此投影到u上的樣本點(只有乙個到原點的距離值)的均值仍然是0。所以我們要的是最佳的u,使投影後的樣本點方差最大。

為什麼樣本點的每一維特徵值為0呢?

因為投影後的均值為0,所以方差是:

其中第j維就是x在u上的投影

通過選擇最大的k個u,使方差比較小的特徵比如雜訊就被丟棄了。

但是下面的po主則是從拉格朗日乘法去解釋最大方差的:

pca利用線性擬合的思路吧分布在多個維度的高位資料投射到幾個軸上。如果每個樣本只有資料變數,這種擬合就是a_1 x_1+a_2 x_2=p, 其中x_1 和x_2 分別是樣本的連個變數,a部分是loading,p值是主成分。

4. lda vs pca

首先我們看看相同點:

1)兩者均可以對資料進行降維。

2)兩者在降維時均使用了矩陣特徵分解的思想。

3)兩者都假設資料符合高斯分布。

我們接著看看不同點:

1)lda是有監督的降維方法,而pca是無監督的降維方法

2)lda降維最多降到類別數k-1的維數,而pca沒有這個限制。

3)lda除了可以用於降維,還可以用於分類。

4)lda選擇分類效能最好的投影方向,而pca選擇樣本點投影具有最大方差的方向。

5. 總結

lda演算法既可以用來降維,又可以用來分類,但是目前來說,主要還是用於降維。在我們進行影象識別影象識別相關的資料分析時,lda是乙個有力的工具。下面總結下lda演算法的優缺點。

lda演算法的主要優點有:

1)在降維過程中可以使用類別的先驗知識經驗,而像pca這樣的無監督學習則無法使用類別先驗知識。

2)lda在樣本分類資訊依賴均值而不是方差的時候,比pca之類的演算法較優。

lda演算法的主要缺點有:

1)lda不適合對非高斯分布樣本進行降維,pca也有這個問題。

2)lda降維最多降到類別數k-1的維數,如果我們降維的維度大於k-1,則不能使用lda。當然目前有一些lda的進化版演算法可以繞過這個問題。

3)lda在樣本分類資訊依賴方差而不是均值的時候,降維效果不好。

4)lda可能過度擬合資料。

機器學習(五)PCA資料降維

pca資料降維 一 pca 相關理論 pca演算法又稱主成分分析,是一種分析 簡化資料集的技術。主成分分析經常用於減少資料集的 維數,同時保持資料集中的對方差貢獻最大的特徵。pca 的數學定義是 乙個 正交化線性變換,把資料變換到乙個新的座標系統中,使得這一資料的任何投影的第一大方差在第乙個座標 稱...

深度之眼 百面機器學習 PCA降維

除了這些輸入引數外,有幾個pca類的成員值得關注。fit 可以說是scikit learn中通用的方法,每個需要訓練的演算法都會有fit 方法,它其實就是演算法中的 訓練 這一步驟。因為pca是無監督學習演算法,此處y自然等於none。fit x 表示用資料x來訓練pca模型。函式返回值 呼叫fit...

特徵降維之PCA

目錄 pca運算步驟 pca理論解釋 性質引數k的選取 資料重建 主觀理解 應用 示例 pca主要用於資料降維,是一種無監督學習方法。主成分分析利用正交變換將可能存在相關性的原始屬性轉換成一組線性無關的新屬性,並通過選擇重要的新屬性實現降維。由一系列特徵組成的多維向量,其中某些元素本身沒有區分性,比...