ML --- Week 8-2(Unsupervised Learning Problem-Dimensionality Reduction)
Written on July 16th, 2018 by Richard Lin菜雞學ML
Dimensionality Reduction Problem
在有些問題中我們會需要透過降維度的方式來達到要求。
Motivation1 - Data Compression
如果我們原本有兩個feature一個是cm一個是inche,這時候我們發現這是沒有用的,我們會希望把2D轉換成1D。 另外也能將3D轉會為2D,如果data都集中在一個平面上的畫。
Motivation2 - Visualization
另一個是當我們想要呈現出多維度的資料的時候,因為最多能一次呈現就是3維,所以我們必須把維度降到2D或是3D。
Principal Component Analysis
- data preprocession feature scaling and mean normalization(要讓它通過不會每個維度的值相差太大)。
- PCA algorithm
目的為找到一個低維度的子空間,然後將數據投影到子空間上,並且最小化誤差平方和。
例如找出2D中u(1)或是3D中的u(1), u(2)。
Reconstruction Principal Component Analysis
choosing k (number of principal components)
這個k就是我們想要降到k維度的k。
這邊會講到如何選擇k,照理來說k要越小越好,但是k越小代表說我們會失去的資料越多,所以我們必須選擇一個不會失去太多但又不會維度太大的k。
這時候我們要先學學如何去評斷資料失去多少。
Average squared projection error: 這個就是我的個cost
Total variation in the data: 就是data的變異數(沒有扣掉mu是因為已經做過data preprocession)
adivse for using PCA
Supervised learning speedup
當feature維度過高時(可能10000),那不管我們跑什麼algorithm都會很慢,那這時候我們可以透過使用PCA降維度,進而加速演算法。