hirohirohirohirosのブログ

地方国立大学に通う情報系学部4年

機械学習を解釈する技術 1,2章 まとめ

 kaggleのように純粋に性能を求めるだけでなく,実務では意思決定者に対しモデルを説明する能力も必要だと感じ,この本を読むことにしました.

機械学習の解釈手法

 本書で紹介されている解釈手法は以下の4つです.

  • PFI:Permutation Feature Importance どの特徴量が重要か示す
  • PD:Partial Dependence 特徴量と予測値の平均的な関係を示す
  • ICE:Individual Conditional Expectation 個別のインスタンスに対して特徴量と予測値の関係を示す.
  • SHAP:SHapley Additive exPlanations モデルが何故そのような予測値を出しているかの理由を示す.

解釈時の注意点

 機会学習の解釈手法は,解釈性の低いブラックボックス化したモデルを解釈してくれるが,注意することもある.モデルの解釈結果から,どの程度の主張を行うかによって注意が必要である.

 最も弱い主張は,解釈手法をモデルのデバッグに使う主張である.モデルの解釈結果がドメイン知識と一致しているか確認し,一致していなければデータやモデルに問題があるか確認すべきという主張である.このような使い方は,間違った解釈をする可能性が低く,安全な使い方であると言える.

 次に弱い主張は,解釈手法をモデルの振るまいとして解釈する主張である.ある特徴量の値が増加したとき,モデルの予測値が大きくなるか小さくなるかが分かったとして,それを"特徴量と予測値の関係"として解釈する主張である.しかし,これはモデルの一側面を捉えているだけに過ぎないので,間違った解釈をする可能性が高い.

 そして,強い主張は解釈手法を因果関係として解釈する主張である."特徴量と予測値の関係"とするのでなく,”特徴量と目的変数の因果関係”として解釈する主張である.目的変数を予想したのが予測値なのだから,どちらも同じのようにも思えるが,両者はは異なり,目的変数の因果関係として解釈するのは強く,危ない主張である.

 そもそも,因果関係を主張するには,因果推論と呼ばれる手法によりなされるものであり,機械学習の解釈手法から主張できる事柄ではない事に注意する.

線形回帰モデルが持つ解釈性

 ニューラルネットや,ランダムフォレストのような複雑なモデルと比較し,線形回帰モデルは高い解釈性を持っている.

特徴量と予測値の平均的な関係の解釈

 線形回帰モデル

\begin{align}
f(X_1, X_2, X_3) = β_0 + β_1X_1 + β_2X_2 + β_3X_3
\end{align}

を考える.

 この式から,特徴量 (X_1, X_2, X_3)が1増加すると,予測値は (β_1, β_2, β_3)だけ増加する.このことから,線形回帰モデルは,回帰係数を見ることで,特徴量と予測値の関係を完全に把握することが出来る.更に,この関係はどのデータセットに対しても同一である.特徴量 X_1を1増やすと予測値が β_1増えるという関係は,全てのデータセットで当てはまる.

 この意味で,線形回帰モデルの回帰係数は特徴量と予測値の平均的な関係の解釈性を持つと言える.

特徴量と予測値のデータごとの関係の解釈

 線形回帰モデル

\begin{align}
f(X) = β_0 + β_1X + β_2X^2
\end{align}
はXに関して線形ではない.なお,線形回帰モデルは,βに対して線形になっていれば良い.

 このような例で,Xが1増加した時に予測値に与える影響は
\begin{align}
\frac{\partial f(X)}{\partial X} = β_1 + 2β_2X
\end{align}

と言える.つまり,Xが1増加した時に予測値に与える影響は,データXによって異なるという事が分かる.

 このことから,線形回帰モデルは特徴量と予測値のデータごとの関係の解釈性を持つと言える.

特徴量の重要度

 線形回帰モデル

\begin{align}
f(X_1, X_2, X_3) = β_0 + β_1X_1 + β_2X_2 + β_3X_3
\end{align}

について,例えば (β_1, β_2, β_3) = (0, 1, 10)の時,予測値が最も大きく動くのは, X_3を動かした時である.逆に, X_1はどれだけ動かしても予測値は変化しない.このことから, X_1は重要度が低く, X_3は重要度が高いと言える.

 しかし,特徴量のスケールが異なる場合,この限りでないことに注意する.例えば,
\begin{align}
幸福度 = 2*総資産 + 200*年齢
\end{align}

という線形回帰モデルがあったとき,回帰係数のみを見ると,年齢は総資産の100倍あり,重要度も100倍高いと言えてしまいそうである.しかし,そうではないと言える.なぜなら,年齢は高くても100前後の値しか取らないのに対し,総資産は数億から数兆まで幅広い値を取る.このように,特徴によってスケールが異なると,1増えた時の効果もスケールが異なるため,平等な比較が出来ない.

 この問題を解決するために,特徴量の標準化がある.これは,一般的な標準化と同じように,各特徴量を平均0,標準偏差1となるように変形するものである.

\begin{align}
\widehat x_i = \frac{x_i - \overline{x_i}}{SD(x)}
\end{align}

SDはxの標準偏差である.

 このように標準化を特徴量にすると,回帰係数はどの特徴量の回帰係数でも,"特徴量を1標準偏差だけ変化させた場合に予測値に与える影響"という意味に統一される.

 こうすることで,線形回帰モデルは,予測にどの特徴量がどれほど重要なのかを知ることが知ることが出来る.