pirika.comで化学
>チャピエモン-3rd Pirika Origin (CPO)
> ハンセン溶解度パラメータ (HSP)
> 化学全般
> 情報化学 >物性化学 >高分子化学 >化学工学 >その他の化学 >昔のもの
>情報化学ツール >MAGICIAN養成講座 >STEAM
>Pirika ツール群
ブログ
業務案内
お問い合わせ
情報化学 > 情報化学ツール > LASSDGE法
[1. 概要]
LASSDGE法というのはLASSO法とRidge法を混ぜた、山本の作った造語だ。
EOLSは線形回帰の最小2乗法で回帰係数を求める時の損失関数だ。2乗誤差の総和になる。y ̂は予測値, Nはデータ数となる。LASSDGE法はEOLSに絶対値も選べる。
重回帰式[*1]はEOLSが最小となる重回帰係数βを求めることだ。
Ridge回帰、Lasso回帰の損失関数は以下の通りである。(λは分析者が決定するパラメータ、Kは説明変数の数、β:各説明変数の係数)
β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

Office Scriptバージョン

Javaバージョン

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

原料の重回帰係数(MR)とLASSO回帰係数の比較を表1に示す。
| 原料 | MR | LASSO | 原料 | MR | LASSO | 原料 | MR | LASSO | 原料 | MR | LASSO | 原料 | MR | LASSO |
| SiO2 | 0.027 | 0.042 | BeF2 | 0.122 | 0.122 | P2O5 | 0.021 | 0.029 | Sc2O3 | 0.195 | 0.001 | Y2O3 | 0.197 | 0.001 |
| GeO2 | 0.099 | 0.104 | MgO | 0.072 | 0.081 | As2O5 | 4.534 | 0.000 | TiO2 | 0.379 | 0.188 | ZrO2 | -0.113 | 0.000 |
| SnO2 | -0.758 | -0.001 | CaO | 0.109 | 0.157 | As2O3 | -1.587 | -0.001 | V2O5 | 0.228 | 0.190 | ZrF4 | 0.388 | 0.140 |
| PbO | 0.215 | 0.229 | CaF2 | -0.292 | -0.001 | Sb2O3 | 2.670 | 0.001 | Cr2O3 | 0.666 | 0.001 | Nb2O5 | 0.847 | 0.430 |
| PbF2 | 1.144 | 0.975 | SrO | 0.157 | 0.162 | Bi2O3 | 0.434 | 0.437 | MnO2 | -0.498 | -0.001 | MoO3 | -1.346 | 0.000 |
| Li2O | 0.274 | 0.158 | BaO | 0.435 | 0.184 | SO3 | -1.654 | 0.000 | MnO | -5.901 | 0.000 | Ag2O | 0.233 | 0.230 |
| LiF | 0.084 | 0.079 | BaF2 | -0.382 | -0.001 | TeO2 | 0.299 | 0.345 | Fe2O3 | -0.149 | -0.001 | CdO | 0.194 | 0.170 |
| Na2O | 0.370 | 0.219 | B2O3 | 0.013 | 0.028 | Fe3O4 | 0.488 | 0.001 | CdF2 | -0.009 | 0.000 | |||
| NaF | 0.072 | 0.070 | Al2O3 | 0.176 | 0.080 | FeO | 0.053 | 0.001 | La2O3 | 0.118 | 0.237 | |||
| K2O | 0.031 | 0.111 | AlF3 | -0.354 | -0.001 | CoO | -0.339 | 0.000 | Ta2O5 | -6.661 | 0.000 | |||
| KF | 0.016 | 0.001 | In2O3 | -0.993 | -0.001 | NiO | 0.139 | 0.001 | WO3 | 0.154 | 0.151 | |||
| Rb2O | 0.224 | 0.001 | CuO | 0.124 | 0.000 | CeO2 | -0.104 | 0.000 | ||||||
| Cs2O | 0.359 | 0.292 | ZnO | 0.121 | 0.087 | GdF3 | 0.335 | 0.001 | ||||||
| Er2O3 | 0.472 | 0.001 | ||||||||||||
| UO2 | 3.550 | 0.000 |
二つの問題が混在することを留意する必要がある。欲しい誘電率を持つガラスの組成を逆設計する事を考える。誘電率を高くしたいなら、係数の+で大きいものを選んで組成を作れば良い。ところが重回帰(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]の赤丸になる。いくつかの原料の係数がゼロに近くなっていく。

さらにλを3,10と増やしていく。図5[b]に示すように係数がゼロになる原料が増えていく。λ=10での結果は表1に示したように原料の約半分がゼロ近くになる。
λ=10の時の値は、素人目には行き過ぎのように思う。ではλが0-10の間でどのくらいが合理的かについては専門家でないと判然としないと考える。
MI用のツールは専門家の代わりになるツールではない。
専門家に判断材料を与えるツールである。これがpirikaのポリシーだ。
[5. 従来式を拡張]
従来の重回帰タイプの式を拡張したい時にLASSDGE法が使えると新たな係数決定に非常に役にたつ。ガラスのAppen物性推算式[*9]の拡張に利用してみる。

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]で始めてください