降維與度量學(xué)習(xí)
1 k近鄰學(xué)習(xí)
k近鄰學(xué)習(xí)是一種常用的監(jiān)督學(xué)習(xí)算法,工作機(jī)制為:給定訓(xùn)練樣本,基于某種距離度量找出訓(xùn)練集中與其最近的k個(gè)訓(xùn)練樣本,然后基于這些鄰居的信息進(jìn)行預(yù)測。
在分類任務(wù)中可以使用投票法。
在回歸任務(wù)中可以使用平均值法。
還可以根據(jù)距離的遠(yuǎn)近進(jìn)行加權(quán)。
k近鄰學(xué)習(xí)沒有顯式的訓(xùn)練過程,是惰性學(xué)習(xí)的代表算法之一。
這類算法在訓(xùn)練階段只是將樣本保存起來,訓(xùn)練開銷為0,收到測試樣本時(shí)才進(jìn)行處理。
假設(shè)樣本獨(dú)立分布,且任意x與任意小整數(shù)δ,在x附近δ距離內(nèi)總能找到一個(gè)訓(xùn)練樣本。c*表示貝葉斯最優(yōu)分類器結(jié)果,則k近鄰錯(cuò)誤率表示為:
可見最近鄰分類器雖然簡單,但是泛化誤差率不超過貝葉斯最優(yōu)分類器錯(cuò)誤率的兩倍。
2 低維嵌入
之前有一個(gè)重要的假設(shè):任意x與任意小整數(shù)δ,在x附近δ距離內(nèi)總能找到一個(gè)訓(xùn)練樣本,即訓(xùn)練樣本采樣密度夠大。然而在顯示任務(wù)中,這一點(diǎn)很難滿足。
若δ = 0.001,僅考慮單個(gè)屬性,則需要1000個(gè)樣本點(diǎn)平均分配到取值空間。若屬性為20維,則需要(103)20個(gè)樣本,顯然很難達(dá)成。
高維情況下出現(xiàn)的樣本稀疏,距離計(jì)算困難等問題是所有機(jī)器學(xué)習(xí)方法共同面臨的障礙,稱為維數(shù)災(zāi)難。其主要解決手段就是降維。
降維也稱為維數(shù)約簡,是通過某種數(shù)學(xué)變化將高維屬性空間變?yōu)榈途S“子空間”,在子空間中,樣本密度大幅度提高,計(jì)算也變得容易。
之所以可以進(jìn)行降維是因?yàn)椋芏鄷r(shí)候,人們觀測到的數(shù)據(jù)雖然是高維的,但是學(xué)習(xí)任務(wù)密切相關(guān)的也許僅是一個(gè)低維分布。
若要保持原樣本空間中樣本之間的距離得到保持,即得到多維縮放MDS,這是一種經(jīng)典的降維方法。
一般而言,為了獲得低維子空間,最簡單的是對原高維空間進(jìn)行線性變化。對于給定的d維空間樣本X:
變換矩陣W可以看作d‘個(gè)d維基向量,zi = WTxi是第i個(gè)樣本與這d’個(gè)基向量分別做內(nèi)積得到的d‘維屬性向量。換言之,zi是原屬性向量xi在新坐標(biāo)系{w1,w2,...,wd'}中的坐標(biāo)系。
顯然,新空間中的屬性是原空間的屬性的線性組合。
基于線性變換來進(jìn)行降維的方法稱為線性降維方法,他們都符合10.13的基本形式,不同之處是對低維空間的性質(zhì)有不同的要求,相當(dāng)于對W施加了不同的約束。
對降維效果的評估,通常是比較學(xué)習(xí)器降維前后的性能,過性能有提高則認(rèn)為降維起到了作用。
若要求低維子空間對樣本具有最大可分性,則可以得到一種常用的線性降維方法PCA。
3 主成分分析
PCA是最常用的一種降維方法。
先考慮這樣的一個(gè)問題:對于正交屬性空間中的樣本點(diǎn),如何使用一個(gè)超平面對所有的樣本進(jìn)行表示。
顯然,這樣的超平面應(yīng)該具有以下性質(zhì):
最近重構(gòu)性:樣本點(diǎn)到這個(gè)超平面的距離足夠近。
最大可分性:樣本點(diǎn)在這樣的超平面上盡可能的分開。
根據(jù)最近重構(gòu)性,PCA優(yōu)化目標(biāo)為:
根據(jù)最大可分性,PCA優(yōu)化目標(biāo)為:
因此,對協(xié)方差矩陣XXT進(jìn)行特征值分解,將求得的特征值排序:
λ1 ≥ λ2 ≥ λ3 ≥...,選擇前d’個(gè)特征值對應(yīng)的特征向量構(gòu)成W。這就是PCA的解。
PCA舍棄了d - d‘個(gè)特征值,使得樣本的采樣密度增大;同時(shí),當(dāng)數(shù)據(jù)受到噪聲影響時(shí),最小的特征值對應(yīng)的特征向量往往與噪聲有關(guān),將他們舍棄可以在一定程度上起到去噪的效果。
4 核化線性降維
線性降維假設(shè)從高維空間到低維空間的映射是線性的,然而很多現(xiàn)實(shí)例子需要非線性映射才能找到恰當(dāng)?shù)牡途S度嵌入。
非線性降維的一種方法是基于核方法,對線性降維方法進(jìn)行核化。
以核化主成分分析KPCA做為演示。
核函數(shù):兩個(gè)x在映射空間的內(nèi)積等于其原始空間中通過k函數(shù)計(jì)算的結(jié)果。這個(gè)k函數(shù)就是核函數(shù)。
通過映射Ф將原始屬性空間的樣本x映射到高維空間,再在高維空間進(jìn)行PCA。一般情況下我們不清楚Ф的形式,所以引入核函數(shù):
通過核函數(shù)完成高維映射,然后進(jìn)行PCA,這就是核化主成分分析。
KPCA需要對所有樣本求和,因此其計(jì)算需求較大。
5 流形學(xué)習(xí)
流形學(xué)習(xí)是一種借鑒了拓?fù)淞餍胃拍畹慕稻S方法。“流形”是局部與歐氏空間同胚的空間,在局部具有歐氏空間的特性。
若低維流形嵌入到高維空間,則數(shù)據(jù)樣本在高維空間上雖然看起來復(fù)雜,但是在局部仍然具有歐式空間的性質(zhì),因此可以容易的在局部建立降維映射關(guān)系。隨后再將局部推廣到全局。
- 等度量映射Isomap
觀點(diǎn):低維空間嵌入到高維空間后,直接在高維空間計(jì)算直線距離是具有誤導(dǎo)性的,因?yàn)楦呔S空間的直線距離在低維嵌入流形上是不可達(dá)的。
低維嵌入流形上的兩點(diǎn)距離是測地線距離。
所以,我們借助流形在局部上與歐式空間同胚的性質(zhì),對每個(gè)點(diǎn)基于歐式距離找到其近鄰點(diǎn),然后建立近鄰連接圖,從而獲得測地線距離的近似。
在得到任意兩個(gè)點(diǎn)的距離后,可以通過多維縮放MDS算法獲得樣本點(diǎn)在低維空間的坐標(biāo)。
Isomap僅得到了訓(xùn)練樣本在低維空間的坐標(biāo),對于新樣本,需要訓(xùn)練一個(gè)學(xué)習(xí)器進(jìn)行映射:
將訓(xùn)練樣本的高維空間坐標(biāo)作為輸入,低維空間坐標(biāo)作為輸出,訓(xùn)練一個(gè)回歸學(xué)習(xí)器來對新樣本的低維空間坐標(biāo)進(jìn)行預(yù)測。
近鄰圖的構(gòu)建有兩種方法,指定k數(shù)和指定閾值ε。
- 局部線性嵌入
與Isomap試圖保存近鄰樣本間的距離不同,局部線性嵌入LIE試圖保持鄰近樣本之間的線性關(guān)系。
6 度量學(xué)習(xí)
降維的目的是找到一個(gè)低維空間,使得在此空間上的學(xué)習(xí)效果能比原空間更好。
本質(zhì)上每個(gè)空間對應(yīng)了在樣本屬性上定義的一個(gè)距離度量,而尋找合適的空間實(shí)質(zhì)上是尋找一個(gè)合適的距離度量。
度量學(xué)習(xí)的動(dòng)機(jī)就是直接學(xué)習(xí)出一個(gè)合適的距離度量。
上式的W可以通過學(xué)習(xí)獲得,然而W的非對角元素為0,意味著屬性之間無關(guān),這一點(diǎn)與現(xiàn)實(shí)相悖。因此,我們應(yīng)該使得對應(yīng)的坐標(biāo)軸不再正交,將W替換為普通的半正定對此矩陣M,得到了馬氏距離。
其中M為度量矩陣。
對M的學(xué)習(xí)需要設(shè)置一個(gè)目標(biāo),假定我們希望提高KNN模型的性能,則可將M嵌入到近鄰分類器的評價(jià)指標(biāo)中去,通過優(yōu)化指標(biāo)求的M。