KNN(k近鄰)演算法原理

2021-08-20 11:58:26 字數 873 閱讀 9627

原理:樣本點的特性與該鄰居點的特性類似,可以簡單理解為「物以類聚」。因此可以使用目標點的多個鄰近點的特性表示當前點的特性。

1、knn分類演算法:「投票法」,選擇這k 個樣本中出現最多的類別標記作為**結果;

2、knn回歸演算法:「平均法」,將這k 個樣本的實值輸出標記的平均值作為**結果;

(1)k值的選擇:k是超參(需要給定),k值過小容易導致過擬合(比如噪音點的資料會對結果造成影響),k值過大訓練誤差會增大,同時會使模型變得簡單,容易導致欠擬合。

(2)距離的度量:採用歐式距離

(3)決策規則:在分類模型中,主要使用多數表決法或者加權多數表決法;在回歸模型中,主要使用平均值法或者加權平均值法。(基於距離遠近進行加權,,距離越近的樣本權重越大.)

4.1蠻力實現(brute):一般在小規模資料量的時候優先選擇此方法;

原理:計算**樣本到所有訓練集樣本的距離,然後選擇最小的k個距離即可得到k個最鄰近點。缺點在於當特徵數比較多、樣本數比較多的時候,演算法的執行效率比較低;

4.2kd樹(kd_tree):

原理:kd樹演算法中,首先是對訓練資料進行建模,構建kd樹,然後再根據建好的模型來獲取鄰近樣本資料。

4.3 其他方法,比如:ball tree、bbf tree、mvp tree等。

KNN k近鄰演算法

現在假如我們已經擁有了一些資料 稱為訓練資料集 ts,並且擁有所有資料的類別名 即每條資料應該歸於哪個類別。當我們要判斷一條不知類別的資料時,首先讓這條資料m和已經擁有的所有的資料ts中的每一條資料進行比較,然後根據比較結果選擇出和m最相似 一般是基於距離 的k條資料 k是個整數,並且通常是小於20...

kNN(k近鄰演算法)

k近鄰分析 knn 一 概述 knn演算法是一種有監督學習的分類演算法。所謂有監督學習,就是在應用演算法之前我們必須準備一組訓練集,訓練集中的每個例項都是由一些特徵和乙個分類標籤組成 通常還會存在乙個測試集,用來測試訓練出來的分類模型的準確性。其實knn演算法並沒有體現出有監督學習的所有特點,沒有模...

kNN k近鄰演算法

一 knn演算法的思想 knn演算法作為機器學習演算法中非常有效比較容易掌握的演算法,其基本思想是採用測量不同特徵值之間的距離的方法進行分類。knn屬於監督學習演算法,它的工作原理是 存在乙個樣本資料集,訓練樣本集,並且樣本集中的每個資料都存在標籤,即我們知道樣本集中每乙個資料與所屬分類的對應關係。...