iT邦幫忙

2023 iThome 鐵人賽

DAY 15
0

k-平均演算法(K-Means Clustering)

步驟

  1. 初始化: 從資料集中隨機選擇K個資料點作為初始群集中心,中心可以是資料集中的實際資料點或隨機生成的點
  2. 分配資料點: 計算每個資料點與每個群集中心的距離(通常使用歐幾里得距離),將資料點分配到距離最近的群集中心所屬的群集
  3. 更新中心: 重新計算每個群集中心點,這是該群集內所有資料點的平均值
  4. 重複: 重複 2 和 3,直到收斂條件滿足(例如,群集中心不再變化或達到最大迭代次數)

數學公式

  1. 計算兩點之間的歐幾里得距離(Euclidean Distance)
    https://chart.googleapis.com/chart?cht=tx&chl=%5Ctext%7Bdistance%7D(A%2C%20B)%20%3D%20%5Csqrt%7B%5Csum_%7Bi%3D1%7D%5E%7Bn%7D(A_i%20-%20B_i)%5E2%7D

A 和 B 是兩個資料點
https://chart.googleapis.com/chart?cht=tx&chl=%24A_i%24https://chart.googleapis.com/chart?cht=tx&chl=%24B_i%24 是它們的特徵值(例如:坐標)

  1. 計算群集中心的更新公式(對每個 i 群集)
    https://chart.googleapis.com/chart?cht=tx&chl=C_i%20%3D%20%5Cfrac%7B1%7D%7B%7CG_i%7C%7D%5Csum_%7Bx%5Cin%20G_i%7D%20x

https://chart.googleapis.com/chart?cht=tx&chl=%24G_i%24 是 i 群集中的資料點集合,https://chart.googleapis.com/chart?cht=tx&chl=%24%7CG_i%7C%24是 i 群集的大小

應用領域

  • 圖像壓縮 減少圖像中的顏色數量,來實現圖像壓縮,降低儲存和傳輸花費
  • 顧客分析 將客戶分成不同的群集,以更好知道客戶的需求和行為
  • 天文學 分類星星或星系,幫助天文學家理解宇宙中的物體
  • 文本分類 自然語言處理中,能將文檔分類,把相似主題或內容劃分到不同的群集

優缺點

優點

  1. 容易理解和實現,適合大型資料集
  2. 產生的結果容易理解,每個資料點都有明確的群集
  3. 可以調整 K 值來面對不同規模的問題

缺點

  1. K 值很難選擇,需要試驗多次來決定最佳 K 值
  2. 初始中心的選擇會影響結果,要多次運行算法來減小影響
  3. 對非球形或大小不同的群集效果差
  4. 不適合非線性資料

今日小 tips
關於 Scikit-Learn
是 Python 機器學習庫
有各種機器學習演算法和工具
用於資料分析和模型開發


上一篇
召集夥伴~集成學習
下一篇
物以類聚~層次聚類
系列文
機器學習新手行,相信你也行!30
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言