機械学習モデルの予測理由を解釈するSHAPとシャープレイ値の基礎
こんにちは。ゆうせいです。
機械学習を活用したシステムは高い精度で予測を行いますが、その計算過程が複雑であるため、なぜそのような予測結果に至ったのかという理由を人間が把握しにくいという課題が存在します。このような課題に対して、予測の根拠を説明するための手法としてSHAP(Sharpley Addictive Explanations)が使用されます。
この記事では、SHAPの基礎となるゲーム理論のシャープレイ値について、具体的な数値を変更した例を用いて解説し、機械学習へ応用する仕組みを説明します。
シャープレイ値の基本概念と具体的な計算
SHAPを理解するためには、元となったシャープレイ値(Sharpley Value)という考え方を把握する必要があります。シャープレイ値は、協力ゲーム理論と呼ばれる分野で提案された指標であり、複数の参加者が協力して得た成果に対して、それぞれの参加者がどれほど貢献したかを客観的に分配するために用いられます。
理解を深めるために、アルバイトの店舗経営を比喩として考えます。アルバイトのXさん、Yさん、Zさんの3人が協力して売上を伸ばす状況を想定します。それぞれの組み合わせにおいて発生する1日の売上高は以下の通りであると仮定します。
一人で働いた場合の売上高
Xさん一人:300円
Yさん一人:0円
Zさん一人:100円
二人で働いた場合の売上高
XさんとYさん:400円
XさんとZさん:500円
YさんとZさん:200円
全員で働いた場合の売上高
Xさん、Yさん、Zさんの三人:700円
3人が全員で働いた際に発生した700円の売上を、それぞれの貢献度に応じて分配する方法を求めます。
シャープレイ値は、ある人が作業に加わったことでどれだけ売上が増加したかという限界貢献度を計算し、あらゆる参加順序における増加量の平均値を算出することで求められます。
Xさんに着目して限界貢献度を計算します。Xさんが加わるパターンは以下の4通り存在します。
誰もいない状態にXさんが入る場合:300円 - 0円 = 300円
Yさんがいる状態にXさんが入る場合:400円 - 0円 = 400円
Zさんがいる状態にXさんが入る場合:500円 - 100円 = 400円
YさんとZさんがいる状態にXさんが入る場合:700円 - 200円 = 500円
3人が働く順番の組み合わせは、XYZ、XZY、YXZ、YZX、ZXY、ZYXの合計6通り存在します。これらの順序において、Xさんが参加した際に追加された売上額をそれぞれ当てはめると、以下のようになります。
XYZの場合:300円
XZYの場合:300円
YXZの場合:400円
YZXの場合:500円
ZXYの場合:400円
ZYXの場合:500円
これらの数値を合計して全6通りのパターン数で割ることにより、平均値を算出します。
同様の手順でYさんとZさんのシャープレイ値を計算すると、Yさんは100円、Zさんは200円となります。3人のシャープレイ値を合算すると、400円 + 100円 + 200円 = 700円となり、全員で達成した売上の総額と一致します。この結果から、各自の貢献に応じた分配数値が算出されたことが確認できます。
機械学習モデルへのSHAPの応用
SHAPは、このシャープレイ値の計算構造を機械学習モデルの予測値評価に応用した手法です。
機械学習モデルでは、入力されるデータの特徴量(例えば、家の広さ、駅からの距離、築年数など)をもとに目的の数値(例えば、物件の価格)を予測します。SHAPでは、先ほどの例における参加者(Xさん、Yさん、Zさん)を各特徴量に置き換えて計算を行います。
例えば、物件価格を予測するモデルにおいて、築年数という特徴量のみを入力した場合の予測値、築年数と広さを組み合わせた場合の予測値というように、特徴量の組み合わせを変化させながら予測値の変動量を測定します。
各特徴量が予測結果をどれだけ押し上げたか、あるいは押し下げたかという貢献度を数値化することにより、複雑なモデルであっても個々の予測理由を明確に説明することが可能になります。
SHAPを導入することのメリットとデメリット
機械学習の解釈にSHAPを活用することには、具体的な事実が存在します。
メリット
ゲーム理論に基づいた厳密な計算基準を用いているため、特徴量ごとの貢献度を客観的な評価指標として算出できます。
モデル全体の傾向だけでなく、特定のデータ1件に対する個別の予測理由についても視覚的に分析できます。
入力データに含まれる特徴量間の相互作用(複数のデータが合わさることで生じる影響)を考慮した貢献度を把握できます。
デメリット
特徴量の数が非常に多い場合、すべての組み合わせパターンを計算するために膨大な処理時間と計算資源が必要となります。
各組合せの予測値を算出する際に、入力から一部の特徴量を取り除いた状態(欠損状態)を表現するための補正処理が必要となります。
学習のステップ
SHAPを用いたモデル解釈の技術を正確に身につけるためには、以下の手順で学習を進めることが有効です。
- 協力ゲーム理論における限界貢献度とシャープレイ値の計算手順を手計算で練習し、計算の概念を把握します。
- 機械学習における特徴量と予測値の関係性を整理し、単一の特徴量が予測に与える影響の測定方法を確認します。
- Pythonなどのプログラミング言語を用いて、単純な決定木や線形モデルに対してSHAPライブラリを適用する実装を行います。
- 算出されたSHAP値のグラフ(サマリープロットやウォーターフォールプロット)を読み解き、モデルがどのような根拠で予測を行っているかを分析する練習を行います。
数学的な構造と計算アルゴリズムの手順を確認することで、機械学習モデルの予測理由を透明化する分析手法を正しく習得することができます。
投稿者プロフィール

- 代表取締役
-
セイ・コンサルティング・グループ株式会社代表取締役。
岐阜県出身。
海外放浪の末、2000年創業、2004年会社設立。
IT企業向け人材育成研修歴業界歴20年以上。
すべての無駄を省いた費用対効果の高い「筋肉質」な研修を提供します!
この記事に間違い等ありましたらぜひお知らせください。
学生時代は趣味と実益を兼ねてリゾートバイトにいそしむ。長野県白馬村に始まり、志賀高原でのスキーインストラクター、沖縄石垣島、北海道トマム。高じてオーストラリアのゴールドコーストでツアーガイドなど。現在は野菜作りにはまっている。
最新の投稿
山崎講師2026年8月1日コンピューターが数値計算の誤差に対処する仕組みと精度管理の方法
山崎講師2026年8月1日0乗が1になる理由を2乗の計算式から解説する指数法則の基礎
山崎講師2026年8月1日機械学習モデルの予測理由を解釈するSHAPとシャープレイ値の基礎
山崎講師2026年8月1日適合率と再現率の概念と初心者向けのわかりやすい再翻訳案
