予測精度の高いモデルができればそれでよいのか?

分子設計・材料設計・プロセス設計・プロセス管理において、分子記述子・実験条件・合成条件・製造条件・評価条件・プロセス条件・プロセス変数などの特徴量 x と分子・材料の物性・活性・特性や製品の品質などの目的変数 y との間で数理モデル y = f(x) を構築し、構築したモデルに x の値を入力して y の値を予測したり、y が目標値となる x の値を設計したりします。

モデルの予測精度を向上させるために色々と検討した後に、予測精度の高い機械学習モデルを構築した際、それが本当に有用かどうかを常に問い直す必要があります。例えば、極端な例ですが、テストデータに対して、またはダブルクロスバリデーションの結果として、r2 が 1 や正解率が 100% のモデルができたとしたら、本当にそれでよいのでしょうか?このようなモデルが構築できたとしても、それが分子設計、材料設計、プロセス設計、プロセス制御などのプロジェクトでの目的を達成するために役立つとは限りません。基本的にモデル構築を始める時や検討している時に確認する必要がありますが、モデルの作成や改善を検討する中で見落とされがちですので、以下のポイントを改めてチェックすることが重要です。

 

y はそれで良いのか?

モデル y=f(x) を構築できたら、x の値をモデルに入力して、y の値を予測します。この y を予測することについて考えます。y の値を予測することが、何かの役に立つのでしょうか。y を精度良く予測したとしても、予測結果が何にも使えなかったら、モデルには全く意味がありません。もちろん場合によっては、モデルの解釈自体がプロジェクトの成果となることもありますが、その場合でも y を予測するうえでの x の寄与を考えることに本当に意味があるのか、確認しましょう。

 

x はそれで良いのか?

構築されたモデル y=f(x) には x の値を入力して、y の値を予測しますので、y の値を予測したい時に x の値が手に入らなければいけません。予測に必要な x が入手可能かどうかを確認します。例えば、何らかの設計を意図している場合に、必要な x が実験結果に依存していると、その設計が行えなくなる可能性があります。もちろん、例えばモデルの解釈を目的とする場合、実験結果を x に含めることが意味を持つ時があります。このあたりもデータ解析・機械学習の目的によりますので、目的と照らし合わせて、その x から y を予測する形式として問題ないか、確認しましょう。

 

データセットはそれで良いか?

x と y の間で何らかのデータセットを用いてモデルを構築した後に、新しいサンプルに対する x の値から y の値を予測する時に前提としていることは、x として数値化された特徴量以外はモデルを構築したサンプルと予測用の新しいサンプルとで等しいということです。例えばモデルを構築した時に x に入れていない実験条件が予測用のサンプルにおいて変わってしまっていたら、モデル構築時にテストデータやダブルクロスバリデーションでの予測精度が高かったとしても、そのモデルで精度良く予測できるかは怪しいです。また、装置やプラントにおいて、あるプロセス状態において測定されたデータセットを用いて構築されたモデルを用いる時、もし x でそのプロセス状態の特徴を表現できていなければ、モデル構築時にテストデータやダブルクロスバリデーションでの予測精度が高かったとしても、別のプロセス状態において測定されたデータを精度良く予測することは難しいです。

 

データ解析や機械学習を行う際は、それによって達成したい分子設計、材料設計、プロセス設計、プロセス制御などのプロジェクトでの目的に応じて、x , y, データセットが適切かどうかを常に確認しましょう。

 

以上です。

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

タイトルとURLをコピーしました