k近傍法(k-NN: k-Nearest Neighbors)とは、新しいデータポイントに最も近いk個の訓練データの多数決(分類)または平均値(回帰)で予測を行うアルゴリズムです。学習フェーズがなく、予測時にすべての計算を行う「怠惰学習(Lazy Learning)」の代表例です。
アルゴリズムの仕組み
予測時に、入力データと全訓練データとの距離を計算し、最も近いk個のデータポイントを選びます。分類ではk個の中で最も多いクラスを予測値とし、回帰ではk個の値の平均を予測値とします。
距離指標の選択
ユークリッド距離が最も一般的ですが、マンハッタン距離、ミンコフスキー距離、コサイン類似度など、データの特性に応じた距離指標を選択できます。
kの値と前処理
kが小さいとノイズに敏感(過学習気味)、kが大きいと決定境界が滑らか(未学習気味)になります。また、特徴量のスケールに影響を受けやすいため、事前の正規化や標準化が重要です。