機械学習の解釈可能性について
▼そもそも解釈可能性が高いとは?
「予測に至った経緯について、人間が理解しやすいかどうか」ということだと思う
▼解釈方法について
▼PDP
興味のある特徴量以外を固定(周辺化)して、興味のある特徴量の予測に対する平均的な周辺効果を示しています。
しかし注意が必要なのが、
・因果関係の解釈
PDPを実施するということは特徴量と予測結果の因果関係を仮定しているということ
・独立性の仮定
相関のある特徴量があった時を考えます。ここで特徴量Aと特徴量Bに相関があったとして、特徴量Aは予測と正の相関があり、特徴量Bは予測と負の相関があったとします。このとき、両方のデータセットが互いに影響を打ち消し合うい、PDPは水平になるでしょう。結果として特徴量A・Bは予測には影響を与えないと解釈してしまうことがあります。
これに対する解決策として、individual conditional expectation curvesのプロットがあります。
▼Individual Conditional Expectation (ICE)
ICE 曲線の1つの線は、1つの行データに対して、ある特徴量を変化させたときの予測を表します。Partial dependence plot とは異なり、ICE 曲線ではある特徴量がその他の特徴量と相関している場合、同時分布によって、線の中のいくつかの点は妥当でないデータ点となる可能性があります。
▼Accumulated Local Effects (ALE) Plot
PDPやICEでモデルに対する影響を推し量るには少し不十分なポイントがあります。例えば不動産価格を予測した場合、部屋数と平米数は相関していると想定できます。しかしPDPやICEでは各特徴量を独立していると考えるので、部屋数が1で平米数は100平米という物件を想定してモデルに対する影響を推し量ってしまうことも有りえます。
そこでALE は平米数が約 30平米 の物件全てを使い、それら物件が31平米 だった場合の予測値からそれらの家が29平米だった場合の予測値をひいたモデルの予測値を得ます。 これによって、平米数の純粋な影響が得られ、かつ、他の相関した特徴量の影響とも混ざっていません。 差分を使うことにより他の特徴量の影響を受けないようにできます。
▼グローバルサロゲート (Global Surrogate)
元のモデルの予測をできるだけ正確に近似し、そのモデルを解釈することでブラックボックスモデルを解釈可能にすることです。サロゲートモデルの学習に必要なものは
・ブラックボックスモデルの学習に利用したデータセット
・ブラックボックスモデルの予測値
です。
上記データを利用して解釈可能なモデル(線形モデル、決定木、RuleFit、k近傍法、ナイーブベイズ)を学習し、ブラックボックスモデルを解釈します。またサロゲートモデルの評価として$${R^2}$$スコア等を利用して、解釈可能なモデルがどれだけブラックボックスモデを説明しているかを評価します。
$$
R^2 = 1 - \frac{SSE}{SST} = 1 - \frac{\Sigma(\hat{y}_{*}-\hat{y})^2}{\Sigma(\hat{y}-\bar{\hat{y}})^2}
$$
▼SHAP
シャープレイ値を求め、モデルを解釈する方法です。
シャープレイ値とは、全ての順序の組み合わせで限界貢献度を求め、その平均を取って求めます。限界貢献度とは「ある特徴量が新たにデータに加わることにより予測値がいくら増えるか(減るか)」で求めることができます。不動産の売り上げ予測を例にすると、何も情報がない場合の予測の期待値(ベースライン)から、平米数 → 部屋数 → 庭の広さの順に確定した特徴量を加えていき全ての順序の組み合わせで限界貢献度を求め、その平均を取ります。
以下SHAPで取得できるアウトプット例
■SHAP Summary Plot
特徴量ごとのシャープレイ値の分布を確認することができます。0 から離れて点が分布しているほど推論において影響与えている特徴量だと考えられます。
■SHAP Waterfall Plot
Waterfall Plotは、特定の予測(今回はf(x)=31.281の予測)に着目して各特徴量がどのように影響を与えているかを解釈するためのグラフです。
■SHAP Force Plot
Force Plotはある予測ではなく、予測値全体に対して出力できるグラフです。つまり各々の予測に対して、各特徴量がどのように影響を与えているか俯瞰できるグラフです。赤の SHAP値は予測を増加させ、青のSHAP値は予測を減少させるという意味合いです。
▼特徴量重要度における学習データとテストデータ
学習データに基づく特徴量重要度:モデルの予測がどの特徴量に頼っているのか
テストデータに基づく特徴量重要度:どの特徴量がまだ見ぬデータに対するモデルの性能に寄与しているのか
▼しかし解釈可能性が必要ないときもある?
おそらく信頼が必要か否かだと思います。
たとえばモデル実装の影響力が低い(趣味で機械学習モデルやってます)状況ならば、そもそもモデルへの信頼とか関係ないので、いらなそうです。またOCRとか長年利用されて改善されて信頼を勝ち取っている分野でも必要なさそうです。
▼最後に
なにか間違っていたら優しく教えて下さい。
▼参考
https://blog.amedama.jp/entry/shap-lightgbm