KNN 靠「看你附近誰最多」來分類——簡單直覺,但一定要先做特徵縮放,否則距離會被大數字特徵吃掉。SVM 則是畫一條間隔最大的分界線,靠少數關鍵點(支援向量)撐起。
幫目標客戶(年薪 5 萬、40 歲)找最相似的人。客戶 A 年紀相仿(合理)、客戶 B 只是薪水接近但差 50 歲。切「未縮放 / 縮放後」看 KNN 選誰。
| 比較 | KNN | SVM |
|---|---|---|
| 怎麼分類 | 看最近 K 個鄰居投票 | 畫最大間隔的邊界 |
| 訓練 / 預測 | 訓練快、預測慢(惰性) | 訓練較慢、預測快 |
| 非線性 | 天生可(看局部鄰居) | 靠核技巧 |
| 高維資料 | 容易失效(維度詛咒) | 表現佳 |
| 要標準化? | ✅ 一定要 | ✅ 一定要 |
| 調參 | 只要調 K | C、gamma、核,較講究 |
先想再點開。
看最近 K 個鄰居投票;訓練時只記資料、預測才臨時算距離,所以是惰性。
KNN 靠距離,大尺度特徵會霸佔距離(demo 裡年薪吃掉年齡),導致選錯鄰居。
最大間隔的分界線;邊界只由少數支援向量決定。
把資料映到高維,讓線性不可分變可分(如 RBF、多項式核)。
小資料/低維/不規則邊界 → KNN;中小型/高維/要穩健邊界 → SVM。兩者都要標準化。
KNN 與 SVM 是 iPAS 常考的監督式分類演算法(初級科目一、中級科目三)。重點:KNN 找最近 K 個鄰居投票(惰性學習、預測才算)、SVM 找讓兩類間隔最大的決策邊界(由支援向量決定)。易混點:KNN 簡單但預測慢、需先標準化;SVM 用核技巧(RBF 等)處理非線性、調 C 與 gamma 較講究。情境:KNN 適合小資料、SVM 適合中小型高維資料。
想練情境題與詳解 → AI 學習與考證地圖
預測時找最近的 K 個鄰居,以多數投票(分類)或平均(迴歸)決定;是惰性學習,不先建模、預測才算。
K 太小易受雜訊、過擬合;太大則過度平滑、欠擬合。常用交叉驗證挑,並建議先標準化特徵。
找一個讓兩類間隔(margin)最大的決策邊界;邊界由少數支援向量決定,泛化能力佳。
用核函數把資料映射到高維,使原本線性不可分的問題變可分;常見有 RBF、多項式核。
KNN 簡單直覺、適合小資料與非線性邊界但預測慢;SVM 在中小型、高維資料表現佳、但調參(C、gamma)較講究。