1. 程式人生 > >K近鄰法

K近鄰法

數據集 量化 學習過程 要求 過程 nbsp k近鄰 實例 數據

  K近鄰法是機器學習所有算法中理論最簡單,最好理解的算法。它是一種基本的分類與回歸方法,它的輸入為實例的特征向量,通過計算新數據與訓練數據特征值之間的距離,然後選取K(K>=1)個距離最近的鄰居進行分類判斷(投票法)或者回歸。如果K=1,那麽新數據被簡單地分配給其近鄰的類。

  對於分類問題:輸出實例的類別。分類時,對於新的實例,根據其k個最近鄰的訓練實例的類別,通過多數表決等方式進行預測。

  對於回歸問題:輸出為實例的值。回歸時,對於新的實例,取其k個最近鄰的訓練實例的平均值為預測值。

  k近鄰法分類的直觀理解:給定一個訓練數據集,對於新的輸入實例,在訓練集中找到與該實例最近鄰的k個實例。這k個實例的多數屬於某個類別,則該輸入實例就劃分為這個類別。

  k近鄰法不具有顯式的學習過程,它是直接預測。實際上它是利用訓練數據集對特征向量空間進行劃分,並且作為其分類的“模型”

  K近鄰法的三要素為:K值選擇 距離度量 分類決策規則(取均值的規則)。當k=1時,稱為最近鄰算法。應用中,k值一般取一個較小的數值,通常采用交叉驗證法來選用最優的k值,就是比較不同k值時的交叉驗證平均誤差率,選擇誤差率最小的那個k值。

  KNN算法要求數據的所有特征都可以做可比較的量化。

K近鄰法