k最近鄰(k-nearest neighbor,knn)演算法,是著名的模式識別統計學方法,在機器學習分類演算法中占有相當大的地位。它是乙個理論上比較成熟的方法。既是最簡單的機器學習演算法之一,也是基於例項的學習方法中最基本的,又是最好的文字分類演算法之一。
如果乙個例項在特徵空間中的k個最相似(即特徵空間中最近鄰)的例項中的大多數屬於某乙個類別,則該例項也屬於這個類別。所選擇的鄰居都是已經正確分類的例項。
該演算法假定所有的例項對應於n維歐式空間ân中的點。通過計算乙個點與其他所有點之間的距離,取出與該點最近的k個點,然後統計這k個點裡面所屬分模擬例最大的,則這個點屬於該分類。
一張圖助你理解:
該演算法涉及3個主要因素:例項集、距離或相似的衡量、k的大小。
乙個例項的最近鄰是根據標準歐氏距離定義的。更精確地講,把任意的例項x表示為下面的特徵向量:
1.為了判斷未知例項的類別,以所有已知類別的例項作為參照以下由打鬥次數和接吻次數的資料集以及對應的電影型別,預知在某一打鬥次數和接吻次數條件下應該歸為哪一類 :2.選擇引數k
3.計算某未知例項與已知例項的距離
4.選擇k個最近的已知例項
5.根據少數服從多數的投票法則(majority-voting),讓未知例項歸類為k個最近臨近樣本中最多數的類別
把訓練集虛擬成向量(點集):
計算g點與所有點的距離:
若給定的k值為3,則選擇最小的3個距離 的點:a,b,c
在a,b,c中投票選取最大概率出現的型別:romance
所以g的歸類應該是romance
根據k值的不同討論綠色點的歸類:
選取不同的k值對歸類結果存在影響,可以通過增大k值減少噪音(最好選取奇數)
機器學習分類篇 最鄰近規則分類KNN
最鄰近規則分類演算法 k nearest neighbor cover和hart在1968年提出了最初的鄰近演算法,也被稱為基於例項的學習或懶惰學習,與決策樹演算法相比,處理訓練集的時候並不建立任何模型,進行分類時才將測試樣例和所有已知例項進行比較進而分類。如上圖,主要有兩種色塊,藍色方塊和紅色三角...
機器學習鄰近演算法(KNN)
臨近演算法 臨近演算法 knn 是資料探勘分類技術中最簡單的方法之一。所謂k最近鄰,就是k個最近的鄰居的意思,說的是每個樣本都可以用它最接近的k個鄰居來代表,knn方法既可以做分類,也可以做回歸。knn演算法的核心思想是如果乙個樣本在特徵空間中的k個最相鄰的樣本中的大多數屬於某乙個類別,則該樣本也屬...
機器學習 KNN鄰近演算法
1 knn 演算法概述 cover和hart在1968年提出了最初的鄰近演算法。所謂k最近鄰,就是k個最近的鄰居的意思,說的是每個樣本都可以用它最接近的k個鄰居來代表。knn是一種分類 classification 演算法,它輸入基於例項的學習 instance based learning 屬於懶...