通過講解PCA算法的原理,使大家明白降維算法的大緻原理,以及能夠實作怎麼樣的功能。結合應用降維算法在分類算法使用之前進行預處理的實踐,幫助大家體會算法的作用。
相關源碼
1 PCA算法及原理概述
1.1 何為降維?
◆ 從高次元變為低次元的過程就是降維
◆ 例如拍照就是把處在三維空間中的人或物從轉換到作為二 維平面的
照片中
◆ 降維有線性的、也有非線性的方法。在機器學習中可以簡化運算,減少特征量
1.2 PCA算法介紹
◆ PCA算法是一種常用的線性降維算法,算法類似于"投影”
◆ 降維簡化了資料集,故可以視為一個壓縮過程,在壓縮過程中可能;會有資訊丢失
◆ PCA除可以用來精簡特征,還可以應用在圖像進行中
例如基于PCA算法的特征臉法,它可以用來人臉識别
1.3 PCA算法原理簡介
◆ PCA是基于K-L變換實作的一種算法
◆ PCA算法在實作上用到了協方差矩陣,以及矩陣的特征分解
◆ 基本主要内容在于求出協方差矩陣,然後求協方差矩陣的特征值與特征向量
1.4 PCA算法步驟
◆ 輸入n行m列的矩陣X ,代表m條n維資料
◆ 将矩陣X的每一行進行零均值化處理
◆ 求出X的協方差矩陣C
◆ 求出協方差矩陣C的特征值 與特征向量
◆ 将特征向量按照特征值的大小從上至下依次排列,取前k行,作為矩陣P
◆ 求出P與X矩陣叉乘的結果,即為降維值k維的m條資料
2 實戰PCA算法實作降維
- 代碼
- 特征列降維成3個