logo

次元の呪い 📂データサイエンス

次元の呪い

定義 1

主にユークリッド空間 Rd\mathbb{R}^{d}において、ある問題を解決するために必要なメモリの量や演算回数が次元ddに対して指数的に増加することを次元の呪いcurse of dimensionalityと呼ぶ。

説明

多くの問題で次元が増えるということは、考慮する変数が増えることを意味する。例えば、ある化学物質の純度ccモデルffと酸素濃度xxに▶eq06◀のように現れる場合、xxの値をn=10n = 10程度変更しながら計算し、ccがどこで最大化されるかを把握するのはそれほど困難ではない。しかし、ここに炭素量もyy追加で考慮されると、c=f(x,y)c = f(x, y)は平面上でn2=100n^{2} = 100回の計算を要求し、温度zzまで考慮されるとn3=1000n^{3} = 1000回の計算が必要となる。このように、計算の精度に影響を及ぼすnnを減らすことができず、次元が増えるにつれて計算量が大幅に増加する状況を、われわれは「次元の呪いを受けている」と言う。

機械学習などで次元の呪いとは、高次元空間を扱う際に学習のためのデータがむしろ不足する現象を指すことがある。これは一見して上記の定義と関係なさそうに思えるが、次元が増加することで「適切な学習」のためのデータが実際に存在していれば、その容量が相当あったであろうということで、本質的には同じ話になる。

次元の呪いを克服する方法は問題とデータによって千差万別であるが、共通して考えられる手段としては、主成分分析のような次元削減がまず考慮されることが多い。


  1. Breaking the Curse of Dimensionality, Or How to Use SVD in Many Dimensions I. V. Oseledets and E. E. Tyrtyshnikov SIAM Journal on Scientific Computing 2009 31:5, 3744-3759 https://doi.org/10.1137/090748330 ↩︎