1. 程式人生 > >Unsupervised Learning: Linear Dimension Reduction---無監督學習:線性降維

Unsupervised Learning: Linear Dimension Reduction---無監督學習:線性降維

避免 other 介紹 near -s func 例子 get 特征選擇

一 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維的向量來描述它。

比如下圖一堆3,每一個都是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---無監督學習:線性降維