無監督學習(Unsupervised Learning)


無監督學習(Unsupervised Learning)

聚類無監督學習

特點

  • 只給出了樣本, 但是沒有提供標簽
  • 通過無監督學習算法給出的樣本分成幾個族(cluster), 分出來的類別不是我們自己規定的, 而是無監督學習算法自己計算出來的

K-means 聚類算法

規定

  • \(c^{(i)}\): 表示\(x^{(i)}\)屬於哪個cluster, 如\(x^{(1)}\)屬於\(c^{(1)}\)簇, 如果\(c^{(1)}=1\), 則\(x^{(1)}\)划分在第1個類別
  • \(\mu_k\): 表示第k簇的聚類中心樣本點
  • \(\mu_{c^{(i)}}\): 表示樣本\(x^{(i)}\)所在的聚類\(c^{(i)}\)的聚類中心
  • \(m\): 樣本的數量
  • \(n\): 特征的數量

步驟

  1. 從現有的樣本中調出K個樣本作為聚類中心(采用隨機初始化的方式選擇樣本)
  2. 計算其余樣本分別到這K個樣本的歐拉距離
  3. 某個樣本距離這K個聚類中心的哪個最近, 就把這個樣本歸為那個類別, 以此類推, 將所有的樣本進行歸類
  4. 在已經分好類的基礎上, 計算出每一個類別的均值(中心), 再重復2和3步驟, 知道損失函數達到最優點(可能僅僅是達到了局部最優點(local optima), K-means算法最終聚類的結果與第1步中K的隨機初始化的值后很大的關系, 因為在結束了K-means算法之后我們應該重復1-4步多次, 得到損失函數最小), 結束K-means算法
  5. 注意: K值的選擇需要人工調整

理性的認識

  • 在K-means中主要就是要\(min_{c^{(i)},\mu^{(j)}}J(c^{(1)},c^{(2)},...,c^{(m)},\mu^{(1)},\mu^{(2)},...,\mu^{(k)})\)
  1. 隨機初始化K, K要小於m
  2. 在for循環中一個一個的取出樣本計算出所有樣本到最近的中心的距離, 保證J最小
  3. 在另外一個for循環中取出中心點, 移動中心點
  4. 重復1-3步驟

如何選擇K的值

  • elbow method: 畫出K與J的圖像, 找出凸出點, 那個就是期望的K值
  • 根據實際需求划分


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM