一個模式識别系統設計的好壞,首要取決于所選用的特征是否較好的反映了正在研究的問題。模式識别問題的第一步是擷取特征,擷取來的特征被稱作原始特征,其中可能有很多特征與我們研究的問題沒多大關系,它們在後續的分類中甚至還有可能影響分類性能;另外,就算這些特征都是與研究問題有聯系的,但是太多的特征會導緻計算量大、推廣能力差,是以原始特征必須要進一步清洗得到二次特征,即在保證分類器效果的前提下應該使特征數盡可能的少,主要有兩種辦法,一種是特征選擇,從D個特征中選出d(d小于D)個特征;另一種是特征提取或特征變換,通過把特征空間降維變換得到d個特征。
關于特征選擇,需要回答兩方面的問題:1)特征的評價準則:如何衡量一組特征對分類的有效性;2)特征的尋優算法:怎樣更快地找到性能最優或較好的特征組合。
關于特征提取,通常采用線性變換:
;W是Dxd維變換矩陣;一般情況下的特征變換就是降維變換,即高維空間到低維空間的映射;本篇部落客要來圍繞降維來展開介紹,首先當從大家一提到降維就會立馬想到的PCA說起。
主成分分析(Principle Component Analysis)最早被提出是用于資料分析上的一種方法,其主要思想就是從一組特征中計算出一組按貢獻程度從大到小排列的新特征,這組新特征是原始特征的線性組合,且互相之間不相關。
PCA
設有原始特征p個:
;
設變換後的新特征
是原始特征的線性組合:
(1)
特征标準化,歸一化尺度:
(2)
式(1)可寫為向量矩陣形式:
(3)
其中,A是變換矩陣;我們的目的就是要求取最優的正交變換矩陣A,使得新特征的方差達到最大。
另外為啥是正交變換,因為正交變換保證了新特征之間的不相關性,并且變換前後特征尺度保持不變;另外新特征的方差越大,樣本在該維特征上的差異就越大,表明這一特征就越重要。
對第一個新特征(主成分):
其方差為:
(4)
其中∑是x的協方差矩陣
,可用樣本來估計;現在要在公式(2)的限制下求上式方差的最大值,于是利用拉格朗日來求解,就是求下面拉格朗日函數的極值:
(5)
對上式求導并令其等于0,得到最優解
,滿足:
(6)
明顯的,解
是協方差矩陣∑的特征向量,
是對應的特征值;
将公式(6)代入公式(4):
(7)
由公式(6)和(7)得知,最優解
就是∑的最大的特征值對應的特征向量,而
就是第一主成分或第一主分量,它在原始特征的所有線性組合裡是方差最大的。
繼續求解第二個主分量,對于第二個主分量,它不僅要方差最大,模為1,而且不能跟第一個主成分相關,即:
(8)
把式(1)和(4)代入到上式有:
(9)
又因為公式(6),是以
與
不相關可以等價為兩者正交,即:
(10)
同上,以公式(10)和(2)作為限制條件,最大化
的方差,可以得出∑的第二大特征值對應的特征向量就是
,被稱作第二主成分。
x的協方差矩陣∑共有p個特征值
,其中包括相等的以及等于0的,将這些特征值從大到小排列,然後同上,就可以依次得出由相應特征值對應的特征向量構成的主成分
,這些主成分的方差和為:
(11)
等于原始特征的方差和;
對于變換矩陣A,它的每一列都是由∑的特征值對應的特征向量組成,是以A是正交矩陣。
是以,PCA是一種正交變換,它的逆變換是:
有一種更加妥當的方式,需要把主成分進行零均值化或中心化,于是特征變換與其逆變換也可寫成如下形式:
其中u是x的均值向量,這樣操作以後新特征(主成分)的均值為零,可以計算下主成分的協方差矩陣為:
下圖是一個PCA的例子:
往往我們希望使用更少的主分量來描述資料對象,是以假設提取前k個主成分,那麼這k個主成分所代表的資料方差和所占的比例為:
很多實際問題中,資料中的大部分資訊都集中在較少的幾個主成分上,如圖所示,可以看出基本上集中在前三個主成分上,是以有時候我們可以根據這個特征值譜圖來選擇需要使用多少個主成分,即确定k的值,比如上述所占比例達到0.8以上,就可以以此計算出k的值。
PCA這種變換是一種非監督的,想要在模式識别中應用PCA,首先要利用樣本估計協方差矩陣,然後求解特征方程,得到各個主分量方向,最後根據特征值譜圖确定合适數量的主成分作為新特征,最後将樣本投影到這些主成分方向上進行分類或是聚類。
種種迹象表明,選擇較少的主成分,不但可以實作降維,而且可以降噪,因為那些排列比較靠後的主成分通常反映了資料中的随機噪聲,是以如果想要實作資料的降噪往往可以這麼做:把主成分中較小特征值對應的分量置為0,再逆變換回去,就實作了對原始資料的降噪。