《統計學習方法》讀書筆記 K鄰近法

2022-05-06 05:39:09 字數 954 閱讀 6877

在沒接觸knn法(即k鄰近法)之前,覺得這個演算法很高深,應該不是我這種水貨能輕易學會的。看完本章之後不禁豁然開朗,其實道理很簡單,就是乙個多數投票法,像adaboost演算法,但與之相比要簡單一些。最近做的專案和分類有關,恰好書上也只討論了分類問題中的k鄰近法。它的輸入為樣本的特徵向量,對應於特徵空間中的點;輸出為例項的類別,可以去多類。在一些多類分類中經常可以看到k鄰近法的身影,比如動物分類,天氣分類等,這一點是感知機演算法所不能及的(雖然它也能通過某些方法來進行多類分類,但總感覺不如k鄰近法來的利索)。

k鄰近法假設給定乙個資料集,其中各個樣本的類別已定,也就是說,這個演算法的分類是針對新的樣本來說的,即對新的樣本,根據其k個距離最近的訓練樣本的類別,按照少數服從多數的原則進行**,因此這個方法不像之前的感知機演算法那樣具有顯式的學習過程。k鄰近法實際上利用訓練資料對特徵向量空間進行劃分,並作為其分類的「模型」。k值的選擇、距離度量及分類決策規則是k鄰近法的三個基本要素。

筆記同書,先介紹k鄰近演算法,然後討論k鄰近法的模型及三個基本要素,最後是這個演算法的乙個實現方法——kd樹。

上文已經簡要介紹了k臨近演算法的過程,即對乙個新的樣本,找到特徵空間中與其最近的k個樣本,這k個樣本多數屬於某個類,就把這個新的樣本也歸為這個類。

演算法1 (k鄰近法)

輸入:訓練資料集

其中為樣本的特徵向量,

為例項的類別,i=1,2,…,n;樣本特徵向量x(新樣本);

輸出:樣本x所屬的類y。

(1)根據給定的距離度量,在訓練集t中找出與x最相鄰的k個點,涵蓋這k個點的鄰域記作

;(2)在

中根據分類決策規則(如多數表決)決定x的類別y:

(1)式中i為指示函式,即當

時i為1,否則為0。

由這個簡單的演算法過程可以看出來,距離的選擇、以及k的選擇都是很重要的,這恰好對應的三個要素中的兩個,另乙個為分類決策規則,一般來說是多數表決法。

(未完待續……)

《統計學習方法》讀書筆記 K近鄰法(KNN)

k近鄰法基本介紹 給定乙個訓練資料集,對新的輸入例項,在訓練資料集中找到與該例項最鄰近的k個例項,這k個例項的多數屬於某個類,就把該輸入例項分為這個類。分布描述為 1 根據給定的距離度量,在訓練集t中找出與例項x最近的k個點,涵蓋這k個點的x的領域記為nk x 2 在nk x 中,根據分類決策規則,...

統計學習方法讀書筆記 (三)k近鄰法

個人感覺k近鄰應該是所有統計學習方法裡最好理解的了,通俗來說就是在資料集中找距離測試資料x最近的k個資料樣本,如果a類的數量大於b類的數量,則將測試資料x歸為a類,書中也僅用了不到10頁來論述這個理論,除基本k近鄰理論,還有kd樹的闡述。分類決策規則 一般採用多數表決規則。假設每個資料樣本對應x 1...

統計學習方法讀書筆記(三) k近鄰法

全部筆記的彙總貼 統計學習方法讀書筆記彙總貼 給定乙個訓練資料集,對新的輸入例項,在訓練資料集中找到與該例項最鄰近的k kk個例項,這k kk個例項的多數屬於某個類,就把該輸入例項分為這個類。k kk近鄰法沒有顯式的學習過程。k近鄰法的特殊情況是k 1 k 1k 1的情形,稱為最近鄰演算法。對於輸入...