k-means演算法筆記

Forward_-發表於2020-11-15

K-means 筆記

  • K-means 一種無監督的聚類演算法

將相同類別的點聚集在一起,對於不同類別儘量的區分開

  • 核心目標: 將給定的資料劃分為K個簇,並且給出每個簇的中心點,即質心
    在這裡插入圖片描述

K-means 演算法步驟

  1. 資料預處理: 剔除離群點、資料歸一化、資料標準化

  2. 初始化: 隨機選擇K箇中心點u(0)1, u(0)2, u(0)3, …, u(0)K

  3. 定義損失函式:
    [外鏈圖片轉存失敗,源站可能有防盜鏈機制,建議將圖片儲存下來直接上傳(img-JTosp2x5-1605432775416)(k2.png)]

  4. 交替迭代(t為步數,重複一下兩個步驟直到J收斂)

對於每個樣本點,將其分配到距離最近的簇

在這裡插入圖片描述

對於每個簇,重新計算聚類質心

在這裡插入圖片描述

K-means演算法缺點

  1. 人工選取k值, 不一定符合資料分佈
  2. 收初始值和離群點的影響較為嚴重,穩定性差
    ## K-means演算法優點
  3. 對於大資料集,演算法時間讀咋讀為線性O(NKT)

N: 樣本點個數
K: 聚類中心個個數
T: 迭代輪數

  1. 區域性最優解通常已經可以滿足問題需要

k-means演算法調優

  1. K值選擇(手肘法)

k-means演算法改進

  • 改進點: 對初始值的選擇進行優化
  • k-means++演算法
    • 改進思想: 選取第n+1個聚類中心時:
    • 距離其他聚類中心越遠,被選中的概率越大

相關文章