k近鄰法是一種基本分類與回歸方法。在這裡我們只討論分類問題中的k近鄰法。
三要素
k值的選擇
距離度量
分類決策規則
最後會引入一種k近鄰的實現方法——kd樹。
輸入:訓練資料集t
輸出:例項x所屬的類y
根據給定的距離度量,在訓練集中找到和x最近的k
個點
在這k個點中根據分類決策規則,決定x的類別
注意:k近鄰法沒有顯示的學習過程
模型由上述的三要素決定。
實際上只要記住:
選擇較小的k值,模型變得複雜,容易出現過擬合;選擇較大的k值,模型變得簡單,可以減小估計誤差,但容易欠擬合。
一般使用歐氏距離。
一般使用多數表決規則(majority voting rule)。
多數表決規則等價於經驗風險最小化。
kd樹是用來提高k近鄰法實現效率問題的。
主要思想是不斷對k為維空間進行劃分來減少後續搜尋的代價。
在超矩形區域內選擇乙個座標軸和在其座標軸上的乙個切分點,確定乙個超平面,該超平面通過該點並垂直於選定的座標軸,將當前區域進行劃分,並將該點儲存在相應的節點上。
當兩個字區域都沒有例項存在。
通過不斷更新最近的點來獲得所有例項中最接近當前x的點。具體演算法在這邊忽略了。
搜尋演算法的平均時間複雜度為o(l
ogn)
o(logn)
o(logn
)。但是當空間維數接近訓練例項數的時候,搜尋演算法會退化為線性掃瞄。
統計學習方法 k近鄰法
k近鄰法 knn 是一種基本的分類與回歸方法 分類這種需求,滲透到我們生活的方方面面 分類演算法可以幫助我們完成這些繁瑣的操作,並根據我們的要求不斷修正分類結果。分類演算法其實蠻多的,這裡順著書本順序,詳細講解knn演算法,再與k means k means 演算法進行簡單對比。k近鄰法是這樣乙個過...
統計學習方法 K近鄰法
k近鄰演算法簡單 直觀給定乙個訓練資料集,對新的輸入例項,在訓練資料集中找到與該例項最鄰近的k個例項,這k個例項的多數屬於某個類,就把該輸入例項分為這個類.下面先敘述k近鄰演算法,然後再討論其細節。近鄰法的特殊情況 k 1情形,稱為最近鄰演算法.對於輸入的例項點 特徵向量 x xx,最近鄰法將訓練資...
統計學習方法筆記 K近鄰法
看完了knn演算法,感覺演算法挺簡單的,選擇k的大小,距離計算公式,分類決策三個部分就行了,並且三個部分用的東西都挺常見,沒什麼難度。後面的提到了乙個改進演算法,搜尋空間kd演算法,這樣可以幫助我們很快的找到k個最近鄰,運用中位數縮小搜尋空間,省去了對大部分資料點的搜尋。思想不難 k近鄰法是一種基本...