機械学習の手法のうち「K近傍法」について。
目次
AI・ディープラーニングの全体像
- 人工知能
- 機械学習
- ディープラーニングの基本・応用
- ディープラーニングの研究
- AIプロジェクト
- AI社会実装に伴う法律・倫理
機械学習(教師あり学習)の手法④K近傍法
概要
- 「K近傍法(K-Nearest Neighbor;KNN)」
→学習データを特徴量で貼られたベクトル空間上にあらかじめ配置
→未知のデータが入力された際、その点から距離の近い順に、任意のK個の学習データ点を考慮
→多数決で未知のデータが属するクラスを推定 - 距離ベースのアルゴリズム
- 分類問題に使いやすい
手法
- 学習データ点を、「特徴量空間」に配置
- 予測対象データから、それぞれの学習データ点との距離を計算する
- 予測対象データから最も近い距離にあるK個の点を見つけ、それらの所属するクラス多数決を予測結果として採用する
- 「K」とは、ユーザーが設定するパラメータ
※K=3とした場合、最も近い順から3つの特徴量を取り、その多数決を取る - 距離(類似度)の定義として、ユークリッド距離、マンハッタン距離、チェビシェフ距離など
特徴
- データ点との距離を計算し、未知データに最近接している類似点の多数決を採用する仕組み
- 単純なため、使いやすく、幅広いタスクに適用できる
- 予測性能は、学習データの”クラス間の偏り”から影響を受けやすい
- ”「K」をいくつに設定するか”、に影響を受けやすい
- 特徴量の数が多い場合、「次元の呪い(計算量や必要サンプル数の爆発的増加)」が起きやすく、高次元には不向き
- 予測対象データとすべての学習データ点の間の距離を計算する必要がある
(=データ量が多い場合に出力が遅くなりがち)
使用例
- レコメンドエンジン
(Aと類似度の高いユーザーを探して特徴量空間上に配置、Aとの距離を計算、K人の評価を参考に、Aが未評価の評価を推定、加重平均評価から、推定評価上位のものをAにレコメンドする) - 異常検知