K 值的選擇會(huì)對(duì)算法的結(jié)果產(chǎn)生重大影響。
K值較小意味著只有與輸入實(shí)例較近的訓(xùn)練實(shí)例才會(huì)對(duì)預(yù)測(cè)結(jié)果起作用,但容易發(fā)生過(guò)擬合;如果K值較大,優(yōu)點(diǎn)是可以減少學(xué)習(xí)的估計(jì)誤差,但缺點(diǎn)是學(xué)習(xí)的近似誤差增大,這時(shí)與輸入實(shí)例較遠(yuǎn)的訓(xùn)練實(shí)例也會(huì)對(duì)預(yù)測(cè)起作用,使預(yù)測(cè)發(fā)生錯(cuò)誤。
在實(shí)際應(yīng)用中,K值一般選擇一個(gè)較小的數(shù)值,通常采用交叉驗(yàn)證的方法來(lái)選擇最優(yōu)的 K 值。隨著訓(xùn)練實(shí)例數(shù)目趨向于無(wú)窮和K等于1時(shí),誤差率不會(huì)超過(guò)貝葉斯誤差率的2倍,如果K也趨向于無(wú)窮,則誤差率趨向于貝葉斯誤差率。