見出し画像

説明変数の数と学習レコード数

モデルを構築する際、説明変数の数(レコードの項目数)は、多ければ多い程良いと言えるでしょうか?

この答えは、常にYESとは言えません。[1]

前回のコラム「予測に必要なデータ項目は?」の内容と相反するように聞こえますが、この答えをYESと答えるには、

学習レコード数 >> 項目数

の関係が、統計モデルとして信頼できる精度を確立するのに必要です。

また、学習に必要なレコード数は項目数が増えるほど指数的に増大するため、安易な追加は好ましくありません。

この現象は、パターン認識の世界では、

「一般的にデータの特徴量の次元をむやみに増やすと識別精度が悪くなる」

もので、「ヒューズの現象」あるいは「次元の呪い」として戒められています。

これは、学習に与えることの出来るデータが有限個数であることを考えた場合、 次元が増えるほどその空間上のデータ分布が分散してしまうことが原因です。

さらに、追加した項目ごとに十分なパターンを収集することは、実際のデータ収集のコストを考えるとますます困難となり、必然的に偏りを持つデータを扱わざるを得ないことになります。そのようなデータを学習するとどうなるでしょうか?

それは、過学習すなわち、学習データ固有の特性を複雑な関数で表現してしまい、学習に用いていない一般のデータに対する性能が逆に落ちる確率が増大することになります。

概して、レコードの収集のコストに比べて、項目の収集の方が容易であることが多いため、安易な追加を行いがちになりますが、その項目のデータ分布を見ながら、導入すべきかどうかの検討を一つ一つ慎重に行う必要があります。

現実問題として、レコード数が項目に対して十分取得できない場合の次元削減 の手段として、
   ・業務固有の制約条件の考慮
     ・空間的対称性/時間的非対称性(因果律関係/状態の時間的連続性)
     ・大域的な指標の導入(統計分布など)
     ・粗視化(Coarse Graining)
    ・変数選択(モデルのスパース性の仮定[2])
等による情報量の集約を行い、
    学習レコード数 >> 項目数
を実現して過学習を回避することが、汎用性を持つモデルを作る上で重要です。

※[1] 日常体験と矛盾するように感じますが、日常体験では追加される説明変数に対して出力結果の体験、すなわち別のモデルとの総合評価になるので、その結果出力が絞り込まれて予測精度が一般に高まります。

※[2]  あらゆるものごとの変化に影響する本質的な情報はごくわずかであるとして、変数が少ないモデルの評価を高めるモデル探索方針のこと。

※弊社では、データ分析プロジェクトにまつわる様々なご相談に、過去20年以上に渡るプロジェクト経験に基づき、ご支援しています。社内セミナーの企画等、お気軽にご相談いただければ幸いです。

製品カタログ
https://www.ipros.jp/search/product/ニューラルワークス/
https://www.aperza.com/ja/s/catalog/?k=ニューラルワークス&rf=1110

この記事が気に入ったらサポートをしてみませんか?