【DS検定対策】データが増えると計算が破綻する!?恐怖の「次元の呪い」
予測の精度を上げようとして、データの項目(特徴量・次元)をむやみに増やしていくと、あるところで逆に精度がガタ落ちしたり、計算が終わらなくなったりします。これがデータサイエンス界の怪奇現象「次元の呪い」です。
1. 【 問題 】
機械学習や統計学において、データの変数(特徴量の数・次元)が増えるにつれて、データを表現するために必要な空間の体積が指数関数的に増大し、その結果データが非常に希薄(スカスカ)になって予測モデルの学習が急激に困難になったり、計算量が爆発したりする現象を何と呼ぶでしょうか?
① 次元の呪い
② 勾配消失問題
③ 多重共線性(マルチコ)
④ 局所最適解の罠
2. 【 解答 】
3. 整理:次元が増えるとなぜ問題が「指数関数的」に難しくなるのか?
「空間がスカスカになる」という現象を、お菓子の箱の中にデータを詰めるイメージで視覚的に整理してみましょう。
10cmの線の中に、1cmおきに10個のデータを置けば、データがギッシリ詰まった状態を作れます。
・2次元(平面)の空間:
縦10cm × 横10cmの箱になると、同じ密度でデータを詰めるには「10 × 10 = 100個」のデータが必要です。
・3次元(立体)の空間:
縦×横×高さが10cmの立方体になると、同じ密度には「10 × 10 × 10 = 1,000個」必要です。
・100次元の空間(実務のデータ):
同じ密度を保つために必要なデータ数は 10の100乗(宇宙の全原子数を超える桁数)という途方もない数になります!
★ ここが呪いの本質:
次元が数万、数十万と増えていくと、手元にある数万件程度のデータでは「広大すぎる空間に対してデータが圧倒的に足りず、どこもかしこもスカスカ」という状態になります。こうなると、データ同士の「近さ・遠さ(距離)」の差がほとんどなくなってしまい、先ほど学んだクラスタリング(距離で分ける)や、K-means、KNNといった「距離を使うアルゴリズム」が全く機能しなくなってしまいます。
5. DS検定形式:実戦4択クイズ
問:機械学習において「次元の呪い」を回避し、過学習を防ぎながら計算コストを抑えるためのアプローチとして、最も不適切なものを一つ選べ。
① 主成分分析(PCA)などの手法を用いて、情報の損失を最小限に抑えつつ低次元の空間に写像する(次元削減)。
② 予測にあまり寄与していない、重要度の低い特徴量(変数)をフィルタリングして削除する(特徴量選択)。
③ モデルの表現力を最大化するために、手元にある限られたデータ数のまま、さらに新しい特徴量を数千個手動で作成して追加する。
④ L1正則化(Lasso回帰)などを用いて、不要な変数の重みを自動的に0にし、実質的な次元を減らす。
【 正解: ③ 】
解説: 次元の呪いを解決するための基本戦略に関する問題です。 データ数が限られている中で、むやみに特徴量を数千個も追加(③)すると、空間がさらにスカスカになり、次元の呪いが加速して猛烈に過学習(オーバーフィッティング)を起こします。①(次元削減)、②(特徴量選択)、④(正則化によるスパース化)は、いずれも次元の呪いを解くための王道の防衛策です。
6. まとめ
DS検定において「次元が増えるにつれて問題が指数関数的に難しくなる」「空間が希薄(スカスカ)になる」という主旨が登場したら、答えは「次元の呪い」です。 データが多ければ多いほど良いわけではなく、適切なサイズに「絞る(次元削減)」ことこそがデータサイエンティストの重要な役割である、という格言のようなコンセプトですので、しっかりと記憶に刻んでおきましょう!