hirohirohirohirosのブログ

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

機械学習を解釈する技術 5章 まとめ

ICE

 4章でやったPDは特徴量と予測値の平均的な関係を見る指標であった.それに対し,ICEは平均を取らず,一つ一つのデータに対して特徴量と予測値の関係を見る指標である.平均を取らず,一つ一つのデータに対して見ていくので値がブレやすく,関係を安定的に確認することが難しいという問題点がある.しかし,PDでは捉えられない特徴量と予測値の関係があるため,ICEは使われる.まず,PDでは捉えられない関係とは何かを考える.

PDで捉えられない関係

 例として,飲食店の顧客満足度を予測するモデルについて考える.料理の量という特徴量があった時,顧客が学生のような若い年齢だった場合,量が増えるほど顧客満足度が上がると考えられる.しかし,顧客が高年齢だった場合,量が増えても顧客満足度は上がらないと考えられる.このようなケースでは,料理の量と顧客満足度の平均的な関係を見てしまうと,年齢という特徴量の違いによる顧客満足度の変化が打ち消されてしまい,正しい関係を見ることが出来ない.

 このように,見たい特徴量と予測値の関係が他の属性によって異なる場合,PDで平均的な関係を捉えることは不可能です.よって,データごとや属性ごとに関係を見る必要がある.

ICEの数式表現

 PDの数式表現は

\begin{align}
\widehat{PD}_j(x_j) = \frac{1}{N}\sum \widehat f(x_j, x_{i, :j})
\end{align}

となる.ここで, \widehat f()は学習済みモデル, x_{i, :j} = (x_{i, 1}, ..., x_{i, j-1}, _{i, j+1}, ..., x_{i, J})はデータiに対するj番目の特徴量を除いたベクトルを表す.

 PDは \frac{1}{N}を掛けることで平均を取っているが,ICEは平均を取らないため,数式表現は

\begin{align}
\widehat{ICE}_{i, j}(x_j) = \widehat f(x_j, x_{i, :j})
\end{align}

となる.

ICEの利点

 ICEはPDの個々で見たバージョンになるので,PDの利点はICEの利点になる.具体的には,どのような機械学習モデルにもICEが適用できたり,特徴量と目的変数の非線形名関係を確認することが出来る.さらに,PDとは異なりICEは特徴量の交互作用を捉えることが出来る.

 しかし,これまでの指標と同じようにICEは因果関係を表すものではないことに注意する.さらに,PDでは平均を取っていたのに対しICEでは平均を取らないため値が安定しないことに注意する.また,データの実際の特徴量の値から大きく離れた部分では,安定しづらいため,実際の値の近くで解釈するように気をつける必要がある.

実データでの分析

 4章と同じデータで分析する.4章で紹介したように,sklearnの引数kindをindvidualにすることでICEが計算される.

scikit-learn.org

 

また,bothとするとPDとICEが両方表示される.コードも4章で紹介したコードと同じものを使い,引数のみを書き換える.

この関数を動かし,グラフを表示してみる.

 薄い線が各データのICEであり,太い線がPDである.4章と同じようにFoodCourtが増えるほど生き残る確率が低くなることが分かる.薄い線のICEで多くの線がそのような傾向を示しており,その平均であるPDもそのような傾向が見られる.

 逆に,このような傾向が見られない,FoodCourtが増えるほどPDが高くなるデータも見られることが分かる.このようなデータに対して他の特徴量を見ることによって新しい事が分かるかもしれない.ICEの分析によって新しい観点からの分析も進めることが可能である.