本文機構
pca是機器學習中對資料進行降維的一種方法。
例如,我們有這樣的交易資料,他有這幾個特徵:(日期,瀏覽量,訪客數,下單數,成交數,成交金額),從經驗可知,「瀏覽量」和訪客數,下單數和成交數 之間會具有較強的相關關係,這種情況下,我們保留其中的兩個維度就可以保證原有的資訊完整。
但是當我們在做降維的時候,會丟失掉一部分資訊。
例如,下面是5個資料,如果向x 軸投影,那麼左邊的兩點會重疊在一起,中間的兩個電也會重疊在一起,5個點結果投影到x軸後就剩下3個點了,這是一種嚴重的資訊丟失。
所以我們希望找到低維空間的方向上,原始資料對映後的方差盡可能的大,也就是意味著資料點會盡量分散開來,這樣可以保留更過的資訊。
pca追求的是在降維之後能夠最大化保持資料的內在資訊,並通過衡量在投影方向上的資料方差的大小來衡量在投影方向上的資料方差的大小來衡量該方向的重要性,它是丟失原始資料資訊最少的一種線性降維方法。
pca的演算法步驟
設有m條n維資料。
將原始資料按列組成n行m列矩陣x
將x的每一行(代表乙個屬性字段)進行零均值,即減去這一行的均值
求出協方差矩陣c = 1/mxxt
求出協方差的特徵值和特徵向量
將特徵向量按對應特徵值的大小從上到下按行排列成矩陣,取前k行組成矩陣p
y= px 即為降維到k維後的資料
要找到這個低維空間,意味著要確定一組基
如下圖,藍色正交箭頭就是新的座標系的基向量:
我們希望原資料在新座標系上的投影盡可能分散
同乙個點,在新座標系下的投影,就是它和兩個基的內積
於是優化目前等價於將原始資料變換到這組基上後,要使新資料表示的協方差矩陣對角化,並且在對角線上將元素按大小從上到下排列。
即令 p 是這組基按行組成的矩陣,則 y=px 就是 x 對 p 做基變換後的資料。(6)
記 y 的協方差矩陣為 d,
那麼 d 與 c 有如下關係:
這樣,優化目標變成了尋找乙個矩陣 p,滿足 pcp? 是乙個對角矩陣,即對 c 進行對角化(3)
如何求 p:
乙個 n 行 n 列的實對稱矩陣一定可以找到 n 個單位正交特徵向量 e1,e2,⋯,en,
由它們按列組成的矩陣 e=(e1,e2,⋯,en) 可以將 c 對角化:(4)
對角元素為各特徵向量對應的特徵值。
於是 p=e?,即 p 的每一行都是 c 的乙個特徵向量。(5)
這樣,就得到了 pca 步驟中的第 3~6 步。
例如下圖,我們要將 2 維變成 1 維,
空心圓為資料,得到紅箭頭為第一主成分方向,藍箭頭為第二主成分方向:
將兩個主成分分別作為新的座標系時,可以看到下圖中十字資料的狀態:
當我們只看第一主成分時,如下面所示,藍色點是降維後的資料:
可以看出在 pc1 上的方差很大,而 pc2 上的方差比較小,相對而言,pc2 就可以被忽略,進而實現了降維
我們可以將降維後的資料與原資料進行對比,發現原資料在 pc2 上的資訊已經被丟棄
PCA的數學原理
pca的數學原理 pca principal component analysis 是一種常用的資料分析方法。pca通過線性變換將原始資料變換為一組各維度線性無關的表示,可用於提取資料的主要特徵分量,常用於高維資料的降維。網上關於pca的文章有很多,但是大多數只描述了pca的分析過程,而沒有講述其中...
PCA的數學原理 詳細
pca principal component analysis 是一種常用的資料分析方法。pca通過線性變換將原始資料變換為一組各維度線性無關的表示,可用於提取資料的主要特徵分量,常用於高維資料的降維。網上關於pca的文章有很多,但是大多數只描述了pca的分析過程,而沒有講述其中的原理。這篇文章的...
PCA的數學原理Matlab演示
pca principal component analysis 主成分分析,是svd singular value decomposition 奇異值分析的一種特殊情況。主要用於資料降維,特徵提取。這裡生成乙個3 3 的小矩陣便於說明。a rand 3,3 a 2.7694 1.3499 3.03...