最終更新日:2026年9月23日
gk machine_learning supervised_learning
まず結論
k-NN(k-Nearest Neighbors:k近傍法)は、新しいデータの近くにあるk個の学習データを見て、分類や回帰を行う教師あり学習です。
- 分類 → 近傍のクラスを多数決などで決める
- 回帰 → 近傍の目的値を平均するなどして予測する
G検定では、k-meansとの混同が最重要です。
k-NN=教師あり・近傍数k
k-means=教師なし・クラスタ数k
直感的な説明
新しい点について、
「一番近い人たちは、どんな答えだった?」
と周囲を見て判断するイメージです。
たとえば新しい製品のセンサー値が、過去の「異常」データに近いものばかりなら、その製品も異常と判断しやすくなります。
定義・仕組み
分類
- 新しいデータと学習データの距離を計算する
- 近い順にk個を選ぶ
- 近傍のクラスから予測する
単純な多数決だけでなく、距離が近いデータを重く扱う方法もあります。
回帰
近いk個の目的値を平均したり、距離に応じて重み付き平均したりして連続値を予測します。
kの意味
kは参照する近傍データの数です。
- kが小さすぎる → 個々のデータやノイズの影響を受けやすい
- kが大きすぎる → 局所的な特徴が薄れやすい
したがって、kはハイパーパラメータとして調整します。
遅延学習・インスタンスベース学習
k-NNは、線形回帰の係数のような複雑なモデルパラメータを事前に推定するのではなく、予測時に学習データとの距離を計算します。
そのため、遅延学習(Lazy Learning)やインスタンスベース学習と呼ばれます。
いつ使う?(得意・不得意)
向いている場面
- 近いデータは似た答えを持つと考えられる
- データ数が極端に大きくない
- 単純な基準で分類・回帰したい
注意点
- 予測時に距離計算が必要
- 特徴量のスケールの影響を受けやすい
- 不要な特徴量が多いと距離が意味を持ちにくくなる
- 高次元では「近い・遠い」の差が分かりにくくなることがある
距離を使うため、単位が大きく異なる特徴量では標準化・正規化を検討します。
G検定ひっかけポイント
k-NN=クラスタリング?
❌ 正解ラベルなしでグループを作る
⭕ ラベル付きデータを参照する教師あり学習
kの意味
❌ k=クラスタ数
⭕ k=参照する近傍数
クラスタ数のkはk-means側です。
学習時に大きなニューラルネットワークを作る?
❌ 学習データから多数の重みを最適化する
⭕ 学習データを保持し、予測時に近傍を探す
標準化は不要?
❌ 距離を使っても単位の違いは影響しない
⭕ 距離ベースなので特徴量スケールに注意する
まとめ(試験直前用)
- k-NN=近いk個を見る教師あり学習
- 分類=多数決など
- 回帰=平均など
- k=近傍数
- 距離ベースなのでスケーリングに注意
- 遅延学習・インスタンスベース学習
- k-meansとは別物
名前の違いを重点復習するなら、k-means法とk-NNの違いも確認してください。