Coursera-吳恩達-機器學習-(編程練習7)K均值和PCA(對應第8周課程)

來源:互聯網
上載者:User

此系列為 Coursera 網站Andrew Ng機器學習課程個人學習筆記(僅供參考)
課程網址:https://www.coursera.org/learn/machine-learning exercise 7 —— K-means and PCA

在此下載Coursera-吳恩達-機器學習-全部編程練習答案

在本練習中,您將實現K均值聚類演算法並將其應用於壓縮映像。 在第二部分中,您將使用主成分分析來尋找面部映像的低維表示。 1 K-means

先從二維的點開始,使用K-means進行分類。

K-means步驟如上,在每次迴圈中,先對所有點更新分類,再更新每一類的中心座標。

ex7.m中提供了一個例子,其中中 K 已經被手動初始化過了。

我們要把點分成三類,迭代次數為10次。三類的中心點初始化為(3,3),(6,2),(8,5).
得到如下映像。(中間的映像略去,只展示開始和完成時的映像)
這是初始映像:

進行10次迭代後的映像:image
可以看到三堆點被很好地分成了三類。圖片上同時也展示了中心點的移動軌跡。

用K-means進行圖片壓縮。
用一張128\times 128的圖片為例,採用RGB,總共需要128\times 128 \times 24 = 393216個bit。
這裡我們對他進行壓縮,把所有顏色分成16類,以其centroid對應的顏色代替整個一類中的顏色,可以將空間壓縮至16\times 24 + 128\times 128 \times 4 = 65920 個bit。
用題目中提供的例子,效果大概如下:
2 PCA

在這個練習中,您將使用主成分分析(PCA)來執行降維。 您將首先嘗試使用樣本2D資料集來直觀瞭解PCA如何工作,然後將其用於5000張面部映像資料集的較大資料集。

所提供的指令碼ex7 pca.m將協助您逐步完成練習的前半部分。

先對例子中的二維向量實現降低到一維。


根據上圖可以看出,恢複後的圖只保留了其中一個特徵向量上的資訊,而垂直方向的資訊丟失了

Face image dataset

對人臉圖片進行dimension reduction。ex7faces.mat中存有大量人臉的灰階圖(32 \times 32) , 因此每一個向量的維數是 32 \times 32 = 1024。
如下是前一百張人臉圖:

用PCA得到其主成分,將其重新轉化為 32\times 32 的矩陣後,對其可視化,如下:(只展示前36個)

取前100個特徵向量進行投影,

可以看出,降低維度後,人臉部的大致架構還保留著,但是失去了一些細節。這給我們的啟發是,當我們在用神經網路訓練Face Service時,有時候可以用這種方式來提高速度。

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.