機械学習を解釈する技術〜予測力と説明力を両立する実践テクニック
書籍情報
発売日 : 2021年08月04日
著者/編集 : 森下光之助
出版社 : 技術評論社
発行形態 : 単行本
書籍説明
内容紹介
あらゆる予測モデルを解釈する4つの手法PFI、PD、ICE、SHAP/特徴量の重要度/特徴量と予測値の関係性/インスタンスごとの異質性/予測の理由ーそのモデルの振る舞いを説明できますか?
目次
1章 機械学習の解釈性とは
1.1 機械学習の解釈性を必要とする理由
1.2 予測精度と解釈性のトレードオフ
1.3 機械学習の解釈手法
1.4 機械学習の解釈手法の注意点
1.5 本書の構成
1.6 本書に書いていること、書いていないこと
1.7 本書で用いる数式の記法
1.7.1 確率変数と実測値
1.7.2 期待値と分散
1.7.3 確率分布
1.7.4 線形回帰モデル
1.7.5 集合
1.8 本書のコードを実行するためのPython環境
1.9 参考文献
2章 線形回帰モデルを通して「解釈性」を理解する
2.1 線形回帰モデルの導入
2.1.1 回帰問題と線形回帰モデル
2.1.2 最小二乗法による回帰係数の推定
2.2 線形回帰モデルが備える解釈性
2.2.1 特徴量と予測値の平均的な関係
2.2.2 特徴量と予測値のインスタンスごとの関係
2.2.3 特徴量の重要度
2.2.4 インスタンスごとの予測の理由
2.3 実データでの線形モデルの分析
2.3.1 データの読み込み
2.3.2 データの前処理
2.3.3 線形モデルの学習と評価
2.3.4 予測誤差の計算
2.3.5 線形回帰モデルの解釈
2.3.6 Random Forestによる予測
2.4 線形回帰の利点と注意点
2.5 参考文献
3章 特徴量の重要度を知る~Permutation Feature Importance~
3.1 なぜ特徴量の重要度を知る必要があるのか
3.2 線形回帰モデルるにおける特徴量の重要度
3.2.1 シミュレーションデータの設定
3.2.2 シミュレーションデータの生成
3.2.3 線形回帰モデルの特徴量重要度の確認
3.3 Permutation Feature Importance
3.3.1 PFIのアルゴリズム
3.3.2 PFIの実装
3.3.3 PFIのシミュレーションデータへの適用
3.4 Leave One Covariate Out Feature Importance
3.5 Grouped Permutation Feature Importance
3.5.1 特徴量が相関するケース
3.5.2 GPFIの実装
3.5.3 GPFIのシミュレーションデータへの適用
3.6 特徴量重要度は因果関係として解釈できるか?
3.6.1 疑似相関
3.6.2 疑似相関のシミュレーション
3.7 訓練データとテストデータのどちらで予測精度を評価するべきか
3.8 実データでの分析
3.9 PFIの利点と注意点
3.10 参考文献
4章 特徴量と予測値の関係を知る~Partial Dependence~
4.1 なぜ特徴量と予測値の関係を知る必要があるのか
4.2 線形回帰モデルと回帰係数
4.2.1 シミュレーション1:線形の場合
4.2.2 シミュレーション2:非線形の場合
4.3 Partial Dependence
4.3.1 1つのインスタンスの特徴量とモデルの予測値の関係
4.3.2 すべてのインスタンスに対する特徴量と予測値の平均的な関係
4.3.3 Partial Dependenceクラスの実装
4.3.4 Partial Dependenceの数式表現
4.4 Partial Dependenceは因果関係として解釈できるのか
4.4.1 シミュレーション3:相関関係と因果関係
4.4.2 PDを因果関係として解釈することの危険性
4.5 実データでの分析
4.5.1 PDによる可視化
4.6 PDの利点と注意点
4.7 参考文献
5章 インスタンスごとの異質性をとらえる~Individual Conditional Expectation~
5.1 なぜインスタンスごとの異質性をとらえる必要があるのか
5.2 交互作用とPDの限界
5.2.1 シミュレーションデータの生成
5.2.2 PDの可視化
5.3 Individual Conditional Expectation
5.3.1 ICEの実装
5.3.2 ICEのシミュレーションデータへの適用
5.4 Conditional Partial Dependence
5.4.1 CPDの数式表現
5.4.2 CPDの可視化
5.5 ICEの解釈
5.5.1 what-if
5.5.2 特徴量に依存関係があるケース
5.6 実データでの分析
5.7 ICEの利点と注意点
5.8 参考文献
6章 予測の理由を考える~SHapley Additive exPlanations~
6.1 なぜ予測の理由を考える必要があるのか
6.2 SHAPのアイデア
6.2.1 SHAPの数式表現
6.2.2 貢献度の分解:線形回帰モデルの場合
6.3 協力ゲーム理論とShapley値
6.3.1 アルバイトゲーム
6.3.2 限界貢献度
6.3.3 Shapley値の数式表現
6.4 SHapley Additive exPlanations
6.4.1 特徴量が分かっている/分かっていない場合の予測値
6.4.2 具体例:特徴量が2つの場合
6.5 SHAPの実装
6.5.1 SHAPの実装
6.5.2 `ShapleyAdditiveExplanations`クラスの実装
6.6 実データでの分析
6.6.1 shapパッケージの導入
6.6.2 SHAP値の可視化
6.7 ミクロからマクロへ
6.7.1 SHAPによる特徴量重要度の可視化
6.7.2 SHAPによるPDの可視化
6.8 SHAPの利点と注意点
6.9 参考文献
付録A: Rによる分析例~tidymodelsとDALEXで機械学習モデルを解釈する~
A.1 tidymodelsとDALEX
A.2 データの読み込み
A.3 tidymodelsによる機械学習モデルの構築
A.4 DALEXによる機械学習モデルの解釈
A.4.1 PFIで特徴量の重要度を知る
A.4.2 PDで特徴量と予測値の平均的な関係を知る
A.4.3 ICEで特徴量と予測値のインスタンスごとの関係を知る
A.4.4 SHAPでインスタンスごとの予測の理由を知る
A.5 まとめ
A.6 参考文献
付録B: 機械学習の解釈手法で線形回帰モデルを解釈する
B.1 なぜ機械学習の解釈手法で線形回帰モデルを解釈するのか
B.1.1 線形回帰モデルの設定
B.1.2 シミュレーションの設定
B.1.3 線形回帰モデルの学習
B.2 線形回帰モデルとPFIの関係
B.2.1 シミュレーションによる比較
B.2.2 数式による比較
B.3 線形回帰モデルとPDの関係
B.3.1 数式による比較
B.3.2 シミュレーションによる比較
B.4 線形回帰モデルとICEの関係
B.4.1 数式による比較
B.4.2 シミュレーションによる比較
B.5 線形回帰モデルとSHAPの関係
B.5.1 数式による比較
B.5.2 シミュレーションによる比較
B.6 まとめ
B.7 考文献
1.1 機械学習の解釈性を必要とする理由
1.2 予測精度と解釈性のトレードオフ
1.3 機械学習の解釈手法
1.4 機械学習の解釈手法の注意点
1.5 本書の構成
1.6 本書に書いていること、書いていないこと
1.7 本書で用いる数式の記法
1.7.1 確率変数と実測値
1.7.2 期待値と分散
1.7.3 確率分布
1.7.4 線形回帰モデル
1.7.5 集合
1.8 本書のコードを実行するためのPython環境
1.9 参考文献
2章 線形回帰モデルを通して「解釈性」を理解する
2.1 線形回帰モデルの導入
2.1.1 回帰問題と線形回帰モデル
2.1.2 最小二乗法による回帰係数の推定
2.2 線形回帰モデルが備える解釈性
2.2.1 特徴量と予測値の平均的な関係
2.2.2 特徴量と予測値のインスタンスごとの関係
2.2.3 特徴量の重要度
2.2.4 インスタンスごとの予測の理由
2.3 実データでの線形モデルの分析
2.3.1 データの読み込み
2.3.2 データの前処理
2.3.3 線形モデルの学習と評価
2.3.4 予測誤差の計算
2.3.5 線形回帰モデルの解釈
2.3.6 Random Forestによる予測
2.4 線形回帰の利点と注意点
2.5 参考文献
3章 特徴量の重要度を知る~Permutation Feature Importance~
3.1 なぜ特徴量の重要度を知る必要があるのか
3.2 線形回帰モデルるにおける特徴量の重要度
3.2.1 シミュレーションデータの設定
3.2.2 シミュレーションデータの生成
3.2.3 線形回帰モデルの特徴量重要度の確認
3.3 Permutation Feature Importance
3.3.1 PFIのアルゴリズム
3.3.2 PFIの実装
3.3.3 PFIのシミュレーションデータへの適用
3.4 Leave One Covariate Out Feature Importance
3.5 Grouped Permutation Feature Importance
3.5.1 特徴量が相関するケース
3.5.2 GPFIの実装
3.5.3 GPFIのシミュレーションデータへの適用
3.6 特徴量重要度は因果関係として解釈できるか?
3.6.1 疑似相関
3.6.2 疑似相関のシミュレーション
3.7 訓練データとテストデータのどちらで予測精度を評価するべきか
3.8 実データでの分析
3.9 PFIの利点と注意点
3.10 参考文献
4章 特徴量と予測値の関係を知る~Partial Dependence~
4.1 なぜ特徴量と予測値の関係を知る必要があるのか
4.2 線形回帰モデルと回帰係数
4.2.1 シミュレーション1:線形の場合
4.2.2 シミュレーション2:非線形の場合
4.3 Partial Dependence
4.3.1 1つのインスタンスの特徴量とモデルの予測値の関係
4.3.2 すべてのインスタンスに対する特徴量と予測値の平均的な関係
4.3.3 Partial Dependenceクラスの実装
4.3.4 Partial Dependenceの数式表現
4.4 Partial Dependenceは因果関係として解釈できるのか
4.4.1 シミュレーション3:相関関係と因果関係
4.4.2 PDを因果関係として解釈することの危険性
4.5 実データでの分析
4.5.1 PDによる可視化
4.6 PDの利点と注意点
4.7 参考文献
5章 インスタンスごとの異質性をとらえる~Individual Conditional Expectation~
5.1 なぜインスタンスごとの異質性をとらえる必要があるのか
5.2 交互作用とPDの限界
5.2.1 シミュレーションデータの生成
5.2.2 PDの可視化
5.3 Individual Conditional Expectation
5.3.1 ICEの実装
5.3.2 ICEのシミュレーションデータへの適用
5.4 Conditional Partial Dependence
5.4.1 CPDの数式表現
5.4.2 CPDの可視化
5.5 ICEの解釈
5.5.1 what-if
5.5.2 特徴量に依存関係があるケース
5.6 実データでの分析
5.7 ICEの利点と注意点
5.8 参考文献
6章 予測の理由を考える~SHapley Additive exPlanations~
6.1 なぜ予測の理由を考える必要があるのか
6.2 SHAPのアイデア
6.2.1 SHAPの数式表現
6.2.2 貢献度の分解:線形回帰モデルの場合
6.3 協力ゲーム理論とShapley値
6.3.1 アルバイトゲーム
6.3.2 限界貢献度
6.3.3 Shapley値の数式表現
6.4 SHapley Additive exPlanations
6.4.1 特徴量が分かっている/分かっていない場合の予測値
6.4.2 具体例:特徴量が2つの場合
6.5 SHAPの実装
6.5.1 SHAPの実装
6.5.2 `ShapleyAdditiveExplanations`クラスの実装
6.6 実データでの分析
6.6.1 shapパッケージの導入
6.6.2 SHAP値の可視化
6.7 ミクロからマクロへ
6.7.1 SHAPによる特徴量重要度の可視化
6.7.2 SHAPによるPDの可視化
6.8 SHAPの利点と注意点
6.9 参考文献
付録A: Rによる分析例~tidymodelsとDALEXで機械学習モデルを解釈する~
A.1 tidymodelsとDALEX
A.2 データの読み込み
A.3 tidymodelsによる機械学習モデルの構築
A.4 DALEXによる機械学習モデルの解釈
A.4.1 PFIで特徴量の重要度を知る
A.4.2 PDで特徴量と予測値の平均的な関係を知る
A.4.3 ICEで特徴量と予測値のインスタンスごとの関係を知る
A.4.4 SHAPでインスタンスごとの予測の理由を知る
A.5 まとめ
A.6 参考文献
付録B: 機械学習の解釈手法で線形回帰モデルを解釈する
B.1 なぜ機械学習の解釈手法で線形回帰モデルを解釈するのか
B.1.1 線形回帰モデルの設定
B.1.2 シミュレーションの設定
B.1.3 線形回帰モデルの学習
B.2 線形回帰モデルとPFIの関係
B.2.1 シミュレーションによる比較
B.2.2 数式による比較
B.3 線形回帰モデルとPDの関係
B.3.1 数式による比較
B.3.2 シミュレーションによる比較
B.4 線形回帰モデルとICEの関係
B.4.1 数式による比較
B.4.2 シミュレーションによる比較
B.5 線形回帰モデルとSHAPの関係
B.5.1 数式による比較
B.5.2 シミュレーションによる比較
B.6 まとめ
B.7 考文献
著者情報
森下, 光之助
森下光之助
森下光之助
東京大学大学院経済学研究科で計量経済学を用いた実証分析を学び、経済学修士号を取得。株式会社グリッドに入社し、機械学習を用いたデータ分析プロジェクトに従事。現在はTVISION INSIGHTS株式会社で執行役員兼データ・テクノロジー本部副本部長。テレビデータの分析、社内データの利活用の促進、データ部門のマネジメントを行っている。