統計學習方法筆記(七)k近鄰法

2021-08-15 17:53:28 字數 1342 閱讀 1008

輸入為特徵向量,輸出為多個類別。在k近鄰法中,例項的類別已定,分類時,對新的例項,根據其k個最近鄰的訓練例項的類別,通過多數表決等方式進行**。

其基本要素為k值的選擇、距離度量以及分類決策規則。

簡單描述:給定乙個訓練集,對新的輸入例項,找到與其最鄰近的k個例項,這k個例項的多數屬於哪個類,該輸入例項就被分為哪個類

演算法:

輸入:訓練資料集;輸出:某個例項所屬的類別

1)根據給定的距離度量,找到與

x x

最鄰近的k個點,涵蓋這k個點的鄰域稱為nk

(x)' role="presentation" style="position: relative;">nk(

x)nk

(x)2)在nk

(x) nk(

x)中根據分類決策規則決定

x x

的類別 y=

arg⁡

maxcj⁡

∑xi∈

nk(x

)i(y

i=cj

),i=

1,2,

⋯,k' role="presentation" style="position: relative;">y

=arg

maxcj∑

xi∈n

k(x)

i(yi

=cj)

,i=1

,2,⋯

,ky=

arg⁡

maxcj⁡

∑xi∈

nk(x

)i(y

i=cj

),i=

1,2,

⋯,k一般所用的距離度量為p=1,p=2或者p=無窮,其對應圖形為:

k值的選擇:

k值較小,則近似誤差會減小,但估計誤差會增大,**結果會對附近的例項點非常敏感,也就是說,k值越小,意味著模型越複雜

k值較大,近似誤差會比較大,但估計誤差會減小,這時較遠的訓練示例也會對**起作用,使**發生錯誤,k值越大,意味著模型越簡單

分類決策規則:多數表決規則,等價於經驗風險最小化

上文中,已經將k近鄰法的實現步驟基本講解清楚,唯一的問題是,怎麼快速的找到k個近鄰點,這就需要通過k近鄰樹來實現搜尋,通過以下示例給出:

統計學習方法筆記 K近鄰法

看完了knn演算法,感覺演算法挺簡單的,選擇k的大小,距離計算公式,分類決策三個部分就行了,並且三個部分用的東西都挺常見,沒什麼難度。後面的提到了乙個改進演算法,搜尋空間kd演算法,這樣可以幫助我們很快的找到k個最近鄰,運用中位數縮小搜尋空間,省去了對大部分資料點的搜尋。思想不難 k近鄰法是一種基本...

統計學習方法 k近鄰法

k近鄰法 knn 是一種基本的分類與回歸方法 分類這種需求,滲透到我們生活的方方面面 分類演算法可以幫助我們完成這些繁瑣的操作,並根據我們的要求不斷修正分類結果。分類演算法其實蠻多的,這裡順著書本順序,詳細講解knn演算法,再與k means k means 演算法進行簡單對比。k近鄰法是這樣乙個過...

統計學習方法 K近鄰法

k近鄰演算法簡單 直觀給定乙個訓練資料集,對新的輸入例項,在訓練資料集中找到與該例項最鄰近的k個例項,這k個例項的多數屬於某個類,就把該輸入例項分為這個類.下面先敘述k近鄰演算法,然後再討論其細節。近鄰法的特殊情況 k 1情形,稱為最近鄰演算法.對於輸入的例項點 特徵向量 x xx,最近鄰法將訓練資...