統計學習 k NN篇

2021-09-24 03:39:07 字數 1292 閱讀 2445

k 近鄰法是一種基本的分類與回歸方法,其三個基本要素是k值的選擇距離度量分類決策規則,乙個實現方法是kd樹

它的基本思想是給定乙個訓練資料集,對新的輸入例項,在訓練資料集中找到與該例項最鄰近的k個例項,這k個例項的多數屬於某個類,就把該輸入例項分為這個類。當k=1

時為特殊情況,稱為最近鄰演算法。

當三要素確定之後,對於任何乙個新的輸入例項,它所屬的類唯一地確定。

kd樹構造演算法:

輸入:k維空間資料集t;

輸出:kd樹;

(1)構造根節點,它對應於包含t的k維空間的超矩形區域,選擇x(1

)x^

x(1)

為座標軸,以t中所有例項的x(1

)x^

x(1)

座標的中位數為切分點,將根節點對應的超矩形區域切分為兩個子區域,切分點由通過切分點並與座標軸x(1

)x^

x(1)

垂直的超平面實現。並生成深度為1的左右子節點,左子節點對應座標x(1

)x^

x(1)

小於切分點的子區域,右子節點則對應大於切分點的子區域,將落在切分超平面的例項點儲存在根節點。(由於每個節點上都有乙個例項,所以實際切分時並不是嚴格地以中位點為切分點,如果是奇數則按中位點,偶數則按照中位點右邊那個例項為切分點)。

(2)重複:對深度為j

jj的節點,選擇x(l

)x^

x(l)

為切分的座標軸(其中,l=j

(mod

k)+1

l=j(mod k)+1

l=j(mo

dk)+

1),同樣按上述法則生成深度為j+1

j+1j+

1的左右子節點,分別代表2個子區域,並將落在切分超平面上的例項點儲存在該節點上。

(3)上述操作直到左右2個子區域沒有例項為止。

搜尋kd樹(以最近鄰為例):

輸入:已經構造好的kd樹,目標點xxx;

輸出:x

xx的最近鄰;

(1)在kd樹中找到包含目標點的葉子節點;

(2)將此葉子節點的例項點設為當前最近點

(3)遞迴地向上回退,在每個節點進行下述操作:

(4)當回溯到根節點時,則搜尋結束,最後的「當前最近點」則為最鄰近點。

統計學習 KNN

knn是一種基本的分類 由與該樣本最近的k個樣本進行投票表決 與回歸方法 回歸問題 可以將乙個樣本的k個近鄰的平均屬性或者加權平均屬性賦予該樣本 k值的選擇,距離度量以及分類決策規則是knn的三個基本要素。knn1968年由cover和hart提出。1.1閔可夫斯基距離 閔可夫斯基距離不是距離,是一...

統計學習方法筆記 KNN

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

統計學習方法筆記 KNN

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