線性判別分析(LDA)
LDA思想總結
線性判別分析(Linear Discriminant Analysis,LDA)是一種經典的降維方法。和主成分分析PCA不考慮樣本類別輸出的無監督降維技術不同,LDA是一種監督學習的降維技術,數據集的每個樣本有類別輸出。
LDA分類思想簡單總結如下:
- 多維空間中,數據處理分類問題較爲複雜,LDA算法將多維空間中的數據投影到一條直線上,將d維數據轉化成1維數據進行處理。
- 對於訓練數據,設法將多維數據投影到一條直線上,同類數據的投影點儘可能接近,異類數據點儘可能遠離。
- 對數據進行分類時,將其投影到同樣的這條直線上,再根據投影點的位置來確定樣本的類別。
如果用一句話概括LDA思想,即“投影后類內方差最小,類間方差最大”。
圖解LDA核心思想
假設有紅、藍兩類數據,這些數據特徵均爲二維,如下圖所示。我們的目標是將這些數據投影到一維,讓每一類相近的數據的投影點儘可能接近,不同類別數據儘可能遠,即圖中紅色和藍色數據中心之間的距離儘可能大。
左圖和右圖是兩種不同的投影方式。
左圖思路:讓不同類別的平均點距離最遠的投影方式。
右圖思路:讓同類別的數據捱得最近的投影方式。
從上圖直觀看出,右圖紅色數據和藍色數據在各自的區域來說相對集中,根據數據分佈直方圖也可看出,所以右圖的投影效果好於左圖,左圖中間直方圖部分有明顯交集。
以上例子是基於數據是二維的,分類後的投影是一條直線。如果原始數據是多維的,則投影后的分類面是一低維的超平面。
二類LDA算法原理
輸入:數據集 ,其中樣本 是n維向量,,降維後的目標維度 。定義
爲第 類樣本個數;
爲第 類樣本的集合;
爲第 類樣本的均值向量;
爲第 類樣本的協方差矩陣。
其中
假設投影直線是向量 ,對任意樣本 ,它在直線 上的投影爲 ,兩個類別的中心點 , 在直線 的投影分別爲 、。
LDA的目標是讓兩類別的數據中心間的距離 儘量大,與此同時,希望同類樣本投影點的協方差、 儘量小,最小化 。
定義
類內散度矩陣
類間散度矩陣
據上分析,優化目標爲
根據廣義瑞利商的性質,矩陣 的最大特徵值爲 的最大值,矩陣 的最大特徵值對應的特徵向量即爲 。
LDA算法流程總結
LDA算法降維流程如下:
輸入:數據集 ,其中樣本 是n維向量,,降維後的目標維度 。
輸出:降維後的數據集 。
步驟:
- 計算類內散度矩陣 。
- 計算類間散度矩陣 。
- 計算矩陣 。
- 計算矩陣 的最大的 d 個特徵值。
- 計算 d 個特徵值對應的 d 個特徵向量,記投影矩陣爲 W 。
- 轉化樣本集的每個樣本,得到新樣本 。
- 輸出新樣本集
LDA和PCA區別
異同點 | LDA | PCA |
---|---|---|
相同點 | 1. 兩者均可以對數據進行降維;<br />2. 兩者在降維時均使用了矩陣特徵分解的思想;<br />3. 兩者都假設數據符合高斯分佈; | |
不同點 | 有監督的降維方法; | 無監督的降維方法; |
降維最多降到k-1維; | 降維多少沒有限制; | |
可以用於降維,還可以用於分類; | 只用於降維; | |
選擇分類性能最好的投影方向; | 選擇樣本點投影具有最大方差的方向; | |
更明確,更能反映樣本間差異; | 目的較爲模糊; |
LDA優缺點
優缺點 | 簡要說明 |
---|---|
優點 | 1. 可以使用類別的先驗知識;<br />2. 以標籤、類別衡量差異性的有監督降維方式,相對於PCA的模糊性,其目的更明確,更能反映樣本間的差異; |
缺點 | 1. LDA不適合對非高斯分佈樣本進行降維;<br />2. LDA降維最多降到分類數k-1維;<br />3. LDA在樣本分類信息依賴方差而不是均值時,降維效果不好;<br />4. LDA可能過度擬合數據。 |
主成分分析(PCA)
主成分分析(PCA)思想總結
- PCA就是將高維的數據通過線性變換投影到低維空間上去。
- 投影思想:找出最能夠代表原始數據的投影方法。被PCA降掉的那些維度只能是那些噪聲或是冗餘的數據。
- 去冗餘:去除可以被其他向量代表的線性相關向量,這部分信息量是多餘的。
- 去噪聲,去除較小特徵值對應的特徵向量,特徵值的大小反映了變換後在特徵向量方向上變換的幅度,幅度越大,說明這個方向上的元素差異也越大,要保留。
- 對角化矩陣,尋找極大線性無關組,保留較大的特徵值,去除較小特徵值,組成一個投影矩陣,對原始樣本矩陣進行投影,得到降維後的新樣本矩陣。
- 完成PCA的關鍵是——協方差矩陣。協方差矩陣,能同時表現不同維度間的相關性以及各個維度上的方差。協方差矩陣度量的是維度與維度之間的關係,而非樣本與樣本之間。
- 之所以對角化,因爲對角化之後非對角上的元素都是0,達到去噪聲的目的。對角化後的協方差矩陣,對角線上較小的新方差對應的就是那些該去掉的維度。所以我們只取那些含有較大能量(特徵值)的維度,其餘的就舍掉,即去冗餘。
圖解PCA核心思想
PCA可解決訓練數據中存在數據特徵過多或特徵累贅的問題。核心思想是將m維特徵映射到n維(n < m),這n維形成主元,是重構出來最能代表原始數據的正交特徵。
假設數據集是m個n維,。如果,需要降維到,現在想找到某一維度方向代表這兩個維度的數據。下圖有兩個向量方向,但是哪個向量纔是我們所想要的,可以更好代表原始數據集的呢?
從圖可看出,比好,爲什麼呢?有以下兩個主要評價指標:
- 樣本點到這個直線的距離足夠近。
- 樣本點在這個直線上的投影能儘可能的分開。
如果我們需要降維的目標維數是其他任意維,則:
- 樣本點到這個超平面的距離足夠近。
- 樣本點在這個超平面上的投影能儘可能的分開。
PCA算法推理
下面以基於最小投影距離爲評價指標推理:
假設數據集是m個n維,,且數據進行了中心化。經過投影變換得到新座標爲 ,其中 是標準正交基,即 ,。
經過降維後,新座標爲 ,其中 是降維後的目標維數。樣本點 在新座標系下的投影爲 ,其中 是 在低維座標系裏第 j 維的座標。
如果用 去恢復 ,則得到的恢復數據爲 ,其中 爲標準正交基組成的矩陣。
考慮到整個樣本集,樣本點到這個超平面的距離足夠近,目標變爲最小化 。對此式進行推理,可得:
在推導過程中,分別用到了 ,矩陣轉置公式 ,, 以及矩陣的跡,最後兩步是將代數和轉爲矩陣形式。
由於 的每一個向量 是標準正交基, 是數據集的協方差矩陣, 是一個常量。最小化 又可等價於
利用拉格朗日函數可得到
對 求導,可得 ,也即 。 是 個特徵向量組成的矩陣, 爲 的特徵值。 即爲我們想要的矩陣。
對於原始數據,只需要 ,就可把原始數據集降維到最小投影距離的 維數據集。
基於最大投影方差的推導,這裏就不再贅述,有興趣的同仁可自行查閱資料。
PCA算法流程總結
輸入: 維樣本集 ,目標降維的維數 。
輸出:降維後的新樣本集 。
主要步驟如下:
- 對所有的樣本進行中心化, 。
- 計算樣本的協方差矩陣 。
- 對協方差矩陣 進行特徵值分解。
- 取出最大的 個特徵值對應的特徵向量 。
- 標準化特徵向量,得到特徵向量矩陣 。
- 轉化樣本集中的每個樣本 。
- 得到輸出矩陣 。
注:在降維時,有時不明確目標維數,而是指定降維到的主成分比重閾值 。假設 個特徵值爲 ,則 可從 得到。
PCA算法主要優缺點
優缺點 | 簡要說明 |
---|---|
優點 | 1. 僅僅需要以方差衡量信息量,不受數據集以外的因素影響。 2.各主成分之間正交,可消除原始數據成分間的相互影響的因素。3. 計算方法簡單,主要運算是特徵值分解,易於實現。 |
缺點 | 1.主成分各個特徵維度的含義具有一定的模糊性,不如原始樣本特徵的解釋性強。2. 方差小的非主成分也可能含有對樣本差異的重要信息,因降維丟棄可能對後續數據處理有影響。 |
降維的必要性及目的
降維的必要性:
- 多重共線性和預測變量之間相互關聯。多重共線性會導致解空間的不穩定,從而可能導致結果的不連貫。
- 高維空間本身具有稀疏性。一維正態分佈有68%的值落於正負標準差之間,而在十維空間上只有2%。
- 過多的變量,對查找規律造成冗餘麻煩。
- 僅在變量層面上分析可能會忽略變量之間的潛在聯繫。例如幾個預測變量可能落入僅反映數據某一方面特徵的一個組內。
降維的目的:
- 減少預測變量的個數。
- 確保這些變量是相互獨立的。
- 提供一個框架來解釋結果。相關特徵,特別是重要特徵更能在數據中明確的顯示出來;如果只有兩維或者三維的話,更便於可視化展示。
- 數據在低維下更容易處理、更容易使用。
- 去除數據噪聲。
- 降低算法運算開銷。
KPCA與PCA的區別
應用PCA算法前提是假設存在一個線性超平面,進而投影。那如果數據不是線性的呢?該怎麼辦?這時候就需要KPCA,數據集從 維映射到線性可分的高維 ,然後再從 維降維到一個低維度 。
KPCA用到了核函數思想,使用了核函數的主成分分析一般稱爲核主成分分析(Kernelized PCA, 簡稱KPCA)。
假設高維空間數據由 維空間的數據通過映射 產生。
維空間的特徵分解爲:
其映射爲
通過在高維空間進行協方差矩陣的特徵值分解,然後用和PCA一樣的方法進行降維。由於KPCA需要核函數的運算,因此它的計算量要比PCA大很多。