《機(jī)器學(xué)習(xí)實(shí)戰(zhàn)》筆記(十三):Ch13 - 利用PCA來簡化數(shù)據(jù)

第13章 利用PCA來簡化數(shù)據(jù)(代碼)

  • 降維技術(shù)

    降維的意思是能夠用一組個(gè)數(shù)為d的向量zi來代表個(gè)數(shù)為D的向量xi所包含的有用信息,其中d<D。假設(shè)對一張512512大小的圖片,用svm來做分類,最直接的做法是將圖按照行或者列展開變成長度為512512的輸入向量xi,跟svm的參數(shù)相乘。假如能夠?qū)?12512的向量在保留有用信息的情況下降維到100,那么存儲(chǔ)輸入和參數(shù)的空間會(huì)減少很多,計(jì)算向量乘法的時(shí)間也會(huì)減少很多。所以降維能夠有效的減少計(jì)算時(shí)間。而高維空間的數(shù)據(jù)很有可能出現(xiàn)分布稀疏的情況,即100個(gè)樣本在100維空間分布肯定是非常稀疏的,每增加一維所需的樣本個(gè)數(shù)呈指數(shù)級增長,這種在高維空間中樣本稀疏的問題被稱為維數(shù)災(zāi)難。降維可以緩解這種問題。而為什么可以降維,這是因?yàn)閿?shù)據(jù)有冗余,要么是一些沒有用的信息,要么是一些重復(fù)表達(dá)的信息,例如一張512512的圖只有中心100100的區(qū)域內(nèi)有非0值,剩下的區(qū)域就是沒有用的信息,又或者一張圖是成中心對稱的,那么對稱的部分信息就重復(fù)了。正確降維后的數(shù)據(jù)一般保留了原始數(shù)據(jù)的大部分的重要信息,它完全可以替代輸入去做一些其他的工作,從而很大程度上可以減少計(jì)算量。例如降到二維或者三維來可視化。*

    • 原因

      • 使的數(shù)據(jù)更加簡單易用

      • 降低很多算法的開銷

      • 去除噪聲

      • 使的結(jié)果變得非常易懂

  • 從什么角度出發(fā)來降維

    一般來說可以從兩個(gè)角度來考慮做數(shù)據(jù)降維,一種是直接提取特征子集做特征抽取,例如從512512圖中只取中心部分,一種是通過線性/非線性的方式將原來高維空間變換到一個(gè)新的空間,這里主要討論后面一種。后面一種的角度一般有兩種思路來實(shí)現(xiàn),一種是基于從高維空間映射到低維空間的projection方法,其中代表算法就是PCA,而其他的LDA、Autoencoder也算是這種,主要目的就是學(xué)習(xí)或者算出一個(gè)矩陣變換W,用這個(gè)矩陣與高維數(shù)據(jù)相乘得到低維數(shù)據(jù)。另一種是基于流形學(xué)習(xí)的方法,流形學(xué)習(xí)的目的是找到高維空間樣本的低維描述,它假設(shè)在高維空間中數(shù)據(jù)會(huì)呈現(xiàn)一種有規(guī)律的低維流形排列,但是這種規(guī)律排列不能直接通過高維空間的歐式距離來衡量,如下左圖所示,某兩點(diǎn)實(shí)際上的距離應(yīng)該是下右圖展開后的距離。如果能夠有方法將高維空間中流形描述出來,那么在降維的過程中就能夠保留這種空間關(guān)系,為了解決這個(gè)問題,流形學(xué)習(xí)假設(shè)高維空間的局部區(qū)域仍然具有歐式空間的性質(zhì),即它們的距離可以通過歐式距離算出(Isomap),或者某點(diǎn)坐標(biāo)能夠由臨近的節(jié)點(diǎn)線性組合算出(LLE),從而可以獲得高維空間的一種關(guān)系,而這種關(guān)系能夠在低維空間中保留下來,從而基于這種關(guān)系表示來進(jìn)行降維,因此流形學(xué)習(xí)可以用來壓縮數(shù)據(jù)、可視化、獲取有效的距離矩陣等。*

  • 幾種降維的方法

    • PCA

      • 優(yōu)點(diǎn):降低數(shù)據(jù)的復(fù)雜性,識(shí)別最重要的多個(gè)特征

      • 缺點(diǎn):不一定需要,且有可能損失信息

      • 使用數(shù)據(jù)類型:數(shù)值型數(shù)據(jù)

      • 原理

        • 輸入:N個(gè)D維向量x1,…,xN,降維到d維

        • 輸出:投影矩陣W=(w1,…,wd),其中每一個(gè)wi都是D維列向量

        • 目標(biāo):投影降維后數(shù)據(jù)盡可能分開,maxwtr(WTXXTW)(這里的跡是因?yàn)樯厦嫣岬降腂的非對角線元素都是0,而對角線上的元素恰好都是每一維的方差)

        • 假設(shè):降維后數(shù)據(jù)每一維方差盡可能大,并且每一維都正交

          • 將輸入的每一維均值都變?yōu)?,去中心化

          • 計(jì)算輸入的協(xié)方差矩陣C=X?XT

          • 對協(xié)方差矩陣C做特征值分解

          • 取最大的前d個(gè)特征值對應(yīng)的特征向量w1,…,wd

  • 小節(jié)

    降維技術(shù)使得數(shù)據(jù)變的更易使用,并且它們往往能夠去除數(shù)據(jù)中的噪音,使得其他機(jī)器學(xué)習(xí)任務(wù)更加精確。
    降維往往作為預(yù)處理步驟,在數(shù)據(jù)應(yīng)用到其他算法之前清洗數(shù)據(jù)。

    • 比較流行的降維技術(shù)

      • 獨(dú)立成分分析

      • 因子分析

      • 主成分分析(應(yīng)用最廣泛)


代碼托管見Github

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡書系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容