次元の呪い(Curse of dimensionality)とは?:AI・機械学習の用語辞典
用語「次元の呪い」について説明。特徴量などの次元が多くなるほど、必要な訓練データの量が「指数関数」的に増えてしまう現象を指す。
用語解説
機械学習における次元の呪い(Curse of dimensionality)とは、次元(=ニューラルネットワークで言うと入力データとなる特徴量)の数が増えるほど、正確に一般化する(=高い精度のモデルを作る)ために必要な訓練データの量が「指数関数」的に増えてしまうことである(=呪いのようにつきまとう宿命)。
元々は、数学的な空間における呪われた現象として、数学者であるRichard E. Bellman氏(動的計画法やベルマン方程式で有名)が1957年に論文の中で言及した概念である。今では、機械学習など多数の領域で発生することが確認されている。機械学習(特にクラスタリングのk近傍法など距離を扱う手法)やディープラーニングを実践する人は、留意すべき概念である。
なぜ「次元の呪い」という現象が発生するかについて、例え話を使って直感的に説明しておこう。
「指数関数」的にデータが必要となる直感的な説明
あなたは、パンに塗るための「おいしいジャム」を食べ比べしながら調査しているとしよう。
まずは、いちご/マーマーレード(オレンジ)/ブルーベリー/リンゴ/レモン/いちじく/あんず/マンゴー/桃/梅などという「素材」ごとに食べ比べてみる。この値が1つ目の次元(x1)である。
次に、甘い/しょっぱい/すっぱいなどの「味」が2つ目の次元(x2)。
その次が、赤色/ピンク色/オレンジ色/黄色/茶色/紫色などといった「色」が3つ目の次元(x3)。
さらに、「柔らかい〜硬いなどの食感(x4)」「さらさら〜ごろごろといった粒感(x5)」……といった具合に、どんどん次元(特徴量)を増やすことは可能である。
あなたは「ジャムのおいしさ」を正確に評価する(=データを正確に一般化する=高い精度のモデルを得る)必要がある。そのため、「素材」ごと、「味」ごと、「色」ごとにジャムを食べ比べて評価しなければならない。その食べ比べも、まだ2次元ぐらいだと(例えば次元となる特徴量が「素材」と「味」だけで、各特徴量とも10段階と仮定して、10種類の「素材」と10種の「味」の組み合わせの比較、つまり10×10=100回の試食であれば)、まだ我慢できるかもしれない。しかし次元(特徴量)が増えていくにつれて、1000回、1万回、10万回、100万回……と指数関数的に試食の回数が増えると、もう無理ではないだろうか(前掲の図1参照)。
そもそも試食するには、たくさんのジャム(=データ)を用意しなければならないし、食べて評価するのにもすごく時間がかかるようになる。食べ過ぎるとおいしさの細かな違いが逆によく分からなくなってしまうなどの副作用も出てくるかもしれない。これが「次元の呪い」のイメージである。
機械学習では、データ量(=たくさんのジャム)とトレーニング時間(=食べ比べて評価する時間)が必要になる。
機械学習を行っていると、例えば「センサーからの加速度情報を追加」「時間情報を追加」さらに「GPS情報も追加」といったように、取りあえず得られるものを特徴量として次々と追加したくなる場合もあるだろう。そのような場面では、「次元の呪い」がある点に留意してほしい。
ちなみに、特徴量が多いと不要なノイズも多いということなので、ニューラルネットワークではそういったノイズ(=無関係な特徴量、先ほどのジャムの例でいうと「色」はおいしさには関係がないかもしれない)にまで適合してしまうため過学習(オーバーフィッティング)の可能性が高まるという問題もある。
そのような「次元の呪い」を回避するためには、有効な特徴量の組み合わせを選択したり(特徴量選択)、複数の特徴量を1つにまとめたり(特徴量作成)する必要がある。
Copyright© Digital Advantage Corp. All Rights Reserved.