特徵轉換方法比較(PCA、ICA、LDA)

        隨着機器學習和數據科學的發展,大數據的分析與處理在許多領域得到了應用。這通常需要收集很大的數據,並對多維數據進行觀測,然而特徵越多不僅僅會增加研究者的分析工作量和難度,同時隨着特徵的增加,爲了不引發維度災難,對數據的需求也會以指數速度增長。爲此很多的學者對此進行研究發現特徵之間存在相關性,做了很多降維的工作,並提出了許多優秀的特徵轉換方法,如主成分分析(PCA),獨立成分分析(ICA),線性判別分析(LDA)等,本文主要對目前應用的較多的PCA、ICA、LDA的方法原理進行總結,並比較其方法的異同點。

一、主成分分析(PCA)

1、概念

        PCA(Principal Component Analysis),即主成分分析方法,是一種使用最廣泛的數據降維算法。PCA的主要思想是將n維特徵映射到k維上,這k維是全新的正交特徵也被稱爲主成分,是在原有n維特徵的基礎上重新構造出來的k維特徵。PCA的工作就是從原始的空間中順序地找一組相互正交的座標軸,新的座標軸的選擇與數據本身是密切相關的。其中,第一個新座標軸選擇是原始數據中方差最大的方向,第二個新座標軸選取是與第一個座標軸正交的平面中使得方差最大的,第三個軸是與第1,2個軸正交的平面中方差最大的,依次類推,可以得到n個這樣的座標軸。通過這種方式獲得的新的座標軸,我們發現,大部分方差都包含在前面k個座標軸中,後面的座標軸所含的方差幾乎爲0。於是,我們可以忽略餘下的座標軸,只保留前面k個含有絕大部分方差的座標軸。事實上,這相當於只保留包含絕大部分方差的維度特徵,而忽略包含方差幾乎爲0的特徵維度,實現對數據特徵的降維處理。


圖一 PCA座標軸轉換示例(二維)

2、計算步驟
PCA的主要計算步驟分爲以下5步(假設有m條n維特徵的數據):
(1)、去平均值,即每一位特徵減去各自的平均值;

(2)、計算協方差矩陣;
在這裏插入圖片描述
(3)、計算協方差矩陣的特徵值與特徵向量;
(4)、對特徵值從大到小排序,並保留最大的個特徵向量;
(5)、將數據轉換到個特徵向量構建的新空間中;

       而爲何PCA可以找到k維理想特徵呢?其來自於兩種解釋:最大方差理論及最小化降維造成的損失,由於非本文介紹重點,詳細可見參考文獻[1]。

二、獨立成分分析(ICA)

1、概念
       獨立成分分析在很多的領域都得到了應用,其本質在於認爲採集到的信號是由多個原獨立的成分根據不同的權重加權求和得到的結果,如:
在這裏插入圖片描述
可以變換得到:
在這裏插入圖片描述
       由上式可得,ICA需要通過X去計算S和W兩個未知量,用求解未知量的方法無法獲得兩個解,爲此作者做了個約束,通過對W迭代求解的方法,獲得一組S和W,使其生成的X在這組樣本中出現的概率最大,則是最優的迭代效果,這樣的方法有很多,而且不同求取最優化的方法和不同的初始化可能會收斂得到不同解,原文中作者用了極大似然估計法,所以下文主要介紹的是這個方法。
設記錄隨機變量X的值m次,則形成的數據集:
在這裏插入圖片描述
極大似然估計去估計的是一個概率,爲此我們需要將x的概率轉換爲對s的概率問題,即:
在這裏插入圖片描述
要對整個數據集進行預測,則數據集出現概率式爲:
在這裏插入圖片描述
由於要進行迭代,直接對L計算偏導比較複雜,對兩端取自然對數:
在這裏插入圖片描述
對lnL求偏導的過程比較複雜,詳細可見原文推導,之後獲得偏導數的簡化式爲:
在這裏插入圖片描述
其中Z與選取的ps(wx)方法有關。
W的更新公式爲:
在這裏插入圖片描述
2、計算步驟
       在實際使用的過程中,ICA雖然簡潔但是很難收斂到一個合理的結果,爲此在實際應用中應用的比較多的是FastICA,其計算步驟與如下:
(1)、對採集樣本去均值和白化處理;
(2)、設置迭代次數,初始化權重W;
(3)、正交化,這是避免提取出重複的源信號s;
(4)、迭代權重,對迭代權重歸一化;
(5)、判斷是否收斂,沒有的話返回(3)繼續,直到收斂爲止;

圖二 FastICA計算流程圖

三、線性判別分析(LDA)

1、概念
       線性判別式分析(Linear Discriminant Analysis, LDA),也叫做Fisher線性判別(Fisher Linear Discriminant ,FLD),是模式識別的經典算法,它是在1996年由Belhumeur引入模式識別和人工智能領域的。線性鑑別分析的基本思想是將高維的模式樣本投影到最佳鑑別矢量空間,以達到抽取分類信息和壓縮特徵空間維數的效果,投影后保證模式樣本在新的子空間有最大的類間距離和最小的類內距離,即模式在該空間中有最佳的可分離性。因此,它是一種有效的特徵抽取方法。使用這種方法能夠使投影后模式樣本的類間散佈矩陣最大,並且同時類內散佈矩陣最小。就是說,它能夠保證投影后模式樣本在新的空間中有最小的類內距離和最大的類間距離,即模式在該空間中有最佳的可分離性。

圖三 LDA映射示意圖

其通過Fisher鑑別準則表達式來判別最佳分離性,其式子爲:
在這裏插入圖片描述
在這裏插入圖片描述
2、計算步驟
LDA和PCA的計算步驟存在了相似性,與其不同的是LDA是有監督過程,其計算步驟如下(假設有m條n維特徵的數據):
(1)、對數據進行標準化處理;
(2)、對每一個類別計算n維均值向量及總體樣本的均值向量;
在這裏插入圖片描述
(3)、計算類間離散度矩陣Sb和類內離散度矩陣Sw,即:
在這裏插入圖片描述
以上只是一種類間離散度矩陣Sb和類內離散度矩陣Sw的計算方法,也可以通過加入先驗概率來構建矩陣。
(4)、計算矩陣Sw^(-1)Sb的特徵值以及對應的特徵向量;
(5)、對特徵值從大到小排序,並保留k最大的個特徵向量;
(6)、將數據轉換到k個特徵向量構建的新空間中;

四、異同點比較

在實際應用中,通常很難用一個實驗去比較三種方法的優越性,而且PCA做爲一種穩定的無監督方法,在使用中也經常會和其他兩種方法放在一起應用。如何在不同的數據中有效的應用這些方法,也一直是研究者在總結研究的工作。

1、通用性比較:
       相比於其他的兩種方法,PCA具有較強的通用性。與ICA相比,PCA沒有權重初始化和優化方法不同易收斂到不同的值的獨立成分的問題,容易獲得穩定的主成分。同時與LDA相比,PCA不需要去太過在意數據本身的類別信息,在預測問題中,可以加入測試數據一起進行降維,減少訓練和測試數據間的分佈差異。同時對於小樣本的數據預測上,PCA比LDA具有更強的魯棒性,不會過擬合訓練數據。
       PCA、LDA的假設上都假設了數據的分佈爲高斯分佈,爲此在一些非高斯數據上,這兩種方法的降維效果不一定好,而ICA假設的是非高斯分佈,反而在高斯分佈的數據上取得較差的效果。

2、降維後數據比較:
        PCA與LDA在後面的幾個步驟基本上是相同的,可以獲得1~n維有排序關係的特徵,一般情況下,排序越前的特徵所包含的信息量越高。PCA旨在於去除原始數據中的冗餘特徵,是的投影在各個維度的方差儘可能大,而且是相互正交的。而LDA使得數據的類內距離小,類間距離大,較爲關注的是樣本的分類問題,其不保證投影到的新座標系是正交的,也就是不同的數據之間可能還存在一定的相關性。與前者不同的是,ICA並不認爲隨機信號最有用的信息體現在類間或是最大方差裏,而是構成樣本集的獨立成分,實際應用中ICA並不能起到降維的效果,也不單獨使用,通常會和PCA或者白化處理結合使用。ICA的輸出維數和輸入相同,相互獨立,沒有排序關係,在某種意義上更具有區分度。其是一種數據預處理方式,在因果關係分析問題中應用廣泛。

       綜上,如何在不同的應用場景去應用上述方法,是一個經驗性的問題,通常情況下,除了以工程的需求,工程中所提供的數據爲出發點進行分析選擇外,根據原理去做嘗試,並多種方法結合使用也可以獲得較好的數據預處理方法。

參考文獻:
[1] Microstrong. 主成分分析(PCA)原理詳解[N]. 知乎, 2018-06-08.
[2] JerryLead.主成分分析(Principal components analysis)-最大方差解釋[N]. 博客園, 2011-04-18.
[3] 未濟2019.史上最直白的ICA教程之一[N]. CSDN, 2015-12-11.
[4] warmyellow.線性判別分析(Linear Discriminant Analysis, LDA)算法分析[N]. CSDN, 2010-04-06.

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章