聚類與分類的區別在于,分類要求已知類別,通過訓練和學習不同類別的特征,對未知類別進行分類,屬于監督學習;聚類則是在數據本身沒有標簽的情況下,通過聚類分析將數據聚合成幾個群體,無需訓練,屬于無監督學習。
K-means 聚類算法是一種常用的聚類方法,其特點是簡單、易于理解、運算速度快,但僅適用于連續型數據,并且需要在聚類前指定要分的類別數 k。
K-means 的核心思想是“物以類聚,人以群分”。算法流程包括:
設定 k 值為所需的類別數。隨機選擇 k 個數據點作為初始“大佬”。計算所有數據點到每個“大佬”的距離,將數據點分配到距離最近的“大佬”所屬的類別中。更新每個類別的“大佬”,計算該類別中所有數據點的平均值。重復第二步至第四步,直到類別分配不再改變,即達到收斂。以 6 個點為例演示 K-means 聚類過程,可以發現最終聚類結果與預想一致。在實際應用中,K-means 聚類可以利用 MATLAB 或 sklearn 等工具實現。