前回の記事とコラムで、機械学習の解釈性の向上に触れました。
その代表格はSHAP。
「機械学習を解釈する技術」において”SHAPは機械学習モデルの予測値を各特徴量に分解”と紹介されていました。なるほどです。
予測値といえば、シミュレーションの結果も予測値です。
シミュレーションモデルには申し訳ないですが、結果をSHAPを使って各特徴量に分解したらより理解が進むのではないか?と思い、やってみることにしました。
実施したのは、建物のエネルギーロスのシミュレーションです。
「CEN/TR 16676:2014 - Energy losses by industrial door」という規格に、ロスの算定モデルが定義されています。
パラメーターは約20種(定数・変数含む)ほどあり「どの特徴量にどの程度の効果があるのか」はシミュレートした結果を見ただけでは、ちょっとよくわかりません。
建物のエネルギーロスのシミュレーション
温暖化により、地球の平均気温が4℃上昇するというシナリオがあります。
そこで、この温暖化が建物のエネルギーロスにどの程度影響を及ぼすかについて確認することにしました。
先の通り、このロスの算定モデルは、かなりのパラメーターで構成されていますので、先の内容を含む目的に絞って特徴量を6つ決め、それぞれ2~4水準を設定し、机上でシミュレートしてみました。
SHAP
次に、SHAPを実行しました。(データは異なりますが、実行内容は以下の記事と同じです)
機械学習モデルはXGBを適用、学習スコアは 0.995、テストスコアは 0.968 。早速、SHAPで特徴量の重要度を見てみました。
取り上げた6つの特徴量のうち、4つの特徴量は直線関係(3つが正、ひとつが負)が見られ、いずれにも交互作用がありました。
別の1つの特徴量は二次的な関係が見られ、これにも交互作用がありました。
温暖化の進行がどの程度影響するかに関する特徴量(添付グラフのΔtemp)は、影響はほとんど見られません・・・でした。
確認したかった特徴量の影響はほとんどないという結果でしたが、交互作用や正負、二次的な傾向等の特徴量がいりまじった関係を SHAPはこうもあっさり可視化してくれるのかと感心し、この結果を見てシミュレーションデータの解釈にも使えるなと確信しました。
SHAPの後の決定木
各特徴量がエネルギーロスにどの程度影響しているか、またどのような傾向があるかを掴むことができましたが、この後さらに決定木も描きました。
SHAPで傾向を把握したあとに眺める決定木は、可読性が超絶アップしました。
シミュレーションの結果では、最小値と最大値に20倍以上の差があったのですが、差が生じている理由がスルスル頭に入る感じでした。
「ある条件の値をシミュレーションで求めた」というときと比較すると次元の異なる満足感や達成感です。
シミュレーションモデルと機械学習モデルは水と油?
シミュレーションモデルを機械学習モデルに置き換えるのはムダなことをやっているのではないか?と思われる方もおられるかもしれません。
ホワイトボックスであるシミュレーションモデルを機械学習モデルに置き換える=ブラックボックス化することになるからです。
しかし、いまの機械学習モデルはSHAP等の登場によりブラックボックスではなくなってきました。モデルの構築は必要ですが、機械学習モデルに置き換えることができればシミュレーションモデルよりも高速化できる可能性があります。
今回の実行においては、20項目近くあるパラメータ(定数・変数含む)で構成されたシミュレーションモデルを、わずか6つの特徴量で精度の確保も解釈もできました。
手当たり次第にシミュレーションすれば、同じ解釈に近づけるかもしれません。ただ時間は圧倒的にかかるだろうと思います。
原理原則をベースに緻密にシミュレーションモデルを組み立てられた方、そのベースとなる物理モデルを考案された方には、機械学習モデルで代用することに申し訳なさも感じますが、「現実と一致しないことがあるが原理原則に忠実なシミュレーションモデル」と、「データを与えれば理屈はどうあれ現実と一致させてくれる機械学習モデル」は、水と油ではないと思うんですよね。
シミュレーションは「実機の結果と合わないなぁ」ということがあります。まったく一致しないということではなく、オフセットが生じたり、特定条件や過渡的な場合で差が見られるということが多いのではないかと思います。
差が生じる要因は様々あると思いますが、シミュレーションはすべての物理モデルを網羅している訳ではありませんので表現できない現実があるのは仕方のないことと思います。
シミュレーションモデルが網羅していない物理モデルが差に影響している場合、シミュレーションモデルに手を加えて対応するのは至難ですが、機械学習モデルで代用できたならば、差を埋める可能性を高めることができます。
結果に影響を与える特徴量を維持し、実機との差に影響するであろう特徴量を機械学習モデルに与えることで精度(差を小さくする)を高めることができるからです。
XAIの威力
話をSHAPやICEに戻しますが、
これらは、機械学習モデルの予測値を分解したり、傾向を把握したい特徴量以外を周辺化し、モデルに当てはめて予測したりしているので、機械学習モデルの精度がそれなりに稼げていないといけないと思いますが、先に述べた可能性の実現につながることも含め、これはあらためてすごいと思います。
仮に機械学習のモデルの精度が”そこそこ”であった場合も、固有技術的観点から傾向との関係性の理解が進み、次のアクションにつながるよりよき気づきが得られる可能性があるようにも思います。
XAIが仕事の質を引き上げてくれる可能性を感じた機会でした。これはいいですねぇ。