バイアスと公平性¶
バイアスと公平性のテストでは、二値分類モデルの公平性を計算することや、モデルの予測動作におけるバイアスを特定することができます。 DataRobotでは、バイアスはさまざまな母集団(またはグループ)におけるモデル予測の差を表します。一方、公平性とはモデルのバイアスを表す指標です。
データセットで保護されている特徴量を選択し、モデル構築前に、またはモデル構築後にリーダーボードから、公平性指標と軽減手法を選択します。 バイアスと公平性のインサイトを活用して、モデルに含まれるバイアスを特定したり、モデルがトレーニングデータのどこからなぜバイアスを学習しているかといった根本原因分析の結果を視覚化することができます。
バイアス軽減は、保護された特徴量における1つ以上のグループ(クラス)に対して、選択された公平性指標でより高いスコアの予測を生成することによって、特定された保護特徴量でのモデルのバイアスを削減(「軽減」)するための手法です。 二値分類プロジェクトで利用でき、通常、公平性が向上しますが、精度がわずかに低下します。
一般提供されているバイアスと公平性のテストおよび軽減機能の詳細については、バイアスと公平性のリソースページを参照してください。
オートパイロット前の指標と軽減の設定¶
ターゲットを選択したら、高度なオプションを表示をクリックしてバイアスと公平性タブを選択します。 タブから、公平性指標と軽減手法を設定できます。
公平性指標の設定¶
バイアスと公平性を設定するには、ユースケースを定義する値を設定します。 詳細については、バイアスと公平性のリファレンスで一般的な用語と指標の定義を参照してください。
-
データセット内で保護されている特徴量を最大10個まで指定します。 保護されている特徴量はカテゴリー型である必要があります。 モデルの公平性は、データセットから選択された保護特徴量に対して計算されます。
-
好ましいターゲット結果(ターゲットと比較して保護クラスに有利と認識する結果)を定義します。 以下の例では、ターゲットは「給与」であるため、[好ましいターゲット結果]の下に年収が一覧表示され、5万を超える給与が好ましい結果となります。
-
以下の5つのオプションから、ユースケースに最も適したプライマリー公平性指標を選択します。
選択の目安
モデルに最適な指標がわからない場合は、選択の目安をクリックしてください。
DataRobotは、各質問が前の質問への回答で決定されるアンケートを提示します。 完了すると、DataRobotは回答に基づいて指標を推奨します。
バイアスと公平性は倫理的に複雑なので、DataRobotの質問では各ユースケースの詳細のすべてを把握できるわけではありません。 推奨の指標はガイドラインであり、ユースケースに適した正しい(または唯一の)指標であるとは限りません。 さまざまな指標を選択して、質問への回答が推奨にどのように影響するかを観察します。
選択をクリックして、強調表示されたオプションをプライマリー公平性指標フィールドに追加します。
指標 説明 比例平等性 各保護クラスで、モデルから好ましい予測を受け取る確率はどれぐらいでしょうか? この指標(「統計的平等性」または「人口統計的平等性」とも呼ばれます)は、保護されたクラス間でモデルのターゲットを同等に表すことを前提としています。 等価平等性 各保護クラスで、モデルの予測が好ましいレコードの総数はどれぐらいでしょうか? この指標は、保護されたクラス間でモデルのターゲットを同等に表すことを前提としています。 予測バランス(好ましいクラスのバランスおよび好ましくないクラスのバランス) 好ましい/好ましくない結果であったすべての実測値について、保護されている各クラスの平均予測確率はどれぐらいでしょうか? この指標は、各保護クラスでモデルの元のスコアの平均を同等に表すことを前提としており、予測バランスという公平性指標セットの一部です。 好ましいクラスの再現率の平等性と好ましくないクラスの再現率の平等性 各保護クラスで、結果が好ましい/好ましくないすべての実測値に対して、好ましい/好ましくない結果をモデルが予測する確率はどれぐらいでしょうか? この指標は、誤差の均一性に基づいています。 好ましいクラスの適合率の平等性と好ましくないクラスの適合率の平等性 モデルが正しい(実際の結果が好ましい/好ましくない)確率はどれぐらいでしょうか? この指標(「陽性的中率の平等性」とも呼ばれます)は、誤差の均一性に基づいています。 公平性指標は、計算された公平性スコア(保護クラスに対するモデルの公平性の数値計算)の根拠の役割をします。
-
プロジェクトに公平性のしきい値を設定します。 しきい値は、モデルの公平性スコアのベンチマークとして機能します。 つまり、各保護クラスで、モデルが適切な公平性の範囲内で実行されるかどうかを測定します。 保護クラスの公平性スコアやパフォーマンスには影響しません。 (詳細については、リファレンスセクションを参照してください。)
軽減手法の設定¶
DataRobotが自動的に適用するバイアス軽減の技法を選択します。 DataRobotは、選択した手法を使用して、(精度に基づいて)上位3つのフルオートパイロットリーダーボードモデルまたは包括的オートパイロットリーダーボードモデルに対してバイアス軽減を自動的に試行します。 オートパイロットの完了後に 手動でバイアス軽減を開始することもできます。 (たとえば、 クイックオートパイロットモードを使用した場合、手動モードにより、選択したモデルに軽減を適用できます)。 どちらの手法でも、適用すると、軽減されたモデルと軽減されていないモデルを比較できます。
軽減の仕組み
具体的には、影響を受けるブループリントをコピーしてから、選択した軽減手法に応じて、前処理タスクまたは後処理タスクのいずれかを追加します。
各フィールドの概要を次の表に示します。
フィールド | 説明 |
---|---|
バイアス軽減特徴量 | 保護されている特徴量を一覧表示します。モデルのバイアスを減らすものを選択します。 |
予測特徴量として含める | モデルトレーニングへの入力として軽減特徴量を含めるかどうかを設定します。 |
バイアス軽減手法 | 軽減手法と、軽減が適用されるモデル処理のポイントを設定します。 |
各フィールドの詳細を以下の手順で説明します。
-
バイアス軽減特徴量ドロップダウンから特徴量を選択します。ここでは、一般的なバイアスと公平性の設定において、保護されている特徴量フィールドで保護対象として設定した特徴量が一覧表示されます。 これは、モデルのバイアスを減らしたい特徴量です。
-
軽減特徴量が設定されると、DataRobotはその特徴量のデータ品質を計算します。 チェックが成功すると、保護されている特徴量を予測特徴量として含めるオプションが利用可能になります。 この特徴量を使用して軽減を試み、モデルトレーニングへの入力として軽減特徴量を含めるには、チェックボックスをオンにします。 この特徴量をトレーニング入力としてではなく、軽減のみに使用する場合は、ボックスにチェックを入れないでください。 これは、機微データをモデル入力として含めることが法的に禁止されている、または含めたくないが、それに基づいてバイアスの軽減を試みる場合に役立ちます。
データ品質チェックでは何が特定されますか?
データ品質チェック中に、選択した軽減特徴量と選択したターゲットについて、3つの基本的な質問に回答します。
- 軽減特徴量には、値が完全に欠損している行が多すぎますか?
- 軽減特徴量の値には、確固たる結論を導き出すことができないほど稀なものがありますか? たとえば、軽減特徴量が
race
である10,000行のデータセットについて考えてみましょう。 値の1つであるInuit
は7回しか出現しないため、サンプルが小さすぎ、代表値にはなりません。 - 稀な、または存在しないクラスとターゲットの組み合わせはありますか? たとえば、軽減特徴量
gender
について考えてみましょう。Male
とFemale
のカテゴリーは両方とも多数ありますが、正のターゲットラベルがFemale
行に出現することはありません。
品質チェックに合格しなかった場合、注意が表示されます。 データセットの問題に対処してから、再アップロードし再試行してください。
-
軽減手法を次のいずれかに設定します。
- 前処理の再加重: 行レベルの加重を割り当て、トレーニング中に特別なモデル入力としてそれらを使用して、予測をより公平にします。
- 却下オプションに基づく分類(RBOC)による後処理: 予測しきい値に近い行の予測ラベルを変更します(不確実性が最も高いモデル予測)。 ROBCについて詳しくは、こちらをご覧ください。 適用アルゴリズムの詳細については、モデルブループリントの軽減手法タスクをクリックして、モデルのドキュメントをご覧ください。
各軽減手法ではどの公平性指標が使用されますか?
軽減手法の名前である「pre」と「post」は、手法が適用されるワークフロー内のポイントを指します (ブループリントに示されています) 。 たとえば、再加重はモデルがトレーニングされる前に行われるため、「前処理」と呼ばれます。 却下オプションに基づく分類は、モデルがトレーニングされた後に行われるため、「後処理」と呼ばれます。 これらの手法では、次の指標を使用します。
手法 指標 前処理の再加重 主に割合の平等性(ただし、他の公平性指標を改善する可能性があります)。 却下オプションに基づく分類による後処理 割合の平等性、および好ましいクラスの再現率と好ましくないクラスの再現率の平等性 -
モデル構築プロセスを開始します。 DataRobotは、バイアス軽減特徴量に対して、オートパイロットで作成された上位3つの対象モデルに自動的に軽減を試みます。 軽減されたモデルは、リーダーボードの「バイアス軽減」バッジで識別できます。 モデルを軽減の対象にする理由の説明と、対象外のモデルをリストしたテーブルを参照してください。
-
軽減されたモデルと軽減されていないモデルのバイアスと精度を比較します。
オートパイロット後の指標と軽減の設定¶
モデル構築前にバイアスと公平性を設定しなくても、リーダーボードから公平性テストと軽減手法を設定できます。
公平性テストを伴う再トレーニング¶
以下では、オートパイロットの完了後にモデルに公平性指標を適用する方法について説明します。
-
モデルを選択し、バイアスと公平性 > 設定をクリックします。
-
高度なオプションでバイアスと公平性の設定に関する指示に従います。
-
保存をクリックします。 DataRobotは、これらの設定に基づいて、プロジェクト内のすべてのモデルを対象とした公平性テストを設定します。
軽減を伴う再トレーニング¶
オートパイロットが終了したら、まだ軽減されていないモデルに軽減を適用できます。 これを行うには、リーダーボードから単一または複数のモデルを選択し、バイアス軽減の設定を適用してモデルを再トレーニングします。
備考
別の保護特徴量であっても、すでに軽減されたモデルを再トレーニングすることはできませんが、親に戻って、軽減用に別の特徴量や手法を選択することは可能です。
親モデルから、軽減を適用したモデルテーブルを表示できます。 このテーブルは、親モデルと軽減を適用した子モデルの関係性を示しています。 親モデルには軽減が適用されていないことに注意してください(1)。 すべての軽減された子モデルは、軽減設定を含め、モデルID(2)別に一覧表示されます。
単一モデルの再トレーニング¶
備考
モデル構築前に高度なオプションで[バイアスと公平性]の設定を完了していない場合は、まずこれらのフィールドをバイアスと公平性 > 設定タブで設定する必要があります。
オートパイロットの完了後に単一のリーダーボードモデルに軽減を適用するには:
-
対象のリーダーボードモデルを展開し、バイアスと公平性 > バイアス軽減を開きます。
-
バイアス軽減のためのフィールドを設定します。
-
適用をクリックして、モデルの新しい軽減バージョンの構築を開始します。 トレーニングが完了すると、リーダーボードの「バイアス軽減」バッジでモデルを識別できます。
-
軽減されたモデルと軽減されていないモデルのバイアスと精度を比較します。
複数モデルの再トレーニング¶
オートパイロットの完了後に複数のリーダーボードモデルに軽減を適用するには:
-
まだ軽減されていない対象モデルの左側にあるチェックボックスを使用します。
-
メニューから、モデル処理 > 選択されたモデルにバイアス軽減を適用を選択します。
-
表示されたウィンドウで、バイアス軽減のためのフィールドを設定します。
-
適用をクリックして、モデルの新しい軽減バージョンの構築を開始します。 トレーニングが完了すると、リーダーボードの「バイアス軽減」バッジでモデルを識別できます。
-
軽減されたモデルと軽減されていないモデルのバイアスと精度を比較します。
軽減されたモデルを識別する¶
リーダーボードでは、軽減されたモデルと親(軽減されていないバージョン)モデルについて、いくつかの指標を提供しています。
-
「バイアス軽減」バッジ。 リーダーボード検索を使用すると、軽減されたすべてのモデルを簡単に識別できます。
-
モデルの名前は軽減設定(手法、保護されている特徴量、および予測変数のステータス)を反映しています。
-
バイアス軽減タブには、元の軽減されていない親モデルへのリンクが含まれています。
モデルを比較¶
バイアスと精度タブを使用して、軽減されたモデルと軽減されていないモデルのバイアスと精度を比較します。 チャートは、軽減されたモデルの公平性スコアは軽減されていないバージョンよりも高い(バイアスが少ない)が、精度は低いことを示していると考えられます。
モデル(軽減されたモデル、または軽減されていないモデル)がチャートで使用可能になる前に、まずその公平性スコアを計算する必要があります。 軽減されたものと軽減されていないものを比較するには:
-
「バイアス軽減」バッジを表示しているモデルを開き、バイアスと公平性 > クラスごとのバイアスに移動します。 タブを開くと、公平性スコアが自動計算されます。
-
バイアスと公平性 > バイアス軽減タブに移動し、親モデルへのリンクを取得します。 リンクをクリックして親モデルを開きます。
-
親モデルから、バイアスと公平性 > クラスごとのバイアスタブにアクセスして、公平性スコアを自動計算します。
-
バイアスと精度タブを開いて、結果を比較します。 この例では、軽減されたモデル(緑色で表示)の精度(Y軸)と公平性(X軸)のスコアが親(マゼンタで表示)よりも高いことがわかります。
軽減の対象となるモデル¶
DataRobotは、軽減の対象となる上位3つのモデルを選択します。その結果、「バイアス軽減」バッジの付いたモデルは、オートパイロット実行後のリーダーボードの上位3モデルにはならない場合があります。 リーダーボードでより上位に位置するモデルがあっても、対象外であるため、軽減は適用されません。
軽減手法として前処理再加重を選択した場合、次のモデルは加重を使用しないため、再加重の対象外です。
- Nystroem Kernel SVM分類器
- Gaussian過程分類器
- k近傍法分類器
- 単純ベイズ分類器
- 部分最小二乗法分類器
- レガシーニューラルネットモデル:「バニラ」ニューラルネット分類器、ドロップアウト入力ニューラルネット分類器、「バニラ」2層ニューラルネット分類器、2つの隠れ層を持つドロップアウト整流線形ニューラルネット分類器(ただし、最新のKerasモデルは軽減できることに留意してください)
- 特定の基本的な線形モデル:ロジスティック回帰、正規化ロジスティック回帰(ただし、ElasticNetモデルは軽減できることに留意してください)
- EureqaおよびEureqa GAM分類器
- 2段階ロジスティック回帰
- SVM Classifier(任意のカーネルを使用)
いずれかの軽減手法を選択した場合、次のモデルやプロジェクトは軽減の対象外になります。
- バイアス軽減がすでに適用されているモデル。
- マジョリティークラス分類器(定数値を予測)。
- 外部予測モデル(トレーニングデータとともにアップロードされた特殊な列を使用し、新しい予測を行うことはできません)。
- アンサンブルモデル。
- スマートダウンサンプリングを使用するプロジェクト。
- カスタム加重を使用するプロジェクト。
- 軽減特徴量のデータの50%以上が欠損しているプロジェクト。
- 時系列またはOTVプロジェクト(つまり、時間ベースのパーティションを使用するプロジェクト)。
- SHAP値をサポートして実行されるプロジェクト。
- 単一列のスタンドアロンテキストコンバーターモデル:Auto-Tuned Word N-Gram Text Modeler、Auto-Tuned Char N-Gram Modeler、およびAuto-Tuned Summarized Categorical Modeler。
バイアス軽減の注意事項¶
バイアス軽減を使用する場合は、次の点に注意してください。
-
軽減は、単一のカテゴリー保護特徴量に適用されます。
-
ROBC軽減手法の場合、軽減特徴量には少なくとも2つのクラスがあり、各クラスのトレーニングデータには100行以上ある必要があります。 前処理再加重手法では、明示的な最小行数はありませんが、行数が非常に少ないと軽減効果が予測できない場合があります。