機器學習與數據挖掘之k近鄰法

參考文獻:機器學習與數據挖掘參考文獻


k近鄰法是一種基本分類與迴歸方法。k近鄰算法簡單、直觀:給定一個訓練數據集,對新的輸入實例,在訓練數據集中找到與該實例最近鄰的k個實例,這k個實例的多數屬於某個類,就把該輸入實例分爲這個類。k近鄰法的特殊情況是k=1的情形,稱爲最近鄰算法。對於輸入的實例點(特徵向量)x,最近鄰法將訓練數據集中與x最鄰近點的類作爲x的類。

k近鄰法沒有顯式的學習過程。

k近鄰法使用的模型實際上對應於特徵空間的劃分。模型由三個基本要素——距離度量、k值的選擇和分類決策規則決定。

一、模型

k近鄰法中,當訓練集、距離度量(如歐氏距離)、k值及分類決策規則(如多數表決)確定後,對於任何一個新的輸入實例,它所屬的類唯一地確定。這相當於根據上述要素將特徵空間劃分爲一些子空間,確定子空間裏的每個點所屬的類。

二、距離度量

特徵空間中兩個實例點的距離是兩個實例點相似程度的反映。k近鄰模型的特徵空間一般是n維實數向量空間Rn

設特徵空間X是n維實數向量空間Rn,xi,xjX,xi=(xi(1),xi(2),...,xi(n))T,xj=(xj(1),xj(2),...,xj(n))T,xi,xj的Lp距離定義爲


這裏p≥1.當p=2時,稱爲歐氏距離,即


當p=1時,稱爲曼哈頓距離,即


當p=∞時,它是各個座標距離的最大值,即


三、k值的選擇

k值的選擇會對k近鄰法的結果產生重大影響。

k值小時,k近鄰模型更復雜,近似誤差小,估計誤差大;k值大時,k近鄰模型更簡單,估計誤差小,近似誤差大。k值的選擇反映了對近似誤差與估計誤差之間的權衡,通常由交叉驗證選擇最優的k。

四、分類決策規則

k近鄰法中的分類決策規則往往是多數表決,即由輸入實例的k個鄰近的訓練實例中的多數類決定輸入實例的類。

五、k近鄰法的實現:kd樹

k近鄰法最簡單的實現是線性掃描。這時要計算輸入實例與每一個訓練實例的距離。當訓練集很大時,計算非常耗時,這種方法是不可行的。

爲了提高k近鄰搜索的效率,可以考慮使用特殊的結構存儲訓練數據,以減少計算距離的次數。

kd樹是一種便於對k維空間中的數據進行快速檢索的數據結構。kd樹是二叉樹,表示對k維空間的一個劃分,其每個結點對應於k維空間劃分中的一個超矩形區域。利用kd樹可以省去對大部分數據點的搜索,從而減少搜索的計算量。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章