1. 程式人生 > >k近鄰演算法中k值得選擇

k近鄰演算法中k值得選擇

k值得選擇會對k近鄰的結果產生重大的影響 
如果選擇較小的K值,就相當於用較小的鄰域中的訓練例項進行預測,“學習”的近似誤差會減小,只有輸入例項較近的訓練例項才會對預測結果起作用。但缺點是“學習”的估計誤差會增大,預測結果會對近鄰例項點非常敏感。如果鄰近的例項點恰巧是噪聲,預測就會出錯。換句話說,k值得減小就意味著整體模型非常複雜,容易發生過擬合 
如果選擇較大的k值,就相當於用較大鄰域中的訓練例項進行預測,其實有點是減少學習的估計誤差,但缺點是學習的近似誤差會增大。這時與輸入例項較遠的訓練例項也會起預測作用,使預測發生錯誤,k值得增大就意味著整體的模型變得簡單 
如果K=N,那麼無論輸入例項是什麼,都將簡單的預測它屬於訓練例項中最多達到類。這時,模型過於簡單,完全忽略訓練中的大量有用資訊,是不可取的 

在應用中,k值一般取一個比較小的數值,通常採用交叉驗證法來選擇最優k值