← SEARCHABLE ARCHIVE
Artificial Intelligence · 2026-07-02

K最近接近隣アルゴリズムとは?

最も近いK個のデータで結果を予測する

INTERACTIVE READING MODE →

本ブログ作成文は、講義を目指して製作されました。 また、作成された文章の情報も間違っている可能性がありますので、ご注意ください。

K-Nearest Neighbors、縮小してKNNは新しいデータに最も近いK個のデータを見つけて結果を決めるアルゴリズムである。 韓国語ではK最近接近隣アルゴリズムと呼ぶ。

周辺の多数に沿って行く

リンゴとオレンジの重さ、カラーデータをすでに持っているとしましょう。 新しい果物が入ったら、既存のデータの中で最も近い果物を探します。

新フルーツ周辺5個
リンゴ4個
オレンジ1個

予測結果:リンゴ

ここで K が 5 なら近接データ 5 個を確認する。 分類問題では最も多くのクラスを選択し、回帰問題では近い値の平均を使用できます。

学習より検索に近い

KNNは複雑なモデルを事前に作る過程がほとんどない。 学習データをそのまま保存しておき、予測するたびに新しいデータとの距離を計算する。

学習ステップ:データを保存する。
予測ステップ:すべてのデータと距離を計算します。

したがって、実装は単純ですが、データが多いほど予測が遅くなります。 データがN個で特徴がD個である場合、単純な実装は一度予測したときにほぼN個の距離を計算しなければならない。

K値は結果を変える

Kが1の場合、最も近いデータだけを信じます。 小さなノイズにも結果が簡単に変わることができる。

Kが大きすぎると、遠くにあるデータまで含めて地域的な特徴を失う。 2つのクラスが同様の数で存在する場合、同率を減らすために奇数を選択することもありますが、必ずしも奇数が正解であるわけではありません。

KNNの核心は、近いデータが同様の性質を持つという仮定です。 したがって、距離の意味がはっきりしており、データのサイズが大きすぎない問題で最初に試してみるのは良いアルゴリズムです。