深入理解KNN演算法

2021-07-22 15:30:58 字數 711 閱讀 1606

1. knn是個"消極"演算法, y = f(x1,x2,........xp, x),其中x1,x2,........xp是訓練資料,x是待分類或回歸查詢例項,y是分類或回歸結果.整個過程中沒有建立任何數學模型. 

2. 與"積極"演算法的乙個關鍵差異:  knn可以為不同的待分類查詢例項建立不同的目標函式逼近.

3. knn的唯一假設,函式f是平滑的.

4. knn演算法的理論上限: 

當我們的訓練集中觀測點的數目很大的時候,可以證明1-nn的誤分的概率不劣於我們知道每個類的精確的概率密度函式時誤分概率的2倍.換句話說,如果有大量的資料及充分複雜的分類規則,我們最多能減少劃分錯誤到用簡單的1-nn規則時的一半.

5. 相比1-nn,高一點的k值(knn)的優點是提供平滑的分類,避免過擬合到訓練資料中的雜訊資料.典型應用中,k取值從幾到十幾,很少成百上千.

6. knn 的缺點:

1) 訓練集的大小隨著尾數的增長以指數增長.

2) 當維數很多時,真正對分類有用的維度可能被淹沒在其中了,造成維度災難.

3) 在大訓練集中尋找最近鄰太費時間,可以通過以下方法進行優化:

a. 通過降維技術來減少維數,如主成分分析,從而減少計算距離的時間;  

b.用複雜的資料結構,如搜尋樹去加速最近鄰的確定。這個方法經常通過設定「幾乎是最近鄰」的目標去提高搜尋速度;  

c.編輯訓練資料去減少在訓練集中的冗餘和幾乎是冗餘的點,從而加速搜尋最近鄰.

KNN和K means深入理解

目標 1.knn 英文 2.knn的計算步驟 3.k means英文 4.k means計算步驟 1.knn knn,k nearestneighbor,k鄰近演算法 2.knn的計算步驟 1 算距離 給定測試物件,計算它與訓練集中的每個物件的距離 2 找鄰居 圈定距離最近的k個訓練物件,作為測試物...

KMP演算法深入理解

knuth morris pratt演算法 簡稱kmp 是最常用字元傳匹配演算法之一。它以三個發明者命名,起頭的那個k就是著名科學家donald knuth。kmp演算法對於任何模式和目標序列,都可以在 線性時間 內完成匹配查詢,而不會發生退化。1 kmp演算法的原理 kmp演算法中主要的概念是ne...

深入理解遞迴演算法

下面是對遞迴演算法執行過程的理解 結合漢諾塔問題 原始碼 public class hanoi else public static void main string args 為了方便我等下解釋執行過程,也把 的截圖貼在下面 準備工作做完了,正式開始理解過程的講解 以漢諾塔三個圓盤時為例,這裡n ...