I . 基於劃分的聚類方法
1 . 基於劃分的聚類方法 : 又叫 基於分區的聚類方法 , 或 基於距離的聚類方法 ;
① 概念 : 給定數據集有 個樣本 , 在滿足樣本間距離的前提下 , 最少將其分成 個聚類 ;
② 參數 說明 : 表示聚類分組的個數 , 該值需要在聚類算法開始執行前 , 需要指定好 ,
2 . 典型的基於劃分的聚類方法 : K-Means 方法 ( K 均值方法 ) , 聚類由分組樣本中的平均均值點表示 ; K-medoids 方法 ( K 中心點方法 ) , 聚類由分組樣本中的某個樣本表示 ;
3 . 硬聚類 : K-Means 是最基礎的聚類算法 , 是基於劃分的聚類方法 , 屬於硬聚類 ; 在這個基礎之上 , GMM 高斯混合模型 , 是基於模型的聚類方法 , 屬於軟聚類 ;
II . K-Means 算法 簡介
K-Means 簡介 :
① 給定條件 : 給定數據集 , 該數據集有 個樣本 ;
② 目的 : 將其分成 個聚類 ;
③ 聚類分組要求 : 每個聚類分組中 , 所有的數據樣本 , 與該分組的中心點的距離之和最小 ; 將每個樣本的與中心點距離計算出來 , 分組中的這些距離累加 , 個分組的距離之和 也累加起來 , 總的距離最小 ;
III . K-Means 算法 步驟
K-Means 算法 步驟 : 給定數據集 , 該數據集有 個樣本 , 將其分成 個聚類 ;
① 中心點初始化 : 爲 個聚類分組選擇初始的中心點 , 這些中心點稱爲 Means ; 可以依據經驗 , 也可以隨意選擇 ;
② 計算距離 : 計算 個對象與 箇中心點 的距離 ; ( 共計算 次 )
③ 聚類分組 : 每個對象與 箇中心點的值已計算出 , 將每個對象分配給距離其最近的中心點對應的聚類 ;
④ 計算中心點 : 根據聚類分組中的樣本 , 計算每個聚類的中心點 ;
⑤ 迭代直至收斂 : 迭代執行 ② ③ ④ 步驟 , 直到 聚類算法收斂 , 即 中心點 和 分組 經過多少次迭代都不再改變 , 也就是本次計算的中心點與上一次的中心點一樣 ;
IV . K-Means 方法的評分函數
1 . K-Means 方法的評分函數 : 該評分函數本質是 誤差平方和 ;
2 . 公式元素說明 :
表示中心點 ;
表示每個數據對象 ;
表示每個對象到中心的距離 ;
表示第 個聚類中的點的個數 ;
表示單個聚類中點的個數的累加和
表示聚類 ( 分組 ) 的個數
表示 個聚類的累加和
3 . 公式 拆解 解析 :
計算每個元素距離其中心點的距離
計算 每個元素距離其中心點的距離的平方 , 目的是爲了消除符號干擾
將一個聚類分組中的 [ ( 每個元素距離其中心點的距離 ) 的平方 ] 相加 ;
整體公式就是將所有的聚類分組的 { [ ( 每個元素距離其中心點的距離 ) 的平方 ] 累加和 } 再次累加
V . K-Means 算法 圖示
1 . 已知條件 : 下面的點是二維平面上的樣本 , 有 個點 , 將其分成 個聚類 ;
2 . 首先設置初始中心點 : 中心點可以選擇已有的樣本作爲中心點 ( 稱爲 : 實點 ) , 也可以在空白處設置中心點 ( 稱爲 : 虛點 ) ;
這裏在空白處任意設置 箇中心點 ;
3 . 計算距離 : 計算 個點到 箇中心點的距離 , 每個點都要計算 次 , 共計算 次 ;
距離表示說明 : 下面公式中的 指的是 點到 點的距離 ;
點分到 對應的聚類分組中 ;
點分到 對應的聚類分組中 ;
點分到 對應的聚類分組中 ;
點分到 對應的聚類分組中 ;
點分到 對應的聚類分組中 ;
4 . 初步分組 : 爲每個樣本分組 , 將 樣本點 分到最近的中心點對應的聚類分組中 , 下面是分組結果 :
分組到 中心點對應的分組 , 分到 對應的分組 ;
當前聚類分組 : , ;
5 . 重新計算中心點位置 : 根據上述聚類分組 , 確定新的中心點位置 , 如下圖 :
6 . 重新計算中心點位置 : 圖中的 的聚類分組 , 出現了改變 , 樣本的距離 , 明顯距離 點比較近 ;
距離表示說明 : 下面公式中的 指的是 點到 點的距離 ;
點分到 對應的聚類分組中 ;
7 . 重新分組 : 點分到 對應的聚類分組中 ;
當前聚類分組 : , ;
8 . 繼續計算中心點位置 : 此時該中心點就比較穩定了 , 下一次計算 , 仍然是這個中心點 , 因此 聚類收斂 , 此時的分組就是最終的聚類分組 ;
最終聚類分組 : , ;
最終中心點如下圖所示 , 在三角形中心 , 在兩點中心點 ;