分子設計・材料設計・プロセス設計・プロセス管理において、分子記述子・実験条件・合成条件・製造条件・評価条件・プロセス条件・プロセス変数などの特徴量 x と分子・材料の物性・活性・特性や製品の品質などの目的変数 y との間で数理モデル y = f(x) を構築し、構築したモデルに x の値を入力して y の値を予測したり、y が目標値となる x の値を設計したりします。
y の物性や活性において、同じ化合物もしくは同じ化合物の組み合わせで温度や圧力を変えて測定されたデータセットがあり、x として化合物情報や実験条件の情報に加えて、温度や圧力を用いて y の値を予測したい場合があります。温度や圧力を変化させて x から y を予測することで、物性や活性の温度依存性や圧力依存性を予測できます。このような状況において機械学習モデルを構築する場合、データセットの扱いに主に3通りの方法があります。
1つ目は、単純に温度や圧力など、依存性を予測したいパラメータを x に追加する方法です。データセットには、たとえば化合物や化合物の組み合わせ、もしくは合成条件・作製条件は全く同じで、物性・活性に関する温度や圧力だけ異なるサンプルが存在することになります。この方法では、データセットの使い方として、モデルの予測性能を評価する際に注意が必要です。たとえば、トレーニングデータとテストデータに分割する際に、同じ化合物や同じ化合物の組み合わせ、もしくは同じ合成条件・作製条件で温度や圧力だけが異なるサンプルがトレーニングデータとテストデータに混在しないようにしましょう。ダブルクロスバリデーションを行う際も、ホールドアウト間で同じ化合物もしくは同じ化合物の組み合わせ、もしくは同じ合成条件・作製条件で温度・圧力のみが異なるサンプルが混在しないようにしましょう。
この方法では、1つのモデルで化合物・合成条件・作製条件や温度・圧力に対する y の変化を表現できます。一方で、温度や圧力の値ごとに、たとえば化合物の構造が物性・活性を発現するメカニズムが異なる場合、温度依存性・圧力依存性を表現するモデルを構築できない可能性があります。
2つ目は、温度や圧力を x には入れず、温度や圧力の値ごとにモデルを構築する方法です。モデルの数は、温度や圧力の値の種類の数になります。温度や圧力の揃ったデータがない時は、化合物ごともしくは化合物の組み合わせ、もしくは合成条件・作製条件ごとに、直近の温度間や圧力間の y のデータで未測定の y のデータを線形補完します。もちろん様々な補完方法がありますが、測定されていない温度や圧力における y の値は誰にも分かりませんので、おかしな値の出にくい線形補完をします。
この方法では、温度の値・圧力の値ごとにモデル化できるため、最初の方法で問題であった「温度や圧力ごとに構造の物性・活性が発現するメカニズムが異なる場合」にも、柔軟に温度依存性・圧力依存性をモデル化できます。一方で、モデル化していない温度や圧力の値における y の値は予測できません。また、温度や圧力ごとに物性・活性が発現するメカニズムがことなり、化合物ごとに同じメカニズムの温度や圧力が異なる場合は、モデル化が困難になります。
3つ目は、この方法でも温度や圧力を x には入れず、温度や圧力の依存性を別の理論的な数式もしくは近似式で表現 (フィッティング) し、そのフィッティングした式のパラメータを y としてモデル化する方法です。予測する際は x からパラメータを予測し、そのパラメータに基づいて理論的な数式もしくは近似式で温度ごと・圧力ごとの y の値を計算します。
この方法では、理論的な数式もしくは近似式で化合物や化合物の組み合わせごとの本質的な温度依存性・圧力依存性のパラメータを計算できていると仮定すれば、構造と y の間で妥当なモデルを構築できると考えられます。もちろん、最初に温度や圧力依存性を理論的な数式もしくは近似式で近似した際の誤差が、最終的な予測誤差にも効いてきますので注意が必要です。
以上の3つの方法において、分子・材料ごと、物性・活性ごと、データセットごとにどの方法が適しているかは異なると考えられますので、それぞれの方法でモデル化し、比較・検討すると良いでしょう。
以上です。
質問やコメントなどありましたら、x, facebook, メールなどでご連絡いただけるとうれしいです。