KNN概念
上圖中的綠點,你會如何為它分類呢?采用KNN(K nearest neighborhoods)算法的話
-如果你取K為3,則3個近鄰中有2紅1藍,分類為紅;
-如果你取K為5,則5個近鄰中有2紅3藍,分類為藍。
以上可總結為如下表格:
KNN 算法
KNN 算法本身簡單有效,它是一種 lazy-learning 算法,分類器不需要使用訓練集進行訓練,訓練時間復雜度為0。KNN 分類的計算復雜度和訓練集中的文檔數目成正比,也就是說,如果訓練集中文檔總數為 n,那么 KNN 的分類時間復雜度為O(n)。
在實際應用中,K值一般取一個比較小的數值。K=N,則完全不足取,因為此時無論輸入實例是什么,都只是簡單的預測它屬于在訓練實例中最多的累,而忽略了訓練實例中大量有用信息。
各種距離的定義和計算可參見:http://taop.marchtea.com/07.01.html