📍 KNN vs SVM · iPAS 常考對比

KNN vs SVM:看鄰居投票,還是畫最大間隔的線?

KNN 靠「看你附近誰最多」來分類——簡單直覺,但一定要先做特徵縮放,否則距離會被大數字特徵吃掉。SVM 則是畫一條間隔最大的分界線,靠少數關鍵點(支援向量)撐起。

KNN 惰性學習K 個鄰居投票特徵縮放SVM 最大間隔核技巧

🧭 一、兩個直覺完全不同的分類器

KNN(K 近鄰)要分類一個新點,就看它最近的 K 個鄰居是哪一類最多,跟著他們走(分類投票、回歸取平均)。詳見 KNN
SVM(支援向量機)在兩類之間畫一條間隔最大的分界線,讓兩邊離線越遠越安全。詳見 SVM

一個比喻

KNN 像「物以類聚」——你是什麼樣的人,看你身邊的朋友就知道。SVM 像「畫一條最寬的護城河」——把兩國分開,河越寬越不會打起來。

📍 二、KNN 的重點:惰性學習 + 一定要標準化

惰性學習(Lazy)訓練時什麼都不做,只把資料記住;等到要預測,才臨時去算距離找鄰居。所以訓練快、預測慢
K 的取捨K 太小→易受雜訊、過擬合;K 太大→過度平滑、欠擬合。常用交叉驗證挑 K。
務必先特徵縮放KNN 靠「距離」,若特徵尺度差很多,大尺度的會霸佔距離——下面 demo 就是活生生的災難。

🎮 三、動手玩:不縮放,KNN 就變瞎子

目標客戶(年薪 5 萬、40 歲)找最相似的人。客戶 A 年紀相仿(合理)、客戶 B 只是薪水接近但差 50 歲。切「未縮放 / 縮放後」看 KNN 選誰。

特徵 X:年薪 (0 ~ 100,000 元) 特徵 Y:年齡 (0 ~ 100 歲) 0 50,000 100,000 0 50 100 目標客戶 客戶 A 客戶 B

🗺️ 怎麼看 & 教訓

未縮放:年薪以「萬」為單位、年齡只有「幾十」,算歐式距離時年齡差距被年薪的大數字吞掉,KNN 錯把只是薪水接近的客戶 B(差 50 歲)當成最近鄰。縮放到 0~1 後:每個特徵票票等值,搜尋範圍變成漂亮的圓,正確找到客戶 A凡是靠距離的模型(KNN、SVM、K-means),都要先標準化!

🛡️ 四、SVM 的重點:最大間隔 + 核技巧

最大間隔(Max Margin)不只把兩類分開,還要讓分界線離兩邊最近的點都盡量遠——間隔越大,泛化越穩。
支援向量整條邊界只由少數幾個最靠近的關鍵點決定,其他點怎麼移都不影響。
核技巧(Kernel)用核函數(如 RBF、多項式)把資料映到高維,讓原本線性不可分的變可分。
調參 C 與 gammaC 管「容不容許犯錯」、gamma 管「邊界多彎」——比 KNN 講究,但高維表現常更好。

🧠 SVM 也要標準化

SVM 同樣靠距離/內積,特徵尺度差很多也會出問題,用前一樣要縮放

⚖️ 五、KNN vs SVM 對照

比較KNNSVM
怎麼分類看最近 K 個鄰居投票畫最大間隔的邊界
訓練 / 預測訓練快、預測慢(惰性)訓練較慢、預測快
非線性天生可(看局部鄰居)核技巧
高維資料容易失效(維度詛咒)表現佳
要標準化?✅ 一定要✅ 一定要
調參只要調 KC、gamma、核,較講究

🛠️ 六、什麼時候用哪個?

用 KNN資料小、維度低、想要簡單直覺的基準線,或邊界很不規則時。
用 SVM中小型、高維資料(如文字分類),要一條乾淨穩健的邊界時。
兩者共同前提都靠距離 → 先做特徵縮放,別讓大尺度特徵作弊。

🧪 七、觀念自我檢測

先想再點開。

Q1. KNN 怎麼分類?為什麼叫「惰性學習」?

看最近 K 個鄰居投票;訓練時只記資料、預測才臨時算距離,所以是惰性。

Q2. 為什麼 KNN 一定要先特徵縮放?

KNN 靠距離,大尺度特徵會霸佔距離(demo 裡年薪吃掉年齡),導致選錯鄰居。

Q3. SVM 的核心概念?誰決定邊界?

最大間隔的分界線;邊界只由少數支援向量決定。

Q4. 核技巧(kernel)是做什麼的?

把資料映到高維,讓線性不可分變可分(如 RBF、多項式核)。

Q5. KNN 和 SVM 怎麼選?

小資料/低維/不規則邊界 → KNN;中小型/高維/要穩健邊界 → SVM。兩者都要標準化。

✅ 八、30 秒重點整理

KNN看 K 個鄰居投票、惰性學習。
KNN 必做縮放否則大尺度特徵吃掉距離。
K 取捨小→過擬合、大→欠擬合,CV 選。
SVM最大間隔、支援向量決定邊界。
核技巧RBF/多項式處理非線性。
選擇低維小資料 KNN、高維 SVM。

📝 iPAS 考點提醒

KNN 與 SVM 是 iPAS 常考的監督式分類演算法(初級科目一、中級科目三)。重點:KNN 找最近 K 個鄰居投票(惰性學習、預測才算)、SVM 找讓兩類間隔最大的決策邊界(由支援向量決定)。易混點:KNN 簡單但預測慢、需先標準化;SVM 用核技巧(RBF 等)處理非線性、調 C 與 gamma 較講究。情境:KNN 適合小資料、SVM 適合中小型高維資料。

想練情境題與詳解 → AI 學習與考證地圖

❓ 常見問題

KNN 怎麼運作?

預測時找最近的 K 個鄰居,以多數投票(分類)或平均(迴歸)決定;是惰性學習,不先建模、預測才算。

KNN 的 K 怎麼選?

K 太小易受雜訊、過擬合;太大則過度平滑、欠擬合。常用交叉驗證挑,並建議先標準化特徵。

SVM 的核心概念是什麼?

找一個讓兩類間隔(margin)最大的決策邊界;邊界由少數支援向量決定,泛化能力佳。

什麼是核技巧(kernel)?

用核函數把資料映射到高維,使原本線性不可分的問題變可分;常見有 RBF、多項式核。

KNN 和 SVM 怎麼選?

KNN 簡單直覺、適合小資料與非線性邊界但預測慢;SVM 在中小型、高維資料表現佳、但調參(C、gamma)較講究。

🧭 相關主題

← 返回 AI 學習與考證地圖