予測誤差は全部ノイズ!~ノイズを0にする方向で考えよう!~

シェアする

分子設計・材料設計・プロセス設計・プロセス管理において、分子記述子や合成条件・製造条件・プロセス条件などの説明変数 x と物性・活性・特性などの目的変数 y の間で数理モデル y = f(x) を構築し、構築されたモデルを用いて x の値から y の値を予測したり、y が目標値になるような x の値を設計したりします。このとき、予測精度の高い数理モデルを構築することが重要になります。言い換えると、モデル構築に使用していないサンプルに対して、予測した y の値と実際の y の値がなるべく合うようなモデルです。ただ一般的には、すべての (モデル構築に用いられてない) サンプルの予測結果が、実際の値とぴったり合うことはありません。必ず予測誤差が生じます。

統計的な理論を考えたり、新たな回帰分析の手法を考案したりするときは、予測誤差をバイアスとバリアンスに分けて、、、といったことが必要ですが、一方で回帰分析手法をデータセットに適用して、予測誤差の小さいモデル構築を試みるときは、基本的に予測誤差の原因はすべてノイズととらえて問題ありません。

ノイズは、Wikipedia では

処理対象となる情報以外の不要な情報

とされています。データ解析・機械学習において、y を説明できなかったときのよくわからないもの、と考えるかもしれません。しかし、データ解析・機械学習におけるノイズを、「よくわからないもの」 としてしまうのは得策ではありません。なぜ予測誤差 (不要な情報) が生じるかというと、x で説明できなかったからです。例えば、まったく同じ合成条件 x で 2 回合成して、その後分析して得られた物性 y の値が2つで異なるとき、これも一つのノイズです。

機械学習のどんな手法を用いても、すべての x の値がまったく同じで y の値は異なるサンプルがあるとき、これらのサンプルを正確に予測することは不可能です。

x の値がまったく同じで y の値は異なるとき、現状の x では y を説明するのに不十分といえます。2つの実験でまったく同じにできていなかった (x 以外の) 合成条件があったり、実験する際に成り行きで変わってしまうパラメータがあったり、y を分析するときに2つで変わってしまった分析条件があったりすると考えます。これらを x に追加することで、y の値を説明できるようになる可能性があります。いわゆる測定ノイズでさえも、何らかの分析装置内のパラメータを x として追加すれば説明できるようになるかもしれません。

このように、すべての x の値がまったく同じときに y の値がどうなっているかを確認し、これらがブレる要因を x に追加することで、モデルの予測精度は向上しやすくなります。

他にも、y の予測値が実測値と比べて小さいとき、その誤差の由来となるノイズが生じている要因、原因を考えて、x に追加することも重要です。

モデルの予測精度を向上させるためには、機械学習の手法を改良するだけでなく、特徴量の設計や新たな提案をすることも重要になります。ぜひこのような考え方でより良いモデルを目指していただければ幸いです。

以上です。

質問やコメントなどありましたら、twitter, facebook, メールなどでご連絡いただけるとうれしいです。

シェアする

フォローする