統計學習方法筆記 KNN

2021-09-06 14:25:34 字數 1458 閱讀 1217

k近鄰法(k-nearest neighbor,k-nn),這裡只討論基於knn的分類問題,2023年由cover和hart提出,屬於判別模型

k近鄰法不具有顯式的學習過程,演算法比較簡單,每次分類都是根據訓練集中k個最近鄰,通過多數表決的方式進行**。所以模型需要保留所有訓練集資料,而象感知機這樣的模型只需要儲存訓練後的引數即可,訓練集不需要保留

k近鄰演算法

k近鄰法三要素

和其他統計學習方法不同的,k近鄰法的三要素是,k值的選擇,距離度量和分類決策規則

距離度量

首先如何定義「近」?需要通過距離度量,比如最常見的歐氏距離

下面這個比較清楚,歐氏距離只是p=2的case,也稱為l2距離

分類決策規則

往往採用多數表決,但是也可以採用其他的策略

kd樹

對於knn有個根本問題是,當訓練集比較大時,線性的掃瞄效率是很低的,需要更為高效的方法來找到k近鄰,這裡介紹的kd數是二叉樹,其實就是以二分的方式查詢,將複雜度由n變小為logn。

那麼關鍵問題就是,如何能夠二分的索引訓練點和給定任意乙個點如何從kd樹中找到最近鄰?

構造kd樹

基本思路,迴圈的以k維空間中的每一維對訓練資料進行劃分

劃分標準,往往是使用訓練集在該維上的中位數進行劃分,具體看下下面的例子

使用中位數可以保證樹是平衡的,但不一定效率最優

例子,

首先用x維劃分,中位數為7,(7,2)放在節點上

(2,3) (4,7) (5,4)劃分到左子樹,而(8,1) (9,6)劃分到右子樹

然後用y維進行劃分,

對於左邊區域,y維的中位數為4,(4,7)放在節點上,(2,3) (5,4)分布劃分到兩個子樹

對於右邊區域,y維的中位數為6。。。

然後再用x維進行劃分。。。

統計學習方法筆記 KNN

k近鄰法 k nearest neighbor,k nn 這裡只討論基於knn的分類問題,1968年由cover和hart提出,屬於判別模型 k近鄰法不具有顯式的學習過程,演算法比較簡單,每次分類都是根據訓練集中k個最近鄰,通過多數表決的方式進行 所以模型需要保留所有訓練集資料,而象感知機這樣的模型...

統計學習方法讀書筆記 knn

看李航老師統計學習方法時的筆記。其實書上寫的已經非常易懂了,但是為了自己記憶,姑且寫個筆記,個別地方是自己的理解,可能有偏差。knn是由cover和hort在1967年提出的分類和回歸方法 監督學習的 它是乙個機遇距離的機器學習演算法,因此更多地適用於數值型的資料集 用jarccard相似度倒也可以...

統計學習方法之kNN演算法

統計學習方法讀書筆記之knn演算法 k 近鄰法是機器學習中最基本的分類和回歸方法,也稱為knn演算法。通常k近鄰法用於分類問題。k近鄰法假定給定乙個訓練資料集,其中例項類別已定。分類時,對新的例項,根據其k個最近鄰的訓練例項類別,一般通過多數表決的方式來進行 例如,有兩堆水果,一堆是橙子,一堆是柚子...