ホームページ > テクノロジー周辺機器 > AI > MLおよびAIモデルの説明可能性と解釈可能性

MLおよびAIモデルの説明可能性と解釈可能性

Joseph Gordon-Levitt
リリース: 2025-03-09 13:17:10
オリジナル
806 人が閲覧しました

この記事では、機械学習と人工知能モデルの説明可能性と解釈可能性の概念に飛び込みます。特にこれらの技術がヘルスケア、金融、法制度などの重要な分野で使用されているため、モデルが予測をどのように予測するかを理解することが重要である理由を探ります。ライムやシャップなどのツールを通して、モデルの意思決定プロセスに関する洞察を得る方法を示し、複雑なモデルをより透明にします。この記事は、説明可能性と解釈可能性の違いを強調し、これらの概念がAIシステムへの信頼の構築にどのように貢献し、課題と制限に対処するかを説明しています。

学習目標

機械学習とAIにおけるモデルの説明可能性と解釈可能性の違いを理解してください。
    ライムとシップツールがモデルの透明性と意思決定の洞察をどのように強化するかを学びます。
  • AIシステムで信頼を築く際の説明可能性と解釈性の重要性を探ります。
  • パフォーマンスを損なうことなく理解を深めるために複雑なモデルをどのように単純化できるかを理解してください。
  • AIモデルに関連する課題と制限を特定します。
  • 目次
  • 説明可能性と解釈可能性はどういう意味ですか?また、MLとai?
  • >
モデルの説明可能性と解釈可能性を改善することの利点複雑なモデルでの説明可能性と解釈可能性がどのように組み込まれているか
  • 石灰モデルの意思決定はどのように機能し、その説明を解釈する方法は?説明?
  • 複雑なxgbrモデルのshapサマリープロットを実装および解釈する方法?
  • 複雑なxgbrモデルのshap依存プロットを実装および解釈する方法?説明可能性
  • 結論
  • よくある質問
  • 説明可能性と解釈性はどういう意味ですか、そしてなぜそれらがMLとAIに不可欠なのですか?
  • 説明可能性は、モデルの意思決定の背後にある理由に答えるプロセスです。たとえば、MLとAIモデルには、モデルがツリー内のアパシカルノードを分割する方法を説明し、分割の論理を説明することにより、モデルの決定の説明と推論を提供できるときに説明可能性があると言えます。一方、解釈可能性は、モデルの説明と決定を非技術的なユーザーに翻訳することに関係するプロセスです。データサイエンティストは、モデルの予測に貢献する重みや係数などを理解するのに役立ちます。また、非技術的なユーザーがモデルがどのように決定を下し、モデルがそれらの予測を行う際にどのような要因をもたらしたかを理解するのに役立ちます。 AIおよびMLモデルは、LLMやディープラーニングモデルなど、数百から数千から数十億のパラメーターでますます複雑になっているため、モデルが行ったモデルの全体的および局所的な観測レベルの決定を理解することは非常に困難になります。モデルの説明可能性は、モデルの内部作業の洞察と推論を​​説明します。したがって、データサイエンティストとAIの専門家がモデル構築プロセスに説明可能性の手法を活用することが不可欠になり、これによりモデルの解釈も改善されます。 モデルの説明可能性と解釈可能性を改善することの利点

    以下では、モデルの説明可能性と解釈可能性の利点を検討します。

    信頼の改善

    信頼は、広い意味を持つ言葉です。それは誰かまたは何かの信頼性、誠実さ、または誠実さに対する自信です。

    信頼は、非生物だけでなく、人々にも関連付けられています。たとえば、友人の意思決定に依存したり、完全に自動化された運転車に依存して、ある場所から別の場所に輸送します。透明性とコミュニケーションの欠如は、信頼の侵食にもつながる可能性があります。また、信頼は、小さなステップと繰り返しの肯定的な相互作用を通じて時間の経過とともに構築されます。人や物との一貫した肯定的な相互作用があるとき、それは彼らの信頼性、肯定的な意図、および無害に対する私たちの信念を強化します。したがって、信頼は私たちの経験を通じて時間の経過とともに構築されます

    そして、それは私たちがML&AIモデルとその予測に依存することに重要な役割を果たしています。

    透明性とコラボレーションの改善

    マシンまたはディープラーニングモデルの内部仕組み、意思決定プロセス、および行われたルールと選択の背後にある直観を説明できる場合、信頼と説明責任を確立できます。また、利害関係者やパートナーとのコラボレーションとエンゲージメントの改善にも役立ちます。

    改善されたトラブルシューティング

    何かが壊れたり、期待どおりに機能しない場合、問題の原因を見つける必要があります。これを行うには、システムまたはモデルの内部仕組みへの透明性が重要です。問題を診断し、それらを解決するために効果的な行動をとるのに役立ちます。たとえば、人の「B」をローンの承認を承認すべきではないと予測するモデルを検討してください。これを理解するには、モデルの予測と決定を調べる必要があります。これには、モデルが人の「B」の観察に優先順位を付けた要因の識別が含まれます。 このようなシナリオでは、モデルの予測と人に関連する意思決定をより深く見るには、モデルの説明可能性が非常に便利です。また、モデルの内部の仕組みをより深く見ている間、モデルの決定に影響を与え、影響を与える可能性のあるバイアスをすぐに発見するかもしれません。

    したがって、MLモデルとAIモデルで説明可能性を使用して使用すると、トラブルシューティング、監視、継続的な改善効率が高まり、モデルのパフォーマンスを改善するためのバイアスとエラーの特定と緩和に役立ちます。

    MLおよびAIの人気のあるビジネスユースケースの説明可能性と解釈可能性

    データ駆動型の情報に基づいた決定を下すためのモデルの全体的な予測能力に常に関心があります。銀行や金融、小売、ヘルスケア、インターネットなど、さまざまな業界でMLおよびAIモデルには多数のアプリケーションがあります。商業、保険、自動車、製造、教育、通信、旅行、スペースなど。

    以下は、いくつかの例です

    銀行と金融

    銀行業界および金融業界では、ローンを提供したり、クレジットカードを発行したりするために適切な顧客を特定することが重要です。彼らはまた、詐欺的な取引を防ぐことに興味があります。また、この業界は高度に規制されています。

    アプリケーションの承認や詐欺監視などのこれらの内部プロセスを効率的にするために、銀行と財務はMLとAIモデリングを活用して、これらの重要な決定を支援します。彼らはMLおよびAIモデルを利用して、特定の与えられた要因と既知の要因に基づいて結果を予測します。

    一般的に、これらの機関のほとんどは、トランザクションとデータを継続的に監視して、パターン、傾向、および異常を検出します。彼らが処理する各アプリケーションのMLおよびAIモデルの予測を理解する能力を持つことが重要になります。彼らは、モデルの予測の背後にある理由と、予測を行う上で重要な役割を果たした要因を理解することに興味があります。

    さて、MLモデルがローン申請が拒否されると予測したとしましょう。このようなシナリオでは、リスク分析のモデル説明を利用し、モデルが顧客アプリケーションを拒否することを決定した理由と、この意思決定においてどの顧客要因が重要な役割を果たしたかについてのより深い洞察を得ることができます。この発見は、モデルの意思決定における問題、脆弱性、および新しいバイアスを検出、調査、および軽減するのに役立ち、モデルのパフォーマンスを改善するのに役立ちます。

    ヘルスケア

    医療業界では、ML/AIモデルが活用され、病歴、ラボ、ライフスタイル、遺伝学など、さまざまな要因に基づいて患者の健康転帰を予測します。 医療機関がML/AIモデルを使用して、治療中の患者が癌者の可能性が高いかどうかを予測するとしましょう。これらの問題には人の寿命が含まれているため、AI/MLモデルは非常に高いレベルの精度で結果を予測することが期待されています。 このようなシナリオでは、モデルの予測、利用された決定ルールをより深く検討する能力を持つことができ、予測に影響を与える要因を理解することが重要になります。ヘルスケアの専門チームはデューデリジェンスを行い、ML/AIモデルからの透明性を期待して、予測された患者の転帰と寄与因子に関連する明確かつ詳細な説明を提供します。これは、ML/AIモデルの説明可能性が不可欠になる場所です

    この尋問は、モデルの意思決定におけるいくつかの隠れた脆弱性とバイアーゼを発見するのに役立つことがあり、将来のモデルの予測を改善するために対処することができます。

    自動運転車

    自動運転車は、車、貨物トラック、列車、飛行機、船舶、宇宙船などの自己操作車両です。そのような車両では、AIおよびMLモデルがこれらの車両が独立して、人間の介入なしで操作できるようにする上で重要な役割を果たします。これらのモデルは、機械学習およびコンピュータービジョンモデルを使用して構築されています。自動運転車/車両が周囲の情報を認識し、情報に基づいた決定を下し、安全にナビゲートできるようにします。

    道路で動作するように設計された自動運転車の場合、ナビゲーションとは、車両をリアルタイムで自律的に導くことを意味します。つまり、オブジェクトの検出と識別、交通信号と標識の認識、オブジェクトの動作、レーンの維持、レーンの維持、レーンの維持、計画などの説明など、迅速な決定などの停止などの実施などの重要なタスクを通じて人間の介入なしに車両を誘導することを意味します。

    自律的な道路車両には、ドライバー、乗客、公共、公共の財産の安全性が含まれているため、公的信頼、受け入れ、採用を獲得するために、彼らは完璧に機能し、規制とコンプライアンスを遵守することが期待されています。したがって、これらの車両が意思決定に完全に依存しているAIおよびMLモデルに信頼を築くことが非常に重要です。自律車両では、AIおよびMLの説明可能性は説明可能なAI(XAI)としても知られています。説明可能なAIは、AIアクションと決定に関するフィードバックをリアルタイムで提供することにより、ユーザーの相互作用を改善するために使用できます。これらのツールは、AIの決定と問題を調査し、隠されたバイアスと脆弱性を特定して排除し、自動運転車モデルを改善するためのツールとしても役立ちます。

    小売

    小売業界では、AIおよびMLモデルを使用して、製品販売、在庫管理、マーケティング、カスタマーサポート、エクスペリエンスなどのさまざまな意思決定を導きます。MLとAIで説明可能性を備えていることが、モデル予測の理解を促進し、販売を生み出していない販売予測などの販売予測などの販売予測などの販売予測などの予測に関連する問題をより深く調べることができます。マーケティングキャンペーンは、販売などにプラスの影響を与えます 上記のビジネスユースケースから、MLおよびAIモデルがモデル全体に​​ついて明確で使用可能な説明を持つことと、ビジネス上の決定を導き、ビジネス運営を効率的にするための個別の予測を持つことが非常に重要であることが明確にわかります。

    複雑なモデルの一部には、説明可能性が組み込まれていますが、一部のモデルはこのための外部ツールに依存しています。モデルの説明可能性を追加するのに役立ついくつかのモデルに依存しないツールが利用可能です。利用可能な2つのツールをさらに詳しく見ていきます。 MLおよびAIモデルを改善するためのツールの説明可能性と解釈可能性

    モデルの意思決定プロセスとモデル予測の機能の貢献に関連する情報を提供するツールは非常に役立ちます。視覚化により説明をより直感的にすることができます。

    この記事では、一般的に使用されている2つの外部ツールをさらに詳しく調べて、MLおよびAIモデルの説明可能性と解釈可能性を追加します。

    石灰(ローカル解釈可能なモデルに依存しない説明)

    shap(形状の添加剤の説明)

      石灰はモデル不可知論です。つまり、機械学習やディープラーニングモデルで実装できることを意味します。線形およびロジスティック回帰、決定木、ランダムフォレスト、xgboost、knn、ElasticNetなどの機械学習モデル、およびRNN、LSTM、CNN、事前に訓練されたブラックボックスモデルなどの深いニューラルネットワークモデルで使用できます。

      複雑なモデルの内部仕組みを説明するために、単純な解釈可能なモデルを使用できるという仮定の下で機能します。単純な解釈可能なモデルは、単純な線形回帰モデルまたは決定ツリーモデルにすることができます。ここでは、LIME/SHAPの説明を使用して複雑なモデルの説明を生成するために、解釈可能なモデルとして単純な線形回帰モデルを使用しました。

      石灰と呼ばれる石灰は、一度に単一の観察結果についてローカルに解釈可能なモデルと依存の説明と呼ばれ、モデルがこの観察のスコアをどのように予測したかを理解するのに役立ちます。元の観測からの機能の摂動値を使用して合成データを作成することで機能します。

      摂動データとは何ですか?それがどのように作成されますか?

      表形式データの摂動データセットを作成するために、LIMEは最初にすべての機能を観察中のすべての機能を採用し、次にさまざまな変換を使用して機能値をわずかに変更することにより、観測の新しい値を繰り返し作成します。摂動値は、元の観測値に非常に近く、元の値に近い近隣からです。

      テキストおよび画像データ型の場合、LIMEは、元のデータセットから機能をランダムに選択し、機能の近隣からの新しい摂動値を作成することにより、データセットを繰り返し作成します。ライムカーネルの幅は、データポイント近傍のサイズを制御します。

      カーネルのサイズが小さいことは、近隣が小さく、元の値に最も近いポイントが説明に大きな影響を与えることを意味しますが、核サイズが大きい場合、遠いポイントは石灰の説明に寄与する可能性があります。

      近隣のサイズが広くなると、より正確な説明につながりますが、データのより広範な傾向を明らかにするのに役立ちます。より正確なローカルの説明のために、小さな近隣サイズを好むはずです。

      図の理解

      以下の図(図1)を通じて、摂動値、カーネルサイズ、および近隣に何らかの直観を与えようとします。 この議論では、BigMartデータセットのデータ例を使用しましたが、これは回帰問題です。石灰の表形式データを使用しました。

      BigMartデータセットからの観察#0を考慮してください。この観察には、値が13の機能「item_type」があります。この機能の平均と標準偏差を計算し、平均値を7.234と標準偏差を4.22に等しくしました。これは上の図に示されています。この情報を使用して、1.366に等しいZスコアを計算しました。

      Zスコアの左側の領域は、Xを下回る機能の値の%を提供します。 1.366のZスコアの場合、X = 13を下回る機能の約91.40%の値があります。したがって、この機能では、カーネル幅がx = 13未満でなければならないという直感が得られます。そして、カーネルの幅は、摂動データの近隣のサイズを制御するのに役立ちます。 下の図-2は、BigMartデータセットからの3つの元のテストデータポイントを示しており、これらをライムプロセスの直観を得るために検討しました。 XgBoostは複雑なモデルであり、元の観測インスタンスで予測を生成するために使用されました。 この記事では、BigMart PreprocessedおよびEncoded Datasetのトップ3レコードを使用して、ディスカッションをサポートする例と説明を提供します。

      石灰距離式

      石灰は、元のデータポイントと近隣のポイントの間の距離を内部的に使用し、ユークリッド距離を使用して距離を計算します。ポイントx = 13には座標(x1、y1)があり、近隣の別のポイントに座標(x2、y2)があり、これらの2つのポイント間のユークリッド距離は以下の方程式を使用して計算されます。 MLおよびAIモデルの説明可能性と解釈可能性

      以下の図(図4)は、青色の摂動データポイントと元の値を赤いデータポイントとして示しています。元のデータポイントからより短い距離にある摂動データポイントは、ライムの説明に対してより影響力があります。

      MLおよびAIモデルの説明可能性と解釈可能性上記の方程式は2dを考慮します。同様の方程式は、nの数の寸法を持つデータポイントに対して導出できます。

      カーネル幅は、ライムが近隣のサイズを決定するのに役立ちます。この機能の摂動値を選択します。値またはデータポイントが元の値から離れると、モデルの結果を予測する際に影響が少なくなります。 以下の図(図6)は、元の値との類似性スコアとXgboostモデルを使用した摂動インスタンス予測と、図(図5)を使用した摂動インスタンスの予測を示しています。

      MLおよびAIモデルの説明可能性と解釈可能性

      複雑なモデルで説明可能性と解釈可能性がどのように機能するか

      xgboost、ランダムフォレストなどの複雑なモデルには、基本的な内蔵モデルの説明機能が付属しています。 XGBoostモデルは、グローバルレベルでモデルの説明可能性を提供し、観察ローカルレベルでの予測を説明することができません。この議論では、Xgboostを複雑なモデルとして利用しているため、以下でその組み込みモデルの説明可能性について説明しました。 Xgboostは、モデルのグローバルな意思決定に直観を獲得するための意思決定ツリーをプロットする機能と、予測の機能の重要性を提供します。機能の重要性は、モデルの結果に対する貢献の重要性の順に機能のリストを返します。

      最初に、XGBoostモデルを開始し、トレーニングセットの独立したターゲット機能を使用してトレーニングしました。 XGBoostモデルの組み込みの説明機能を使用して、モデルの洞察を得るために使用されました。

      xgboostインビルドの説明をプロットするには、次のソースコードを使用します。

      以下の図(図7)は、上記のBigMart Complex XgBoostモデルの出力決定ツリーを示しています。

# plot single tree
plot_tree(xgbr_model)
plt.figure(figsize=(10,5))
plt.show()
ログイン後にコピー
ログイン後にコピー
ログイン後にコピー
ログイン後にコピー
ログイン後にコピー
ログイン後にコピー
ログイン後にコピー
ログイン後にコピー
上記のxgboostモデルツリーから、モデルの意思決定と、データを分割して最終的な予測を行うために使用された条件付きルールに関するいくつかの洞察が得られます。上記から、このXGBoostモデルでは、機能項目_MRPが結果に最も貢献し、その後に意思決定のAutlet_Typeが続いたようです。 Xgboostの機能の重要性を使用して、これを確認できます 機能の重要性を表示するためのソースコード

内蔵の説明を使用してXGBoostモデルの機能の重要性を表示するには、次のソースコードを使用します。

MLおよびAIモデルの説明可能性と解釈可能性

以下の図(図9)は、上記のxgboostモデルを使用して生成された機能の重要性を示しています。

上記のxgboost機能の重要性から、興味深いことに、xgboostモデルでは、outlet_typeがitem_mrpよりも高い寄与の大きさを持っていたことがわかります。また、このモデルは、他の貢献機能とモデルの予測への影響に関する情報を提供しました。

Xgboostモデルの説明はグローバルレベルであり、かなりの情報を提供しますが、機能の寄与の方向などのいくつかの追加情報が欠落しており、ローカルレベルの観察に関する洞察はありません。方向は、この機能が予測値の増加に貢献しているか、予測値を減少させるかに貢献しているかどうかを示します。分類の問題については、機能の貢献の方向は、機能がクラス「1」またはクラス「0」に貢献しているかどうかを知ることを意味します。

これは、ライムやシャップなどの外部の説明可能性ツールが役立つ可能性があり、Xgboostモデルの説明可能性をフィーチャーの貢献または機能の影響の方向に関する情報で補完することができます。モデルの意思決定プロセスを説明するための機能が組み込まれていないモデルの場合、LIMEはこの能力を追加して、ローカルおよびグローバルなインスタンスの予測決定を説明するのに役立ちます。

石灰モデルの意思決定はどのように機能し、その説明をどのように解釈するか?

ライムは、複雑なモデル、単純なモデル、およびモデルの知識がなく、予測のみを持っているブラックボックスモデルでも使用できます。

したがって、ライムモデルを説明が必要なモデルと直接適合させることができます。また、サロゲートシンプルモデルを使用してブラックボックスモデルを説明するために使用できます。

以下では、Xgboost回帰モデルを複雑なものとして使用し、ブラックボックスモデルとして使用し、単純な線形回帰モデルを活用して、ブラックボックスモデルの石灰の説明を理解します。これにより、同じ複雑なモデルに両方のアプローチを使用して、ライムによって生成された説明を比較することができます。

ライムライブラリをインストールするには、次のコードを使用します

アプローチ1:複雑なXGBRモデルを使用して石灰の説明を実装および解釈する方法

xgboostなどの複雑なモデルでライムの説明を直接実装するには、次のコードを使用します。

これにより、以下に示す図のように見える出力が生成されます。
# plot single tree
plot_tree(xgbr_model)
plt.figure(figsize=(10,5))
plt.show()
ログイン後にコピー
ログイン後にコピー
ログイン後にコピー
ログイン後にコピー
ログイン後にコピー
ログイン後にコピー
ログイン後にコピー
ログイン後にコピー

上から、摂動観察#0の類似性スコアは71.85%であり、これはこの観察の特徴が元の観測の機能と71.85%類似していたことを示しています。観察#0の予測値は1670.82で、21.74から5793.40の間の予測値の全体的な範囲があります。
# feature importance of the model
feature_importance_xgb = pd.DataFrame()
feature_importance_xgb['variable'] = X_train.columns
feature_importance_xgb['importance'] = xgbr_model.feature_importances_
ログイン後にコピー
ログイン後にコピー
ログイン後にコピー
ログイン後にコピー
ログイン後にコピー
ライムは、観察#0予測の最も寄与する機能を特定し、機能の貢献の大きさの下降順に配置しました。

青色でマークされた機能は、モデルの予測値の減少に寄与することを示していますが、オレンジ色の特徴は、観測の予測値を増やすことに寄与することを示しています。 また、ライムは、観測のためにデータを分割するためにモデルが利用する機能レベルの条件付きルールを提供することでさらに進みました。

ライムを使用した機能の貢献とモデルの予測を視覚化するMLおよびAIモデルの説明可能性と解釈可能性 上記の図(図13)の図(図13)では、左側のプロットは、すべての観測による予測値の全体的な範囲(最大値から最大)を示し、中心の値は、この特定のインスタンスの予測値、つまり観測値です。

中央のプロットは、青色を表示することをモデル予測に向けて負の寄与機能を表し、ローカルインスタンスのモデル予測に向けてモデル予測に積極的に寄与する機能は、オレンジ色で表されます。機能を備えた数値値は、特徴が摂動値を示していることを示しています。または、モデル予測に対する特徴の貢献度の大きさを示すことができます。この場合、特定の観察(#0)またはローカルインスタンス右側のプロットは、インスタンスの予測を生成する際にモデルによって与えられる機能の重要性の順序を示しています。

注:このコードを実行するたびに、ライムは機能を選択し、わずかに新しいウェイトをそれらに割り当てるため、予測値とプロットを変更する可能性があります。

アプローチ2:サロゲートのシンプルなLRモデルを使用して、ブラックボックスモデル(XGBR)のライム説明を実装および解釈する方法?

xgboostなどの複雑なブラックボックスモデルを使用してライムを実装するには、サロゲートモデルメソッドを使用できます。代理モデルでは、線形回帰や決定ツリーモデルなどの単純なモデルを使用できます。ライムはこれらの単純なモデルで非常にうまく機能します。また、複雑なモデルをライムの代理モデルとして使用することもできます。

2番目のステップ

複雑なモデルを使用した2番目のステップ、列車セットからの独立した機能、およびライムでは、摂動機能値の新しいデータセットを生成し、摂動機能と複雑なモデルの予測値を使用して、サロゲートモデル(この場合は線形回帰)をトレーニングします。

# plot single tree
plot_tree(xgbr_model)
plt.figure(figsize=(10,5))
plt.show()
ログイン後にコピー
ログイン後にコピー
ログイン後にコピー
ログイン後にコピー
ログイン後にコピー
ログイン後にコピー
ログイン後にコピー
ログイン後にコピー
石灰を使用して摂動する特徴値を生成するには、以下に示す次のソースコードを利用できます。

上記のコードは回帰のために機能します。分類の問題については、モードを「分類」に変更する必要があります。

note

# feature importance of the model
feature_importance_xgb = pd.DataFrame()
feature_importance_xgb['variable'] = X_train.columns
feature_importance_xgb['importance'] = xgbr_model.feature_importances_
ログイン後にコピー
ログイン後にコピー
ログイン後にコピー
ログイン後にコピー
ログイン後にコピー
最後に、Surrogate LRモデルを使用してローカルインスタンス#0にライムを適合させ、その説明を表示します。これは、ブラックボックスモデル(XGBR)の機能の貢献を解釈するのにも役立ちます。これを行うには、以下に示すコードを使用します
# feature_importance values in descending order
feature_importance_xgb.sort_values(by='importance', ascending=False).head()
ログイン後にコピー
ログイン後にコピー
上記の実行について、以下の図(図13)に示すように、次の石灰の説明が得られました。

# install lime library
!pip install lime

# import Explainer function from lime_tabular module of lime library
from lime.lime_tabular import LimeTabularExplainer
ログイン後にコピー

私たちがすぐに気づいたことの1つは、ライムをxgboostモデルで直接使用したとき、ライムの説明スコアがより高い(71.85%)観測#0で、ブラックボックスモデルとして扱い、ブラックボックスモデル(xgboost)のライム説明を取得するために代理LRモデルを使用したことです。これは、サロゲートモデルのアプローチでは、元の機能と類似している観測値の機能の数が少なくなることを示しているため、元のモデルと元のモデルのライムと比較して、説明担当者を使用した予測にある程度の違いがある可能性があります。

観察#0の予測値は2189.59で、2053.46から2316.54の間の予測値の全体的な範囲があります。

ライムXGBRを使用した観察#0の予測値は1670.82でした。

石灰の摂動データにアクセスする方法?

ライム摂動値を表示するには、次のコードを使用します。

上からの出力は、下の図に示すように見えるでしょう。

# plot single tree
plot_tree(xgbr_model)
plt.figure(figsize=(10,5))
plt.show()
ログイン後にコピー
ログイン後にコピー
ログイン後にコピー
ログイン後にコピー
ログイン後にコピー
ログイン後にコピー
ログイン後にコピー
ログイン後にコピー

MLおよびAIモデルの説明可能性と解釈可能性

# feature importance of the model
feature_importance_xgb = pd.DataFrame()
feature_importance_xgb['variable'] = X_train.columns
feature_importance_xgb['importance'] = xgbr_model.feature_importances_
ログイン後にコピー
ログイン後にコピー
ログイン後にコピー
ログイン後にコピー
ログイン後にコピー
石灰機能の重要性

モデルの各インスタンスは、インスタンスの予測を生成する上で異なる機能を重要にします。これらの特定されたモデル機能は、モデルの予測に重要な役割を果たします。機能の重要性値は、摂動された機能値またはモデル予測の識別された機能の新しい大きさを示します。 MLおよびAIモデルの説明可能性と解釈可能性ライムの説明スコアは何ですか、そしてそれを解釈する方法は?

石灰の説明スコアは、石灰の説明の精度と、モデルの結果の予測における特定された特徴の役割を示します。より高い説明可能なスコアは、このインスタンスのモデル予測で重要な役割を果たしたためのモデルによって特定された機能が重要な役割を果たしたことを示しています。上記の図(図13)から、解釈可能な代理LRモデルが、観察の特定された機能に0.4954スコアを与えたことがわかります。

モデルに説明可能性を追加するためにShapelyという名前の別のツールを調べてみましょう。

Shapの理解(Shapley Additive説明)

MLおよびAIモデルの説明に一般的に使用されるもう1つのツールは、SHAPです(形状の追加の説明)。このツールはモデル不可知論者でもあります。その説明は、「Shapley Values」と呼ばれる協同ゲーム理論の概念に基づいています。このゲーム理論では、すべてのプレイヤーの貢献が考慮され、各プレイヤーには全体的な結果への貢献に基づいて価値が与えられます。したがって、それはモデルの決定についての公正で解釈可能な洞察を提供します。

Shapelyによると、プレイヤーの連合は協力して結果を達成します。すべてのプレーヤーは同一ではなく、各プレイヤーには異なる方法で貢献するのに役立つ明確な特性があります。ほとんどの場合、それは彼らがゲームに勝つのに役立つ複数のプレーヤーの貢献です。したがって、プレーヤー間の協力は有益であり、評価される必要があり、結果への単一のプレイヤーの貢献だけに依存すべきではありません。そして、シェイプごとに、結果から生成されたペイオフは、彼らの貢献に基づいてプレーヤーに分配されるべきです。

shap mlおよびaiモデル説明ツールは、上記の概念に基づいています。データセットの機能をチーム内の個々のプレーヤーとして扱います(観察)。連合はMLモデルで連携して結果を予測し、ペイオフはモデルの予測です。 SHAPは、個々の機能(プレーヤー)の間で結果の増加を公正かつ効率的に配布するのに役立ち、したがって、モデルの結果に対する貢献を認識します。 Shapley値を使用した貢献の公正な分布

上記の図(図15)では、2人のプレーヤーが競争に参加していることを検討しており、結果は獲得した賞金の形で達成されています。 2人のプレーヤーは、異なる連合(C12、C10、C20、C0)を形成することで参加し、各連合を通じて異なる賞品を獲得します。最後に、形の平均体重が、結果に対する各プレイヤーの貢献を決定し、参加者の間で賞金を公正に配布するのに役立つ方法を確認します。

「I」プレイヤーの場合、図に示されている次の方程式(図16)を使用して、各プレーヤーまたは機能のSHAP値を決定できます。 MLおよびAIモデルの説明可能性と解釈可能性

Shap Libraryをさらに調べてみましょう

Shapライブラリのインストールをインストールして初期化する方法は?

shapライブラリをインストールするには、以下に示すように次のソースコードを使用します。 MLおよびAIモデルの説明可能性と解釈可能性

複雑なXGBRモデルのSHAP説明を実装および解釈する方法?

shapライブラリは、複雑なモデルで直接使用して説明を生成できます。以下は、複雑なXGBoostモデルでSHAPを直接使用するコードです(石灰の説明に使用されるのと同じモデルインスタンスを使用)。

複雑なXGBRモデルのshap値を生成する方法

# plot single tree
plot_tree(xgbr_model)
plt.figure(figsize=(10,5))
plt.show()
ログイン後にコピー
ログイン後にコピー
ログイン後にコピー
ログイン後にコピー
ログイン後にコピー
ログイン後にコピー
ログイン後にコピー
ログイン後にコピー
上記には、連合の各機能プレーヤー、つまりテストデータセットの観測値のSHAP値の配列が表示されます。

下の図(図19)に示すように、shap値は次のように見えます:

# feature importance of the model
feature_importance_xgb = pd.DataFrame()
feature_importance_xgb['variable'] = X_train.columns
feature_importance_xgb['importance'] = xgbr_model.feature_importances_
ログイン後にコピー
ログイン後にコピー
ログイン後にコピー
ログイン後にコピー
ログイン後にコピー

複雑なXGBRモデルのSHAP機能の重要性は何ですか?

shapは、どの機能がモデルの結果に貢献したかを特定するのに役立ちます。各機能が予測とその影響にどのように影響したかを示しています。 Shapは、モデル内の他の人と特徴の貢献も比較しています。

shapは、機能のすべての可能な順列を考慮することにより、これを達成します。機能の有無にかかわらずモデルの結果を計算および比較するため、各機能の貢献度とチーム全体(すべてのプレイヤーは考慮されている機能)を計算します。

複雑なXGBRモデルのshapサマリープロットを実装および解釈する方法?

shapサマリープロットを使用して、SHAP機能の貢献、その重要性、結果への影響を表示できます。

以下は図(図20)を示して、要約プロットを生成するソースコードを示しています。

上記の図(図-21)は、BigMartデータのSHAP要約プロットを示しています。上から、ShapがBigMartデータセットから重要性の順に機能を配置したことがわかります。右側には、上部の高価値の特徴と下部に配置された低値から配置された機能が表示されます。 また、モデル機能がその結果に与える影響を解釈することができます。特徴の影響は、SHAP平均値を中心とした水平にプロットされます。 SHAP平均値の左側にある機能のSHAP値は、ピンク色で示されています。 SHAP平均値の右側にある機能SHAP値は、ポジティブな影響に対する機能の寄与を意味します。 SHAP値は、結果に対する特徴の大きさまたは影響も示しています。
# plot single tree
plot_tree(xgbr_model)
plt.figure(figsize=(10,5))
plt.show()
ログイン後にコピー
ログイン後にコピー
ログイン後にコピー
ログイン後にコピー
ログイン後にコピー
ログイン後にコピー
ログイン後にコピー
ログイン後にコピー
したがって、Shapは、予測された結果に対する各特徴の寄与の大きさと方向を示すモデルの全体像を示しています。

複雑なXGBRモデルのshap依存プロットを実装および解釈する方法?MLおよびAIモデルの説明可能性と解釈可能性

SHAP機能依存プロットは、機能関係を別の機能と解釈するのに役立ちます。上記のプロットでは、item_mrpはoutlet_typeに依存しているようです。 outlet_types 1から3の場合、item_mrpの傾向は増加していますが、outlet_type 0からoutlet_type 1の上記から見たように、item_mrpにはトレンドが減少します。

複雑なXGBRモデルのSHAP FORCEプロットを実装および解釈する方法これまでのところ、SHAPはグローバルレベルでの重要性、影響、意思決定の特徴を見ました。 Shap Forceプロットを使用して、ローカル観測レベルでモデルの意思決定に直観を取得できます。

Shap Forceプロットを利用するには、以下のコードを使用できます。独自のデータセット名を使用することを忘れないでください。次のコードでは、テストデータセットの最初の観察結果、つまりX_UNSEEN_TEST.ILOC [0]を調べます。この数字を変更して、さまざまな観察結果を調べることができます。

# plot single tree
plot_tree(xgbr_model)
plt.figure(figsize=(10,5))
plt.show()
ログイン後にコピー
ログイン後にコピー
ログイン後にコピー
ログイン後にコピー
ログイン後にコピー
ログイン後にコピー
ログイン後にコピー
ログイン後にコピー

MLおよびAIモデルの説明可能性と解釈可能性

上記の力プロットを以下のように解釈できます。ベース値は、SHAP Surrogate LRモデルを使用して、ローカルインスタンス#0の予測値を示します。濃いピンク色でマークされた機能は、予測値をより高くプッシュしているものですが、青色でマークされた機能は予測をより低い値に引き寄せています。機能を備えた数字は、機能の元の値です。

複雑なxgboostモデルのshap決定プロットを実装および解釈する方法?

SHAP決定プロットは、モデルの予測に対するさまざまなモデル機能の影響を調べるもう1つの方法です。以下の決定プロットから、予測された結果、つまりアイテムアウトレットの販売に対するさまざまなモデル機能の影響を視覚化しようとしました。

以下の決定プロットから、機能item_mrpが予測結果にプラスの影響を与えることを観察します。アイテムアウトレットの販売が増加します。同様に、outlet_identifier_out018も販売を上げることで積極的に貢献します。一方、item_typeは結果に悪影響を及ぼします。アイテムアウトレットの販売が減少します。同様に、outlet_identifier_27は、マイナスの貢献で売り上げを削減します。

以下のプロットは、ビッグマートの販売データの決定プロットを示しています。
# feature importance of the model
feature_importance_xgb = pd.DataFrame()
feature_importance_xgb['variable'] = X_train.columns
feature_importance_xgb['importance'] = xgbr_model.feature_importances_
ログイン後にコピー
ログイン後にコピー
ログイン後にコピー
ログイン後にコピー
ログイン後にコピー

Shapの説明を使用する代理モデル(ここで使用される線形回帰モデル)で次のコードを使用します。線形回帰モデルは、ブラックボックスモデルとトレーニングセットの独立した機能からの予測を使用してトレーニングされます。

shap説明サロゲートモデルの場合、shap値は以下のようになります。

# feature_importance values in descending order
feature_importance_xgb.sort_values(by='importance', ascending=False).head()
ログイン後にコピー
ログイン後にコピー

MLおよびAIモデルの説明可能性と解釈可能性サロゲートLRモデルを使用してブラックボックスモデルのSHAPサマリープロットを実装および解釈する方法

ブラックボックスサロゲートモデルのSHAPサマリープロットを表示するには、コードは以下のようになります。

ブラックボックスサロゲートLRモデルの上記のシャップサマリープロットから、item_typeとitem_mrpは全体的なニュートラルな衝撃を持つitem_mrpが右側に向かって引っ張っているように思われる最も高い貢献機能の1つです。 これの出力は以下のようになります。

上記のプロットから、ブラックボックスの代理LRモデルでは、MRPにはアウトレットタイプ0と1の傾向が増加しているが、アウトレットタイプ3の傾向が減少していると言えます。
# plot single tree
plot_tree(xgbr_model)
plt.figure(figsize=(10,5))
plt.show()
ログイン後にコピー
ログイン後にコピー
ログイン後にコピー
ログイン後にコピー
ログイン後にコピー
ログイン後にコピー
ログイン後にコピー
ログイン後にコピー
モデルの比較表

以下の以下に、各モデルを比較するためにテーブルを調べます

Aspect LIME SHAP Blackbox Surrogate LR Model XGBR Model (Complex)
Explainability Local-level explainability for individual predictions Global-level and local-level explainability Limited explainability, no local-level insights Limited local-level interpretability
Model Interpretation Uses synthetic dataset with perturbed values to analyze model’s decision rationale Uses game theory to evaluate feature contributions No local-level decision insights Global-level interpretability only
Explanation Score Average explanation score = 0.6451 Provides clear insights into feature importance Lower explanation score compared to LIME XGBR Higher prediction accuracy but lower explanation
Accuracy of Closeness to Predicted Value Matches predicted values closely in some cases Provides better accuracy with complex models Low accuracy of closeness compared to LIME Matches predicted values well but limited explanation
Usage Helps diagnose and understand individual predictions Offers fairness and transparency in feature importance Not suitable for detailed insights Better for high-level insights, not specific
Complexity and Explainability Tradeoff Easier to interpret but less accurate for complex models Higher accuracy with complex models, but harder to interpret Less accurate, hard to interpret Highly accurate but limited interpretability
Features Explains local decisions and features with high relevance to original data Offers various plots for deeper model insights Basic model with limited interpretability Provides global explanation of model decisions
Best Use Cases Useful for understanding decision rationale for individual predictions Best for global feature contribution and fairness Used when interpretability is not a major concern Best for higher accuracy at the cost of explainability
Performance Analysis Provides a match with XGBR prediction but slightly lower accuracy Performs well but has a complexity-accuracy tradeoff Limited performance insights compared to LIME High prediction accuracy but with limited interpretability
Limeの摂動機能とモデルの説明可能性からの洞察 また、ライムの摂動値を分析する際に、ライムが選択した特徴に何らかの直観を取得し、摂動した重みをそれらに割り当てて、オリジナルに予測を近づけようとします。

すべての石灰モデルと観測(上位3列と選択された機能の場合)を以下に表示する。

MLおよびAIモデルの説明可能性と解釈可能性上記から、観察#0の場合、元のXGBRモデルの予測とLIME XGBRモデルの予測は一致していますが、同じ元の特徴値では、観測#0のBlackbox Surrogate Model Predictionsはかなり離れていることがわかります。同時に、Lime XGBRモデルは、高い説明スコア(元の機能との機能の類似性)を紹介しました。

複雑なライムXGBRモデルの説明スコアの平均は0.6451であり、ブラックボックス代理LRライムモデルの場合は0.5701です。この場合、ライムXGBRの平均説明スコアはブラックボックスモデルよりも高くなっています。 予測値の近さの精度

MLおよびAIモデルの説明可能性と解釈可能性

以下では、3つのモデルの予測値の近さの%精度を分析しました。

単純なLRモデルとライム複合体XGBRモデルによる予測値の%精度は同じであり、両方のモデルが観測#1に対して100%の精度を達成します。これは、予測値が複雑なXGBRモデルによって行われた実際の予測と密接に一致することを示しています。一般に、近さの高い精度は、より正確なモデルを反映しています。

予測された値と実際の値を比較すると、矛盾が観察されます。観察#3の場合、予測値(2174.69)は実際の値(803.33)よりも大幅に高くなっています。同様に、LIME複合体XGBRおよびBlackbox Surrogate LRモデルについて、近さの%精度が計算されました。結果は、表に詳述されているように、さまざまなパフォーマンスメトリックを強調しています。

上から、観察#1のために、Blackbox Surrogate LRモデルが最適に機能したことがわかります。他の2つの観測(#2と#3)の同時に、両方のモデルのパフォーマンスが等しい。 MLおよびAIモデルの説明可能性と解釈可能性ライムコンプレックスXGBRモデルの平均パフォーマンスは約176で、Blackbox Surrogate LRモデルは約186です。

したがって、ライム複合体モデルの精度<ライムブラックボックスサロゲートLRモデルの精度。

結論

石灰とシャップは、機械学習とAIモデルの説明可能性を向上させる強力なツールです。複雑なモデルまたはブラックボックスモデルをより透明にします。ライムは、モデルの意思決定プロセスに関するローカルレベルの洞察を提供することを専門としています。 Shapはより広いビューを提供し、グローバルレベルとローカルレベルの両方で機能の貢献を説明しています。ライムの精度は常にXGBRのような複雑なモデルと一致するとは限りませんが、個々の予測を理解するには非常に貴重です。 一方、Shapのゲーム理論ベースのアプローチは、公平性と透明性を促進しますが、解釈が難しい場合があります。 XGBRのようなブラックボックスモデルと複雑なモデルは、予測の精度が高くなりますが、多くの場合、説明可能性が低下します。最終的に、これらのツールの選択は、予測の精度とモデルの解釈可能性のバランスに依存します。これは、使用されているモデルの複雑さによって異なる場合があります。

キーテイクアウト

ライムとシップは、複雑なAIモデルの解釈可能性を改善します。

石灰は、予測に関するローカルレベルの洞察を得るのに理想的です
    shapは、機能の重要性と公平性についてよりグローバルな理解を提供します。
  • モデルの複雑さが高いほど、精度が向上しますが、説明可能性が低下します。
  • これらのツールの選択は、正確性と解釈可能性の必要性に依存します。
  • 参照
  • 詳細については、次の
  • を使用してください
  • ソースコードリポジトリ
limedocumentation

shapdocumentation

    よくある質問
  • q1。モデルの説明可能性と解釈可能性の違いは何ですか?通訳とは、言語を理解していない人に言語を翻訳する人です。したがって、モデルの解釈可能性の役割は翻訳者として機能することであり、技術形式で生成されたモデルの説明を理解しやすい方法で非技術的な人間に翻訳します。したがって、モデルの解釈可能性は、モデルの説明を複雑な技術形式からユーザーフレンドリーな形式に変換するのに役立ちます。 AIとMLでモデルの説明可能性が重要なのはなぜですか? 
  • a。 MLおよびAIモデルの説明可能性と解釈可能性は、いくつかの理由で重要です。それらは、モデルに対する透明性と信頼を可能にします。また、コラボレーションを促進し、脆弱性、リスク、バイアスを特定して軽減するのに役立ちます。さらに、説明可能性は、問題のデバッグと規制と倫理基準へのコンプライアンスを確保するのに役立ちます。これらの要因は、記事で説明したように、銀行と金融、ヘルスケア、完全自動運転車、小売など、さまざまなビジネスユースケースで特に重要です。 q3。すべてのモデルをライムとshapを使用して解釈可能にすることができますか?はい、ライムとシャップはモデル不可知論です。これは、機械学習モデルに適用できることを意味します。どちらのツールもモデルの説明可能性と解釈可能性を高めます。モデルの説明可能性を達成する際の課題は何ですか?モデルの説明可能性を達成する際の課題は、モデルの精度とモデルの説明のバランスを見つけることにあります。説明が非技術的なユーザーによって解釈可能であることを確認することが重要です。これらの説明の品質は、高モデルの精度を達成しながら維持する必要があります。

以上がMLおよびAIモデルの説明可能性と解釈可能性の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
著者別の最新記事
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート