[51CTO.com クイック翻訳] 私たちはますます分断が進む世界に住んでいます。世界の一部の地域では、人種や性別による違いや不平等が拡大しています。モデリングに使用されるデータは、通常、データ ソースを反映します。世界は偏っている可能性があり、データとモデルはそれを反映する可能性があります。機械学習エンジニアがモデルに偏りがあるかどうかを簡単に確認できる方法を提案します。現在、当社の公平性ツールは分類モデルに対してのみ機能します。 ケーススタディ DELLEX 公平性モジュール (https://dalex.drwhy.ai/) の威力を実証するために、有名なドイツの信用データセット (https://archive.ics.uci.edu/ml/datasets/statlog+(german+credit+data)) を使用して、各信用申請者にリスクを割り当てます。この単純なタスクでは、解釈可能な決定木分類器の使用が必要になる場合があります。
dx.Explainer を取得したら、保護されたベクトル (各観測値 (個人) の性別、人種、国籍を示す機密属性の配列またはリスト) を使用してサブグループ内のすべての必要なメトリックを計算できるように、メソッド model_fairness() を実行する必要があります。これに加えて、どのサブグループ (つまり、保護された一意の要素) が最も高い権限を持っているかを示す必要があります。これは、privileged パラメータを使用して実行できます。この場合は、年配の男性になります。
このオブジェクトには多くのプロパティがありますが、それぞれについて説明するのではなく、1 つのメソッドと 2 つのグラフに焦点を当てます。 それで、私たちのモデルは偏っているのでしょうか? これは単純な質問ですが、偏見の性質上、答えは「場合による」となります。しかし、このアプローチは異なる視点からバイアスを測定するため、バイアスのあるモデルが漏れることがなくなります。公平性をチェックするには、fairness_check() メソッドを使用します。
以下は上記のコードからのコンソール出力です。
FPR (False Positive Rate) メトリックはバイアスを検出します。上記の出力は、モデルを自動的に承認することはできないことを示しています (上記の出力に記載されているとおり)。そのため、ユーザーが決定する必要があります。それは公平なモデルではないと思います。 FPR が低いということは、特権サブグループでは特権のないサブグループよりも誤検知が発生する可能性が高くなることを意味します。 fairness_check() の詳細な説明 元の DataFrame のバイアス、結論、メトリック比率に関する情報を取得します。指標には、TPR (真陽性率)、ACC (精度)、PPV (陽性予測値)、FPR (偽陽性率)、STP (統計的類似性) などがあります。これらのメトリックは、各非特権サブグループの混同マトリックス (https://en.wikipedia.org/wiki/Confusion_matrix) から導出され、特権サブグループに基づくメトリックで除算されます。考えられる結論は3つあります。
DA は、どのメトリックよりも優れたパフォーマンスを発揮する、真に公平なモデルですが、真の値 (ターゲット) が機密属性に依存する場合は、状況が複雑になり、この記事の範囲を超えてしまいます。つまり、いくつかの指標は異なりますが、必ずしもユーザーの基準を超えるわけではありません。さらに詳しく知りたい場合は、「Fairness and Machine Learning」という本、特に第 2 章を読むことをお勧めします。 しかし、疑問に思う人もいるかもしれません。なぜ私たちのモデルは不公平なのでしょうか? どのような基準でこの決定を下すのでしょうか? この質問に答えるのは難しいですが、公平性を判断するアプローチが今のところ最善のアプローチであるように思われます。通常、各サブグループのスコアは、特権サブグループのスコアに近い値になります。数学的な観点から見ると、特権メトリックと非特権メトリックのスコアの比率は 1 に近くなるはずです。値が 1 に近いほど、モデルは公平になります。しかし、基準を少し緩めると、次のように言う方が理にかなっています。 ここで、ε は 0 から 1 の間の値であり、比率の最小許容値となります。デフォルトでは、採用でよく見られる 4/5 ルール (80% ルール) に従って 0.8 になります。メトリックの公平性と識別性の差の間に恣意的でない境界を見つけることは困難です。メトリックの比率が正確に 1 であるかどうかをチェックしても意味がありません。比率が 0.99 だったらどうなるでしょうか。これが、許容可能な識別度の具体的なしきい値がある唯一の既知の値である 0.8 をデフォルトの ε として選択することになった理由です。もちろん、ユーザーは必要に応じてこの値を変更できます。 偏見も生まれる バイアス検出プロットは 2 つあります (ただし、バイアスを視覚化する方法は他にもたくさんあります)。
型は、単にプロット メソッドの型引数に渡されます。
上の画像は、公平性チェックの出力に似たものを示しています。メトリック名はより標準的な公平性に相当するものに変更されていますが、式は参照しているメトリックを示しています。上記のグラフは直感的です。バーが赤い領域に達すると、メトリックが ε ベースの範囲外にあることを意味します。ビンの長さは |1-M| に相当します。ここで、M は特権のないメトリックの割合を特権のあるメトリックの割合で割ったものです (前の公平性チェックと同じです)。
公平性チェックが補足されたメトリック スコア プロットは、メトリックとその比率を適切に表現します。ここで、ポイントは生のメトリック スコアです。垂直線は特権メトリックスコアを表します。その線に近ければ近いほど良いです。 複数のモデルを 1 つのプロットにまとめて、簡単に比較することができます。 metric_scores を視覚化するためにいくつかのモデルを追加してみましょう。
上記コードの出力。 それでは、fairness_check に基づいてグラフを確認してみましょう。 RandomForestClassifier は緑色の領域内にあるため、これらのメトリックに関しては公平であることがわかります。一方、LogisticRegression は 3 つの指標でレッド ゾーンに達しているため、公平とは言えません。 各プロットはインタラクティブであり、Python 視覚化パッケージ plotly を使用して作成されました。 結論 DALEX の公平性モジュールは、モデルの公平性を確保するための統一されたアクセス可能な方法です。モデルのバイアスを視覚化する方法は他にもありますので、ぜひチェックしてみてください。バイアスを軽減する方法は将来追加される予定です。長期的な計画としては、個人の公平性と回帰における公平性のサポートを追加することです。 ぜひご覧ください。次のコマンドを使用して dalex をインストールできます。
元のタイトル: 機械学習モデルが公平であるかどうかを簡単に確認する方法、著者: Jakub Wiśniewski [51CTOによる翻訳。パートナーサイトに転載する場合は、元の翻訳者と出典を51CTO.comとして明記してください] |
>>: ロボットにあなたのことをもっと理解させるにはどうすればいいでしょうか?
人工知能技術の継続的なアップグレードと革新的な変化に伴い、中国は時代の変化に対応し、人工知能関連のコ...
以前、LeNet、AlexNet、Vgg についてお話しましたが、今週は GoogLeNet につい...
この記事はAI新メディアQuantum Bit(公開アカウントID:QbitAI)より許可を得て転載...
1. 人工知能搭載のアイスクリームセルフサービス機が北京でデビューDairyXmas AI人工知能ア...
人工知能は多くの分野に影響を及ぼしています。しかし、いくつかの大きな変化が起こっており、その 1 つ...
[[387871]] AIOps とは何でしょうか? IT リーダーは、AIOps に関する一般的な...
過去数十年にわたり、AI ツールは、コンピューター サイエンスから製造、医学、物理学、生物学、さらに...
視覚化は、ディープラーニング モデルの内部構造を説明し、理解するのに役立ちます。 モデル計算グラフの...
[Lieyun.com (WeChat ID: )] 9月14日レポート(小白訳)ソフトウェアは世界...
本論文では、研究者らは報酬空間を探索するための新しいアルゴリズム RPG (報酬ランダム化ポリシー勾...
執筆者 | Yan Zheng制作:51CTO テクノロジースタック(WeChat ID:blog)...