KNN K值的選擇

誤差

近似誤差:可以理解爲對現有訓練集的訓練誤差。
估計誤差:可以理解爲對測試集的測試誤差。

近似誤差關注訓練集,如果近似誤差小了會出現過擬合的現象,對現有的訓練集能有很好的預測,但是對未知的測試樣本將會出現較大偏差的預測。模型本身不是最接近最佳模型。

估計誤差關注測試集,估計誤差小了說明對未知數據的預測能力好。模型本身最接近最佳模型。

KNN

k近鄰算法是一種基本分類迴歸方法。本篇文章只討論分類問題的k近鄰法。
k近鄰算法,即是給定一個訓練數據集,對新的輸入實例,在訓練數據集中找到與該實例最鄰近的k個實例,這k個實例的多數屬於某個類,就把該輸入實例分類到這個類中(這就類似於現實生活中少數服從多數的思想)。
k近鄰法使用的模型實際上對應於對特徵空間的劃分,模型有三個基本要素:距離度量、k值的選擇和分類決策規則決定。

K值的選擇

如果我們選取較小的k值,就相當於用較小的鄰域中的訓練實例進行預測,“學習”的近似誤差會減小,只有與輸入實例較近的訓練實例纔會對預測結果起作用。但缺點是“學習”的估計誤差會增大,預測結果對鄰近的實例點非常敏感。如果鄰近的實例點恰巧時候噪聲,預測就會出錯。換句話說,k值的減小意味着整體模型變得複雜,容易發生過擬合。

如果不太理解k值小模型就複雜,我們不妨假設k=N,N爲訓練集大小,那麼無論輸入實例是什麼,都將簡單的預測它屬於在訓練實例中最多的類,這顯然是不合理的。這時的模型是非常簡單的,完全忽略訓練實例中的大量有用信息。

如果選擇較大的k值,就相當於用較大的鄰域中的訓練實例進行預測,其優點是可以可以減小“學習”的估計誤差,但缺點是“學習”的近似誤差會增大。這時與輸入實例較遠的訓練實例也會對預測結果起作用,使預測發生錯誤。k值增大就意味着整體的模型變得簡單。
在應用中,k值一般取一個較小的數值,通常採用交叉驗證法來選取最優的k值。

https://blog.csdn.net/ortyijing/article/details/77816719
偏差、方差
https://www.cnblogs.com/solong1989/p/9603818.html

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章