第498話|予測モデルに「なぜそう判断したの?」と聞く技術(SHAPとLIME)

第498話|予測モデルに「なぜそう判断したの?」と聞く技術(SHAPとLIME)

精度の高い予測モデルができました」と報告を受けても……

いざ「なぜ、その予測になったの?」と尋ねると答えが返ってこない。

そんな経験はないでしょうか。

よく当たるモデルほど中身が複雑な「ブラックボックス」になり、なぜその結論に至ったのかを人間が追えなくなる。

これは、予測モデルを使う多くの現場でつきまとう悩みです。

そこで湧いてくるのが、当然の疑問です。

中身の見えないその箱に、後から「なぜ、そう判断したの?」と尋ねる方法はないのだろうか、と。

実は、あります。それがSHAP(シャップ)LIME(ライム)と呼ばれる技術です。

名前だけ聞くと身構えてしまいますが、やっていることは、料理人が「この一皿の味は、どの材料が決めているのか」を確かめる作業によく似ています。

今回の記事では数式をいっさい使わず、台所のたとえだけで(逆に分かりにくくなるかもしれませんが)、この2つの考え方を説明していきます。

ブラックボックスに「なぜ?」と聞けるのか

 中身が見えないモデルが増えている

近年、ビジネスの現場で使われる予測モデルは、ますます複雑で高性能になっています。

その代わり、中身が見えにくくなっているのも事実です。

たとえば……

  • 生産現場では、設備がいつ故障するかを事前に予測するモデルが使われます
  • 開発の現場では、出荷前の製品が不良になりそうかどうかを見分けるモデルが活躍します
  • マーケティングなら、どの顧客がキャンペーンに反応しそうかを当てるモデルがあるでしょう

いずれも高い精度を出しますが……

  • なぜこの設備が危ないと判断したのか?
  • なぜこの顧客が反応すると見たのか?

……を問うと、モデル自身は何も語ってくれません。

困ったことに、現場はその「なぜ」を強く求めます。

ベテランの保全担当者は理由が分からなければアラートを信用しませんし、この顧客に絞るべきと言われたマーケターは根拠の説明を求めます。

つまり、予測が当たるだけでは足りず、その理由を語れることが、実務では避けて通れない条件になっているのです。

だからこそ、後から理由を引き出す技術が必要になります。

 「箱を開ける」のではなく「外から推し量る」という発想

ここで多くの人は、「ならば箱を開けて、中の仕組みを直接読み解けばいい」と考えます。

しかし複雑なモデルの中身は、数百万のダイヤルが連動するようなもので、人間が一つひとつ追うのは現実的ではありません。

そこで発想を変えます。

中身を直接のぞくのをあきらめ、「外から働きかけて、その反応を見る」ことで理由を推し量るのです。

料理にたとえれば、シェフにレシピを聞き出すのではなく、自分で材料を足したり引いたりして味の変化を観察し、「どうやらこの味は出汁が決め手だ」と当たりをつけるようなものです。

SHAPもLIMEも、この「外から推し量る」流儀に立っています。

 代表選手は2人——SHAPとLIME

なぜそう判断したの?」に答える技術はいくつもありますが、その代表格がSHAPとLIMEです。

ざっくり言えば……

  • SHAPは、「あらゆる組み合わせを丁寧に味見して、各材料の手柄を公平に配分する」じっくり型
  • LIMEは、「目の前の一皿に絞って、手早く決め手を突き止める」スピード型

どちらも目的は同じで、予測の理由を「人間に分かる言葉へ翻訳すること」です。

面白いのは、同じ「外から推し量る」流儀でありながら、攻め方がまるで違う点です。

SHAPは全体をくまなく調べる代わりに時間がかかり、LIMEは一点に集中する代わりに手早い。

どちらが優れているという話ではなく、知りたいことに応じて選ぶ道具だと考えてください。

SHAP:その味は、どの材料のおかげか

 カレーの隠し味問題

おいしいカレーができたとします。

このコクは何のおかげだろう」と気になったとき、あなたならどうやって突き止めますか。

一つの方法は、材料を一つずつ抜いて作り直し、味の変化を見ることです。

  • 隠し味のチョコレートを抜いてみたらコクが大きく減った、ならばチョコレートの貢献は大きい
  • 玉ねぎを抜いても大して変わらなかった、ならその貢献は小さい

こうして「どの材料が、この仕上がりにどれだけ味を左右したか」を測れます。SHAPの発想は、まさにこれです。

ポイントは、「全体の味」という一つの結果を、「材料ごとの貢献」という分かりやすい単位にバラして見せてくれることです。

一杯のカレーが急においしくなった理由を、勘ではなく「この材料のおかげ」と具体的に語れるようになる。

予測モデルの世界でこれができれば、「なぜこの予測になったのか」という問いに、堂々と答えられるようになります。

 あらゆる組み合わせで味見して、各材料の手柄を測る

ただし、本当に公平に手柄を配分しようとすると、もう一歩ていねいに考える必要があります。

材料には相性があるからです。

チョコレートは単独ではいまひとつでも、玉ねぎと合わさると一気にコクが増すかもしれません。

そこでSHAPは……

  • チョコレートだけ
  • 玉ねぎだけ
  • 両方入れる
  • どちらも入れない

……といった、ありとあらゆる組み合わせで味見をして、その結果を突き合わせます。

そうして初めて、それぞれの材料の本当の貢献度を、相性まで含めて公平に割り出せるのです。

一品の仕上がりを、材料ごとの手柄にきれいに分解する。それがSHAPのやっていることです。

この「公平な配分」は、たくさんの予測をまとめて眺めるときに特に威力を発揮します。

たとえばマーケティング部門が顧客の解約予測モデルを使っていて、SHAPで全顧客ぶんの貢献度を集計したとします。

すると「解約に最も効いているのは、実は価格への不満ではなく、利用頻度の急な低下だった」といった、全体としての傾向が見えてきます。

値引きで引き止めるより、使い始めの体験を改善すべきだ——そんな施策の方向転換にもつながる、貴重な気づきです。

 だから要因を「足し算」で説明できる

この考え方を予測モデルに当てはめると、一つの予測値を、要素ごとの貢献に分解できます。

たとえば、ある商品の来月の需要予測が「いつもより高め」と出たとします。

SHAPを使うと、その理由を……

  • 気温の上昇が+15
  • 週末が多い月の配置が+8
  • 競合の値下げが−5

その結果、「全体として高めになった」というように、要因ごとの足し引きで示せます。

営業や生産の担当者は「なるほど、暑くなる影響が一番大きいのか」と腑に落ち、根拠を持って在庫を厚くできます。

各要因が予測値にプラスかマイナスか、その大きさはどれくらいか。

そこまで一貫した形で説明できるのが、SHAPの強みです。

しかも、こうして要因が見えると、打ち手まで具体的になります。

  • 今回の上振れは気温が主因なら、想定が外れたときにすぐ気づけるよう天気予報を毎日確認しよう
  • 競合の値下げがマイナスに効いているなら、価格対応も検討しよう

予測の数字を眺めるだけでは出てこない判断が、理由を知ることで初めて動き出すのです。

LIME:この一皿に絞って、少しだけ味を変えてみる

 全レシピは分からなくても「この一皿」なら調べられる

SHAPはていねいですが、あらゆる組み合わせを味見する分、手間と時間がかかります。

店全体の味の傾向ではなく、今、目の前にあるこの一皿だけ、手早く理由を知りたい」という場面もあるでしょう。

そこで登場するのがLIMEです。

LIMEは、料理全体の完全なレシピを解き明かそうとはしません。

今、目の前にあるこの一皿」に的を絞り、その周辺だけを調べます。

全部を理解するのは無理でも、一皿なら手早く分析できる、という割り切りです。

考えてみれば、これは私たちが普段やっていることに近いかもしれません。

お店の全レシピを丸ごと再現できなくても、「この一皿の、この旨さは何だろう」と一皿に集中すれば、見当はつけられます。

複雑なモデル全体を理解するのは諦めて、「今この瞬間に必要な、この1件の説明」だけを取りに行く。

そう割り切ったからこそ、LIMEは身軽で素早いのです。

 小さく動かして反応を見る

では、その一皿をどう調べるのか。

やり方はシンプルで、味を少しだけ変えてみて、反応を観察します。

  • 塩をほんの少し足したら、味はどう動くか?
  • 煮込む時間を少し延ばしたら、どう変わるか?

こうしてこの一皿に対し小さな変更を加え、何が味を大きく左右しているかを見極めます。

大きく作り変えるのではなく、あくまで目の前の周辺だけを探る。だからこそ、手早く決め手を言い当てられるのです。

すぐ近く」だけを調べる、という点が大切です。

店中のあらゆる料理に通じる法則を見つけようとすれば、調査は膨大になります。

しかし「この一皿の、ほんの少しの変化」に絞れば、複雑な味の仕組みも、その範囲ではぐっと単純に捉えられます。

全体は複雑でも、一点の周りだけを切り取れば見通しがよくなる。この割り切りが、LIMEの素早さを支えているのです。

 「この予測に関しては、これが効いた」と素早く言える

予測モデルに当てはめると、LIMEは「この1件の予測について、何が決め手だったか」を手早く教えてくれます。

たとえば、ある融資の申し込みに対してモデルが「承認は難しい」と判定したとします。

LIMEを使えば、入力情報を少しずつ動かしてみることで、「この判定では、過去の延滞回数が決定的に効いている。年収はほとんど影響していない」といった形で、その1件に限った理由を素早く示せます。

担当者は申込者に根拠を持って説明できますし、もし不本意な判定でも「どこを改善すれば結果が変わるか」まで見えてきます。

営業が客先で「御社のこの案件が高く予測された理由はここです」と、その場で説明したい場面にも向いています。

生産や開発の現場でも同じです。

品質検査モデルが、ある1個の製品を「不良の可能性が高い」と弾いたとき、LIMEなら「この判定は、特定の寸法のわずかなズレが決め手で、見た目の傷はほとんど関係していない」と、その1個についてだけ手早く理由を示せます。

検査担当者は「なるほど、ここを見ているのか」と納得し、見逃しや過剰な弾きを点検できます。

一件ごとに、その場で根拠を確かめたい。そんな現場の即応性に、LIMEはよく合うのです。

2つをどう使い分けるか

 SHAPは「公平さと一貫性」、LIMEは「手軽さと速さ」

ここまで来れば、2つの違いははっきりしてきます。

SHAPは、あらゆる組み合わせを味見する分、筋が通っていてブレない説明が得られます。同じ条件なら誰がやっても同じ結論になる、その一貫性が魅力です。

一方のLIMEは、目の前の一皿に絞って手早く調べる分、スピードが武器です。大量の予測を一件ずつ素早くさばきたいときに力を発揮します。

じっくり型のSHAP、スピード型のLIME、と覚えておくとよいでしょう。

同じ「なぜ?」に答えるにも、じっくり腰を据えて全体を分解する流派と、要点だけ手早く押さえる流派がある、というわけです。

 全体の傾向を知りたいか、目の前の1件を知りたいか

使い分けの目安は、「何を知りたいか」です。

マーケティングで「そもそも、どんな顧客が反応しやすいのか」という全体の傾向をつかみ、次のキャンペーン設計に活かしたいなら、公平で一貫したSHAPが向いています。

一方、営業が「今まさに目の前にいる、この1社の予測を、その場で説明したい」のであれば、手早いLIMEが便利です。

全体像を描くのか、一点を照らすのか。その違いで選べばよいのです。

もちろん、両者は二者択一ではありません。

SHAPで全体の傾向をつかんで戦略を立て、日々の個別案件はLIMEで素早く説明する、というように組み合わせて使うのが、実務ではむしろ自然です。

地図で全体像を把握しつつ、手元では懐中電灯で足元を照らす、そんな役割分担だと考えると分かりやすいでしょう。

 共通する注意点——どちらも「近似」にすぎない

最後に、両者に共通する大切な注意点があります。

SHAPもLIMEも、モデルの中身を直接読んでいるわけではなく、「外から味見して推し量った結果」だということです。

つまり、出てくる説明はあくまで近似であり、料理人本人の「自白」ではありません。

たいていは十分に役立ちますが、ときにもっともらしく聞こえても実態とずれることがあります。

たとえば、本当はいくつもの要素が複雑に絡み合って決まった予測なのに、説明としては「年齢が決め手でした」と、すっきりしすぎた形で提示されることがあります。

受け取る側は分かりやすさゆえに信じ込みやすいのですが、それが実態を単純化しすぎた近似である可能性は残ります。

説明が手に入ったからといって鵜呑みにせず……

  • この説明は腑に落ちるか?
  • 現場の感覚と矛盾しないか?

……と一度立ち止まる。

その姿勢まで含めて、これらの技術と上手に付き合っていきたいところです。

今回のまとめ

SHAPもLIMEも、名前こそ難しそうですが、やっていることは「材料を足したり引いたり、少し味を変えたりして、どれが味の決め手かを突き止める」という、料理人なら自然にやっている味見の作業によく似ています。

難しい数式の向こうにあるのは、案外と直感的な発想なのです。

だから、専門家でなくても「だいたいこういうことをしているのだな」と勘どころをつかんでおけば、十分に使いこなしの第一歩になります。

かつては「中身が見えないのだから仕方がない」と引き下がるしかなかった予測モデルにも、今では「なぜ、そう判断したの?」と問いかけ、人間に分かる言葉で答えを受け取る方法があります。

  • 全体の傾向を公平に分解したいときはSHAP、目の前の一件を手早く説明したいときはLIME
  • 返ってきた説明は「外から推し量った近似」であることを、心の片隅に置いておく

これだけ押さえておけば、ブラックボックスを前にしても、もう途方に暮れる必要はありません。

予測モデルを「黙って当てる道具」から「理由を語れる相棒」へと変えていく第一歩は、こうして「なぜ?」と問いかけてみることから始まるのです。