【读论文】モデル予測を解釈するための統一アプローチ

1. この記事の主な目的は何ですか?

この記事では、予測を説明するための統一フレームワーク SHAP (SHapley Addictive exPlanations) を提案しています。SHAP は、特定の予測に重要な値を各特徴に割り当てます。

では、モデルの予測のあらゆる解釈をモデル自体として扱うという観点が導入されており、これを説明モデルと呼びます。これにより、次のように定義できるようになります。付加的な特徴帰属方法現在の 6 つのメソッドを統合するクラス。そしてプレゼントさまざまな方法で近似された特徴の重要性の統一された尺度として SHAP 値を使用する


2. 付加的な特徴の帰属方法 付加的な特徴の帰属方法

単純なモデルを最もよく説明するのはモデル自体です。モデル自体はそれ自体を完全に表現しており、理解しやすいものです。ディープネットワークなどの複雑なモデルの場合、元のモデルは理解しにくいため、それ自体を最適な説明として使用することはできません。代わりに、元のモデルの解釈可能な近似として定義される、より単純な説明モデルを使用する必要があります。

セットfffは説明される元の予測モデルです。gggは説明モデルです。ここで焦点を当てます単一の入力xxに基づく解釈の場合x f ( x ) f(x)の予測f ( x )のローカル メソッドLIME [ 1 ] ^{[1]}
など[ 1 ]で提案x'x'バツ'、マッピング関数x = hx ( x ' ) x = h_x(x')バツ=h×( ×' )を元の入力に変換します (x ' ≈ z ' x'\ほぼ z'バツz' の場合、ローカル メソッドは g ( z ' ) ≈ f ( hx ( z ' ) ) g(z') \estimate f(h_x(z')) であることを確認しようとしますg ( z _f ( h×( z

定義 1 : 加法的特徴帰属法の説明モデルは、二値変数の線形関数です:
g ( z ' ) = ϕ 0 + ∑ i = 1 M ϕ izi ' g(z') = \phi_0 + \sum\limits^M_{i=1} \phi_i z_i'g ( z _=ϕ0+i = 1Mϕ私はz其中, z ′ ∈ { 0 , 1 } M z' \in \{0,1\}^M z{ 0 ,1 }M は、簡略化された入力特徴の数です。

各特徴xi x_iのモデルを解釈するバツ私は寄与率ϕ i \phi_iを計算するϕ私は、すべての特徴属性の寄与の合計は、元のモデルの出力f ( x ) f(x)に近似します。f ( x )


以下に既存の 6 つの解釈方法を紹介しますが、SHAP はこれら 6 つの方法を統合します。

2.1 ライム

LIME メソッドは、モデルの特定の予測に対する局所近似に基づいて単一モデルの予測を説明します。


2.2 ディープリフト


2.3 層ごとの関連性の伝播


2.4 古典的なシャプレー値の推定


2.4.1 シャプレー回帰値


2.4.2 シャプレーのサンプリング値


2.4.3 定量的インプットの影響



3.SHAPの性質

1. 局所的な精度

f ^ ( x ) = g ( x ′ ) = ϕ 0 + ∑ j = 1 M ϕ jxj ′ \widehat{f}(x) = g(x') = \phi_0 + \sum\limits^M_{j=1}\phi_jx'_jf ( × )=g ( x _=ϕ0+j = 1Mϕjバツj特徴の属性の合計は、説明されるモデルの出力に等しくなります。


2. 欠落

xj ' = 0 ⇒ ϕ j = 0 x'_j=0 \Rightarrow \phi_j=0バツj=0ϕj=欠損値0 は、欠損特徴の代入がゼロであることを意味します。

共用体表記では、説明するインスタンスのすべての固有値xj ' x'_jバツj両方とも「1」でなければなりません。0 の場合、対象のインスタンスにこの特徴値が欠けていることを意味します。


3. 一貫性

f ^ x ( z ' ) = f ^ ( hx ( z ' ) ) \widehat{f}_x(z') = \widehat{f}(h_x(z'))f ×( z _=f ( h×( z' ))andz∖ j ' z'_{\setminus j}zjzj ' = 0 z'_j = 0を意味しますzj=0任意の 2 つのモデルffff「f」f'を満たす: すべての入力z ' ∈ { 0 , 1 } M z'\in\{0,1\}^Mz{ 0 ,1 }M,若:
fx ′ ( z ′ ) − fx ′ ( z ∖ j ′ ) ≥ fx ( z ′ ) − fx ( z ∖ j ′ ) f'_x(z') - f'_x(z'_{\setminus j}) \geq f_x(z') - f_x(z'_{\setminus j})fバツ( z _fバツ( zj)f×( z _f×( zj)有:
ϕ j ( f ′ , x ) ≥ ϕ j ( f , x ) \phi_j(f',x) \geq \phi_j(f,x)ϕj( f「、× ϕj( f ,x )一貫性とは、固有値が次のようにモデルが変更された場合に、貢献利益 fx ( z ' ) − fx ( z ∖ j ' ) f_x(z') - f_x(z'_{\setminus j})f×( z _f×( zjが増加するか、(他の特徴に関係なく)同じままになると、Shapley 値も増加するか、同じままになります。


定理 1 : 可能な説明モデルはgg 1 つだけですg は定義 1 に準拠し、上記 3 つの特性を満たします。(つまり、シャプレー値の計算式、固有値の考えられるすべての組み合わせに対する加重加算)
ϕ i ( f , x ) = ∑ z ′ ⊆ x ′ ∣ z ′ ∣ ! ( M − ∣ z ′ ∣ − 1 ) ! M ! [ fx ( z ′ ) − fx ( z ′ ∖ i ) ] \phi_i(f,x) = \ sum\limits_{z'\subseteq x'} \frac{|z'|! (M - |z'| - 1)!}{M!} [f_x(z') - f_x(z'\setminus i)]ϕ私は( f ,× =z×」まー∣z _!」(M∣z _ _1 ) ![ f×( z _f×( zi)]其中, z ′ z' z' はモデルで使用される特徴のサブセットです。∣ z ' ∣ |z'|∣z _ z ′ z' z'は、 内のゼロ以外のエントリの数です。

この式についての私の理解は次のとおりです。


まず、Shapley 値の計算プロセスを紹介します: ( Shapley Values: Data Science Conceptsを参照)
元のサンプル: (T は関心のある特徴です。つまり、以下は特徴 T のみの Shapley 値を計算するプロセスを示しています)

T D F H
80 1 100 4
  • ステップ 1 : フィーチャをランダムに配置します。[T、D、F、H] -> [F、D、T、H]
  • ステップ 2 : データセットからサンプルをランダムに選択します。
    F D T H
    オリジナルサンプル 100 1 80 4
    ランダムサンプル 200 5 70 8
  • ステップ 3 : x1 と x2 を構築する
    x1 = [100 , 1 ,808]
    x2 = [100 , 1 ,708]
    関心のある特徴 T の左側の固有値は元のサンプルから取得され、T の右側の固有値はランダム サンプルから取得されたことがわかります。x1 と x2 の違いは、x1 の T の固有値は元のサンプルから取得され、x2 の T の固有値はランダム サンプルから取得されることです。

    ある程度このようなベクトルを構築します安心した部分依存プロット (部分依存プロット、PDP)孤立した効果なぜなら独立性の仮定部分依存グラフの最大の問題点は、部分依存グラフを計算するための特徴量が他の特徴量と無関係であると仮定しているため、特徴量が関連している場合、この方法では特徴量分布領域内に実際の確率が非常に低いサンプル点が構築されてしまう可能性があります。(この問題を解決する 1 つの方法は、条件付き分布に適合するわずかに分散されているのではなく蓄積された局所効果 (ALE))
    (部分依存グラフは限界効果を平均し、累積局所効果グラフは特徴の条件付き分布を平均します。) (Shapley 値は孤立効果を緩和するためにある程度ベクトルを構築しますが、特徴相関の場合、この方法でも非現実的なサンプルが構築されます。) 元の複素モデルを使用して、構築したサンプル x1 と x2 を予測します: f(x1) = 1500 、 f(x2) = 1400 DIFF = f (x1) - f(x2) = 100 (これは T = 80 から


    効果
    です
    )

  • ステップ 4 : 各計算で得られた DIFF を記録し、ステップ 1 ~ 3 を繰り返します。計算されたすべての DIFF を合計し、平均を取ります。

step1~step3の各ラウンドの処理において、特徴量Tの左側にある特徴量集合をz′z′とするz'の場合、特徴 T の右側の特徴セットはx ' − T − z ' x' - T - z' となります。バツTz'z「z」を設定しますz ∣ z ′ ∣ ! |z'|! ∣z _''!配置、集合x '' − T − z '' x' - T - z'バツTz'には ( M − ∣ z ' ∣ − 1 ) ! (M - |z'| - 1)! があります( M∣z _ _1 )!順列。したがって、各ラウンドには[ ∣ z ′ ∣ ! ( M − ∣ z ′ ∣ − 1 ) ! ] ⋅ [ fx ( z ′ ) − fx ( z ′ ∖ i ) ] [|z'|! (M - |z'| - 1)!]\cdot [f_x(z') - f_x(z'\setminus i) ][ z!」(M∣z _ _1 )!][ f×( z _f×( zi )]の場合。

すべてのケースの合計:
∑ z ′ ⊆ x ′ [ ∣ z ′ ∣ ! ( M − ∣ z ′ ∣ − 1 ) ! ] ⋅ [ fx ( z ′ ) − fx ( z ′ ∖ i ) ] \sum\limits_{z'\subseteq x'} [|z'|! (M - |z) '| - 1) !]\cdot [f_x(z') - f_x(z'\setminus i)]z×」[ z!」(M∣z _ _1 )!][ f×( z _f×( zi )]
を計算し、平均をとってサンプルx \pmb{x}バツモデルffのxの特徴 Tfの预测中の献献度(Shapley值):
ϕ T = 1 M ∑ z ′ ⊆ x ′ [ ∣ z ′ ∣ ! ( M − ∣ z ′ ∣ − 1 ) ! ] ⋅ [ fx ( z ' ) − fx ( z ' ∖ i ) ] = ∑ z ' ⊆ x ' ∣ z ' ∣ ! ( M − ∣ z ′ ∣ − 1 ) ! まー![ fx ( z ' ) − fx ( z ' ∖ i ) ] \phi_T = \frac{1}{M}\sum\limits_{z'\subseteq x'} [|z'|! (M - |z'| - 1)!]\cdot [f_x(z') - f_x(z'\setminus i)] \\ = \sum\limits_{z'\subseteq x'} \frac{|z'|! (M - |z'| - 1)!}{M!} [f_x(z') - f_x(z'\setminus i)]ϕT=M1z×」[ z!」(M∣z _ _1 )!][ f×( z _f×( z)]=z×」まー∣z _!」(M∣z _ _1 ) ![ f×( z _f×( z)]



4. SHAP(SHApley Additive exPlanation)の値

インスタンスx \pmb{x}の SHAPバツx は、予測に対する各特徴値の寄与を推定します。

SHAP 値は、プロパティ 1 ~ 3 に続き、次の機能を使用する独自の追加の機能重要度の尺度を提供します。条件付き期待簡略化された入力を定義します。この SHAP 値の定義には、簡略化された入力マッピングhx ( z ' ) = z S h_x(z') = z_S が暗黙的に含まれています。h×( z _=zS、ここでz S z_SzSセットSSが入っていますS以外の特徴の欠損値。ほとんどのモデルは入力値が欠損している任意のパターンを処理できないため、 E [ f ( z ) ∣ z S ] E[f(z)|z_S] を使用します。E [ f ( z ) zS] f ( z S ) f(z_S)を近似しますf ( zS

SHAP の正確な計算は困難ですが、最新の追加特徴帰属手法を組み込むことで Shapley 値を近似することができます。シャプレー値を近似するためのいくつかの方法を以下に説明します。

注: これらの方法を使用する場合、特徴の独立性とモデルの線形性は、期待値の計算を簡素化する 2 つのオプションの仮定です。(理解していない)
ここに画像の説明を挿入

ここに画像の説明を挿入

4.1 モデルに依存しない近似法 モデルに依存しない近似法

1. Shapley のサンプリング値(既知)

条件付き期待値を近似するときに特徴の独立性を仮定すると、Shapley サンプリング値[ 2 ] ^{[2]}を直接使用できます。[ 2 ]メソッドまたは同等の定量的入力の影響[ 3 ] ^{[3]}[ 3 ] SHAP 値を推定するアプローチ。これらの方法では、古典的な Shapley 値方程式の置換バージョンを近似に使用します。

正確な Shapley 値は、jjthを使用して決定する必要があります。j機能が適用されないjjj 個の特徴のすべての可能な和集合 (セット)多くの特徴がある場合、より多くの特徴が追加されるにつれて、可能な連合の数は指数関数的に増加し、その正確な解を計算することが困難になります。シュトルンベリら[2] ^{[2]}[ 2 ]は、モンテカルロ サンプリングの近似を提案しています。
ϕ ^ j = 1 M ∑ m = 1 M ( f ^ ( x + jm ) − f ^ ( x − jm ) ) \widehat{\phi}_j = \frac{1}{M}\sum\limits^M_{m=1}(\widehat{f}(x^m_{+j}) - \w idehat{f}(x^ m_{-j}))ϕ j=M1m = 1M(f ( ×+ jメートル)f ( ×jメートル))その中で、

  • んんMは反復回数、x \pmb{x}バツxは対象のサンプル、jjjは対象の特徴です。
  • x + jmx^m_{+j}バツ+ jメートル機能jjを除くことを示しますjの値、連合に含まれていない他の固有値は、ランダムなデータ点zzzの固有値置換
  • x − jmx^m_{-j}バツjメートルx + jmx^m_{+j}を使用バツ+ jメートル同様ですが、 zzからのランダムなデータ ポイントを使用します。zの固有値で置き換えられる特徴には、jjj
    (つまりx + jmx^m_{+j}バツ+ jメートルそしてx − jmx^m_{-j}バツjメートル唯一の違いは機能jjですjの値が違います。)

例: ( Shapley Values: Data Science Conceptsから参照)

  • サンプルx \pmb{x}バツxには [F , D ,T、H] 4 つの特徴、特徴値は次のとおりです: [100 , 1 , 80 , 4] 、ここで T は関心のある特徴です。
    和集合にない固有値を T の右側に置きます。これらの固有値は変数です。ここでの同盟にはない機能は H.
  • 次に、データセットからサンプルをランダムに選択します (例: [200 , 5 , 70 , 8])。
  • 形式ベクトルx + j x_{+j}バツ+ j& x − j x_{-j}バツ j
    • x + j x_{+j}バツ+ j= [100 , 1 , 80 ,8
    • x − j x_{-j}バツ j= [100 , 1 ,708

2. カーネルSHAP(小説)

内容の一部は、
[1]「Interpretable Machine Learning : A Guide for Making Black Box Models Interpretable」から参照しています。
[2] Shapley と SHAP

カーネル SHAP は、線形 LIME + Shapley 値として理解できます。この方法は以下に基づいていますプロキシ方法では、ローカル プロキシ モデルに従って Shapley 値を推定できます。

カーネル SHAP はモデルに依存しません。つまり、どのモデルにも適用できます。

復習するには:SHAP は、特徴帰属の加算方法である線形モデルとしての Shapley 値の解釈を表します。説明モデルを次のように定義します。
g ( z ' ) = ϕ 0 + ∑ i = 1 M ϕ izi ' g(z') = \phi_0 + \sum\limits^M_{i=1} \phi_i z_i'g ( z _=ϕ0+i = 1Mϕ私はz其中, z ′ ∈ { 0 , 1 } M z' \in \{0,1\}^M z{ 0 ,1 }Mは単純化された入力特徴の数 (最大の和集合のサイズ)、ϕ j \phi_jϕj特徴はjjですjの特性に起因する Shapley 値

ここで疑問が生じます: Linear LIME を使用して Shapley 値を近似するにはどうすればよいでしょうか?
答えは損失関数LLによって異なります。L、重み付きカーネルπ x ' \pi_{x'}円周率バツと正則化項Ω \OmegaΩの選択。

定理 2 : シャプレー カーネル:
ここに画像の説明を挿入
ここで、∣ z ' ∣ |z'|∣z _ z ′ z' z'は、 内のゼロ以外のエントリの数です。
カーネル SHAP と LIME の最大の違いは次のとおりであることがわかります。回帰モデルにおけるインスタンスの重みLIME は、元のインスタンスにどれだけ近いかに従ってインスタンスに重み付けを行い、カーネル SHAP は、Shapley 値の推定において連合によって取得された重みに従って、サンプリングされたインスタンスに重み付けを行います。



カーネル SHAP は 5 つのステップで構成されます。

  1. サンプリング共用体zk ′ ∈ { 0 , 1 } M , k ∈ { 1 , 2 , . . . , K } z_k'\in\{0,1\}^M , k\in\{1,2,...,K\}zk{ 0 ,1 }Mさんk{ 1 2 ... K } (1 はフィーチャが連合内に存在することを意味し、0 はフィーチャが存在しないことを意味します);

  2. zk「z_k」の場合zk最初にzk ' z_k 'を変換することによる予測zk元の特徴空間に変換し、モデルf ^ : f ^ ( hx ( zk ′ ) ) \widehat{f} : \widehat{f}(h_x(z_k')) を適用します。f :f ( h×( zk))
    ここに画像の説明を挿入

  3. SHAP カーネルを使用して各zk 'z_k'を計算しますzkの重量;

  4. 重み付き線形モデルを当てはめます。

  5. シャプレー値ϕ k \phi_kを返します。ϕ、線形モデルの係数。


このような線形モデルによって適合された各特徴の重みが Shaple 値になるのはなぜですか?
参考テキスト: 線形回帰と Shapley 値の間の直感的な関係は、方程式 8 [Sahpley 計算式] が平均値の差であるということです。平均はデータ ポイントのセットに対する最良の最小二乗点推定値でもあるため、Shapley 値を再現するために線形最小二乗回帰を引き起こす重み付けカーネルを検索するのは自然です。これにより、以前のヒューリスティックに選択されたカーネルとは明らかに異なるカーネルが得られます (図 2A)。線形回帰とシャプレー値の間の直感的な関係は次のとおりです。シャプレー値の計算式は差の平均です
平均値も一連のデータポイントにとって最良であるため、最小二乗点推定したがって、Shapley 値を再現する最小二乗回帰につながる重み付けカーネルを見つけたいと考えています。
最小二乗法の考え方は、観測点と予測点の間の距離を最小化することです。



4.2 モデルタイプ固有の近似手法 モデル固有の近似手法

1. Linear SHAP(既知)

2. 低次SHAP(既知)

3. マックスSHAP(小説)

4. Deep SHAP(小説)

DeepSHAP = DeepLIFT + SHAP






参考文献:
[1] Ribeiro MT、Singh S、Guestrin C. 「なぜあなたを信頼しなければならないのですか?」任意の分類子の予測の説明[C]//知識発見とデータ マイニングに関する第 22 回 ACM SIGKDD 国際会議の議事録。2016: 1135-1144。
[2] Štrumbelj E、Kononenko I. 予測モデルと個々の予測を機能貢献とともに説明しています[J]。知識と情報システム、2014、41(3): 647-665。
[3] Datta A、Sen S、Zick Y. 定量的入力の影響によるアルゴリズムの透明性: 学習システムの理論と実験[C]//セキュリティとプライバシーに関する 2016 IEEE シンポジウム (SP)。IEEE、2016: 598-617。

おすすめ

転載: blog.csdn.net/qq_42757191/article/details/126855041