1. scikit-learn流形學(xué)習(xí)庫(kù)概述
在scikit-learn中,流形學(xué)習(xí)庫(kù)在sklearn.manifold包中。里面實(shí)現(xiàn)的流形學(xué)習(xí)算法有:
1)多維尺度變換MDS算法:這個(gè)對(duì)應(yīng)的類是MDS。MDS算法希望在降維時(shí)在高維里樣本之間的歐式距離關(guān)系在低維可以得到保留。由于降維時(shí)它需要考慮了樣本的全局歐式距離關(guān)系,因此降維計(jì)算量很大,現(xiàn)在一般較少使用了。
2)等距映射ISOMAP算法:這個(gè)對(duì)應(yīng)的類是Isomap。 ISOMAP算法使用了樣本間的測(cè)地距離來代替歐式距離,此外基本和MDS算法相同。由于降維時(shí)它仍然需要考慮了樣本的全局測(cè)地距離關(guān)系,因此降維計(jì)算量很大。
3)局部線性嵌入LLE算法:這個(gè)對(duì)應(yīng)的類是LocallyLinearEmbedding。這個(gè)就是我們LLE原理篇里面的算法、除了包含我們?cè)砥镏v到的標(biāo)準(zhǔn)的LLE實(shí)現(xiàn)以外,它還支持改進(jìn)版的LLE算法,包括MLLE,HLLE和LTSA。這三個(gè)算法我們?cè)谠砥牡谖骞?jié)有介紹。后面我們會(huì)詳細(xì)講這個(gè)類的參數(shù)使用。
4)拉普拉斯特征映射LE算法:這個(gè)對(duì)應(yīng)的類是SpectralEmbedding。這個(gè)算法使用了圖論的方法,用樣本構(gòu)成的無向圖對(duì)應(yīng)的拉普拉斯矩陣作特征分解來降維。具體方法和我們?cè)?a class="postTitle2" style="margin: 0px; padding: 0px; color: rgb(0, 0, 0);">譜聚類(spectral clustering)原理總結(jié)里面講到的基本相同。
5)t-distributed Stochastic Neighbor Embedding(t-SNE)算法:這個(gè)對(duì)應(yīng)的類是TSNE。這個(gè)是一個(gè)比較新的降維方法。t-SNE希望樣本間的在高維對(duì)應(yīng)的高斯核函數(shù)相似度在低維可以得到保留,即低維和高維有盡量一樣的相似度矩陣。
這些算法基本原理很類似,都基于流形降維后保持樣本之間的某一個(gè)特定的關(guān)系而產(chǎn)生。下面我們重點(diǎn)講述LLE算法的使用,即LocallyLinearEmbedding的使用。