給定乙個訓練集,對新的輸入例項,在訓練資料集彙總找到與該例項最鄰近的k個例項,這k個例項的多數屬於某個類,就把該輸入例項分為這個類.
2.1 距離度量
特徵空間中兩個例項點的距離是兩個例項點相似程度的反映.距離度量可以使用歐式距離,或更一般的lp距離、minkowski距離.
2.2 k值的選擇
在應用中,k一般取乙個比較小的數值(小於20),通常採用交叉驗證法來選去最優k值.
近似誤差和估計誤差的區別:
近似誤差:可以理解為對現有訓練集的訓練誤差。
估計誤差:可以理解為對測試集的測試誤差。
2.3 分類決策規則
k近鄰法中的分類決策規則往往是多數表決,即由輸入例項的k個鄰近的訓練例項中的多數類決定輸入例項的類.
3.1 構造kd樹
實現k近鄰法時,主要考慮的問題時如何對訓練資料進行快速k近鄰搜尋,尤其是當特徵空間的維數大及訓練資料容量大時.
構造kd樹演算法:
注:l=j(mod k) + 1,即輪流的使用k維空間的每個維度進行劃分。
如有許多個點,空間為三維,首先使用x維,選取x軸中位數點進行劃分,然後使用y軸,選取y軸中位數點進行劃分,然後使用z軸,選取z軸中位數點進行劃分,這時點如果還沒有劃分到每個節點(即kd樹每個節點有1個點),再依次使用x、y、z軸對剩餘的點進行劃分。
注:劃分的時候取中位數該處是向上取整,如6個數取第4個。
3.2 搜尋kd樹
注:kd樹每乙個節點都表示包含該節點座標值的乙個區域。
統計學習方法(第三章)k近鄰演算法
k近鄰演算法 knn是通過測量不同特徵值之間的距離進行分類。它的的思路是 如果乙個樣本在特徵空間中的k個最相似 即特徵空間中最鄰近 的樣本中的大多數屬於某乙個類別,則該樣本也屬於這個類別。k通常是不大於20的整數。knn演算法中,所選擇的鄰居都是已經正確分類的物件。該方法在定類決策上只依據最鄰近的乙...
統計學習方法 第三章 k近鄰法
k近鄰法是一種基本的分類與回歸方法,這裡只討論分類問題中的k近鄰法。演算法描述 首先給定乙個訓練集,對於待分類的輸入資料,在訓練集中找到與該輸入資料最鄰近的k個樣本,這k個樣本中哪個類別最多,就把待分類資料分給這個類。k近鄰法沒有顯式的學習過程。k近鄰法的三個基本要素 當這三個要素確定後,任何乙個新...
統計學習方法筆記 第三章 K近鄰法
k近鄰法 knn 是一種基本的分類與回歸的方法,這裡只介紹其分類問題。knn演算法的基本思想 對於乙個新的輸入資料點,在訓練集中找到與它距離最近的k個點,若這k個點中大部分屬於a類,則該資料點也屬於a類。演算法流程 特殊地,若k 1,則相當於離輸入例項最近的乙個樣本例項直接決定了它的類別。knn模型...