K近鄰算法中常見的問題

  1. 第一個問題就是k值的選取問題?ide

  2. 怎麼快速找到k個鄰居,尤爲是在特徵空間維數大及訓練數據容量大時尤爲必要。學習



(1)k值的問題:當k值很小的時候,就至關於在較小的領域中訓練實例進行預測,學習的近似偏差會減少,只有與輸入實例較近的訓練實例纔會對預測結果起做用(反過來想,離的越近,確定越類似,離得越遠,類似度就差很大)。但缺點是學習的估計偏差會增大,預測結果會對近鄰的實例點很是敏感,若是近鄰的實例點恰巧是噪聲,預測就會出錯。(有噪聲,就比較複雜),模型越複雜,越容易發生過擬合ci

若是選擇較大,就至關於用較大領域中的訓練實例進行預測。其優勢是能夠減小學習的估計偏差it

k越大,這時與輸入實例較遠的訓練實例也會對                                                                                    (能夠下降噪聲)就意味着總體模型變得簡單class


通常來講k值是經過交差驗證法來得到的。通常取k值小於sqrt(n)搜索

(2)如何快速的搜索K個鄰居?im

KD樹是一種很好的辦法數據

相關文章
相關標籤/搜索