k近傍法(k-NN)の仕組みとは?最頻値が分類に使われる理由を徹底解説【G検定対策】

G検定対策

はじめに

機械学習を学ぶ上で、「k近傍法(k-Nearest Neighbors, k-NN)」 は非常に基本的かつ重要なアルゴリズムのひとつだ。
特にG検定の試験では、その判定基準として「多数決」「最頻値」「中央値」「平均値」のどれが適切かを問われる問題がよく出題される。
さて、k近傍法ではどの判定基準が使われるのだろうか?

スポンサーリンク
スポンサーリンク

k近傍法(k-NN)の基本概念

k近傍法(k-NN)は、「教師あり学習」に分類される機械学習アルゴリズムである。
分類問題や回帰問題に応用できるが、今回の問題では分類問題が前提になっている。

k-NNの動作原理

  1. 学習データの配置
    • 各データポイント(特徴ベクトル)をベクトル空間にプロットする。
  2. 未知データ(予測対象)に対する最近傍の探索
    • 未知データが与えられたとき、そのデータと既存データの距離を計算する(一般的にはユークリッド距離が用いられる)。
  3. k個の近傍データを取得
    • 距離が近い順にk個のデータを選択する。
  4. クラスを決定
    • 近傍データのラベルをもとに、新しいデータのクラスを予測する。

このステップ4において、どのようにクラスを決めるかが今回の問題のポイントだ。

問題

実際のG検定で出題された問題を見てみる。

k近傍法は、与えられた学習データをベクトル空間上にプロットし、未知のデータに対し、そこから距離が近い順に任意のk個を取得し、その(●)でデータが属するクラスを推定する。

選択肢

  • 多数決
  • 中央値
  • 最頻値
  • 平均値

正解は「最頻値
だが、この選択肢の中には「多数決」も含まれており、少し混乱するかもしれない。
なぜ「最頻値」が正解なのか、k-NNの仕組みを詳しく見ていこう。


なぜ「最頻値」が正解なのか?

k-NNの分類問題では、k個の近傍データの中で最も多く出現するクラスを新しいデータのクラスとして割り当てる。
これは統計学的に「最頻値(モード)」を取ることと同じである。

例えば、以下のようなケースを考えてみよう。

近傍データのクラス 個数
Aクラス 3
Bクラス 2
Cクラス 1

この場合、k=6 のとき、最も多く出現したクラスは「Aクラス」なので、新しいデータのクラスは「A」と判断される。

つまり、k-NNでは「最頻値を基準にクラスを決定する」ため、問題の正解は「最頻値」となる。


「多数決」と「最頻値」の違いは?

多数決」も「最頻値」と似た概念に思えるが、厳密には異なる。

  • 多数決: 選択肢が「2つ」しかない場合には、多数決という表現が適切。例えば、Yes / No の判定など。
  • 最頻値: 選択肢が3つ以上ある場合には、最も頻出する値を「最頻値」と呼ぶ。

G検定では、「最も多く出現したクラスを選ぶ」という文脈のため、正しい統計用語である「最頻値」を答えとして選ぶべきなのだ。


他の選択肢はなぜ間違いなのか?

選択肢 誤りの理由
多数決 2値分類ならば適切だが、k-NNのように3つ以上のクラスがある場合には「最頻値」の方が適切な表現となる。
中央値 中央値は数値データの真ん中の値を求める手法であり、クラス分類には適さない。
平均値 平均値は連続値を扱う回帰問題で用いるが、クラス分類には適用できない。

回帰問題におけるk-NN(k-NN回帰)

なお、k-NNは回帰問題にも利用できる。この場合、k個の近傍の数値データを取得し、その平均値を新しいデータの予測値とする。
つまり、k-NN回帰では「平均値」を使うが、今回の問題は分類問題なので「最頻値」が正解となる。


まとめ

  • k-NNの分類では、「最も頻出するクラス」に基づいて予測するため、「最頻値」を用いる。
  • 多数決」は2値分類に適しているが、3クラス以上ある場合には「最頻値」が正しい統計用語。
  • 中央値」や「平均値」はクラス分類には適さない。
  • 回帰問題の場合は「平均値」を利用することがある。

G検定では、正確な用語の違いを理解することが重要だ。
問題を見たときに、「これは分類問題か?回帰問題か?」をまず判断し、その上で適切な計算方法を選択できるようにしておこう。

コメント