[NLP 線上自學] D19 KNN 演算法

重點:了解KNN原理與優缺點

K 值的選擇

K 值過小:會造成兩個問題。
1. 訓練資料集產生的模型過擬合(或指模型泛化能力不足)。
2. 資料可能會受到極端值(Outliers的影響)。

K 值過大: 與上述相反的問題外,還有多一個。
1. 模型缺乏鑑別度
2. 失去了不同群體間的重要資訊
3. 訓練時間過久

適當的K值

K-fold

作法:

將訓練資料及拆分成K份 (此處的K,並不是KNN的K),其中1/K份作為驗證集,剩下 (K-1)/K當作訓練集,因此我們將可獲得K份驗證集的結果,再用這K組驗證結果平均,取得最終成果。

*注意:每個訓練都是獨立完成,彼此間並不分享資訊。

如何選擇:

一般我們會先預選幾個 K值,包含10、50、100,運用K-fold方式得到的不同結果,來選擇最合適的K值。

好處:

・現實中有時難以收到巨量的資料,藉由K-fold方法,我們可以在有限的訓練集中多次測試模型的泛化效果。
・因為使用多次的驗證集來獲取平均,故結果更具代表性。

註解:

即便KNN屬於監督式學習,但是KNN模型在訓練時是透過記住訓練資料集的位置,來預測新資料點的可能結果,因此實際上沒有真正的訓練過程。

--

--

Get the Medium app

A button that says 'Download on the App Store', and if clicked it will lead you to the iOS App store
A button that says 'Get it on, Google Play', and if clicked it will lead you to the Google Play store