アルゴリズム機械学習

k-NN

けいえぬぬ · k-Nearest Neighbors
2 views

k-NN(k近傍法)は、未知のデータのカテゴリを予測する際に、最も近い特徴を持つk個の既知データを参照して多数決で決定する、シンプルながら強力な教師あり学習アルゴリズムです。複雑な事前学習を必要としない特徴があります。

k-NNとは

一言でいうと「似たもの同士の集まりを利用して未知のデータを分類・予測する、学習コストが非常に低い教師あり学習アルゴリズム」です。

詳しく解説

k-NNは「k-Nearest Neighbors(k近傍法)」の略称です。新しいデータが入力されたとき、特徴量空間上でそのデータから近い順にk個の訓練データを探し出します。そして、それらのk個のデータの中で最も多いクラスに新しいデータを分類します。あらかじめモデルを構築する「学習フェーズ」がほとんど存在せず、データを蓄積したまま予測時に計算を行うため「遅延学習」や「インスタンスベース学習」に分類されます。

具体例・使われ方

顧客の購買履歴や年齢、性別などの特徴から、新しい顧客が特定の製品を購入するかどうかを予測する場合に利用されます。また、手書き文字認識や、類似した物件価格を周辺の事例から推定する不動産の査定などでも使われます。

似た用語との違い

ディープラーニングなどのパラメトリックなモデルと異なり、k-NNは事前にパラメータを学習しません。また、決定木がデータを軸に沿って分割していくのに対し、k-NNは特徴量空間上の距離そのものを基準にして予測を行うという違いがあります。

注意点

データ数が多くなると予測時の計算量が膨大になり処理速度が低下する点が限界です。また、特徴量のスケール(単位)の違いや、次元の呪いと呼ばれる高次元データにおける精度の低下に弱いため、適切なデータの正規化や次元削減を行う注意が必要です。

更新日時: 2026年9月3日 12:01