次元

記事数:(2)

学習

次元の呪い:高次元データの罠

機械学習では、様々な情報をもとに予測を行います。これらの情報のひとつひとつを次元と呼びます。例えば、家の値段を予測する際には、家の広さ、築年数、駅からの距離といった情報が次元となります。これらの情報が多いほど、より正確な予測ができると考えるのは自然な発想です。しかし、現実はそう簡単ではありません。次元の数が増えるほど、正確な予測に必要なデータ量が膨大に増えてしまうのです。この現象こそが、次元の呪いと呼ばれています。 例を挙げると、広さのみを考慮する場合、100平方メートルごとに区切れば、ある程度の精度で価格帯を予測できるかもしれません。しかし、築年数も考慮するとなると、10年ごとに区切り、広さと築年数の組み合わせごとにデータを用意する必要があります。さらに駅からの距離も加えると、1キロメートルごとに区切り、三つの情報の組み合わせごとにデータが必要になります。このように次元が増えるごとに、必要なデータ量は掛け算式に増えていくのです。 高次元空間では、データはまばらに存在するとイメージしてみてください。限られた数のデータでは、広大な空間を埋め尽くすことはできません。そのため、データとデータの間の空白部分が大きくなり、正確な予測をするのが難しくなります。地図上に家が数軒しかない状態で、他の場所の価格を予測するのは困難です。より多くの家、つまりデータがあれば、精度の高い予測が可能になるでしょう。 次元の呪いは、機械学習において重要な課題です。高次元データを用いる際には、この呪いを意識し、適切な対処法を検討する必要があります。例えば、本当に必要な次元を取捨選択する、あるいは次元を減らす工夫をするなど、様々な方法があります。限られたデータから最大の効果を得るためには、次元の呪いを理解し、適切な対策を講じることが不可欠なのです。
学習

次元の呪いを解き放つ

たくさんの情報があれば、より的確な予想ができる。これは、誰もが当然のことのように思うでしょう。機械学習の世界でも、データに含まれる情報が多ければ多いほど、精度の高い予測ができると考えがちです。しかし、実際はそう単純ではありません。 データが持つ情報の量を表す指標の一つに、次元があります。次元とは、データの特徴を表す変数の数のことです。たとえば、りんごの大きさ、色、甘さ、酸味などを変数として考えると、これらの変数の数が次元に当たります。次元が増えると、データの情報量は増えるように思えますが、実際には落とし穴があります。これが「次元の呪い」と呼ばれる現象です。 一見すると、多くの情報を持つ高次元データは、宝の山のように見えます。しかし、次元が増えると、データ空間、つまりデータが存在する範囲は、驚くほどの速さで広がっていきます。たとえるなら、次元が一つ増えるごとに、データ空間の体積は、ある一定の比率で急激に大きくなるようなものです。このため、たとえ大量のデータを集めたとしても、広がりきったデータ空間を埋め尽くすには全く足りません。まるで、広大な砂漠に、まばらに砂粒が散らばっているような状態です。 このようなまばらなデータでは、機械学習のモデルは全体像を把握することができません。学習データに限りなく近いデータであれば、ある程度の予測はできますが、少し異なるデータになると、予測精度が著しく低下してしまいます。例えるなら、りんごの大きさ、色、甘さだけを学習したモデルは、酸味が異なるりんごについては、正しい予測ができなくなるかもしれません。つまり、データが多ければ良いという常識とは逆に、高次元データは機械学習モデルの性能を低下させることがあるのです。この現象こそが、次元の呪いと呼ばれるものであり、機械学習において克服すべき重要な課題の一つです。