1. 程式人生 > >吳恩達-機器學習(8)-K-Mean、PCA

吳恩達-機器學習(8)-K-Mean、PCA

文章目錄

Clustering

K-Mean Algorithm

下圖中已經有沒有標籤的點,現在需要分為兩類
進行k-Mean演算法
1、隨機選取兩個聚類中心,需要分為幾類就選取幾個聚類中心


2、遍歷所有的點,根據點到聚類中心的距離來判斷將該點分到哪個聚類中

3、然後將紅色的聚類中心移動到所有紅色點的均值位置,藍色的聚類中心移動到所有藍色點的均值位置

重複2、3過程直到收斂
K-Mean中的K就只的是要分為幾類

Opetimization objective

K-Mean中的優化目標
J是點到聚類中心的平均距離,J也被稱為失真函式

Random Initialization

隨機選取聚類中心
一般是隨機選取K個樣本,在讓聚類中心等於這些樣本

區域性最優

加入隨機初始化和代價函式後的K-Mean,最後的J的結果一般在2~10之間才是全域性最優解

Choosing the number of Clusters

Elbow Method
繪製代價函式關於K的函式曲線,J會隨著K的增大而減小,逐漸趨於平穩,拐點處的K即我們所需要的K
但大部分情況拐點不是很清晰,不能很明顯的找出來

通過聚類要達到的目的來確定K的值,以T恤為例,如果T恤的尺碼只有S、M、L那麼K就應該選擇3

Motivation

Data Compression

資料壓縮不僅可以使資料量減少,減小記憶體和硬碟的佔用,而且可以提高演算法的計算速度
資料壓縮就是尋找相關特徵之間的關係如下圖中的x1和x2都是表示長度,只是單位不一樣,就可以根據他們的線性關係,合併為一個一維特徵

三維資料降到二維
將三維資料投影到一個二維平面

Data Visualiztion

一個高維資料可以被計算機處理,但人只能感知三維的資料,所以在做高維資料視覺化時,要先對資料進行降維,在進行視覺化。

Principal Component Analysis

Principal Component Analysis Problem Formulation

PCA將高維資料投影到低維空間,使得資料投影到這個面的誤差最小,這個誤差也叫作投影誤差,在進行降維之前,要對資料進行均值歸一化和特徵規範化

對於二維降到一維,是要尋找一個向量,使得投影誤差最小
對於n維降到k維,是要尋找k個向量,使得投影誤差最小
PCA和線性迴歸的區別:

  1. 線性迴歸的誤差是結果值得誤差,PCA是點到投影面的距離
  2. PCA是無監督學習

Principal Component Analysis Algorithm

資料預處理(特徵縮放/均值歸一化)

PCA演算法的步驟:

  1. 計算協方差矩陣
  2. 使用svd計算 Σ \Sigma 的特徵值和特徵向量
  3. 將特徵向量按對應特徵值大小從上到下按行排列成矩陣,取前k行組成矩陣 U r U_r
  4. Z = U T X Z=U^T*X 就是降維之後的資料

Applying PCA

Reconstruction from Compressed Representation

Choosing the Number of Principal Components

計算平均投影誤差和總變差的比,選擇該值最小時候的K,該值表示的是與原資料的差異性,當為0.01時代表PCA保留了99%的差異性

選擇K的兩種兩種方法:

  1. 嘗試不同的K,計算差異性,如果>99%則符合要求
  2. 根據svd的到奇異值矩陣,矩陣對角上前K個數的和除以全部數的和就是差異性,從而根據差異性找到K

Advice for applying PCA

監督學習加速
降維矩陣應該在訓練集上執行PCA獲得,得到降維矩陣後就可以在交叉驗證集合測試集上使用

PCA並不是一個防止過擬合的好方法,應當使用正則化來防止過擬合