与えられた学習データを特徴量で張られたベクトル空間上にあらかじめプロットしておき、未知のデータが得られたら、そこから距離が近い順に任意のK個を取得し、その多数決でデータが属するクラスを推定する、距離ベースのアルゴリズム。

K近傍法の手順
①すべての学習データ点を特徴量空間上に配置する。
②予測対象データから、すべての学習データ点までの距離を計算する。
③予測対象データからもっとも近い距離にあるK個の点を見つけて、それらの所属カテゴリの多数決を予測結果として出力する。

Kはユーザーが設定する。



K近傍法は、数多くある機械学習手法の中でも単純なもののひとつ。
単純なので使いやすくさまざまなタスクに適用できるが、以下のような問題がある。

・予測性能は学習データのクラス間の偏りから影響を受けやすい。
・Kをいくつに設定するかに影響されやすい。
・特徴量の数が多い場合、次元の呪いが起きやすいため、高次元データには不向き。
・予測対象データとすべての学習データ点の間の距離を計算する必要があるため、データ量が非常に多い場合に出力が遅くなりがち。

K近傍法はレコメンドエンジンや異常検知などに利用される。