Unsupervised Learning: Linear Dimension Reduction---無監督學習:線性降維
一 Unsupervised Learning
把Unsupervised Learning分為兩大類:
- 化繁為簡:有很多種input,進行抽象化處理,只有input沒有output
- 無中生有:隨機給一個input,自動畫一張圖,只有output沒有input
二 Clustering
有一大堆image ,把他們分為幾大類,給他們貼上標簽,將不同的image用相同的 cluster表示。 也面臨一個問題,要有多少種cluster呢? 有兩種clustering的方法:
2.1 K-means(K均值)
2.2 Hierarchical Agglomerative Clustering (HAC階層式匯聚分群法)
註:如果說K均值算法的問題是不好卻確定分為幾類,那麽HAC的問題在於不知將分類門檻劃在哪一層。
三 Distributed Representation(分布式表征)
光做clustering是很卡的,有的個體並不只屬於一個大類,所以需要一個vector來表示在各個類中的概率。這樣,從一個(高維)圖片到一個各個屬性概率(低維)就是一個Dimension Reduction。
四 Dimension Reduction
為什麽說降維是很有用的呢? 有時候在3D很復雜的圖像到2D就被簡化了。
在MNIST訓練集中,很多28*28維的向量轉成一個image看起來根本不像數字,其中是digit的vector很少,所以或許我們可以用少於28*28維的向量來描述它。
那我們應該怎樣做Dimension Reduction呢? 就是要找一個function。有兩個方法:
- Feature selection特征選擇:比如在左圖二維坐標系中,我們發現X1軸對樣本點影響不大,那麽就可以把它拿掉。
- PCA 主成分分析: 輸出 z=Wx輸入,找到這個向量W。
在現實中我們很難確定某個因素是否真的不起作用,所以下邊重點介紹一個PCA
4.1 Principle Component Analysis (PCA) 主成分分析
在一維的例子裏,我們要找 z1 方差最大的情況,當維度升高到2維,找 z2 方差最大,為了避免與 z1 重復,所以規定 w1 與 w2 垂直。依次方法可進行高維計算。將所有w轉置一下,組成一個高維向量,就是我們要找的W。
補充一些數學知識(為了求解w):
4.2 PCA - decorrelation
4.3 PCA – Another Point of View
每個手寫識別,都是由基礎組件構成的,把基礎組件加起來,得到一個數字。 對7來說,C1\C2\C3\C4\C5分別為1\0\1\0\1
那我們如何找到 u1-uK這K個Vector呢? 我們要找K個vector使重構誤差越小越好。
轉化為Matrix。
怎麽解這個問題呢?SVD方法: matrix X 可以用SVD拆成 matrix U * matrix ∑ * matrix V。
這樣w已經通過SVD求出來了,Ck怎麽求呢?
4.4 Weakness of PCA
參考:
http://speech.ee.ntu.edu.tw/~tlkagk/courses/ML_2016/Lecture/dim%20reduction%20%28v5%29.pdf
https://blog.csdn.net/soulmeetliang/article/details/73309360
Unsupervised Learning: Linear Dimension Reduction---無監督學習:線性降維