K近鄰(knn)是一種基本的分類與回歸方法。
k近鄰輸入的執行個體為特征向量,輸出為執行個體的類别。可以取很多類。
k近鄰實際上利用訓練資料集對特征向量空間進行劃分,并作為其分類的“模型”。
k值的選擇 距離度量 分類決策規則 是K近鄰的三要素。
K近鄰算法簡單、直覺:給定一個資料集,對于新輸入的執行個體,在訓練資料集中找到與該執行個體最近鄰的k個執行個體,這k個執行個體的多數屬于某個類,就把該輸入執行個體分為這個類。
特征空間中兩個執行個體點的距離是兩個執行個體點相似程度的 反映。
K值的選擇:
如果選擇較小的K值,那麼相當于用較小的鄰域中的訓練執行個體進行預測,這樣學習的近似誤差會減小,但是模型會變複雜,容易發生過拟合。如果周圍恰巧是噪聲,那就容易預測錯誤。
如果選擇較大的K值,那麼相當于用較大的鄰域中的訓練執行個體進行預測,這樣學習的近似誤差增大,但是模型會變簡單,離預測點比較遠的點也會對預測起作用,(相關度不大),使預測發生錯誤。
在應用中,k值一般選取一個比較小的數字,通常采用交叉驗證法來選取最優的K值。
分類決策規則:
分類決策為多數表決 。
多數表決等價于經驗風險最小化。
KD樹的建構和搜尋統計學習方法寫的很清楚,再次就不叙述。