🎨 非監督式分群 · iPAS 高頻考點
K-Means 分群:讓資料自己「物以類聚」
K-Means 是最常用的分群(clustering)演算法。它沒有標準答案——不靠標籤,自己把長得像的資料分成 K 群。它靠「分配 → 更新」兩步反覆迭代,直到群中心不再移動。下面點一點就看懂。
非監督式分配↔更新群中心 Centroid怎麼選 Kk-means++vs KNN
🤔 一、K-Means 在做什麼?
一句話:沒有老師給答案,自己把相似的資料分成 K 堆。
💡 白話定義(重點:非監督)
前面的分類(如 KNN、SVM)都是監督式——資料有「正確答案(標籤)」。但 K-Means 是非監督式:資料沒有標籤,你只是想把它們自動分成幾群。就像一場派對,沒人指定座位,但大家會自然地「站得近的湊成一桌」——K-Means 做的就是這件事,K 就是「要分成幾桌」。
⚙️ 二、運作四步驟(不斷循環)
1
初始化(Initialization)
先隨機放 K 個點當作群中心(Centroid,demo 裡帶脈動外圈的大圓點)。
2
分配(Assignment)
每個資料點算到各中心的距離,歸給最近的那個中心(點會變成該群的顏色)。
3
更新(Update)
每群把自己的點取平均位置,中心移動到新的平均那裡。
4
重複到收斂(Repeat)
一直重複「分配 → 更新」,直到中心不再移動(收斂)。
🎮 三、動手玩:一步步看它分群
先按「隨機生成資料」,再連續點「執行一步」,看點怎麼變色、中心怎麼移動,直到收斂。
🗺️ 怎麼看
小圓點=資料;帶脈動外圈的大圓點=群中心。每點一下「執行一步」,會輪流做:
① 分配——每個小點變成「最近中心」的顏色;②更新——大圓點滑到自己那群的平均位置。兩步交替,中心越動越小,最後停住=收斂。
準備就緒:請點擊「隨機生成資料」
🧠 四、三個核心概念
K 要自己定分幾群是你決定的(demo 是 K=3)。怎麼挑見下一節。
用距離衡量相似預設歐氏距離,所以適合連續數值、且要先標準化。
目標:群內越像越好數學上最小化群內變異(SSE / inertia)——同群的點離自己中心越近越好。
📏 五、K 要設多少?(最常考)
K-Means 不會自己決定群數,得靠這兩招挑。
💪 手肘法(Elbow Method)
把不同 K 算出的群內變異(SSE)畫出來:K 越大 SSE 一定越小,但會在某個 K 急轉平緩,那個「手肘轉折」就是CP 值最高的 K。
📐 輪廓係數(Silhouette)+ 領域知識
輪廓係數同時看「群內多緊、離鄰群多遠」,值越接近 1 越好,可以幫忙挑 K。最後再結合領域知識(例如已知大概有 3 類客群,就從 K=3 試起)。
⚠️ 六、用 K-Means 一定要知道的坑
① 對初始位置敏感 → 用 k-means++
隨機初始中心放得不好,可能收斂到較差的局部解。實務用 k-means++(聰明地把初始中心分散開)或多次隨機初始取最好,較穩定。
② 務必先標準化
它靠距離分群,尺度大的特徵會主導(如年收入 vs 年齡)。用之前一定要標準化,並處理離群值(離群點會把中心拉歪)。
③ 只擅長「球狀、大小相近」的群
K-Means 假設群是圓球狀、大小差不多。遇到
細長、環狀、密度不均的分布會分錯,這時改用
DBSCAN(密度型)或
高斯混合 GMM。
🌍 七、用在哪裡?
🛍️ 客戶分群用消費金額、頻率把客戶分成 VIP/潛力/流失,做差異化行銷。
🖼️ 影像壓縮把上萬種顏色簡化成 K 種代表色(如 K=16),大幅縮小檔案。
🚨 異常檢測離所有群中心都很遠的點,可能是異常交易或雜訊。
🆚 八、別搞混:K-Means vs KNN
兩個都有「K」、都用距離,但根本不同——考試最愛考。
| 比較 | K-Means | KNN |
| 類型 | 非監督(分群) | 監督(分類/迴歸) |
| 需要標籤? | 不需要 | 需要 |
| K 是什麼 | 群的數量 | 鄰居的數量 |
| 在做什麼 | 把資料分成 K 群 | 看最近 K 個鄰居投票分類 |
🧪 九、觀念自我檢測
先想再點開。
Q1. K-Means 是監督還是非監督?
非監督。資料沒有標籤,它自己把相似的點分成 K 群。常和「監督式分類」的 KNN 搞混。
Q2. K-Means 的迭代兩步是什麼?
分配(每點歸到最近的群中心)↔ 更新(中心移到該群點的平均位置),反覆到中心不動(收斂)。
Q3. K 要設多少怎麼決定?
手肘法(看 SSE 急轉平緩的轉折)、輪廓係數,再結合領域知識挑。
Q4. K-Means 有哪些限制?
要先定 K、只擅長球狀且大小相近的群、對離群與初始值敏感(用 k-means++)、要先標準化。非球狀改 DBSCAN/GMM。
✅ 十、30 秒重點整理
非監督分群沒標籤,自己把相似資料分 K 群。
分配↔更新點歸最近中心、中心移到群平均,迭代到收斂。
目標:最小化群內變異SSE / inertia 越小越好。
選 K手肘法、輪廓係數 + 領域知識。
注意k-means++、先標準化、只擅長球狀群。
vs KNNK-Means 群數(非監督);KNN 鄰居數(監督)。
📝 iPAS 考點提醒
K-means 是最常用的分群法,iPAS 高頻考點(初級科目一、中級科目三)。重點:把資料分成 K 群,反覆把點歸到最近群中心、再更新中心直到穩定。易混點:需先指定 K(用手肘法、輪廓係數挑)、只找球狀且大小相近的群、對離群與初始值敏感(用 k-means++ 改善);務必先標準化。情境:客戶分群、影像壓縮;非球狀分布改用 DBSCAN 或 GMM。
想練情境題與詳解 → AI 學習與考證地圖
❓ 常見問題
K-means 在做什麼?
把資料分成 K 群,讓每點歸到最近的群中心,反覆更新中心與歸屬直到穩定;是最常用的分群法。
K 值怎麼決定?
用手肘法(看 SSE 隨 k 下降的轉折)、輪廓係數等指標,再結合領域知識挑;如已知約 3 類客群就從 k=3 試起。
K-means 有什麼限制?
需先定 K、只找球狀且大小相近的群、對離群與初始值敏感;非球狀分布可改用 DBSCAN 或高斯混合。
為什麼要多次初始化?
結果受初始中心影響、可能落入較差的局部解;用 k-means++ 或多次隨機初始取最佳,較穩定。
使用前要注意什麼?
需先標準化特徵(否則尺度大的主導距離),並處理離群值;距離度量預設歐氏,適合連續數值特徵。