Google Cloud Professional Machine Learning Engineer 試験対策
1. モデル解釈性の重要性
- 解釈性(Interpretability) とは、モデルの予測結果や意思決定の根拠を人間が理解できる程度。
- 精度と解釈性はトレードオフの関係になりやすい。
- 試験では「精度と解釈性のバランスを取るための改善方法」を選択する問題が多い。
2. 主な解釈性向上手法
手法 | ライブラリ例 | 主な改善ポイント | 注意点 |
---|---|---|---|
LIME (Local Interpretable Model-Agnostic Explanations) | lime | ローカルな予測理由を説明 | 特徴量名の追加で可読性向上 |
SHAP (SHapley Additive exPlanations) | shap | 各特徴量の寄与度を可視化 | 個別 SHAP 値の可視化で洞察が深まる |
DALEX | DALEX (R) | 変数重要度・性能プロット | モデル選択・可視化追加が重要 |
変数重要度(Feature Importance)プロット | scikit-learn, XGBoost など | モデル全体の特徴量の影響度を可視化 | モデルによって解釈性が異なる |
3. 改善施策パターン
A. モデルの単純化
- 複雑なモデル(例: RandomForest, Deep NN)からロジスティック回帰や浅い決定木など単純なモデルへ切り替える。
- 効果: 解釈性が向上。
- 注意: 精度が下がる場合あり。
B. 特徴量情報の追加
- LIMEやSHAPなどの説明器に特徴量名を渡す。
- 効果: 出力結果の可読性・理解度向上。
C. 可視化の強化
- 変数重要度プロット(Variable Importance Plot)
- 個別 SHAP 値の可視化(
force_plot
やsummary_plot
) - 効果: モデルの意思決定要因を視覚的に把握できる。
4. 手法別の改善例(試験での典型パターン)
ケース | 改善案(正解パターン) | 試験でのNG例 |
---|---|---|
LIME + RandomForest | モデルをロジスティック回帰に変更 / 特徴量名追加 | 木の数を増やす(精度↑解釈性×) |
TensorFlow NN | モデルアーキテクチャを単純化 / LIME追加 | エポック数を増やす |
LightGBM + SHAP | 特徴量名をSHAPプロットに追加 / 個別SHAP値を可視化 | データセットを変える |
R + DALEX + RandomForest | ロジスティック回帰に変更 / 変数重要度プロット追加 | 木の数を増やす |
5. 試験での注意ポイント(Caution Alert)
- ツリー数増加は精度向上には寄与するが、解釈性は改善しない。
- エポック増加も解釈性には無関係。
- データセット変更は解釈性向上の本質ではない。
- バリデーション追加は良い実践だが、解釈性改善とは直接関係しない。
6. まとめ
- 精度より解釈性を優先する場面では、モデル単純化と可視化強化がカギ。
- LIME・SHAP・DALEXは出力の読みやすさを重視(特徴量名・個別プロット)。
- 試験では「何が解釈性に直接寄与するか」を見極めることが重要。
理解度確認テスト
Model Interpretability Techniques – GCP Professional ML Engineer 試験対策
1. モデル解釈性の目的
- モデルの**(空欄①)**を理解し、ビジネスや規制要件に対応する。
- 特に高精度なモデルほどブラックボックス化しやすく、**(空欄②)**とのバランスが重要。
2. 主なライブラリと特徴
ライブラリ | 主な用途 | 改善ポイント | 注意点 |
---|---|---|---|
LIME (Local Interpretable Model-Agnostic Explanations) | 局所的な予測根拠を提示 | (空欄③) を追加して可読性向上 | データ正規化は必須でない |
SHAP (SHapley Additive exPlanations) | 特徴量の寄与度を数値・可視化 | 個別 SHAP 値を可視化して**(空欄④)**を得る | データセットを変える必要はない |
DALEX | モデル性能・特徴量重要度可視化(R言語中心) | 変数重要度プロットで解釈性強化 | ツリー数増加は**(空欄⑤)**に寄与しない |
3. 解釈性向上の施策パターン
- モデル単純化
- RandomForest や Deep NN から (空欄⑥) へ切り替え
- 精度低下の可能性はあるが、可視化や説明が容易になる
- 特徴量情報の追加
- LIME や SHAP の explainer に (空欄⑦) を渡すことで出力の意味が明確に
- 可視化の強化
- 変数重要度プロット
- (空欄⑧) の可視化
4. 試験での典型的な正解・不正解例
ケース | 正解アプローチ | 不正解アプローチ |
---|---|---|
LIME + RandomForest | モデルを単純化 / 特徴量名追加 | (空欄⑨) |
LightGBM + SHAP | 特徴量名追加 / 個別 SHAP 値可視化 | データセット変更 |
DALEX + RandomForest | Logistic Regression へ変更 / 変数重要度追加 | ツリー数増加 |
5. 注意ポイント(Caution Alert)
- **(空欄⑩)**は精度向上に寄与するが、解釈性は改善しない。
- モデル評価用のバリデーション追加は良い実践だが、解釈性改善とは直接関係しない。
選択肢
空欄①
A) モデルの予測根拠
B) モデルの正規化手順
C) ハイパーパラメータ調整方法
D) GPU活用方法
空欄②
A) 推論速度
B) 精度
C) モデル軽量化
D) 特徴量選択
空欄③
A) 特徴量名
B) ハイパーパラメータ
C) データセットサイズ
D) 標準偏差
空欄④
A) バリデーション精度
B) モデル軽量化
C) より深い洞察
D) 計算速度
空欄⑤
A) 解釈性
B) 計算コスト削減
C) 推論速度
D) 学習データ数
空欄⑥
A) 勾配ブースティングモデル
B) ディープニューラルネットワーク
C) ロジスティック回帰
D) CNN
空欄⑦
A) 特徴量名
B) 損失関数
C) バッチサイズ
D) 学習率
空欄⑧
A) 個別 SHAP 値
B) ROC曲線
C) 混同行列
D) 正則化パラメータ
空欄⑨
A) バリデーション追加
B) エポック数増加
C) ツリー数増加
D) データ前処理
空欄⑩
A) ツリー数増加
B) 特徴量名追加
C) ROC曲線表示
D) LIME活用
解答と解説
① モデルの予測根拠
- 解釈性はモデルの予測理由や根拠を理解することが目的。
② 精度
- 高精度と解釈性はしばしばトレードオフの関係にある。
③ 特徴量名
- LIME の explainer に特徴量名を渡すと、結果が読みやすくなる。
④ より深い洞察
- 個別 SHAP 値を可視化することで、より詳細な予測要因の理解が可能になる。
⑤ 解釈性
- ツリー数を増やすことは精度に寄与しても、解釈性には寄与しない。
⑥ ロジスティック回帰
- 単純なモデルは可視化や説明が容易で、解釈性を高めやすい。
⑦ 特徴量名
- 可読性向上のためには explainer に特徴量名を渡すのが重要。
⑧ 個別 SHAP 値
- モデル全体ではなく、単一予測の特徴量寄与を分析できる。
⑨ ツリー数増加
- 精度向上に関係するが、解釈性の改善には直結しないため試験では誤答例として出やすい。
⑩ ツリー数増加
- 同上、Caution Alert 項目の典型例。