降維PCA

如有一組數組數據m個n維列向量Anxm

想要降維,隨意丟棄數據顯然不可取,降維可以降低程序計算復雜度,代價是丟棄了原始數據一些信息,那么降維的同時,又保留數據最多信息呢。

我們希望投影后投影值盡可能分散(不然數據都堆積到一起了),而這種分散程度,可以用數學上的方差來表述。此處,一個字段的方差可以看做是每個元素與字段均值的差的平方和的均值,即:


假設Anxm已經是每行元素減去均值,那么每行均值為0(這么操作可以帶來很大的方便,等于對數據做了平移操作),每行方差為

協方差


上圖,在n維空間中u是Anxm一個列向量,投影到低維空間中,e是低維空間一個基向量,||e||=1,需要確定e的方向,使得A的列向量投影到e的點方差最大,也就是很分散,向量u投影到e的坐標是它們的內積<e,u>,先算平均值

方差就簡單多了

這是個二次型,求最大方差轉化為求該二次型最大值
對稱矩陣性質,對稱矩陣AA^T的特征向量構成n維空間一組標準正交基,用矩陣p表示,則向量e可以被p線性表示

方差

注意此處

最大時



取的是AA^T最大特征值特征向量方向

只要取P的前r個特征值的特征向量,就可以把Anxm降到Arxm.

舉個例子矩陣A



五個二維點降到一維,不論投影到x軸還是y軸,都有點重合。

使用上面方法操作一遍

求特征值

解得

得到特征向量

標準化特征向量

矩陣P

驗證

對矩陣A做變換到一維

PCA方法的缺點

PCA作為經典方法在模式識別領域已經有了廣泛的應用,但是也存在不可避免的缺點,總結如下:
(1) PCA是一個線性降維方法,對于非線性問題,PCA則無法發揮其作用;
(2) PCA需要選擇主元個數,但是沒有一個很好的界定準則來確定最佳主元個數;
(3) 多數情況下,難以解釋PCA所保持的主元分量的意義;
(4) PCA將所有的樣本作為一個整體對待,去尋找一個均方誤差最小意義下的最優線性映射,而忽略了類別屬性,而它所忽略的投影方向有可能剛好包含了重要的可分類信息,如下圖所示,紅色和藍色的點為原數據,中間綠色的點為重構后的數據,由此可看出,這種情形下,主元方向不能保持數據的聚類信息(使用LDA)。

最后編輯于
?著作權歸作者所有,轉載或內容合作請聯系作者
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發布,文章內容僅代表作者本人觀點,簡書系信息發布平臺,僅提供信息存儲服務。

推薦閱讀更多精彩內容