LASSDGE法

pirika.comで化学
>チャピエモン-3rd Pirika Origin (CPO)
> ハンセン溶解度パラメータ (HSP)
> 化学全般
>
情報化学  >物性化学 >高分子化学 >化学工学 >その他の化学 >昔のもの
>情報化学ツール >MAGICIAN養成講座 >STEAM
>Pirika ツール群
ブログ
業務案内
お問い合わせ


情報化学 > 情報化学ツール > LASSDGE法

[1. 概要]

LASSDGE法というのはLASSO法とRidge法を混ぜた、山本の作った造語だ。

EOLSは線形回帰の最小2乗法で回帰係数を求める時の損失関数だ。2乗誤差の総和になる。y ̂は予測値, Nはデータ数となる。LASSDGE法はEOLSに絶対値も選べる。

EOLS= i=1N(yiy^i)2  (1)E_{OLS}=\ \sum_{i=1}^{N}{(y_i-{\hat{y}}_i)}^2  (1)

重回帰式[*1]はEOLSが最小となる重回帰係数βを求めることだ。

Ridge回帰、Lasso回帰の損失関数は以下の通りである。(λは分析者が決定するパラメータ、Kは説明変数の数、β:各説明変数の係数)

ERidge= i=1N(yiy^i)2+12λk=1kβk2   E_{Ridge}=\ \sum_{i=1}^{N}{{(y_i-{\hat{y}}_i)}^2+\frac{1}{2}\lambda\sum_{k=1}^{\operatorname{k}}\beta_\operatorname{k}^2\ }  (2)
ELasso= i=1N(yiy^i)2+λk=1k|βk|   E_{Lasso}=\ \sum_{i=1}^{N}{{(y_i-{\hat{y}}_i)}^2+\lambda\sum_{k=1}^{\operatorname{k}}\left|\beta_k\right|\ }  (3)

βk係数の2乗(Ridge法)、もしくはβk絶対値(Lasso)の総和にλをかけたものが正則化項となる。Excelのソルバーを用いれば簡単に実装できるし、多分Pythonのプログラムが利用可能だろう。

[2. LASSDGE法]

簡単に言えば、”誤差が小さくなるように係数を求めたい“ ”ただし、多少誤差が大きくなってもRidge回帰、Lasso回帰の係数がさい方が良いこともある“。この”多少”を示すのがλだ。このλを決めるのは難しい。LASSDGE法は、まずGROVE法[*2]で絶対値誤差(もしくは2乗誤差)を減らす。その計算誤差と係数の総和を見てから徐々にλを調整していく。
誤差逆伝播法[*3]は教師データに実験誤差が含まれる場合、重回帰係数が不安定になる。GROVE法はフィード・フォワード法なので、実験誤差に強い。具体的には遺伝的アルゴリズム法[*4]を使って係数を定める。

3種類のLASSDGEプログラムがある。
WebアプリのPirika Pro 4 MI[*5], Excel上のOffice Scriptバージョン[*6]、Javaバージョンの3つになる。ファイルのサイズが大きく計算に時間がかかる場合にはJavaバージョンを使う。Excelの上で手軽に計算するのであればOffice Scriptバージョンを使う。説明変数にY-MBの結果を使う場合にはPirika Pro 4 MIバージョンを使う。

Pirika pro 4 MI

図1 Pirika Pro 4 MIのプログラム画面

Office Scriptバージョン

図2 Excel Office Scriptを使ったLASSDGE計算プログラム

Javaバージョン

図3 JAVAバージョン・プログラム LASSOのみ

[3. LASSDGE法の効果]

ガラスの誘電率の推算式を構築[*]するのにLASSDGE法も利用してみた。LASSDGE法は重回帰法(MR)と比べ精度は大きく変わらず回帰係数を小さくする。再構築学習法NN法の結合荷重行列の時のように、結果に大きな影響を与えない原料について回帰係数を小さくする。

図4 DB値のガラスの誘電率に対して[a]重回帰計算、[b]LASSO回帰計算をプロット。見かけ上大きな違いはない。[c]係数を比べるとLASSO法の係数がゼロになる原料が見つかる

原料の重回帰係数(MR)とLASSO回帰係数の比較を表1に示す。

原料MRLASSO原料MRLASSO原料MRLASSO原料MRLASSO原料MRLASSO
SiO20.027 0.042 BeF20.122 0.122 P2O50.021 0.029 Sc2O30.195 0.001 Y2O30.197 0.001 
GeO20.099 0.104 MgO0.072 0.081 As2O54.534 0.000 TiO20.379 0.188 ZrO2-0.113 0.000 
SnO2-0.758 -0.001 CaO0.109 0.157 As2O3-1.587 -0.001 V2O50.228 0.190 ZrF40.388 0.140 
PbO0.215 0.229 CaF2-0.292 -0.001 Sb2O32.670 0.001 Cr2O30.666 0.001 Nb2O50.847 0.430 
PbF21.144 0.975 SrO0.157 0.162 Bi2O30.434 0.437 MnO2-0.498 -0.001 MoO3-1.346 0.000 
Li2O0.274 0.158 BaO0.435 0.184 SO3-1.654 0.000 MnO-5.901 0.000 Ag2O0.233 0.230 
LiF0.084 0.079 BaF2-0.382 -0.001 TeO20.299 0.345 Fe2O3-0.149 -0.001 CdO0.194 0.170 
Na2O0.370 0.219 B2O30.013 0.028 Fe3O40.488 0.001 CdF2-0.009 0.000 
NaF0.072 0.070 Al2O30.176 0.080 FeO0.053 0.001 La2O30.118 0.237 
K2O0.031 0.111 AlF3-0.354 -0.001 CoO-0.339 0.000 Ta2O5-6.661 0.000 
KF0.016 0.001 In2O3-0.993 -0.001 NiO0.139 0.001 WO30.154 0.151 
Rb2O0.224 0.001 CuO0.124 0.000 CeO2-0.104 0.000 
Cs2O0.359 0.292 ZnO0.121 0.087 GdF30.335 0.001 
Er2O30.472 0.001 
UO23.550 0.000 
表1 原料の重回帰係数(MR)とLASSO回帰係数の比較

二つの問題が混在することを留意する必要がある。欲しい誘電率を持つガラスの組成を逆設計する事を考える。誘電率を高くしたいなら、係数の+で大きいものを選んで組成を作れば良い。ところが重回帰(MR)法の係数で選んだ+で大きいものがLASSO係数ではゼロに近いものがある。この重回帰係数を信じて良いか? LASSO係数を使って逆設計する場合には約半数の原料は入れても入れなくても効果が無い事になってしまう。LASSO係数を信じて良いか?
人間の専門家の解釈が重要になる。
LASSO係数がゼロに近いものは、DB中で使われる頻度が少なく、使われる量も少ない。
例えばSnO2が0.1mol%使われているとする。SnO2は精製剤(泡やゴミを取り除く)として少量加えることがある。
DB値-重回帰計算値(99.9%の他の成分)=0.1*SnO2の係数
DB値-重回帰計算値(99.9%の他の成分)の値が0.1であった場合、SnO2の係数は0.1/0.1で1となってしまう。
専門家であっても判断は難しい。
山本があえてLASSDGE法を作ったのはこの問題に対して研究者に知見を与え判断を助けるためだ。

[4. LASSDGE法によるモデル化]

LASSO係数の-0.001から重回帰係数1の間のどこかに解があるとも考えられる。
LASSO法とRidge法は”誤差が小さくなるように係数を求めたい“ ”ただし、多少誤差が大きくなってもRidge回帰、Lasso回帰の係数がさい方が良いこともある“。この”多少”を示すのがλだ。LASSDGE法はまずλ=0で計算を行う。つまり正則化項(回帰係数の大きさ)を加味しない。λ=0という事は、GROVE法[*2]で係数を求める事になる。
まず通常の重回帰法[*1]を用い重回帰係数を求める。次にGROVE法を用い重回帰係数を求める。結果は図5[a]の青丸に示すようにほとんど違いはない。このGROVE法で求めたDB値と計算値の差分の総和、回帰係数の総和からλを2としてLASSDGEを用いて計算を進める。結果は図5[a]の赤丸になる。いくつかの原料の係数がゼロに近くなっていく。

図5 LASSDGE法でλを変化させながら回帰係数を最適化

さらにλを3,10と増やしていく。図5[b]に示すように係数がゼロになる原料が増えていく。λ=10での結果は表1に示したように原料の約半分がゼロ近くになる。

λ=10の時の値は、素人目には行き過ぎのように思う。ではλが0-10の間でどのくらいが合理的かについては専門家でないと判然としないと考える。
MI用のツールは専門家の代わりになるツールではない。
専門家に判断材料を与えるツールである。これがpirikaのポリシーだ。

[5. 従来式を拡張]

従来の重回帰タイプの式を拡張したい時にLASSDGE法が使えると新たな係数決定に非常に役にたつ。ガラスのAppen物性推算式[*9]の拡張に利用してみる。

図6 係数が未知の酸化物の係数を決定する。[a]通常の重回帰法、[b]LASSDGE法

LASSDGE法ではAPPEN式の係数とよく似た値が得られる。LASSO法のλをどこまで増やすか?は研究者の主観による。
[a]の重回帰係数を用いてガラスを逆設計するのは無謀なのはわかる。

[6. Pirika内リンク]

*1 重回帰法
*2 GROVE法
*3 誤差逆伝播法NN
*4 遺伝的アルゴリズム法
*5 Pirika Pro 4 MI
*6 リッジ回帰とLasso回帰をOffice Scriptで (ブログ)
*7 ガラスの誘電率推算法
*8 Y-PBの最新版(2024年)
*9 Appen物性推算式


Copyright pirika.com since 1999-
Mail: yamahiroXpirika.com (Xを@に置き換えてください)
メールの件名は[pirika]で始めてください