機械学習を解釈する技術
〜予測力と説明力を両立する実践テクニック

書籍の概要

この本の概要

機械学習の研究開発が急速な勢いで進んでいます。理論研究はもちろん,機械学習手法が実装されたオープンソースのパッケージ開発も進み,それらを実務で利用するためのノウハウも蓄積されてきています。結果として,機械学習をはじめたばかりの入門者でも比較的高い精度の予測モデルを構築できるようになりました。
Deep Learning, Gradient Boosting Decision Tree, Random Forestなどの機械学習モデルは高い予測精度を誇りますが,モデルの解釈性が低いという欠点があります。これらの複雑なブラックボックスモデルにおいて,モデルがなぜそのような予測を行っているのかを知ることは困難ですが,データ分析者自身がモデルの振る舞いを把握し,説明責任を果たすことを実務においては頻繁に求められます。
本書では,このような予測精度と解釈性のトレードオフを克服するための手法について,実務において特に有用と考えるものを厳選して紹介します。

本書の構成は以下になります。

1章: 機械学習の解釈性とは
2章: 線形回帰モデルを通して「解釈性」を理解する
3章: 特徴量の重要度を知る〜Permutation Feature Importance〜
4章: 特徴量と予測値の関係を知る〜Partial Dependence〜
5章: インスタンスごとの異質性を捉える〜Individual Conditional Expectation〜
6章: 予測の理由を考える〜SHapley Additive exPlanations〜
付録A: R による分析例~ tidymodelsとDALEXで機械学習モデルを解釈する~
付録B: 機械学習の解釈手法で線形回帰モデルを解釈する

2章では極めて高い解釈性を誇る線形回帰モデルを通して,予測モデルに求められる解釈性について説明します。以降の4つの章では,それらの解釈性をブラックボックスモデルに与えるPFI, PD, ICE, SHAPと呼ばれる手法について解説します。
本書は機械学習の解釈手法を実用して頂くことを目的としています。Pythonでゼロから手法を実装することを通じて解釈手法のアルゴリズムを理解し,実データの分析を通じて解釈手法の勘所を押さえて頂きます。機械学習の解釈手法は強力な反面,使い方を誤ると間違った結論を導いてしまう危険もあります。本書では解釈手法を実用する際の注意点についても丁寧に触れています。

こんな方におすすめ

  • 機械学習エンジニア
  • データサイエンティスト
  • 機械学習エンジニア,データサイエンティスト職を志望する学生

この書籍に関連する記事があります!

第2回 実務における機械学習の解釈手法と因果推論の位置づけ
2021年8月に発売された『機械学習を解釈する技術』の著者である森下光之助氏と『施策デザインのための機械学習入門』を共著した齋藤優太氏,安井翔太氏の3人が集まり,執筆の経緯や書籍への想いについて3回にわたって語る第2回。
第3回 研究を実務に活かすには ―執筆陣がお勧めする書籍の「使いどころ」
2021年8月に発売された『機械学習を解釈する技術』の著者である森下光之助氏と『施策デザインのための機械学習入門』を共著した齋藤優太氏,安井翔太氏の3人が集まり,執筆の経緯や書籍への想いについて語る,今回はその最終回です。

目次

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 考文献

著者プロフィール

森下光之助(もりしたみつのすけ)

東京大学大学院経済学研究科で計量経済学を用いた実証分析を学び,経済学修士号を取得。株式会社グリッドに入社し,機械学習を用いたデータ分析プロジェクトに従事。現在はTVISION INSIGHTS株式会社で執行役員兼データ・テクノロジー本部副本部長。テレビデータの分析,社内データの利活用の促進,データ部門のマネジメントを行っている。
Twitter::@dropout009
ブログ:https://dropout009.hatenablog.com/
登壇資料:https://speakerdeck.com/dropout009