遺伝的アルゴリズムによる特徴量選択・変数選択は制約により偶然の相関や過学習を回避せよ!

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

予測精度の高いモデルを構築するため、そしてモデルの解釈性を向上させるため、特徴量選択・変数選択を行うことがあります。今回はその中で、遺伝的アルゴリズム (Genetic Algorithm, GA) を用いた変数選択についてです。

GA と回帰分析手法を組み合わせることで、その回帰分析手法で構築されるモデルにおける予測精度の指標の値が大きくなるように、x の組み合わせを決められます。

GAPLS, GASVR でモデルの推定性能がよくなるように説明変数の選択をしよう![Pythonコードあり]
遺伝的アルゴリズム (Genetic Algorithm, GA) を使って説明変数を選択する話です。2つの手法である Genetic Algorithm-based Partial Least Squares (GAPLS) Geneti...
GAPLSやGASVRだけでなくGA+回帰分析手法で変数選択・特徴量選択
分子設計・材料設計・プロセス設計・プロセス管理において、分子記述子・実験条件・合成条件・製造条件・評価条件・プロセス条件・プロセス変数などの特徴量 x と分子・材料の物性・活性・特性や製品の品質などの目的変数 y との間で数理モデル y =...

 

例えば GA とガウス過程回帰 (Gaussian Process Regression, GPR) を組み合わせた GA-GPR では、GA の適合度 (目的関数) を GPR を用いてクロスバリエーションを行ったときの、回帰分析では r2 など、クラス分類では正解率などとすることで、r2 や正解率が大きくなるような x の組み合わせを求められます。適合度の計算において、クロスバリデーションによる評価の代わりに、テストデータを用いた評価にしても構いません。他にも、例えば GA-PLS や GA-SVR では上の GPR がそれぞれ PLS や SVR になります。

部分的最小二乗回帰(Partial Least Squares Regression, PLS)~回帰分析は最初にこれ!~
部分的最小二乗回帰 (Partial Least Squares Regression, PLS) について、pdfとパワーポイントの資料を作成しました。データセットが与えられたときに、PLSで何ができるか、どのようにPLSを計算するかが説...
サポートベクター回帰(Support Vector Regression, SVR)~サンプル数10000以下ならこれを使うべし!~
サポートベクター回帰(Support Vector Regression, SVR)について、pdfとパワーポイントの資料を作成しました。データセットが与えられたときに、SVRで何ができるか、SVRの特徴、どのように計算するかが説明されてい...

 

 

Genetic Algorithm-based WaveLength Selection (GAWLS) や Genetic Algorithm-based process Variable and Dynamics Selection (GAVDS) を用いることで、それぞれスペクトルデータにおいて波長の領域や波数の領域を幅で選択できたり、時系列データにおいてプロセス変数とその時間遅れを同時に選択できたりします。

[Pythonコードあり] スペクトル解析における波長領域や時系列データ解析におけるプロセス変数とその時間遅れを選択する方法
遺伝的アルゴリズム (Genetic Algorithm, GA) を使って回帰モデルの推定性能がよくなるように、説明変数 (記述子・特徴量・入力変数) を選択する手法を以前解説しました。 今回は、スペクトル解析における波長選択と、時系列デ...

 

これらの GA を用いた特徴量選択の問題は、過学習を起こしやすいことです。

変数選択・特徴量選択のときに注意すること
変数選択・特徴量選択の手法はいろいろあります。同じ値をもつサンプルの割合が大きい特徴量を削除したりとか、相関係数の絶対値が大きい特徴量の組の一つを削除したりとか、 モデルの予測精度を高めるように特徴量を選択したりとか、 乱数の特徴量のような...

 

本来であれば y とは関係のない x にもかかわらず、(他の x との関係性を含めた) 偶然の相関によって、無意味な変数でも選択されてしまいます。

y-randomizationで過学習(オーバーフィッティング), Chance Correlation(偶然の相関)の危険度を評価!
回帰モデル・クラス分類モデルの評価 のなかで、yランダマイゼーション (y-randomization) についてです。y-scrambling と呼んだりもします。 やることは簡単で、目的変数 y の値をサンプル間でシャッフルして、回帰モ...

 

これは特にサンプルが少ないときに起こりやすく、GA の適合度の計算において、クロスバリデーションからテストデータの r2 や正解率に変えても、偶然の相関や過学習が起こる可能性はゼロにはなりません。言い換えると、yランダマイゼーションをしたときも、クロスバリデーション後やテストデータにおける r2 や正解率が大きくなってしまいます。

偶然の相関の影響を低減させる一つの方法は、ドメイン知識などで、選択される特徴量に制約を設けることです。例えば、ある特徴量 A が選択されるときには時には特徴量 B は選択されないとか、特徴量 C が選択されるときは必ず特徴量 D が選択されるとかです。GAWLS によるスペクトル解析でも、例えばある波長もしくは波数は必ず選択されるような領域にするとか、GAVDS においても、例えばあるプロセス変数 F の時間遅れは、別のプロセス変数 G の時間遅れよりも大きくなるようにするとかです。

このように制約を設けることで、特徴量選択の自由度が下がり、偶然の相関が起こりにくくなります。もちろん可能性がゼロになるわけではありませんので、yランダマイゼーションでも検証する必要があると思いますが、制約を設けない場合と比べると、本来のデータセットにおける r2 や正解率と、yランダマイゼーション後の r2 や正解率との差が大きくなる傾向になります。

GA を用いた特徴量選択、波長(波数)領域選択、プロセス変数とその時間遅れの同時選択を検討するときは、上のような制約をできる限り考慮するようにしましょう。

 

以上です。

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

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