什麼是K近鄰演算法?


K近鄰演算法是一種分類方法,它不假設類別成員(Y)和預測變數X1, X2,…. Xn之間關係的結構。

這是一種非引數方法,因為它不包括對假定函式形式(包括線性迴歸中假定的線性形式)中引數的估計。這種方法從資料集中資料的預測變數值之間的相似性中提取資料。

K近鄰方法的概念是識別訓練資料集中與需要分類的新資料相同的k條記錄。它可以使用這些相似(相鄰)的記錄將新記錄定義到一個類別中,將新資料歸類到這些鄰居中占主導地位的類別。它用X1, X2,…. Xn表示這條新記錄的預測變數值。

一個核心問題是如何根據預測變數值計算資料之間的距離。眾所周知的距離度量是歐幾里得距離。兩條記錄(X1, X2,…. Xn)和(U1, U2,…. Un)之間的歐幾里得距離為

$$\mathrm{\sqrt{(X_1-U_1)^2+(X_2-U_2)^2+...+(X_n-U_n)^2}}$$

K-NN演算法依賴於多次距離計算(在每個待預測資料和訓練集中的每個資料之間),因此計算成本低的歐幾里得距離在K-NN中最受歡迎。

為了平衡多個預測變數可能具有的尺度,在大多數情況下,必須在計算歐幾里得距離之前標準化預測變數。用於標準化新資料的均值和標準差是訓練資料的均值和標準差,新資料不參與計算。驗證資料(如新資料)也不參與此計算。

計算待分類資料與當前記錄之間的距離後,需要根據其鄰居的類別來為待分類記錄分配類別的規則。

最簡單的情況是k = 1,我們尋找最接近的資料(最近鄰),並將新資料分類為與其最接近的鄰居屬於同一類別。

一個非凡的事實是,當我們有大量訓練集記錄時,這種使用單個最近鄰對記錄進行分類的簡單、有見地的概念可能非常強大。事實證明,1-最近鄰設計的誤分類誤差的誤分類率不超過能夠準確理解每個類別的機率密度函式時的誤差的兩倍。

更新於:2022年2月10日

400 次瀏覽

開啟你的職業生涯

完成課程獲得認證

開始學習
廣告