IP Force 特許公報掲載プロジェクト 2022.1.31 β版

知財求人 - 知財ポータルサイト「IP Force」

▶ グーグル インコーポレイテッドの特許一覧

特許7405919機械学習モデルを使用した、偏りのあるデータの拒否
<>
  • 特許-機械学習モデルを使用した、偏りのあるデータの拒否 図1
  • 特許-機械学習モデルを使用した、偏りのあるデータの拒否 図2A
  • 特許-機械学習モデルを使用した、偏りのあるデータの拒否 図2B
  • 特許-機械学習モデルを使用した、偏りのあるデータの拒否 図2C
  • 特許-機械学習モデルを使用した、偏りのあるデータの拒否 図2D
  • 特許-機械学習モデルを使用した、偏りのあるデータの拒否 図2E
  • 特許-機械学習モデルを使用した、偏りのあるデータの拒否 図3
  • 特許-機械学習モデルを使用した、偏りのあるデータの拒否 図4
  • 特許-機械学習モデルを使用した、偏りのあるデータの拒否 図5
  • 特許-機械学習モデルを使用した、偏りのあるデータの拒否 図6
< >
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2023-12-18
(45)【発行日】2023-12-26
(54)【発明の名称】機械学習モデルを使用した、偏りのあるデータの拒否
(51)【国際特許分類】
   G06F 16/906 20190101AFI20231219BHJP
   G06N 20/00 20190101ALI20231219BHJP
【FI】
G06F16/906
G06N20/00 160
G06N20/00
【請求項の数】 21
【外国語出願】
(21)【出願番号】P 2022130108
(22)【出願日】2022-08-17
(62)【分割の表示】P 2021513193の分割
【原出願日】2019-08-26
(65)【公開番号】P2022169657
(43)【公開日】2022-11-09
【審査請求日】2022-09-08
(31)【優先権主張番号】16/126,860
(32)【優先日】2018-09-10
(33)【優先権主張国・地域又は機関】US
(73)【特許権者】
【識別番号】502208397
【氏名又は名称】グーグル エルエルシー
【氏名又は名称原語表記】Google LLC
【住所又は居所原語表記】1600 Amphitheatre Parkway 94043 Mountain View, CA U.S.A.
(74)【代理人】
【識別番号】110001195
【氏名又は名称】弁理士法人深見特許事務所
(72)【発明者】
【氏名】ファーラー,クリストファー
(72)【発明者】
【氏名】ロス,スティーブン
【審査官】三橋 竜太郎
(56)【参考文献】
【文献】特開平06-215163(JP,A)
【文献】特開2010-044674(JP,A)
【文献】特開2010-204966(JP,A)
(58)【調査した分野】(Int.Cl.,DB名)
G06F 16/00-16/958
G06N 20/00
(57)【特許請求の範囲】
【請求項1】
データ処理ハードウェアによって実行されると前記データ処理ハードウェアに動作を行なわせる、コンピュータにより実現される法であって、前記動作は、
械学習モデルを訓練するための訓練データセットを受信することを含み、前記訓練データセットは、1つ以上の偏りに敏感な変数を含み、前記動作はさらに、
偏り採点モデルを使用して、前記訓練データセットについての偏りスコアを生成することと、
前記偏りスコアがしきい値スコアを満たすかどうかを判定することと、
前記偏りスコアが前記しきい値スコアを満たす場合、前記訓練データセットを承認指標でラベル付けすることと、
前記偏りスコアが前記しきい値スコアを満たさない場合、前記訓練データセットを拒否指標でラベル付けすることとを含む、方法。
【請求項2】
前記動作はさらに、1つ以上の偏り採点訓練データセットを使用して前記偏り採点モデルを訓練することを含む、請求項1に記載の方法。
【請求項3】
前記偏り採点モデルは、前記偏りスコアに基づいたフィードバックを使用して訓練される、請求項2に記載の方法。
【請求項4】
前記偏りスコアは、偏りの数値表現である、請求項1~3のいずれか1項に記載の方法。
【請求項5】
前記しきい値スコアは、ユーザ設定可能な受け入れ可能な偏りスコアを含む、請求項1~4のいずれか1項に記載の方法。
【請求項6】
前記動作はさらに、前記偏りスコアが前記しきい値スコアを満たす場合、前記訓練データセットを使用して前記機械学習モデルを訓練することを含む、請求項1~5のいずれか1項に記載の方法。
【請求項7】
前記動作はさらに、前記偏りスコアが前記しきい値スコアを満たさない場合、偏り拒否モデルを使用して、前記訓練データセットから偏りのない訓練データセットを生成することを含む、請求項1~6のいずれか1項に記載の方法。
【請求項8】
前記動作はさらに、前記偏りスコアが前記しきい値スコアを満たさない場合、前記偏りのない訓練データセットを使用して前記機械学習モデルを訓練することを含む、請求項7に記載の方法。
【請求項9】
前記偏りのない訓練データセットを生成することは、
前記訓練データセットを複数のクラスタに分割することを含み、前記複数のクラスタの少なくとも1つのクラスタは、前記1つ以上の偏りに敏感な変数のうちの1つの偏りに敏感な変数に対応し、前記偏りのない訓練データセットを生成することはさらに、
前記複数のクラスタの各クラスタについて重みを生成することと、
重み付けされた前記複数のクラスタに基づいて、前記偏りのない訓練データセットを生成することとを含む、請求項に記載の方法。
【請求項10】
各クラスタについての前記重みは、目標母集団のデータ特性の確率分布に基づいている、請求項9に記載の方法。
【請求項11】
システムであって、
データ処理ハードウェアと
前記データ処理ハードウェアと通信しているメモリハードウェアとを含み、前記メモリハードウェアは、前記データ処理ハードウェア上で実行されると前記データ処理ハードウェアに動作を行なわせる命令を格納しており、前記動作は、
械学習モデルを訓練するための訓練データセットを受信することを含み、前記訓練データセットは、1つ以上の偏りに敏感な変数を含み、前記動作はさらに
偏り採点モデルを使用して、前記訓練データセットについての偏りスコアを生成することと、
前記偏りスコアがしきい値スコアを満たすかどうかを判定することと、
前記偏りスコアが前記しきい値スコアを満たす場合、前記訓練データセットを承認指標でラベル付けすることと、
前記偏りスコアが前記しきい値スコアを満たさない場合、前記訓練データセットを拒否指標でラベル付けすることとを含む、システム。
【請求項12】
前記動作はさらに、1つ以上の偏り採点訓練データセットを使用して前記偏り採点モデルを訓練することを含む、請求項11に記載のシステム。
【請求項13】
前記偏り採点モデルは、前記偏りスコアに基づいたフィードバックを使用して訓練される、請求項12に記載のシステム。
【請求項14】
前記偏りスコアは、偏りの数値表現である、請求項11~13のいずれか1項に記載のシステム。
【請求項15】
前記しきい値スコアは、ユーザ設定可能な受け入れ可能な偏りスコアを含む、請求項11~14のいずれか1項に記載のシステム。
【請求項16】
前記動作はさらに、前記偏りスコアが前記しきい値スコアを満たす場合、前記訓練データセットを使用して前記機械学習モデルを訓練することを含む、請求項11~15のいずれか1項に記載のシステム。
【請求項17】
前記動作はさらに、前記偏りスコアが前記しきい値スコアを満たさない場合、偏り拒否モデルを使用して、前記訓練データセットから偏りのない訓練データセットを生成することを含む、請求項11~16のいずれか1項に記載のシステム。
【請求項18】
前記動作はさらに、前記偏りスコアが前記しきい値スコアを満たさない場合、前記偏りのない訓練データセットを使用して前記機械学習モデルを訓練することを含む、請求項17に記載のシステム。
【請求項19】
前記偏りのない訓練データセットを生成することは、
前記訓練データセットを複数のクラスタに分割することを含み、前記複数のクラスタの少なくとも1つのクラスタは、前記1つ以上の偏りに敏感な変数のうちの1つの偏りに敏感な変数に対応し、前記偏りのない訓練データセットを生成することはさらに、
前記複数のクラスタの各クラスタについて重みを生成することと、
重み付けされた前記複数のクラスタに基づいて、前記偏りのない訓練データセットを生成することとを含む、請求項17に記載のシステム。
【請求項20】
各クラスタについての前記重みは、目標母集団のデータ特性の確率分布に基づいている、請求項19に記載のシステム。
【請求項21】
データ処理ハードウェアに、請求項1~10のいずれか1項に記載された方法を実行させるプログラム。
【発明の詳細な説明】
【技術分野】
【0001】
技術分野
この開示は、機械学習モデルを使用して偏りのあるデータを拒否することに関する。
【背景技術】
【0002】
背景
一般的に言えば、偏りとは、パラメータを過大評価または過小評価する統計値の傾向である。この点で、データの収集およびデータの分析は典型的には、何らかの固有の偏りを含む。これらの偏りは、収集および分析の方法、または、当該収集および分析を行なうエンティティ(主体)に起因する場合がある。たとえば、人間によって設計され行なわれたデータ研究が、特定の仮説、人間の設計制約(たとえば人間の能力)、サンプリング制約などを提供する場合がある。これらの要素を提供することにより、当該研究のデータ結果は、さまざまなサンプリング誤差、測定誤差、または、当該研究のための目標母集団を表わしていないサンプルにより広範に基づいた誤差を含む可能性がある。コンピュータ処理は、技術が人間の活動とは比べものにならない速度でデータを収集および分析することを可能にするため、データ処理手法は、偏りの問題を同等に克服しなければならない。さもなければ、特にバルクデータのためのデータ処理は、偏りの問題を増幅して、人間の活動によって生じる偏りとは同様に比べものにならない結果を生み出すおそれがある。
【発明の概要】
【課題を解決するための手段】
【0003】
概要
この開示の1つの局面は、機械学習モデルを使用して偏りのあるデータを拒否するための方法を提供する。方法は、データ処理ハードウェアで、クラスタ訓練データセットを受信するステップを含み、クラスタ訓練データセットは偏りのない既知のデータ母集団(known unbiased population of data)を含む。方法はまた、データ処理ハードウェアが、
偏りのない既知のデータ母集団のデータ特性に基づいて、受信されたクラスタ訓練データセットをクラスタに分割するように、クラスタ化モデルを訓練するステップを含む。クラスタ訓練データセットの各クラスタはクラスタ重みを含む。方法はさらに、データ処理ハードウェアで、機械学習モデルのための訓練データセットを受信するステップと、データ処理ハードウェアが、クラスタ化モデルに基づいて、機械学習モデルのための訓練データセットに対応する訓練データセット重みを生成するステップとを含む。方法はまた、データ処理ハードウェアが、訓練データセット重みの各訓練データセット重みを、それぞれのクラスタ重みと整合するように調節するステップと、データ処理ハードウェアが、調節された訓練データセットを、偏りのない訓練データセットとして、機械学習モデルに提供するステップとを含む。
【0004】
この開示の実現化例は、以下のオプションの機能のうちの1つ以上を含んでいてもよい。いくつかの実現化例では、調節された訓練データセットを偏りのない訓練データセットとして機械学習モデルに提供するステップは、偏りのない訓練データセットを用いて機械学習モデルを訓練するステップを含む。方法は、データ処理ハードウェアが、偏りのない訓練データセットを用いて機械学習モデルを訓練するステップを含んでいてもよく、または、データ処理ハードウェアで、少なくとも1つのそれぞれのデータ特性を含むサンプルデータセットを受信するステップを含んでいてもよい。ここで、方法はまた、データ処理ハードウェアが、訓練された機械学習モデルを使用して、受信されたサンプルデータセットに基づいた、偏りのない予測値を生成するステップを含んでいてもよい。
【0005】
いくつかの例では、各訓練データセット重みを、それぞれのクラスタ重みと整合するように調節するステップは、各訓練データセット重みについて、共通のデータ特性に基づいて、訓練データセット重みをそれぞれのクラスタ重みと整合させるステップと、訓練データセット重みがそれぞれのクラスタ重みと整合するまで、訓練データセットからデータを除去するステップとを含む。他の例では、各訓練データセット重みを、それぞれのクラスタ重みと整合するように調節するステップは、各訓練データセット重みについて、共通のデータ特性に基づいて、訓練データセット重みをそれぞれのクラスタ重みと整合させるステップと、各訓練データセット重みがそれぞれのクラスタ重みと整合するまで、訓練データセットからデータを複製するステップとを含む。
【0006】
いくつかの構成では、各訓練データセット重みについて、各訓練データセット重みを、それぞれのクラスタ重みと整合するように調節するステップは、共通のデータ特性に基づいて、訓練データセット重みをクラスタ重みと整合させるステップを含む。訓練データセット重みがそれぞれのクラスタ重みよりも小さい場合、方法は、訓練データセット重みに対応する訓練データに対する機械学習モデルの訓練を増加させることを示す重要性重みを関連付けるステップを含んでいてもよい。それに加えて、またはそれに代えて、各訓練データセット重みについて、各訓練データセット重みを、それぞれのクラスタ重みと整合するように調節するステップは、共通のデータ特性に基づいて、訓練データセット重みをクラスタ重みと整合させるステップを含んでいてもよい。ここで、訓練データセット重みがそれぞれのクラスタ重みよりも大きい場合、方法は、訓練データセット重みに対応する訓練データに対する機械学習モデルの訓練を減少させることを示す重要性重みを関連付けるステップを含んでいてもよい。
【0007】
いくつかの実現化例では、訓練データセット重みの各訓練データセット重みを、それぞれのクラスタ重みと整合するように調節するステップは、各訓練データセット重みについて、共通のデータ特性に基づいて、訓練データセット重みをそれぞれのクラスタ重みと整合させるステップを含む。訓練データセット重みがそれぞれのクラスタ重みよりも小さい場合、方法は、訓練データセット重みに対応する訓練データに対する機械学習モデルの訓練を増加させることを示す重要性重みを関連付けるステップを含み、訓練データセット重みがそれぞれのクラスタ重みよりも大きい場合、方法は、訓練データセット重みに対応する訓練データに対する機械学習モデルの訓練を減少させることを示す重要性重みを関連付けるステップを含む。
【0008】
いくつかの例では、クラスタ化モデルを訓練する場合、方法は、偏りのない既知のデータ母集団のデータ特性に基づいて、受信されたクラスタ訓練データセットをクラスタに分割するステップを含む。この例では、偏りのない既知のデータ母集団のデータ特性に基づいたクラスタの各クラスタについて、方法は、偏りのない既知のデータ母集団のサイズに対するそれぞれのクラスタのサイズの比に基づいて、クラスタ化モデルの各クラスタについてのクラスタ重みを判定するステップを含む。いくつかの実現化例では、教師なし機械学習アルゴリズムが、偏りのない既知のデータ母集団のデータ特性に基づいて、受信されたクラスタ訓練データセットをクラスタに分割する。
【0009】
この開示の別の局面は、機械学習モデルを使用して偏りのあるデータを拒否するためのシステムを提供する。システムは、データ処理ハードウェアと、データ処理ハードウェアと通信しているメモリハードウェアとを含む。メモリハードウェアは、データ処理ハードウェア上で実行されるとデータ処理ハードウェアに動作を行なわせる命令を格納している。動作は、クラスタ訓練データセットを受信することを含み、クラスタ訓練データセットは偏りのない既知のデータ母集団を含む。動作はまた、偏りのない既知のデータ母集団のデータ特性に基づいて、受信されたクラスタ訓練データセットをクラスタに分割するように、クラスタ化モデルを訓練することを含み、クラスタ訓練データセットの各クラスタは
クラスタ重みを含む。動作はさらに、機械学習モデルのための訓練データセットを受信することと、クラスタ化モデルに基づいて、機械学習モデルのための訓練データセットに対応する訓練データセット重みを生成することとを含む。動作はまた、訓練データセット重みの各訓練データセット重みを、それぞれのクラスタ重みと整合するように調節することと、調節された訓練データセットを、偏りのない訓練データセットとして、機械学習モデルに提供することとを含む。
【0010】
この局面は、以下のオプションの機能のうちの1つ以上を含んでいてもよい。いくつかの構成では、調節された訓練データセットを偏りのない訓練データセットとして機械学習モデルに提供する動作は、偏りのない訓練データセットを用いて機械学習モデルを訓練することを含む。動作はまた、偏りのない訓練データセットを用いて機械学習モデルを訓練することと、少なくとも1つのそれぞれのデータ特性を含むサンプルデータセットを受信することと、機械学習モデルを使用して、受信されたサンプルデータセットに基づいた、偏りのない予測値を生成することとを含んでいてもよい。
【0011】
いくつかの実現化例では、各訓練データセット重みを、それぞれのクラスタ重みと整合するように調節する動作はさらに、各訓練データセット重みについて、共通のデータ特性に基づいて、訓練データセット重みをそれぞれのクラスタ重みと整合させることと、訓練データセット重みがそれぞれのクラスタ重みと整合するまで、訓練データセットからデータを除去することとを含む。他の例では、各訓練データセット重みを、それぞれのクラスタ重みと整合するように調節する動作は、各訓練データセット重みについて、共通のデータ特性に基づいて、訓練データセット重みをそれぞれのクラスタ重みと整合させることと、各訓練データセット重みがそれぞれのクラスタ重みと整合するまで、訓練データセットからデータを複製することとを含む。
【0012】
いくつかの例では、各訓練データセット重みを、それぞれのクラスタ重みと整合するように調節する動作は、各訓練データセット重みについて、共通のデータ特性に基づいて、訓練データセット重みをクラスタ重みと整合させることを含む。この例では、それぞれの訓練データセット重みがそれぞれのクラスタ重みよりも小さい場合、動作は、訓練データセット重みに対応する訓練データに対する機械学習モデルの訓練を増加させることを示す重要性重みを関連付けることを含む。他の例では、各訓練データセット重みを、それぞれのクラスタ重みと整合するように調節する動作は、共通のデータ特性に基づいて、訓練データセット重みをクラスタ重みと整合させることを含んでいてもよい。この例では、それぞれの訓練データセット重みが対応するクラスタ重みよりも大きい場合、動作は、訓練データセット重みに対応する訓練データに対する機械学習モデルの訓練を減少させることを示す重要性重みを関連付けることを含む。
【0013】
それに加えて、またはそれに代えて、各訓練データセット重みを、それぞれのクラスタ重みと整合するように調節する動作は、各訓練データセット重みについて、共通のデータ特性に基づいて、訓練データセット重みをそれぞれのクラスタ重みと整合させることを含んでいてもよい。ここで、それぞれの訓練データセット重みがそれぞれのクラスタ重みよりも小さい場合、訓練データセット重みに対応する訓練データに対する機械学習モデルの訓練を増加させることを示す重要性重みを関連付け、訓練データセット重みがそれぞれのクラスタ重みよりも大きい場合、訓練データセット重みに対応する訓練データに対する機械学習モデルの訓練を減少させることを示す重要性重みを関連付ける。
【0014】
いくつかの構成では、クラスタ化モデルを訓練する動作は、偏りのない既知のデータ母集団のデータ特性に基づいて、受信されたクラスタ訓練データセットをクラスタに分割することと、偏りのない既知のデータ母集団のデータ特性に基づいたクラスタの各クラスタについて、偏りのない既知のデータ母集団のサイズに対するそれぞれのクラスタのサイズ
の比に基づいて、クラスタ化モデルの各クラスタについてのクラスタ重みを判定することとを含んでいてもよい。いくつかの例では、教師なし機械学習アルゴリズムが、偏りのない既知のデータ母集団のデータ特性に基づいて、受信されたクラスタ訓練データセットをクラスタに分割する。
【0015】
この開示の1つ以上の実現化例の詳細が、添付図面および以下の説明において述べられる。他の局面、特徴、および利点は、説明および図面から、および請求項から明らかになるであろう。
【0016】
図面の説明
【図面の簡単な説明】
【0017】
図1】例示的な機械学習環境の概略図である。
図2A】偏り拒否モデルのための例示的な処理段階の概略図である。
図2B図2Aの訓練段階中の例示的な偏り拒否モデルの概略図である。
図2C図2Aの偏り防止(unbiasing)段階中の例示的な偏り拒否モデルの概略図である。
図2D図2Aの偏り防止段階中に偏り拒否モデルによって行なわれる例示的な調節の概略図である。
図2E図2Aの偏り防止段階中に偏り拒否モデルによって行なわれる例示的な調節の概略図である。
図3】機械学習モデルが偏り拒否モデルから偏りのない訓練データを取り入れるための例示的な処理段階の概略図である。
図4】データセットについての偏りスコアを生成するための例示的な偏り採点モデルの概略図である。
図5】機械学習環境内の機械学習モデルの偏りを防止するための例示的な方法のフロー図である。
図6】ここに説明されるシステムおよび方法を実現するために使用され得る例示的なコンピューティングデバイスの概略図である。
【0018】
さまざまな図面における同じ参照符号は、同じ要素を示す。
【発明を実施するための形態】
【0019】
詳細な説明
図1は、機械学習環境10の一例である。機械学習環境10は一般に、ネットワーク120を介してアクセス可能なリソース110を有する分散型システム100(たとえば、クラウド環境などのリモートシステム)と、偏り拒否モデル200と、機械学習モデル300とを含む。リソース110は、偏り拒否モデル200および/または機械学習モデル300を訓練する際に使用するために、ならびに、ここに開示される機械学習機能を行なうために、偏り拒否モデル200および/または機械学習モデル300にアクセス可能である。分散型システム100は、偏り拒否モデル200および/または機械学習モデル300を動作させることができるコンピューティングリソース(たとえばリソース110)を有する任意のコンピュータ処理システムであってもよい。いくつかの例では、偏り拒否モデル200および/または機械学習モデル300は、ネットワーク120を介して分散型システム100にアクセス可能である、または他の態様で分散型システム100と通信しているデバイス上で動作する。たとえば、デバイスは、分散型システム100に関連付けられたウェブベースのアプリケーションを実行してもよい。
【0020】
一般に、分散型システム100のリソース110は、ハードウェアリソース110h、110h1-iと、ソフトウェアリソース110s、110s1-iとを含んでいてもよ
い。ハードウェアリソース110hは、データ処理ハードウェア112と、メモリハードウェア114とを含む。ソフトウェアリソース110sは、ソフトウェアアプリケーション、ソフトウェアサービス、アプリケーションプログラミングインターフェイス(application programming interface:API)などを含んでいてもよい。ソフトウェアリソー
ス110sは、ハードウェアリソース110h上に存在して(たとえば、メモリハードウェア114に格納されて)いてもよく、または、データ処理ハードウェア112上で実行される命令を含んでいてもよい。
【0021】
ソフトウェアアプリケーション(すなわち、ソフトウェアリソース110s)とは、コンピューティングデバイスにタスクを行なわせるコンピュータソフトウェアを指していてもよい。いくつかの例では、ソフトウェアアプリケーションは、「アプリケーション」、「アプリ」、または「プログラム」と呼ばれてもよい。例示的なアプリケーションは、システム診断アプリケーション、システム管理アプリケーション、システム保守アプリケーション、文書処理アプリケーション、表計算アプリケーション、メッセージングアプリケーション、メディアストリーミングアプリケーション、ソーシャルネットワーキングアプリケーション、およびゲーミングアプリケーションを含むものの、それらに限定されない。
【0022】
メモリハードウェア114は、プログラム(たとえば命令のシーケンス)またはデータ(たとえばプログラム状態情報)を、データ処理ハードウェア112による使用のために一時的または永続的に格納するために使用される物理デバイスであり得る非一時的メモリである。メモリハードウェア114は、揮発性および/または不揮発性アドレス可能半導体メモリであってもよい。不揮発性メモリの例は、フラッシュメモリおよび読出専用メモリ(read-only memory:ROM)/プログラマブル読出専用メモリ(programmable read-only memory:PROM)/消去可能プログラマブル読出専用メモリ(erasable programmable read-only memory:EPROM)/電子的消去可能プログラマブル読出専用メモリ
(electronically erasable programmable read-only memory:EEPROM)(たとえ
ば、典型的にはブートプログラムなどのファームウェアのために使用される)、およびディスクまたはテープを含むものの、それらに限定されない。揮発性メモリの例は、ランダムアクセスメモリ(random access memory:RAM)、ダイナミックランダムアクセスメモリ(dynamic random access memory:DRAM)、スタティックランダムアクセスメモリ(static random access memory:SRAM)、および相変化メモリ(phase change memory:PCM)を含むものの、それらに限定されない。
【0023】
図示された例では、偏り拒否モデル200は、機械学習モデル300に悪影響を及ぼさないように偏りの問題に対処するために、リソース110とともに動作する。言い換えれば、偏り拒否モデル200は、偏りのあるデータを含む機械学習(machine learning:ML)訓練データセット302に基づいて機械学習モデル300を訓練するのを防止するように構成される。これは、ML訓練データセット302に関連付けられているものの、当該偏りのあるデータが除去された、偏りのない訓練データセット206を、MLモデル300を訓練する際に使用するために生成/出力することによる。ML訓練データセット302内の偏りのあるデータに基づいて機械学習モデル300を訓練するのを防止することによって、機械学習モデル300は、当該偏りのあるデータによって影響されず、したがって、推論中に偏りのない予測値310(図3)を生成することができる。このため、偏り拒否モデル200は、MLモデル300を訓練する際に使用するための偏りのない訓練データセット206を出力/生成することによって、MLモデル300を訓練する前にML訓練データセット302内の偏りのあるデータを除去/調節するフィルタに対応する。
【0024】
図2Aは、1番目の訓練段階202と、1番目の訓練段階202に続く2番目の偏り防止段階204との実行中の偏り拒否モデル200を示す。訓練段階202中、偏り拒否モ
デル200は、クラスタ訓練データセット130を受信し、クラスタ重み214を出力する。偏り防止段階204中、偏り拒否モデル200は、ML訓練データセット302を受信し、訓練段階202から出力されたクラスタ重み214を使用して、ML訓練データセット302から偏りのあるデータが除去された、偏りのない訓練データセット206を出力する。
【0025】
ここで、「重み」(たとえば、偏りクラスタ重み214、214a~n、および訓練データセット重み218、218a~n)という用語は、クラスタ化のプロセスから形成された独自のクラスタにマッピングする、比などの値を指す。母集団については、各クラスタは、母集団の一部に関していてもよく、このため、その一部の値は、クラスタ(たとえば、母集団のサブセット)に関連付けられた重みであってもよい。言い換えれば、母集団をサブセットにクラスタ化することによって、各サブセットは、母集団に対する特性(たとえば重み)を本質的に有する。より一般的には、偏りクラスタ212または訓練クラスタ216などのクラスタとは、人々に関する訓練データをグループ化するために使用され得る、当該人々のグループ化を指す。人々のグループ化は、自分の訓練データにおける連続的な範囲の変数値を共有する人々を含んでいてもよい(たとえば、25~27才のアジア系女性についてのクラスタは、1人の25才のアジア系女性での1つの訓練例と、1人の26才のアジア系女性での別の訓練例と、この一組の値を共有する他の訓練例とを含み得る)。
【0026】
他の実現化例では、クラスタは、自分の訓練データがクラスタ化アルゴリズム(たとえばクラスタ化モデル)によってクラスタ化される人々を含む。クラスタ化アルゴリズムは、人々(または人々の特性)の間の距離がより短いことに基づいて類似しているとアルゴリズムが考えるグループに、人々を入れる。より短い距離によってグループ化することは、多くの変数値がそれぞれの母集団において増加するにつれてクラスタの数が指数関数的に増加することを回避し得る。クラスタ化は、訓練データ(たとえば人々)間の距離を判定するために、重要な変数(たとえば偏り変数)および/または他の変数にしたがって行なわれてもよい。たとえば、クラスタ化は他の変数に基づいて行なわれるが、データをクラスタ化するための最終判定は、重要な変数(たとえば偏り変数)に基づいている。一例として、クラスタ化プロセスは、18才および19才の男性のオーストリア人およびドイツ人をともに単一のクラスタにグループ化する。なぜなら、それは、規定された測定基準(たとえば、使用言語、関連する関心事、ソーシャルネットワークでつながるかまたは同じ組織のメンバーである頻度)に基づいて、類似性(たとえば、互いの間のより短い距離)を認識するためである。広範囲の潜在的なクラスタ化アプローチを示す別の例として、クラスタ化プロセスは、(1)18才のオーストリア人、(2)18才のドイツ人、(3)19才のオーストリア人、および(4)19才のドイツ人というカテゴリーをカバーする4つの別個のグループを有し得る。
【0027】
図2Aをさらに参照して、訓練段階202中、偏り拒否モデル200は、偏りのない既知のデータ母集団に対応するクラスタ訓練データセット130を受信する。偏りのない既知のデータ母集団は、偏りに敏感な変数(bias sensitive variable)の正確な確率分布
を有する目標母集団であってもよい。偏りのない既知のデータ母集団を用いて、偏り拒否モデル200は、偏りに敏感な変数に関連する不釣り合いなデータ量を有するデータを用いた訓練を回避する。偏りに敏感な変数とは、目標母集団のデータサンプルにおいて過大表現または過小表現されると、目標母集団のサンプリングからの偏りのある予測の可能性の増加をもたらす変数を指す。言い換えれば、偏りに敏感な変数の正確な表現からの若干のずれが、歪んだ予測分析をもたらす可能性がある。したがって、機械学習モデル300などの機械学習モデルが、偏りに敏感な変数の正確な訓練データセットなしで構成される(すなわち訓練される)場合、機械学習モデルは、偏りのある予測、および偏りのあるコンピューティング分析論を本質的に生成するかもしれない。偏りに敏感な変数のいくつか
の例は、人種、ジェンダー、性別、年齢、国籍、信仰している宗教、所属する政党、豊かさなどを含む。
【0028】
いくつかの例では、目標母集団は、所与の変数または一組の変数についてのデータセット全体である。ここで、偏り拒否モデル200および/または機械学習モデル300は、目標母集団(たとえば、クラスタ訓練データセット130に対応する母集団)に対応して訓練されても、および/または予測を行なってもよい。基本的な一例として、機械学習モデル300は、カリフォルニアの人口である目標母集団についての値を予測するように構成されてもよい。カリフォルニアの人口に関する予測を正確に行なうために、各モデル200、300は、カリフォルニアの人口に関連付けられたデータに基づいて訓練する。
【0029】
受信されたクラスタ訓練データセット130に基づいて偏り拒否モデル200を訓練した後で、偏り拒否モデル200は、偏り防止段階204中に、MLモデル300を訓練する際に使用するために意図されたML訓練データセット302を調節するように構成される。MLモデル300を訓練する前にML訓練データセット302を調節することによって、偏り拒否モデル200は、偏りのない訓練データセット206を生成し、偏りのない訓練データセット206をMLモデル300に提供する。言い換えれば、偏り防止段階204中、偏り拒否モデル200は、訓練段階202中のクラスタ訓練データセット130に基づく偏り拒否モデル200の訓練に基づいて、(たとえば偏りのあるデータを潜在的に含み得る)ML訓練データセット302を、偏りのない訓練データセット206に変換する。いくつかの例では、偏り拒否モデル200は、2つ以上のクラスタ訓練データセット130を用いて訓練する。たとえば、偏り拒否モデル200は、新しいまたは更新されたクラスタ訓練データセット130への経時変化を連続的に勘案するように、当該クラスタ訓練データセット130に基づいて動的に訓練する。訓練段階202および偏り防止段階204は、連続的にまたは同時に実行されてもよく、またはそれら双方の何らかの組合せであってもよい。
【0030】
図2Bは、訓練段階202中の偏り拒否モデル200の一例を示す。ここで、偏り拒否モデル200は、偏りのない既知のデータ母集団を含むクラスタ訓練データセット130を受信する。しかしながら、いくつかの実現化例では、偏り拒否モデル200のアドミニストレータ、または偏り拒否モデル200へのアクセスを有するユーザ(たとえば、特定の一組の偏り特徴を懸念するユーザ)などのエンティティが、偏りに敏感な変数に対応する偏り特徴を規定してもよい。ここで、偏り拒否モデル200のエンティティまたは設計者は、偏り特徴および/または偏りに敏感な変数を偏り拒否モデル200に供給しない。むしろ、偏り拒否モデル200は、偏りのあるデータ、または偏りのないデータを認識するために、分割器210を介してクラスタモデル211を使用してクラスタ訓練データセット130をモデル化する。いくつかの構成では、クラスタ訓練データセット130は、目標母集団データセット全体を含む。たとえば、偏り拒否モデル200は、米国についての人口統計データの完全なデータセットを、クラスタ訓練データセット130として受信してもよい。
【0031】
偏り拒否モデル200は、分割器210と、調節器220とを含む。分割器210は、クラスタモデル211(「クラスタ化モデル211」とも呼ばれる)を使用してデータセットをクラスタ212、212a~nに分割するように構成される。訓練段階202中、分割器210は、偏りのない既知のデータ母集団のデータ特性(図2Bに「DCa~n」として示す)に基づいて、受信されたクラスタ訓練データセット130をクラスタ212、212a~nに分割するように、クラスタ化モデル211を訓練する。簡潔にするために、これらのデータ特性は、クラスタ訓練データセット130に関連する目標母集団の少なくとも1つのそれぞれの偏りに敏感な変数を含む。言い換えれば、いくつかのクラスタ212は、データ特性としての少なくとも1つのそれぞれの偏りに敏感な変数に関連付け
られた偏りクラスタであるかもしれず、一方、他のクラスタ212は、偏りに敏感な変数に関連していないデータ特性を識別する。いくつかの実現化例では、クラスタモデル211は、クラスタモデル211が訓練段階202中に受信されたクラスタ訓練データセット130に基づいて教師なし学習を行なうように、クラスタ化アルゴリズムを含む。教師なし学習とは、データに関連付けられたラベル(たとえば、予めラベル付けされた偏りに敏感な変数)をまったく含まないデータを使用して、学習が生じるプロセスを指す。受信されたクラスタ訓練データセット130に基づいて教師なし学習を行なうことによって、クラスタモデル211は、データ特性の点で(偏りのない既知のデータ母集団によって)偏りのないデータセットについての確率分布を識別するように訓練されるようになる。たとえば、クラスタモデル211は、偏りに敏感な変数および/または偏りに敏感な変数の組合せを表わすデータ特性を用いて、少なくとも1つのクラスタ212を生成するように訓練される。
【0032】
一例として、クラスタモデル211は、人種、ジェンダー、および年齢という偏りに敏感な変数の各々を、偏りのない既知の母集団のデータ特性としてクラスタ化する。ここで、各クラスタ212はしたがって、対応する偏りに敏感な変数の組合せに対応していてもよい。一例として、人種、ジェンダー、および年齢というデータ特性を用いて、少なくとも1つのクラスタ212は、1つのタイプの人種(たとえば黒人、白人、ヒスパニック系など)、1つのタイプのジェンダー(たとえば男性、女性、トランスジェンダー)、および1つのタイプの年齢層(たとえば19~30才、31~44才、45~59才、60才以上など)に対応する。分割器210がクラスタモデル211を使用してクラスタ訓練データセット130をクラスタ212に分割する場合、分割器210はまた、クラスタ212、212a~nが、関連付けられたクラスタ重み214、214a~nを有するように、各クラスタ212について対応するクラスタ重み214を判定するように構成される。いくつかの例では、クラスタ重み214は、目標母集団(たとえば、クラスタ訓練データセット130の母集団)に対する、クラスタ212についての母集団比率(population fraction)を表わす。たとえば、クラスタ重み214は、クラスタ訓練データセット13
0の目標母集団のサイズに対するそれぞれのクラスタ212のサイズの比を表わしていてもよい。いくつかの例では、各クラスタ重み214を判定するために、分割器210は、各クラスタ212の母集団比率を判定し、各母集団比率を全クラスタ212の最大母集団比率で除算する(たとえば、各クラスタ重み214は1よりも小さい)。他の例では、各クラスタ重み214を判定するために、分割器210は、各クラスタ212の母集団比率を判定し、各母集団比率を全クラスタ212の最小母集団比率で除算する(たとえば、各クラスタ重み214は1よりも大きい)。
【0033】
いくつかの構成では、分割器210は、訓練段階202中、クラスタ212についてのクラスタ重み214を調節器220に通信する。たとえば、調節器220は、クラスタ重み214のデータストア222を含む。他の例では、分割器210は、偏り防止段階204中に調節器220がアクセスするために、クラスタ重み214を(たとえば分割器210のデータストアに)格納する。
【0034】
図2Cは、偏り防止段階204中の偏り拒否モデル200の一例を示す。偏り防止段階204中、偏り拒否モデル200は、MLモデル300を訓練する際に使用するために意図されたML訓練データセット302を受信する。たとえば、訓練データセット302は、潜在的に偏りがあるかもしれない(たとえば、偏りのあるデータを含むかもしれない)未処理の訓練データセットを含むかもしれない。いくつかの実現化例では、訓練データセット302は、目標母集団のサンプルであり、そのため、目標母集団の偏りに敏感な変数132を不正確に反映するかもしれない。たとえば、目標母集団は、白人が25%という人種構成を有するかもしれず、一方、訓練データセット302は、白人が45%というサンプリング人種構成を示すかもしれない。このため、目標母集団の偏りに敏感な変数を不
正確に反映するML訓練データ302に基づいてMLモデル300を訓練するのを防止するために、偏り拒否モデル200は、偏り防止段階204中に分割器210および調節器220を用いてこの偏り(たとえば20%の差)を調節しようと努める。
【0035】
分割器210が図2Bの訓練段階202中に偏り訓練データセット130を偏りクラスタ212に分割する方法と同様に、分割器210は、偏り防止段階204中に、受信されたML訓練データセット302を訓練クラスタ216に分割するように構成される。分割器210は、訓練データセット302を訓練されたクラスタモデル211に提供することによって、訓練データセット302を分割する。訓練段階202からの訓練に基づいて、クラスタモデル211は、訓練データセット302などのデータセットをクラスタ(たとえば、クラスタ212a~n、または訓練クラスタ216a~n)に分割する方法を学習済みである。偏り防止段階204中、クラスタモデル211は、機械学習モデル300のために意図された、受信された訓練データセット302に基づいて、訓練クラスタ216、216a~nを生成する。ここで、少なくとも1つの訓練クラスタ216は、目標母集団の少なくとも1つの対応する偏りに敏感な変数に関連付けられる。分割器210はさらに、分割された訓練クラスタ216が、関連付けられた訓練データセット重み218を含むように、分割された各訓練クラスタ216について、対応する訓練データセット重み218、218a~nを生成するように構成される。いくつかの例では、それぞれの訓練データセット重み218は、訓練データセット302に関連付けられたサンプル母集団に対する、訓練クラスタ216についての母集団比率を表わす。たとえば、訓練データセット重み218は、訓練データセット302のサンプル母集団のサイズに対するそれぞれの訓練クラスタ216のサイズの比を表わしていてもよい。いくつかの例では、各訓練データセット重み218を判定するために、分割器210は、各訓練クラスタ216の母集団比率を判定し、各母集団比率を訓練クラスタ216の最大母集団比率で除算する(たとえば、各訓練データセット重み218は1よりも小さい)。他の例では、各訓練データセット重み218を判定するために、分割器210は、各訓練クラスタ216の母集団比率を判定し、各母集団比率を訓練クラスタ216a~nの最小母集団比率で除算する(たとえば、各訓練データセット重み218は1よりも大きい)。
【0036】
調節器220は、目標母集団のデータ特性(すなわち、偏りに敏感な変数)の確率分布と整合するために、訓練データセット重み218を調節するように構成される。いくつかの実現化例では、調節器220は、訓練データセット重み218をクラスタ重み214と比較することによって訓練データセット重み218を調節するプロセス226を実行する。たとえば、図2C~2Eは、調節器220が、クラスタ重みデータストア222からのクラスタ重み21と、訓練重みデータストア224からの訓練データセット重み218とを検索して比較し、比較に基づいて訓練データセット重み218を調節するために、プロセス226を実行することを示す。たとえば、それぞれの訓練データセット重み218とクラスタ重み214との相対的な差に基づいて、調節器220は、それぞれの訓練データセット重み218を、対応するクラスタ重み214と整合するように調節してもよい。したがって、訓練データセット重み218を調節するために調節器220によって実行されるプロセス226は、調節された訓練データセット重みを生成/出力し、または、より一般的には、MLモデル300を訓練するための偏りのない訓練データセット206を形成する調節された訓練データセット208を生成/出力する。
【0037】
いくつかの実現化例では、調節器220は、まず、偏りに敏感な変数などの整合するデータ特性に基づいて、1つ以上の訓練データセット重み218a~nを1つ以上のクラスタ重み214a~nと整合させることによって、プロセス226を実行する。たとえば、訓練データセット重み218とクラスタ重み214とが各々、共通のデータ特性(たとえば、偏りに敏感な変数)またはデータ特性の組合せを共有する場合、調節器220は、訓練データセット重み218を、整合する(すなわち、対応する)クラスタ重み214を用
いて調節し、対応する調節された訓練データセット重みおよび/または調節された訓練データセット208を出力してもよい。
【0038】
図2Dを参照して、調節器220は、共通のデータ特性(たとえば、偏りに敏感な変数)またはデータ特性の組合せを共有する訓練データセット重み218と偏りクラスタ重み214とを比較する。ML訓練データセット302が偏りに敏感な変数を過大表現する場合、訓練データセット重み218は、偏りに敏感な変数に対応するデータ特性について、クラスタ重み214を上回る(たとえば、クラスタ重み214よりも大きい)(たとえば、訓練データセット302は、白人が20%多い人種構成を示す)。この過大表現に応答して、調節器220によって実行されるプロセス226は、訓練データセット重み218がクラスタ重み214と整合するまで訓練データセット302からデータを除去することによって訓練データセット重み218を調節するデータ除去調節プロセスに対応してもよい。一方、訓練データセット302が偏りに敏感な変数を過小表現する場合、訓練データセット重み218は、偏りに敏感な変数に対応するデータ特性について、クラスタ重み214よりも小さい(たとえば、訓練データセット302は、黒人が20%少ない人種構成を示す)。この過小表現に応答して、調節器220上で実行されるプロセス226は、訓練データセット重み218がクラスタ重み214と整合するまで訓練データセット302からデータを複製することによって訓練データセット重み218を調節するデータ複製プロセスに対応してもよい。いくつかの実現化例では、調節器220は、訓練データセット302の完全性を維持するために、訓練データセット302からデータをランダムに複製または除去する。これは、ランダムではない選択的な複製または除去に関連付けられたさらなる偏りを回避し得る。
【0039】
訓練データセット重み218が偏りクラスタ重み214と整合するまで訓練データセット302からデータを除去するかまたは訓練データセット302にデータを追加する図2のプロセス226とは対照的に、図2Eは、各訓練データセット重み218に関連付けられた重要性重み228を調節する調節器220上で実行されるプロセス226を示す。具体的には、プロセスは、重要性重み228を、関連付けられた訓練データセット重み218に対応する訓練データセット302のデータに関連付ける。重要性重み228は、機械学習モデル300を訓練しながら、訓練データセット重み218に対応する基礎的データを提供するための重みがどれぐらいかを理解するために、機械学習モデル300の訓練段階304(図3)への表示を提供する。いくつかの例では、訓練データセット重み218がクラスタ重み214よりも大きい場合、調節器220は、それぞれの訓練データセット重み218に対応する訓練データに対する機械学習モデル300の訓練を減少させることを示す重要性重み228を関連付ける。他の例では、訓練データセット重み218がクラスタ重み214よりも小さい場合、調節器220は、それぞれの訓練データセット重み218に対応する訓練データに対する機械学習モデル300の訓練を増加させることを示す重要性重み228を関連付ける。
【0040】
図2A~2Eによって示すように、偏り拒否モデル200は、機械学習モデル300を訓練するための偏りのない訓練データセット206を生成する。図3は、機械学習モデル300が偏りのない訓練データセット206に基づいて訓練する一例である。機械学習モデル300などの機械学習モデルは一般に、データセットおよび結果セットに基づいて教えられ(または訓練され)、当該データセットに類似した入力データに基づいてそれ自体の出力を予測する。いくつかの実現化例では、偏り拒否モデル200と同様に、機械学習モデル300はまず、訓練段階304中に訓練を受け、次に、サンプルデータセット308を入力として受信し、偏りのない予測値310を出力する予測段階(たとえば推論)306を経る。予測段階306中、機械学習モデル300は、少なくとも1つの偏りに敏感な変数を含むサンプルデータセットなどのサンプルデータセット308を受信し、偏りのない訓練データセット206に基づいて訓練された関連付けられた機械学習機能性を利用
して、受信されたサンプルデータセット308に基づいた、偏りのない予測値310を生成する。
【0041】
いくつかの例では、機械学習モデル300は、偏りのない2つ以上の訓練データセット206を用いて訓練する。たとえば、機械学習モデル300は、動作中、動的に変化するデータセットを連続的に勘案するように動的に訓練する。言い換えれば、訓練段階304および予測段階306は、連続的にまたは同時に実行されてもよく、またはそれら双方の何らかの組合せであってもよい。
【0042】
図4は、偏り採点モデル400の一例である。偏り採点モデル400は、偏り拒否モデル200とともに、または偏り拒否モデル200とは別々に使用されてもよい。たとえば、偏り採点モデル400は、機械学習モデル300を訓練するよう意図された訓練データセット302を、当該訓練データセット302を偏り拒否モデル200に提供する前に評価してもよい(すなわち、これらのモデル200、300は、偏り採点モデル400に相談する)。これらの例では、偏り採点モデル400が、訓練データセット302は偏りがあり過ぎて機械学習モデル300の訓練を始められないことを示して、訓練データセット302を拒否した場合、偏り採点モデル400は、2A~2Eを参照して上述されたように、拒否された訓練データセット426の偏りを防止し、偏りのない訓練データセット206を形成するために、拒否された訓練データセット302を偏り拒否モデル200に通信してもよい。
【0043】
偏り拒否モデル200、クラスタモデル211、および/または機械学習モデル300と同様に、偏り採点モデル400は、データセットを採点するように偏り採点モデル400を訓練するための訓練段階402を経る。そして、いったん訓練されると、採点段階404中に、訓練段階402からの訓練に基づいてデータセットを採点する。訓練段階402中、偏り採点モデル400は、1つ以上の偏り採点訓練データセット410を受信する。各偏り採点訓練データセット410は、偏りのあるデータ412および/または偏りのないデータ414などのデータと、偏りスコア416とを含む。たとえば、偏りスコア416は、データセット内の偏りの数値表現である。いくつかの例では、偏りスコア416および/または偏り採点訓練データセット410は、採点者140から生じる。採点者140は、機械学習環境10内のアドミニストレータ(たとえば、モデル200、211、300のアドミニストレータ)、または、機械学習モデル300での偏りを懸念するユーザであってもよい。いくつかの例では、採点者140は、2つ以上のエンティティ/ソース(すなわちコミッティ)、あるいは、データセットをコンパイルおよび/または採点するように訓練された別の機械学習モデルである。訓練段階402中、偏り採点モデル400は、1つ以上の偏り採点訓練データセット410を受信し、データセットについての偏りスコア416を生成することを学習する。
【0044】
いったん訓練されると、または、偏り採点モデル400が採点段階404と並行して絶えず訓練する場合、偏り採点モデル400は、機械学習モデル300のために意図された訓練データセット302を受信する(たとえば傍受する)。その訓練に基づいて、偏り採点モデル400は、偏り採点モデル400が訓練データセット302についての偏りスコア416を生成する採点プロセス420を行なう。採点プロセス420の一環として、偏り採点モデル400は、訓練データセット302についての偏りスコア416がスコアしきい値422を満たすかどうかを判定する。ここで、スコアしきい値422は、機械学習モデル300での予測のために、データセットには偏りがないかまたは無視できるほど小さいという信頼度を示す。たとえば、スコアしきい値422は、受け入れ可能な偏りスコア値である。
【0045】
訓練データセット302の偏りスコア416がスコアしきい値422を満たす(たとえば、受け入れ可能な偏りスコア値を上回る)場合、偏り採点モデル400は、訓練データセット302を、承認された訓練データセット424として承認する。いくつかの例では、承認された訓練データセット424は、機械学習モデルが(たとえば図3に示す)偏りのない予測値310を生成し始めるように、機械学習モデル300によって認識可能な承認指標を含む。訓練データセット302の偏りスコア416がスコアしきい値422を満たさない(たとえば、受け入れ可能な偏りスコア値よりも小さい)場合、偏り採点モデル400は、訓練データセット302を拒否する。拒否された訓練データセット426は、拒否された訓練データセット302を用いて訓練しないように機械学習モデル300に通知するための拒否指標を含んでいてもよい。図4に点線のボックスおよび矢印によって示すように、偏り採点モデル400は、2A~2Eを参照して上述されたように、偏り拒否モデル200が拒否された訓練データセット302を偏りのない訓練データセット206に変換するように、拒否された訓練データセット302を偏り拒否モデル200に通信(すなわち提供)してもよい。
【0046】
偏り拒否モデル200、機械学習モデル300、および/または偏り採点モデル400は、ここに説明される任意のモデル200、300、400の機能性を実行するために少なくとも1つの機械学習アルゴリズムを採用する任意のタイプの機械学習モデル(たとえば、教師あり、教師なし、強化、アンサンブル/決定木、ディープラーニング、ニューラルネットワーク、再帰的、線形など)であってもよい。おおまかに言えば、機械学習アルゴリズムは、教師あり学習、教師なし学習、アクティブラーニング、または、これらのタイプの学習アルゴリズムのいくつかのハイブリッドの組合せに関連していてもよい。これらの広範なアルゴリズムのいくつかの具体例は、線形回帰アルゴリズム、ロジスティック回帰アルゴリズム、決定木ベースのアルゴリズム、サポートベクトルマシンアルゴリズム、単純ベイズ分類器、k最近傍アルゴリズム、次元縮小アルゴリズム、勾配ブースティングアルゴリズムなどといった機械学習アルゴリズムを含む。
【0047】
図5は、機械学習環境10内の機械学習モデル300の偏りを防止するための動作を有する例示的な方法500である。動作502で、方法500は、クラスタ訓練データセット130を受信する。クラスタ訓練データセット130は、偏りのない既知のデータ母集団を含む。動作504で、方法500は、偏りのない既知のデータ母集団のデータ特性に基づいて、受信されたクラスタ訓練データセット130をクラスタ212に分割するように、クラスタ化モデル211を訓練する。クラスタ212a~nの各クラスタ212は、クラスタ重み214を含む。動作506で、方法500は、機械学習モデル300のための訓練データセット302を受信する。動作508で、方法500は、クラスタ化モデル211に基づいて、機械学習モデル300のための訓練データセット302に対応する訓練データセット重み218a~nを生成する。動作510で、方法500は、訓練データセット重み218a~nの各訓練データセット重み218を、それぞれのクラスタ重み214と整合するように調節する。動作512で、方法500は、調節された訓練データセット208を、偏りのない訓練データセット206として、機械学習モデル300に提供する。
【0048】
図6は、この文書で説明されるシステムおよび方法(たとえば、偏り拒否モデル200および/または機械学習モデル300)を実現するために使用され得る例示的なコンピューティングデバイス600の概略図である。コンピューティングデバイス600は、ラップトップ、デスクトップ、ワークステーション、携帯情報端末、サーバ、ブレードサーバ、メインフレーム、および他の適切なコンピュータといった、さまざまな形態のデジタルコンピュータを表わすよう意図されている。ここに示すコンポーネント、それらの接続および関係、ならびにそれらの機能は単なる例示であることが意図されており、この文書で説明される、および/または請求項に記載のこの発明の実現化例を限定するよう意図されてはいない。
【0049】
コンピューティングデバイス600は、プロセッサ610と、メモリ620と、記憶装置630と、メモリ620および高速拡張ポート650に接続している高速インターフェイス/コントローラ640と、低速バス670および記憶装置630に接続している低速インターフェイス/コントローラ660とを含む。コンポーネント610、620、630、640、650、および660の各々は、さまざまなバスを使用して相互接続されており、共通のマザーボード上にまたは他の態様で適宜搭載されてもよい。プロセッサ610は、コンピューティングデバイス600内で実行される命令を処理可能であり、これらの命令は、グラフィカルユーザインターフェイス(graphical user interface:GUI)のためのグラフィック情報を、高速インターフェイス640に結合されたディスプレイ680などの外部入出力デバイス上に表示するために、メモリ620内または記憶装置630上に格納された命令を含む。他の実現化例では、複数のプロセッサおよび/または複数のバスが、複数のメモリおよび複数のタイプのメモリとともに適宜使用されてもよい。また、複数のコンピューティングデバイス600が接続されてもよく、各デバイスは(たとえば、サーババンク、ブレードサーバのグループ、またはマルチプロセッサシステムとして)必要な動作の部分を提供する。
【0050】
メモリ620は、情報をコンピューティングデバイス600内に非一時的に格納する。メモリ620は、コンピュータ読取可能媒体、揮発性メモリユニット、または不揮発性メモリユニットであってもよい。非一時的メモリ620は、プログラム(たとえば命令のシーケンス)またはデータ(たとえばプログラム状態情報)を、コンピューティングデバイス600による使用のために一時的または永続的に格納するために使用される物理デバイスであってもよい。不揮発性メモリの例は、フラッシュメモリおよび読出専用メモリ(ROM)/プログラマブル読出専用メモリ(PROM)/消去可能プログラマブル読出専用メモリ(EPROM)/電子的消去可能プログラマブル読出専用メモリ(EEPROM)(たとえば、典型的にはブートプログラムなどのファームウェアのために使用される)を含むものの、それらに限定されない。揮発性メモリの例は、ランダムアクセスメモリ(RAM)、ダイナミックランダムアクセスメモリ(DRAM)、スタティックランダムアクセスメモリ(SRAM)、相変化メモリ(PCM)、およびディスクまたはテープを含むものの、それらに限定されない。
【0051】
記憶装置630は、コンピューティングデバイス600のための大容量記憶を提供可能である。いくつかの実現化例では、記憶装置630は、コンピュータ読取可能媒体である。さまざまな異なる実現化例では、記憶装置630は、フロッピー(登録商標)ディスクデバイス、ハードディスクデバイス、光ディスクデバイス、もしくはテープデバイス、フラッシュメモリまたは他の同様のソリッドステートメモリデバイス、もしくは、ストレージエリアネットワークまたは他の構成におけるデバイスを含むデバイスのアレイであってもよい。追加の実現化例では、コンピュータプログラム製品が情報担体において有形に具現化され得る。コンピュータプログラム製品は、実行されると上述のような1つ以上の方法を行なう命令を含む。情報担体は、メモリ620、記憶装置630、またはプロセッサ610上のメモリといった、コンピュータ読取可能媒体または機械読取可能媒体である。
【0052】
高速コントローラ640はコンピューティングデバイス600のための帯域幅集約的な動作を管理し、一方、低速コントローラ660はより低い帯域幅集約的な動作を管理する。役目のそのような割当ては例示に過ぎない。いくつかの実現化例では、高速コントローラ640は、メモリ620、ディスプレイ680に(たとえば、グラフィックスプロセッサまたはアクセラレータを介して)結合されるとともに、さまざまな拡張カード(図示せず)を受け付け得る高速拡張ポート650に結合される。いくつかの実現化例では、低速コントローラ660は、記憶装置630および低速拡張ポート690に結合される。さまざまな通信ポート(たとえば、USB、ブルートゥース(登録商標)、イーサネット(登
録商標)、無線イーサネット)を含み得る低速拡張ポート690は、キーボード、ポインティングデバイス、スキャナなどの1つ以上の入出力デバイスに、もしくは、スイッチまたはルータなどのネットワーキングデバイスに、たとえばネットワークアダプタを介して結合されてもよい。
【0053】
コンピューティングデバイス600は、図に示すように多くの異なる形態で実現されてもよい。たとえばそれは、標準サーバ600aとして、またはそのようなサーバ600aのグループで複数回実現されてもよく、ラップトップコンピュータ600bとして、またはラックサーバシステム600cの一部として実現されてもよい。
【0054】
ここに説明されるシステムおよび手法のさまざまな実現化例は、デジタル電子および/または光学回路、集積回路、特別に設計されたASIC(application specific integrated circuit:特定用途向け集積回路)、コンピュータハードウェア、ファームウェア、
ソフトウェア、および/またはそれらの組合せにおいて実現され得る。これらのさまざまな実現化例は、データおよび命令を記憶システムとの間で送受信するように結合された、専用または汎用であり得る少なくとも1つのプログラマブルプロセッサと、少なくとも1つの入力デバイスと、少なくとも1つの出力デバイスとを含むプログラマブルシステム上で実行可能および/または解釈可能である1つ以上のコンピュータプログラムにおける実現を含み得る。
【0055】
これらのコンピュータプログラム(プログラム、ソフトウェア、ソフトウェアアプリケーション、またはコードとしても知られている)は、プログラマブルプロセッサのための機械命令を含み、高レベルの手続き型および/またはオブジェクト指向プログラミング言語で、および/またはアセンブリ/機械語で実現され得る。ここに使用されるように、「機械読取可能媒体」および「コンピュータ読取可能媒体」という用語は、機械命令および/またはデータをプログラマブルプロセッサに提供するために使用される任意のコンピュータプログラム製品、非一時的コンピュータ読取可能媒体、機器および/またはデバイス(たとえば磁気ディスク、光ディスク、メモリ、プログラマブルロジックデバイス(Programmable Logic Device:PLD))を指し、機械命令を機械読取可能信号として受信す
る機械読取可能媒体を含む。「機械読取可能信号」という用語は、機械命令および/またはデータをプログラマブルプロセッサに提供するために使用される任意の信号を指す。
【0056】
この明細書で説明されるプロセスおよび論理フローは、1つ以上のプログラマブルプロセッサが、入力データに基づいて動作することおよび出力を生成することによって機能を行なうために1つ以上のコンピュータプログラムを実行することによって行なわれ得る。プロセスおよび論理フローはまた、たとえばFPGA(field programmable gate array
:フィールドプログラマブルゲートアレイ)またはASIC(特定用途向け集積回路)といった専用論理回路によって行なわれ得る。コンピュータプログラムの実行にとって好適であるプロセッサは、一例として、汎用および専用マイクロプロセッサと、任意の種類のデジタルコンピュータの任意の1つ以上のプロセッサとを含む。一般に、プロセッサは、命令およびデータを、読出専用メモリまたはランダムアクセスメモリまたはそれら双方から受信するであろう。コンピュータの本質的要素は、命令を行なうためのプロセッサと、命令およびデータを格納するための1つ以上のメモリデバイスとである。一般に、コンピュータはまた、たとえば磁気ディスク、光磁気ディスク、または光ディスクといった、データを格納するための1つ以上の大容量記憶装置を含むであろう。もしくは、当該大容量記憶装置からデータを受信し、または当該大容量記憶装置にデータを転送し、またはそれら双方を行なうように動作可能に結合されるであろう。しかしながら、コンピュータは、そのようなデバイスを有する必要はない。コンピュータプログラム命令およびデータを格納するのに好適であるコンピュータ読取可能媒体は、あらゆる形態の不揮発性メモリ、媒体、およびメモリデバイスを含み、一例として、半導体メモリ装置、たとえばEPROM
、EEPROM、およびフラッシュメモリデバイス;磁気ディスク、たとえば内部ハードディスクまたはリムーバブルディスク;光磁気ディスク;ならびに、CD ROMおよびDVD-ROMディスクを含む。プロセッサおよびメモリは、専用論理回路によって補足され、または専用論理回路に組込まれ得る。
【0057】
ユーザとの対話を提供するために、この開示の1つ以上の局面は、情報をユーザに表示するためのディスプレイデバイス、たとえばCRT(cathode ray tube:陰極線管)、LCD(liquid crystal display:液晶ディスプレイ)モニター、またはタッチスクリーンと、オプションで、ユーザがコンピュータへの入力を提供できるようにするキーボードおよびポインティングデバイス、たとえばマウスまたはトラックボールとを有するコンピュータ上で実現され得る。他の種類のデバイスも同様に、ユーザとの対話を提供するために使用され得る。たとえば、ユーザに提供されるフィードバックは、任意の形態の感覚フィードバック、たとえば視覚フィードバック、聴覚フィードバック、または触覚フィードバックであり得る。また、ユーザからの入力は、音響入力、音声入力、または触覚入力を含む任意の形態で受信され得る。加えて、コンピュータは、ユーザによって使用されるデバイスに文書を送信し、当該デバイスから文書を受信することによって、たとえば、ユーザのクライアントデバイス上のウェブブラウザから受信された要求に応答してウェブページを当該ウェブブラウザに送信することによって、ユーザと対話することができる。
【0058】
多くの実現化例が説明されてきた。にもかかわらず、この開示の精神および範囲から逸脱することなく、さまざまな変更を行なってもよいということが理解されるであろう。したがって、他の実現化例は、請求の範囲内にある。
図1
図2A
図2B
図2C
図2D
図2E
図3
図4
図5
図6