0 / 0
資料の 英語版 に戻る
間接的なバイアスを考慮した公正評価の設定
最終更新: 2024年10月25日
間接的なバイアスを考慮した公正評価の設定

特定の条件下では、モデルの配置に対して直接バイアスだけでなく間接バイアスも考慮するように公平性評価を設定できます。

間接バイアスは、データ・セット内の 1 つの機能を別の機能のために使用できる場合に発生します。 例えば、人種が既知のフィーチャーではないデータ・セットでは、郵便番号などのフィーチャーは、多くの場合、人種に近接して追跡することができます。 バイアスについて郵便番号機能を評価することは、間接バイアスを検出する 1 つの方法です。 別の例として、顧客の購買履歴が性別と密接に対応している場合があります。 したがって、人種、年齢、性別などの標準的な保護属性のいずれも含まれていない予測モデルであっても、偏りのある結果を示す可能性があります。

間接的バイアスは、以下の条件を満たす場合に分析される:

  • 相関を検出するには、データ・セットが十分に大きくなければなりません (レコード数 4000 超)。
  • トレーニング・データには、メタ・フィールドが含まれている必要があります。 データ・フィールドのサブセットでモデルをトレーニングする必要があります。 これらの追加フィールド (メタ・フィールド) は、間接的なバイアスを判別するためのものです。 (メタ・フィールドを含めますが、モデルのトレーニングには使用しません。)
  • ペイロード・ロギングは、メタ・フィールドを含んでいる必要があり、公平性モニターの構成前に実行する必要があります。 メタフィールドをアップロードするには、このメソッドを使用する必要があります。 間接的なバイアスのペイロード・ロギングには、次の 2 つのタイプの入力が必要です。1) 値が含まれているトレーニング特徴量、2) 値が含まれているメタ・フィールド。
  • 公平性モニターの構成時に、モニターする追加フィールドを選択します。

間接的なバイアスの標準的なワークフロー

ただし、モデルが異なる列を必要とする実動前モデルと実動モデルの間接的なバイアスを判別することができます。 実動前モデルの評価に使用されるテスト・データと、実動前モデルまたは実動モデルの評価に使用されるフィードバック・データでは、メタ列の使用が異なります。 メタ列は、実動前のテスト・データには必要ですが、実動前モデルまたは実動モデルで使用されるフィードバック・データに含めることはできません。 標準的なワークフローには、以下のステップが含まれることがあります。

  1. 特徴量列とメタ列の両方が含まれているトレーニング・データを作成します。 メタ列には、モデルのトレーニングに使用されないデータが含まれます。
  2. メタ・カラムでフェアネス・モニターを設定する。
  3. 実動前に、特徴量列とメタ列の両方が含まれたテスト・データをアップロードします。 このテスト・データは、 テスト・データのインポート CSV オプションを使用してアップロードする必要があります。
  4. 実動前に、間接的なバイアス測定を使用して最終的なモデルにバイアスがないことを確認しながら、さまざまなバージョンのモデルを相互作用することができます。
  5. モデルを実動に送信した後には、フィードバック・データにメタ列が含まれていてはならず、モデルのトレーニングに使用した特徴量列のみが含まれている必要があります。

メタ・フィールドが含まれているサンプル JSON ペイロード・ファイル

以下のサンプル・ファイルでは、モデルのトレーニングに使用されるフィールドと値が含まれた JSON ペイロードを示しています。 間接的なバイアス分析に使用されるメタ・フィールドと値も含まれています。 メタ・フィールドは、モデルのトレーニングに使用されず、モデルでバイアスに相関付けようとする異なる種類の分析用に用意されています。 メタ・フィールドは任意のタイプのデータにすることができますが、通常は、性別、人種、年齢などの保護属性です。

[request_data = {
    "fields": ["AGE", "SEX", "BP", "CHOLESTEROL", "NA", "K"],
    "values": [[28, "F", "LOW", "HIGH", 0.61, 0.026]]
  }

response_data = {
    "fields": ["AGE", "SEX", "BP", "CHOLESTEROL", "NA", "K", "probability", "prediction", "DRUG"],
    "values": [[28, "F", "LOW", "HIGH", 0.61, 0.026, [0.82, 0.07, 0.0, 0.05, 0.03], 0.0, "drugY"]]
  }

request_data = <put your data here>
response_data = <put your data here>

records = [PayloadRecord(request=request_data, response=response_data, response_time=18), 
                PayloadRecord(request=request_data, response=response_data, response_time=12)]

subscription.payload_logging.store(records=records)

メタ値は、以下のような配列の配列フォーマットでなければなりません。

"meta": {
"fields": ["age", "race", "sex"],
"values": [
[32, "Black", "Male"]
]
}

もっと見る

親トピック: モデル評価の構成

生成 AI の検索と回答
これらの回答は、製品資料の内容に基づいて、 watsonx.ai のラージ言語モデルによって生成されます。 詳細