機器學習知識地圖 · 非監督式學習
K-Means
將資料分成 K 個群組
觀念教學
分群界的國民車:便宜、好上手、到處都能跑 — K-Means 用「找中心、歸隊、移中心」三步驟把資料分成 K 群。
核心觀念
K-Means 將資料分成 K 個群組,讓群內的點彼此相似、群間差異大。運作方式:先隨機放 K 個中心點(Centroid);每個點依距離(常用歐氏距離)歸給最近的中心;中心再移到自己群的平均位置;反覆進行直到穩定收斂。整個過程等於在最小化 SSE(群內誤差平方和)。
白話理解
想把一堆客戶分成 3 群:K-Means 先隨機放 3 個中心點,每個客戶靠近哪個中心就歸哪群,接著中心點移到群的正中間,反覆調整直到穩定。典型應用:客戶分群(VIP/一般/流失)、市場區隔、影像壓縮、資料前處理。
優缺點(考題最愛)
- 優點:簡單快速、容易理解、大資料集也跑得動
- 缺點一:K 要自己決定 — 用手肘法(Elbow Method,肘部法則)看 SSE 下降的拐點,或用輪廓係數挑最佳 K
- 缺點二:只能找圓形(凸形)群組,不規則形狀會切錯
- 缺點三:對離群值敏感(中心是平均值,會被離群點拉走),且初始中心點影響結果 — 實務常多次隨機初始化
🎯 口訣:選 K、歸隊、移中心,轉到不動為止 — 怕怪形、怕離群、怕選錯 K。
iPAS 考點
考「需事先指定群數的分群法」→ K-Means;「K 怎麼選」→ 手肘法、輪廓係數。經典比較:K-Means(要定 K、圓形群、怕離群值)vs DBSCAN(不用定 K、任意形狀、自動抓離群值)。大陷阱:別把 K-Means(非監督分群)和 kNN(監督式分類)搞混 — 名字像,家族完全不同。
應用場景
評估指標
iPAS 歷屆考題詳解(2 題)
先自行作答,再展開詳解。題目出處均為 iPAS AI 應用規劃師正式考題,著作權屬原主辦單位。
以下虛擬程式碼(pseudocode)最可能是在描述何種演算法? Input: - data_points:N 筆資料,每筆資料有 D 個特徵 - X:要分成的群數 Output: - clusters:每筆資料所屬的群編號 - centroids:每個群的中心點 Algorithm: 1. 隨機選擇 X 個資料點作為初始中心 2. 重複以下步驟直到收斂: a. 分群: 對每個資料點,計算它到每個中心的距離 將資料點指派給距離最近的中心 b. 更新中心: 對每個群: 計算該群中所有資料點的平均值 將群中心更新為這個平均值 3. 當群中心不再變動時,停止 回傳每筆資料的群編號 clusters,以及最後的群中心 centroids
- AK-means 分群(K-means Clustering)
- B高斯混合模型分群(Gaussian Mixture Model Clustering)
- C階層式分群(Hierarchical Clustering)
- DDBSCAN 分群(Density-based Spatial Clustering of Applications with Noise Clustering)
看正解與逐選項詳解
正解:A
某資料科學家將客戶資料進行分群,使用 K-means(K=5)後發現部分群集呈現半月形(非凸)結構,且資料中存在少數離群值(Outliers)。他同時觀察到每次執行結果略有不同。下列敘述何者最完整且準確地反映 K-means 在此情境中的已知限制?
- AK-means 無法處理維度超過 10的資料,在高維空間中距離計算失效
- BK-means 假設群集為高斯分佈,無法處理任何非球形群集
- CK-means 對 K值敏感,但初始化不影響最終結果(演算法保證全局最優)
- DK-means 需預先指定 K;以歐氏距離為基礎,難以處理非凸群集;對初始化與離群值敏感
看正解與逐選項詳解
正解:D