分子設計・材料設計・プロセス設計を行うとき、分子記述子や材料の合成条件・製造条件やプロセス条件などの特徴量 x と物性・活性・特性など y との間で、データを用いて数理モデル y = f(x) を構築します。そして、そのモデルを用いて x から y を予測したり、y の目標値から x の値を設計したりします。このようにモデルを活用するときは、基本的にモデルの適用範囲 (Applicability Domain, AD) を設定します。
AD とは、モデルが本来の予測性能を発揮できる x のデータ領域のことです。詳しくはこちらをご覧ください。
AD が広いと、より多くの x の値を予測できることになり、y が目標の値となるような信頼できる x の設計ができることになります。モデルの予測性能というのは、y の誤差だけでなく AD の広さにも関連し、AD は広いほどモデルの予測性能は高いです。
モデルを構築するときは、AD の広いモデルを構築することが望まれます。では AD を広げるにはどうすればよいでしょうか。
最も確実な方法は、モデルを構築するためのサンプルを増やし、サンプルの多様性を高くすることです。モデルはそれを構築したときのサンプルに基づいており、AD もサンプルに依存するため、サンプルが多くなるほど、サンプルの多様性が高くなるほど、AD は広くなります。
ただ、難しい実験をする場合など、簡単にサンプル数が増やせない場合もあります。
そのようなときに AD を広げる可能性のある方法の一つは、x の次元を削減することです。x から重要な特徴量だけ選択したり、低次元化手法により x を潜在変数 z に変換してからモデル y = f(z) を構築したりします。
ただ、何が何でも x を減らせばよいわけではありません。x を減らした後に、y との間で的確なモデルを構築できる必要があります。特徴量選択・変数選択するときのオーバーフィッティングには注意する必要があります。
モデルを構築するときの特徴量の数を減らすことができれば、減らす前に存在していた x についてはモデル構築用データのサンプルがもつ値付近である必要がなくなるため (その x に関係なく AD の中か外かが決まるため)、AD は広がる傾向があります。
もう一つの方法は半教師あり学習や転移学習を使用することです。
例えば、クラス分類のときに半教師あり学習をすることで、ラベルなしのサンプルを追加してモデルを構築することになるため、最初に述べたサンプルを増やして AD が広がる効果があります。また先の次元削減とも関連しますが、ラベルなしのサンプルを使って次元削減する場合には、モデルを構築する特徴量が減ることで AD が広がる傾向があります。
転移学習についても、もちろんターゲットドメインのサンプルとソースドメインのサンプルという違いはありますが、基本的にサンプルが増える効果があり、AD が広がる傾向があります。
x から y を予測したり、y の値から x の値を予測したりするときだけでなく、ベイズ最適化のように基本的に x の外挿領域、すなわち AD の外側を探索するときでも、
AD が広がるほど探索する領域は狭くなり、探索しやすくなります。ぜひ AD を広げる検討をしてみるとよいでしょう。
以上です。
質問やコメントなどありましたら、twitter, facebook, メールなどでご連絡いただけるとうれしいです。