機械学習モデルを解析・解釈することでデータセットから知見・知識を獲得する5つの方針

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

y の予測や x の設計ももちろん重要ですが、モデルを解析することによるデータセットからの知見獲得、知識獲得も多くの分野で求められています。ここでは機械学習モデルを解析・解釈することでデータセットから知見・知識を獲得する5つの方針について説明します。

 

1. y と関係している x だけ選択する

Boruta, GAWLS, GAVDS などを用いて、y を説明するための重要な x を選択します。

[解析結果付き] Boruta、ランダムフォレストの変数重要度に基づく変数選択手法
Boruta という、ランダムフォレスト (Random Forest, RF) の変数重要度に基づいた変数選択手法について、パワーポイントの資料とその pdf ファイルを作成しました。いろいろなデータセットを解析しましたが、モデルの推定性...
[Pythonコードあり] スペクトル解析における波長領域や時系列データ解析におけるプロセス変数とその時間遅れを選択する方法
遺伝的アルゴリズム (Genetic Algorithm, GA) を使って回帰モデルの推定性能がよくなるように、説明変数 (記述子・特徴量・入力変数) を選択する手法を以前解説しました。今回は、スペクトル解析における波長選択と、時系列デー...

 

y を説明するために、どんな分子記述子が重要か、結晶構造のどんな特徴が重要か、スペクトルにおける重要な波長・波数はどこか、そして y に対してどのくらいの時間遅れで x が寄与しているか等を検討できます。

 

2. x の重要度を求める

CVPFI などを用いて、y に対する x の重要度を計算します。

任意の回帰分析手法で変数重要度(特徴量重要度)を計算する機能をDCEKitに搭載しました![v2.10.1]~Cross-validated Permutation Feature Importance(CVPFI)~
どの回帰分析手法でも変数重要度 (特徴量重要度) を計算する機能を DCEKit に搭載しました!重要度が 0 を有意に超えるようであれば、その説明変数 x はモデルの予測精度に貢献しているといえます。しかも、x の間に相関関係があっても、...

 

y を説明するために、最も重要な分子記述子や結晶構造の特徴は何か、スペクトルにおける最も重要な波長・波数はどこか等を検討できます。

 

3. y に対する x の局所的な寄与を求める

LOMP などを用いて、y に対する x の局所的な寄与度を計算します。

非線形回帰モデルを局所的に解釈する手法を開発しました [金子研論文]
金子研の論文が Digital Chemical Engineering に掲載されましたので、ご紹介します。タイトルはLocal interpretation of nonlinear regression model with k-ne...

 

ある (仮想的な) サンプル周りで、x の値をどのように変化させれば、y の値が大きくなったり小さくなったりするか、検討できます。なお、線形モデルの時はどんなサンプル周りでも同じ値です。

真の意味で解釈でき、予測精度も高い線形モデルを開発しました![金子研論文]
タイトルを見て、線形モデルは回帰係数 (各特徴量の目的変数に対する重み) が与えられるのだから、線形モデルを解釈できるのは当たり前では??、と考えた方、非常に危険です。以下、必見です。金子研の論文が ACS Omega に掲載されましたので...

 

4. モデルを直接的逆解析して y が大きい値、中くらいの値、小さい値の時の x を求める

モデルの直接的逆解析では、y の値をモデルに入力することで、x の値を計算できます。

機械学習モデルの逆解析の整理〜線形・非線形モデル、xの制約あり・なし、線形計画法、直接的逆解析、化学構造など
分子設計・材料設計・プロセス設計・プロセス管理において、分子記述子・実験条件・合成条件・製造条件・評価条件・プロセス条件・プロセス変数などの特徴量 x と分子・材料の物性・活性・特性や製品の品質などの目的変数 y との間で数理モデル y =...
機械学習モデルによるCFDシミュレーション結果の予測およびモデルの直接的逆解析によるプロセス設計をしました![金子研論文]
金子研の論文が Industrial & Engineering Chemistry Research に掲載されましたので、ご紹介します。タイトルはPrediction of CFD Simulation Results Using Ma...

 

例えば y の大きめの値をモデルに入力して x を計算して、y の値を少し小さくしてモデルに入力して x を計算して、、、といったことを繰り返すことで、y の値を変化させる各 x の値の傾向や寄与の大きさを検討できます。

分子構造やプロファイルや画像など、サンプルが数値データとしての x で表現されていない場合は、直接特徴量化するプロセスを挟むことで、分子構造・プロファイル・画像として直接解釈することも可能です。

物性・活性予測モデルの直接的逆解析による分子設計における精度向上を達成しました![金子研論文]
金子研の研究成果の論文が molecular informatics に掲載されましたので、ご紹介します。タイトルはImproving Molecular Design with Direct Inverse Analysis of QSA...
バッチプロセスにおいてバッチ時間の異なるバッチを含むデータセットを用いた、バッチプロセスの終点予測やバッチプロファイル(時間含む)を設計する手法を開発しました [金子研論文]
金子研の論文が Computers & Chemical Engineering に掲載されましたので、ご紹介します。タイトルはDirect prediction of the batch time and process variable...
低次元化を駆使して直接的逆解析法の予測精度を向上させる手法を開発しました![金子研論文]
金子研の論文が Chemometrics and Intelligent Laboratory Systems に掲載されましたので、ご紹介します。タイトルはLifting the Limitations of Gaussian Mixtu...

 

5. x を変化させてモデルに入力して y の予測値の変化を求める

ある (仮想的な) サンプルの x の値をモデルに入力して y の値を予測します。その後、着目した x の値のみ変化させて y の値を予測します。このときの y の予測値の変化を見ることで、着目した x を変化させることで y がどのように変化するか、検討できます。

分子構造やプロファイルや画像など、サンプルが数値データとしての x で表現されていない場合は、分子構造・プロファイル・画像を変化させてモデルに入力して y の予測値の変化を求めます。

分子構造・化学構造のデータセットで構築された機械学習モデルを解釈する2つの方向性
分子設計・材料設計・プロセス設計・プロセス管理において、分子記述子・実験条件・合成条件・製造条件・評価条件・プロセス条件・プロセス変数などの特徴量 x と分子・材料の物性・活性・特性や製品の品質などの目的変数 y との間で数理モデル y =...

 

 

以上です。

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

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