「次元の呪い」とは何か
機械学習では、データを特徴量(特徴ベクトル)として扱います。
例えば、画像ならピクセル値、テキストなら単語のベクトル、顧客データなら年齢・収入・購買履歴などです。
これらの「特徴の数(次元)」が増えると、データは高次元空間に存在することになります。
このとき、次元が増えるほどデータの扱いが劇的に難しくなる現象を、「次元の呪い(Curse of Dimensionality)」と呼びます。
もともとは1960年代に数学者リチャード・ベルマンが動的計画法の文脈で提唱した概念で、現在では機械学習や統計解析の根本的な課題として知られています。
高次元空間で起こる4つの主要な問題
データが疎(スパース)になる
次元が増えると、データポイント同士の間隔が広がり、空間が「スカスカ」になります。
たとえば、1次元の区間 [0,1] を10等分する場合、点は10個で済みます。
しかし、同じように10次元の立方体 [0,1]¹⁰ を10等分するには、なんと 10¹⁰(=100億)個 の点が必要です。
つまり、次元 d が増えると、必要なサンプル数は mᵈ のように指数的に増えるため、現実的なデータ数では空間を十分にカバーできなくなります。
この疎密の問題が「次元の呪い」の核心です。
距離や類似度の意味が崩壊する
高次元空間では、「近い」「遠い」といった距離の概念が曖昧になります。
ユークリッド距離やコサイン類似度を使っても、最も近い点と最も遠い点の距離の差がほとんどなくなる現象が起こります。
結果として、クラスタリングや k近傍法(kNN)など、距離ベースの手法が機能しにくくなります。
距離が平坦化し、「どの点も似て見える」状況に陥るのです。
計算コストが指数的に増大する
次元数 d が増えると、行列演算や探索のコストが多項式的(O(d²)〜O(d³))に増大します。
さらに、空間を細かく分割して探索するアルゴリズム(例:kNNやグリッドサーチ)では、必要なサンプル数や計算量が 指数オーダー(mᵈ) で増えることもあります。
つまり、次元の増加は「データの呪い」だけでなく「計算の呪い」でもあるのです。
過学習(オーバーフィッティング)のリスクが急増する
特徴量の数が多く、サンプル数が少ない場合、モデルはノイズまで完全に学習してしまう傾向があります。
特に線形モデルや決定木では、次元数がサンプル数を上回ると過学習リスクが極端に高くなるため、正則化や特徴量選択を行わないと汎化性能(未知データへの適用力)が著しく低下します。
次元の呪いを直感的に理解する例
高次元空間の直感的な例として、「単位球」と「立方体」の関係を考えましょう。
[-1,1]ᵈ のような d 次元立方体から一様にランダムに点をサンプリングしたとき、「原点から距離1以内(=単位球の内部)」に入る点の割合は次元が上がるほど急速に減少します。
つまり、高次元ではほとんどの点が「外側の薄い殻」に分布してしまうのです。
これは「データのほとんどが有効領域から遠ざかる」ということを意味し、統計的推定や近傍探索が困難になる原因です。
次元の呪いへの代表的な対策
特徴量選択(Feature Selection)
不要・冗長な特徴を削除し、重要な変数だけを残す方法です。
主な手法は以下の3タイプに分類されます。
- フィルタ法:相関係数や情報利得で特徴量を評価
- ラッパー法:モデルの性能を基準に特徴を選定
- 埋め込み法:Lasso(L1正則化)や決定木モデルで自動選択
これにより、ノイズを減らしつつ解釈性の高いモデルを作れます。
次元削減(Dimensionality Reduction)
高次元データを低次元に射影することで、情報を圧縮します。
代表的な手法には次のようなものがあります。
- PCA(主成分分析):分散が最大となる軸を抽出
- LDA(線形判別分析):クラス間の分離を最大化
- t-SNE / UMAP:非線形構造を保持しながら可視化
- オートエンコーダ(Autoencoder):ニューラルネットによる非線形圧縮
これらは高次元データの構造を保ちながら、学習を安定化させます。
正則化(Regularization)
モデルの自由度を制限し、過学習を防ぐ手法です。
- L1正則化(Lasso):不要な重みを0にしてスパース化
- L2正則化(Ridge):重みを小さく保ち、安定化
高次元でも過度な適合を抑え、汎化性能を高める効果があります。
サンプル拡張とデータ拡充
根本的なアプローチとして、データ量を増やすことも有効です。
画像分野では回転・反転・ノイズ付加といったデータ拡張、テキストではパラフレーズ生成や転移学習などが代表例です。
ディープラーニング時代の「次元の呪い」
ディープラーニングが登場しても、次元の呪いは完全には消えていません。
ただし、現代のニューラルネットは、データがもつ潜在的な構造(低次元多様体)を自動的に学習できます。
たとえば
- CNN は画像の局所構造を捉え、次元を効果的に圧縮
- Word2Vec / BERT は高次元の単語空間を意味的ベクトルに変換
- Transformer は自己注意機構によって重要次元を動的に抽出
このように、「次元の呪いを克服する」のではなく、「次元と上手く付き合う」のが現代的アプローチです。
まとめ
| 観点 | 内容 |
|---|---|
| 問題の本質 | 高次元でのデータ疎化と距離の崩壊 |
| 主な影響 | 学習困難・過学習・計算負荷増大 |
| 代表的な対策 | 特徴量選択・次元削減・正則化・データ拡張 |
| 現代の方向性 | ニューラルネットによる潜在構造の自動抽出 |
「次元の呪い」は、単なる数理的な制約ではなく、データ表現・モデル設計・計算資源のすべてに影響する根源的な課題です。
本質は「情報の密度をどう維持するか」。
そのため、機械学習における高次元問題を扱う際には、次元削減と正則化を組み合わせた戦略的アプローチが欠かせません。
以上、機械学習における次元の呪いについてでした。
最後までお読みいただき、ありがとうございました。
