matlab中利用princomp实现PCA降维
生活随笔
收集整理的這篇文章主要介紹了
matlab中利用princomp实现PCA降维
小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.
matlab中利用princomp實現(xiàn)PCA降維
在matlab中有函數(shù)princomp可以實現(xiàn)數(shù)據(jù)的降維,本文主要說明該函數(shù)的用法。
PCA的作用:
PCA(主成分分析法),主要用來對數(shù)據(jù)進行降維,比如在機器學(xué)習(xí)中,我們提取了大量的特征,并針對這些特征進行分類,這些特征的維度很高,在利用SVM進行分類的時候會消耗大量的時間,PCA降維是將這些特征映射到另一個空間里面,并且去除數(shù)據(jù)冗余。
假設(shè)有樣本m個。每個樣本提取n維特征,構(gòu)成一個m*n維的矩陣X,降維之后的矩陣為Y, 在降維的過程中需要滿足以下兩個條件:
(a) Y的維度小于X的維度;
(b) Y的各個維度之間的差異越大越好(差異越大,表示數(shù)據(jù)的冗余越小,這也是可以降維的基本條件);
PCA原理
- 首先衡量X(m*n)中各維特征之間的相關(guān)性,通過計算X中各列之間的協(xié)方差構(gòu)成協(xié)方差矩陣D(n*n)=X'X,其中X'是X的轉(zhuǎn)置,注意這里的X是零均值化之后的X,為了實現(xiàn)數(shù)據(jù)的降維,我們希望數(shù)據(jù)之間的相關(guān)性越小越好,也就是去掉那些相關(guān)性較高的冗余數(shù)據(jù),換個角度也就是說希望協(xié)方差矩陣D是一個對角陣;
- 現(xiàn)在假設(shè)有一個轉(zhuǎn)換矩陣P,將X映射到另一個空間得到Y(jié),即Y=XP,使得轉(zhuǎn)換之后的Y的協(xié)方差矩陣D1是一個對角陣,即&#
總結(jié)
以上是生活随笔為你收集整理的matlab中利用princomp实现PCA降维的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 【深度学习】empty() receiv
- 下一篇: win10下gnuplot的安装