Chapter 8 無監督學習與數據降維 (reading notes)

0. 版權聲明

  • machine learning 系列筆記來源於Andrew Ng 教授在 Coursera 網站上所授課程《machine learning》1
  • 該系列筆記不以盈利爲目的,僅用於個人學習、課後複習及交流討論;
  • 如有侵權,請與本人聯繫([email protected]),經覈實後即刻刪除;
  • 轉載請註明出處;

1. Unsupervised learning

1.1 Clustring(聚類)

  • Symbol:
    • K:大寫的 K 表示簇的數量,即聚類中心的數量;
    • k:小寫的 k 表示不同聚類中心的下標;
    • c(i)c^{(i)}:樣本 x(i)x^{(i)} 所在簇的索引;
    • uku_k:第 k 個聚類中心的位置;
    • uc(i)u_{c^{(i)}}:樣本 x(i)x^{(i)} 所在簇的聚類中心的位置;
  • 聚類算法有:K-means 算法(K均值算法)。。。;
  • K-means 算法的輸入:
    • K:簇的數量;
    • 訓練集:{x1,x2,...,xm}\{x^{1},x^{2},...,x^{m}\}
      • x(i)Rnx^{(i)}\in\mathbb{R}^n,因爲按照慣例,此處 drop x0=1x_{0}=1
  • K-means 算法步驟:
    • 隨機初始化 K 個聚類中心 u1,u2,...,ukRnu_1,u_2,...,u_k\in\mathbb{R}^n
    • 簇分配:按照距離遠近,將各個樣本匹配到最近的聚類中心;
      • 求解 minx(i)uk2min||x^{(i)}-u_k||^2minkx(i)uk\mathop{min}\limits_k||x^{(i)}-u_k||
      • 該步驟用於優化 c(1),c(2),...,c(m)c^{(1)},c^{(2)},...,c^{(m)}
    • 移動聚類中心:根據簇分配得到的本類別的樣本點均值,求得新的聚類中心;
      • 該步驟用於優化 u1,u2,...,uKu_1,u_2,...,u_K
  • Q:若在簇分配階段,有的簇沒有被分配任何樣本點,應如何處理?
    A:
    • 若不嚴格要求將樣本劃分爲 K 個簇,則直接去掉該簇;
    • 若嚴格要求將樣本劃分爲 K 個簇,則再隨機選取一個聚類中心,替換掉未被分配樣本點的簇;

1.2 優化目標

  • 代價函數:J(c(1),c(2),...,c(m),u1,u2,...,uK)=1mi=1mx(i)uc(i)2J(c^{(1)},c^{(2)},...,c^{(m)},u_1,u_2,...,u_K)=\frac{1}{m}\sum_{i=1}^{m}||x^{(i)}-u_{c^{(i)}}||^2
    • 該代價函數被稱爲失真代價函數,或 K 均值算法的失真;
    • 代價函數的意義:最小化各個樣本點到對應聚類中心的距離;

1.3 隨機初始化

  • 隨機初始化狀態不同,可能導致 K 均值算法得到的運算結果不同;

    • Soultion:多次隨機初始化(典型的次數爲50-1000次),選取代價函數最小的聚類結果;
    • 若 K 的數值較小(在2-10之間),使用多次隨機初始化的方法一般能夠得到較好的局部最優解;
    • 若 K 的數值較大(遠大於10),K-means 算法仍能給出一個合適的結果,但該狀態下使用多次隨機初始化對結果的改善不明顯;
      全局最優聚類結果局部最優聚類結果
  • K-means 算法隨機初始化的方法:

    • 確保簇的數量小於樣本數量,即 K<m;
    • 隨機從選擇 K 個樣本作爲聚類中心;
  • Q:一般而言,K 取值越大時,代價函數越小,若 K=5 時的代價高於 K=3 時的代價,可能的原因是什麼?
    A:K=5時,運行 K-means 算法得到了一個較差的局部最小值;可嘗試多次隨機初始化加以解決;

1.4 選擇聚類數量 K 的方法

  • 選擇聚類數量 K 的方法:
    • 手動選擇:最爲常見的方法,根據實際問題的需要,選擇合適的 K 值;
    • Elbow method(肘部法則):一種用於選擇聚類數量 K 的方法;
      • 若代價函數的導數值變化出現明顯的拐點,則取該點對應的簇數量作爲 K 值;
      • 若代價函數的導數值變化無明顯的拐點,則該方法不適用;

肘部法則

2. 數據降維

2.1 數據壓縮與可視化

  • 數據壓縮的作用:
    • 減小數據冗餘;
    • 減小數據佔用的存儲空間;
    • 加快機器學習算法運行速度;
    • 便於可視化;

n. Reference


  1. https://www.coursera.org/learn/machine-learning/home/welcome ↩︎

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章