はじめに
機械学習を学ぶ上で、「k近傍法(k-Nearest Neighbors, k-NN)」 は非常に基本的かつ重要なアルゴリズムのひとつだ。
特にG検定の試験では、その判定基準として「多数決」「最頻値」「中央値」「平均値」のどれが適切かを問われる問題がよく出題される。
さて、k近傍法ではどの判定基準が使われるのだろうか?
k近傍法(k-NN)の基本概念
k近傍法(k-NN)は、「教師あり学習」に分類される機械学習アルゴリズムである。
分類問題や回帰問題に応用できるが、今回の問題では分類問題が前提になっている。
k-NNの動作原理
- 学習データの配置
- 各データポイント(特徴ベクトル)をベクトル空間にプロットする。
- 未知データ(予測対象)に対する最近傍の探索
- 未知データが与えられたとき、そのデータと既存データの距離を計算する(一般的にはユークリッド距離が用いられる)。
- k個の近傍データを取得
- 距離が近い順にk個のデータを選択する。
- クラスを決定
- 近傍データのラベルをもとに、新しいデータのクラスを予測する。
このステップ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検定では、正確な用語の違いを理解することが重要だ。
問題を見たときに、「これは分類問題か?回帰問題か?」をまず判断し、その上で適切な計算方法を選択できるようにしておこう。
コメント