基於Spark的機器學習實踐 (十) - 降維

通過講解PCA算法的原理,使大家明白降維算法的大致原理,以及能夠實現怎麼樣的功能。結合應用降維算法在分類算法使用之前進行預處理的實踐,幫助大家體會算法的作用。

0 相關源碼

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算法實現降維

  • 代碼
    基於Spark的機器學習實踐 (十) - 降維
  • 特徵列降維成3個
    基於Spark的機器學習實踐 (十) - 降維

Spark機器學習實踐系列

X 聯繫我

基於Spark的機器學習實踐 (十) - 降維

Java交流羣

博客

知乎

Github

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章