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

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

▶ 富士通株式会社の特許一覧

特開2024-40006訓練データ生成プログラム、訓練データ生成方法及び情報処理装置
<>
  • 特開-訓練データ生成プログラム、訓練データ生成方法及び情報処理装置 図1
  • 特開-訓練データ生成プログラム、訓練データ生成方法及び情報処理装置 図2
  • 特開-訓練データ生成プログラム、訓練データ生成方法及び情報処理装置 図3
  • 特開-訓練データ生成プログラム、訓練データ生成方法及び情報処理装置 図4
  • 特開-訓練データ生成プログラム、訓練データ生成方法及び情報処理装置 図5
  • 特開-訓練データ生成プログラム、訓練データ生成方法及び情報処理装置 図6
  • 特開-訓練データ生成プログラム、訓練データ生成方法及び情報処理装置 図7
  • 特開-訓練データ生成プログラム、訓練データ生成方法及び情報処理装置 図8
  • 特開-訓練データ生成プログラム、訓練データ生成方法及び情報処理装置 図9
  • 特開-訓練データ生成プログラム、訓練データ生成方法及び情報処理装置 図10
< >
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公開特許公報(A)
(11)【公開番号】P2024040006
(43)【公開日】2024-03-25
(54)【発明の名称】訓練データ生成プログラム、訓練データ生成方法及び情報処理装置
(51)【国際特許分類】
   G06N 20/00 20190101AFI20240315BHJP
【FI】
G06N20/00 130
【審査請求】未請求
【請求項の数】7
【出願形態】OL
(21)【出願番号】P 2022144802
(22)【出願日】2022-09-12
(71)【出願人】
【識別番号】000005223
【氏名又は名称】富士通株式会社
(74)【代理人】
【識別番号】110002147
【氏名又は名称】弁理士法人酒井国際特許事務所
(72)【発明者】
【氏名】園田 亮介
(57)【要約】
【課題】予測精度と公平性のトレードオフを改善する訓練データ生成プログラム、訓練データ生成方法及び情報処理装置を提供する。
【解決手段】複数の訓練データのうち、ラベルが第1の値かつ第1の属性が第2の値である第1の複数の訓練データと、ラベルが第1の値かつ第1の属性が第3の値である第2の複数の訓練データと、ラベルが第4の値かつ第1の属性が第2の値である第3の複数の訓練データとを特定し、特定の確率に基づいて、第2の複数の訓練データと第3の複数の訓練データとのうちいずれかから、第1の訓練データを選択し、第1の複数の訓練データの第2の訓練データと第1の訓練データとに基づいて、ラベルが第1の値かつ第1の属性が第2の値である第3の訓練データを生成する処理をコンピュータに実行させる。
【選択図】図1
【特許請求の範囲】
【請求項1】
複数の訓練データのうち、ラベルが第1の値かつ第1の属性が第2の値である第1の複数の訓練データと、前記ラベルが前記第1の値かつ前記第1の属性が第3の値である第2の複数の訓練データと、前記ラベルが第4の値かつ前記第1の属性が前記第2の値である第3の複数の訓練データとを特定し、
特定の確率に基づいて、前記第2の複数の訓練データと前記第3の複数の訓練データとのうちいずれかから、第1の訓練データを選択し、
前記第1の複数の訓練データの第2の訓練データと前記第1の訓練データとに基づいて、前記ラベルが前記第1の値かつ前記第1の属性が前記第2の値である第3の訓練データを生成する、
処理をコンピュータに実行させることを特徴とする訓練データ生成プログラム。
【請求項2】
前記複数の訓練データのうち前記第2の訓練データからの距離が特定の基準を満たす複数の近傍の訓練データを特定し、前記複数の近傍の訓練データのうち前記ラベルが前記第1の値である訓練データの数に基づいて前記特定の確率を決定する処理を前記コンピュータに実行させることを特徴とする請求項1に記載の訓練データ生成プログラム。
【請求項3】
前記複数の訓練データのうち前記第1の複数の訓練データからの距離が前記特定の基準を満たす複数の第1の近傍の訓練データを特定し、前記複数の第1の近傍の訓練データのうち前記ラベルが前記第1の値である訓練データの数と、前記複数の訓練データのうち前記第2の複数の訓練データからの距離が前記特定の基準を満たす複数の第2の近傍の訓練データを特定し、前記複数の第2の近傍の訓練データのうち前記ラベルが前記第1の値である訓練データの数とを基に、前記特定の確率を決定する処理を前記コンピュータに実行させることを特徴とする請求項2に記載の訓練データ生成プログラム。
【請求項4】
前記複数の訓練データのうち前記第1の複数の訓練データからの距離が特定の基準を満たす複数の第1の近傍の訓練データを特定し、前記第1の近傍の訓練データに含まれる前記ラベルが前記第1の値である前記訓練データのうち前記ラベルが前記第4の値であるデータとの境界に存在する数と、
前記複数の訓練データのうち前記第3の複数の訓練データからの距離が前記特定の基準を満たす複数の第2の近傍の訓練データを特定し、前記第2の近傍の訓練データに含まれる前記ラベルが前記第4の値である前記訓練データのうち前記ラベルが前記第1の値であるデータとの境界に存在する数と、
前記複数の訓練データのうち前記第2の複数の訓練データからの距離が前記特定の基準を満たす複数の第3の近傍の訓練データを特定し、前記第3の近傍の訓練データに含まれる前記ラベルが前記第1の値である前記訓練データのうち前記ラベルが前記第4の値であるデータとの境界に存在する数と、
前記複数の訓練データのうち前記第4の値かつ前記第1の属性が前記第3の値である第4の複数からの距離が前記特定の基準を満たす複数の第4の近傍の訓練データを特定し、前記第4の近傍の訓練データに含まれる前記ラベルが前記第4の値である前記訓練データのうち前記ラベルが前記第1の値であるデータとの境界に存在する数とを基に、
前記特定の確率を決定する処理を前記コンピュータに実行させることを特徴とする請求項1に記載の訓練データ生成プログラム。
【請求項5】
前記複数の訓練データのうち前記第1の訓練データからの距離が特定の基準を満たす複数の近傍の訓練データを特定し、前記第1の複数の訓練データのそれぞれに対する各前記近傍の訓練データの距離を基に重みを決定し、
前記第3の訓練データの生成は、前記前記第1の訓練データ、前記第2の訓練データ、及び、前記重みを用いて実行することを特徴とする請求項1に記載の訓練データ生成プログラム。
【請求項6】
情報処理装置が、
複数の訓練データのうち、ラベルが第1の値かつ第1の属性が第2の値である第1の複数の訓練データと、前記ラベルが前記第1の値かつ前記第1の属性が第3の値である第2の複数の訓練データと、前記ラベルが第4の値かつ前記第1の属性が前記第2の値である第3の複数の訓練データとを特定し、
特定の確率に基づいて、前記第2の複数の訓練データと前記第3の複数の訓練データとのうちいずれかから、第1の訓練データを選択し、
前記第1の複数の訓練データの第2の訓練データと前記第1の訓練データとに基づいて、前記ラベルが前記第1の値かつ前記第1の属性が前記第2の値である第3の訓練データを生成する、
処理を実行することを特徴とする訓練データ生成方法。
【請求項7】
複数の訓練データのうち、ラベルが第1の値かつ第1の属性が第2の値である第1の複数の訓練データと、前記ラベルが前記第1の値かつ前記第1の属性が第3の値である第2の複数の訓練データと、前記ラベルが第4の値かつ前記第1の属性が前記第2の値である第3の複数の訓練データとを特定し、
特定の確率に基づいて、前記第2の複数の訓練データと前記第3の複数の訓練データとのうちいずれかから、第1の訓練データを選択し、
前記第1の複数の訓練データの第2の訓練データと前記第1の訓練データとに基づいて、前記ラベルが前記第1の値かつ前記第1の属性が前記第2の値である第3の訓練データを生成する、処理を実行する制御部
を備えたことを特徴とする情報処理装置。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、訓練データ生成プログラム、訓練データ生成方法及び情報処理装置に関する。
【背景技術】
【0002】
機械学習(ML:Machine Learning)モデルは、大学入試の合否判定や銀行の与信判定など多くの意思決定プロセスでよく用いられる。機械学習モデルの目的は、典型的には、訓練データに含まれる特徴とクラスとの関係を学習し、訓練済の機械学習モデルを用いてクラスが未決定であるテストデータの特徴に基づいてそのテストデータのクラスを予測することである。訓練データは、実際に観測されたデータとして観測データとも呼ばれる。テストデータは、未観測データとも呼ばれる。また、クラスは、例えば、大学入試の合否や与信の可否などである。この場合、学習は、各訓練データに含まれる特徴を近似してクラス毎に分類する作業と考えることも可能である。各データが分類されるクラスは、各データに対するラベルと呼ばれることもある。
【0003】
ところで、取得可能な訓練データは、しばしば特定のクラスや特定のグループに偏りが生じることがある。グループとは、例えば、性別や人種などといった各訓練データの属性に応じたまとまりである。偏りが存在する訓練データを用いて機械学習モデルの訓練を行った場合、その機械学習モデルはデータ数が少ないクラスあるいはグループに適切にフィットしないことが知られている。結果として、偏りが存在する訓練データを用いて訓練された機械学習モデルによる予測の結果は、特定のクラスあるいはグループに偏り、予測精度が悪化するだけでなく、グループ間の不公平性を招く危険がある。
【0004】
このような問題のうち、特定のクラスへの訓観データの偏りに関しては広く研究されており、訓練データが多いクラスであるマジョリティクラスに対し少ないクラスであるマイノリティクラスを機械学習モデルが上手く学習できず精度が悪化する問題として知られる。一方、特定のグループへの訓練データの偏りに関しては、十分な研究がなされていない。仮にクラス間の不均衡がない場合でも、グループ間で不均衡があると、機械学習モデルは少ないグループを適切に学習することが難しい。すなわち、マジョリティグループに関しては正確に学習するが、マイノリティグループに対しては正確な学習が困難となる。そのため、機械学習モデルの精度がグループ間で偏ってしまい、公平性が悪化する。
【0005】
近年では、機械学習の社会実装においてその精度のみならず公平性は益々重要視されている。そのため、機械学習モデルの精度を悪化させる要因である訓練データのクラス間の不均衡のみならず、公平性の要因であるグループ間の不均衡も重大な懸念である。このようなことから、グループ間の不均衡を修正し、予測精度と公平性のトレードオフを改善する技術が求められる。
【0006】
このような訓練データの偏りによる予測精度の悪化やグループ間の不公平性の発生といった問題に対して、データ数を均等化することで対処する技術が存在する。中でも、データの水増しを目的とするオーバーサンプリング技術が広く用いられている。例えば、特定のクラスへの訓練データの偏りに対しては、マイノリティクラスの合成データを生成することで精度の改善を試みるデータのオーバーサンプリング技術の研究が盛んである。特に、近年では、精度と公平性の両方の改善を試みる公平オーバーサンプリング技術が、重要視されている。
【0007】
オーバーサンプリングの技術として、例えば、Fair Synthetic Minority Oversampling Technique(FSMOTE)と呼ばれる技術が提案されている。ここで、訓練データのうち、それぞれのクラスとそれぞれのグループとの組み合わせに対応する訓練データの集合をクラスタと呼ぶ。FSMOTEは、全てのクラス及び全てのグループに対して、クラスタの大きさ、すなわちクラスタに含まれる訓練データの数を等しくする手法である。FSMOTEでは、クラスタの大きさを等しくするために、各クラスタに対してSMOTEを用いて合成データが生成される。具体的には、クラスタのサイズが均衡するまで、各クラスタ内で訓練データのペアの内挿を取ることで新たな訓練データが追加される。
【先行技術文献】
【非特許文献】
【0008】
【非特許文献1】Joymallya Chakraborty, Suvodeep Majumder, Tim Menzies “Bias in Machine Learning Software: Why? How? What to do?” The 29th ACM Joint European Software Engineering Conference and Symposium on the Foundations of Software Engineering (ESEC/FSE), Athens, Greece, August 23-28, 2021
【発明の概要】
【発明が解決しようとする課題】
【0009】
しかしながら、従来のオーバーサンプリング技術は、各クラス及び各グループで分割したデータの数が等しくなるようクラスタ毎に、そのクラスタに含まれる訓練データを用いて合成データを生成する。このように単一クラスタからデータを生成するため、従来のオーバーサンプリング技術は、データの多様性を損ない、機械学習モデルの汎化性能を悪化させる可能性がある。
【0010】
例えば、FSMOTEを用いた場合も同種クラスタ内で内挿によりオーバーサンプリングを行うため、特定のクラスでオーバーフィット(過学習)を引き起こす訓練データが生成されるおそれがある。オーバーフィットとは、訓練データにはフィットするが、テストデータを含む他のデータに対してフィットしない状態である。この場合、機械学習モデルは訓練データへのオーバーフィットにより、予測性能が悪化するおそれがある。そのたため、従来のオーバーサンプリング技術では、予測精度と公平性のトレードオフを改善させることは困難である。
【0011】
開示の技術は、上記に鑑みてなされたものであって、オーバーフィットを引き起こす可能性を低減した訓練データ生成プログラム、訓練データ生成方法及び情報処理装置を提供することを目的とする。
【課題を解決するための手段】
【0012】
本願の開示する訓練データ生成プログラム、訓練データ生成方法及び情報処理装置の一つの態様において、複数の訓練データのうち、ラベルが第1の値かつ第1の属性が第2の値である第1の複数の訓練データと、ラベルが第1の値かつ第1の属性が第3の値である第2の複数の訓練データと、ラベルが第4の値かつ第1の属性が第2の値である第3の複数の訓練データとを特定し、特定の確率に基づいて、第2の複数の訓練データと第3の複数の訓練データとのうちいずれかから、第1の訓練データを選択し、第1の複数の訓練データの第2の訓練データと第1の訓練データとに基づいて、ラベルが第1の値かつ第1の属性が第2の値である第3の訓練データを生成する処理をコンピュータに実行させる。
【発明の効果】
【0013】
1つの側面では、本発明は、オーバーフィットを引き起こす可能性を低減することができる。
【図面の簡単な説明】
【0014】
図1図1は、実施例に係る情報処理装置のブロック図である。
図2図2は、実施例に係る情報処理装置による機械学習処理の概要を示す図である。
図3図3は、ペア選択部によるクラス間内挿又はグループ間内挿の選択を説明するための図である。
図4図4は、実施例1に係る制御部による訓練データの補間処理の一例を示す図である。
図5図5は、実施例に係る情報処理装置による機械学習処理のフローチャートである。
図6図6は、実施例1に係るペアとなるクラスタ選択処理のフローチャートである。
図7図7は、ペアとなるクラスタにおけるデータ選択処理のフローチャートである。
図8図8は、実施例に係る機械学習モデルによる予測精度と公平性のトレードオフの改善を示す図である。
図9図9は、実施例2に係るペアとなるクラスタ選択処理のフローチャートである。
図10図10は、情報処理装置のハードウェア構成図である。
【発明を実施するための形態】
【0015】
以下に、本願の開示する訓練データ生成プログラム、訓練データ生成方法及び情報処理装置の実施例を図面に基づいて詳細に説明する。なお、以下の実施例により本願の開示する訓練データ生成プログラム、訓練データ生成方法及び情報処理装置が限定されるものではない。
【実施例0016】
図1は、実施例に係る情報処理装置のブロック図である。本実施例に係る情報処理装置1は、機械学習モデル11を利用する利用者が操作する端末装置2に接続される。
【0017】
図2は、実施例に係る情報処理装置による機械学習処理の概要を示す図である。図2を参照して、実施例に係る情報処理装置1が実行する機械学習処理の概要について説明する。
【0018】
情報処理装置1は、端末装置2から機械学習に用いるデータ20を取得する。次に、情報処理装置1は、データ20を入力訓練データ120及びテストデータ121に分ける。そして、情報処理装置1は、入力訓練データ120をクラスタリングして、各クラスタに属する入力訓練データ120の相互の位置関係を基に各クラスタのサイズが均等となるように内挿によるオーバーサンプリングを行う(ステップS01)。ここで、クラスタのサイズとは、例えば、クラスタに含まれるデータ数である。
【0019】
そして、情報処理装置1は、オーバーサンプリングで生成した合成データを入力訓練データ120に加えた訓練データ122を用いてオーバーフィットを抑えた機械学習モデル11の訓練を行う。その後、情報処理装置1は、訓練後の機械学習モデル11にテストデータ121を用いて得られる出力を基に、訓練後の機械学習モデル11を評価する(ステップS02)。
【0020】
次に、図1を参照して、情報処理装置1の機能の詳細について説明する。情報処理装置1は、図1に示すように、制御部10、機械学習モデル11及び入出力制御部12を有する。
【0021】
機械学習モデル11は、所定のグループに属する対象の情報の入力を受けて、その入力された対象が分類されるクラスを出力するモデルである。対象が分類されるクラスは、その対象に対するラベルとも呼ばれる。すなわち、機械学習モデル11は、入力された対象のラベルを予測するともいえる。また、グループは、対象が有する特徴の1つであり、属性とも呼ばれる。
【0022】
入出力制御部12は、端末装置2との間の通信を中継する。入出力制御部12は、端末装置2から機械学習モデル11の訓練及び評価に用いるデータ20の入力を受ける。そして、入出力制御部12は、取得したデータ20を入力訓練データ120のデータ群及びテストデータ121のデータ群に分割する。そして、入出力制御部12は、入力訓練データ120のデータ群を情報処理装置1に保持させる。また、入出力制御部12は、テストデータ121のデータ群を予測部108へ出力する。
【0023】
制御部10による合成データの生成及び機械学習モデル11の訓練、並びに、訓練済みの機械学習モデル11の評価の完了後、入出力制御部12は、評価結果の入力を制御部10から受ける。そして、入出力制御部12は、評価結果を端末装置2へ送信する。
【0024】
制御部10は、データ20の分割、図2のステップS1のオーバーサンプリング、入力訓練データ120及び合成データを用いた機械学習モデル11の訓練、並びに、図2のステップS2の機械学習モデル11の評価を実行する。以下に、制御部10の詳細について説明する。制御部10は、クラスタ生成部101、判定部102、クラスタ選択部103、ペア選択部104、訓練実行部105、第2サンプル選択部106、第1サンプル選択部107、予測部108、合成データ生成部109及び重み計算部110を有する。
【0025】
クラスタ生成部101は、情報処理装置1が保持する入力訓練データ120を取得する。ここで、それぞれの入力訓練データ120は、各々が属するクラス(ラベル)を表す教師データを有する。以下では、入力訓練データ120をD={X,Y,S i=1と表す。Xは、各入力訓練データ120の特徴を示す。また、Yは、各入力訓練データ120のクラスを表す。また、Sは、各入力訓練データ120が属するグループである。グループは、特徴の1つであると考えることもできる。ここでは、クラスY∈{-1,+1}とし、グループS∈{a.b}とする。例えば、大学の合否であれば、クラスY=-1が不合格を表し、クラスY=+1が合格を表す。また、属性を性別とした場合、グループaが男性を表し、グループbが女性を表す。
【0026】
クラスタ生成部101は、データDである入力訓練データ120のうちクラスyであり、グループsに属するデータの集合として、クラスタCy,sを生成する。すなわち、クラスタ生成部101は、クラスタCy,s={i|Y=y,S=s}として入力訓練データ120をクラスタリングしてクラスタを生成する。以下の説明では、単にクラスyに属するデータDの集合を、C={i|Y=y}と表す場合がある。例えば、属するクラスYが-1であるデータDの集合はC-1と表され、属するクラスYが-1であり且つグループSがaであるデータDの集合はC-1,aと表される。
【0027】
そして、クラスタ生成部101は、生成したクラスタの情報ととともに、各クラスタに属する入力訓練データ120の情報を判定部102へ出力する。
【0028】
判定部102は、クラスタ生成部101により生成されたクラスタの情報ととともに、各クラスタに属する入力訓練データ120の情報の入力をクラスタ生成部101から受ける。次に、判定部102は、最もサイズの大きいクラスタ、すなわち、最も属する入力訓練データ120の数が多いクラスタを特定する。
【0029】
判定部102は、クラスタ間にサイズの不均衡か存在するか否かを判定するための不均衡閾値を予め保持する。そして、判定部102は、クラスタCy,xのサイズを|Cy,x|と表すと、以下の数式(1)及び(2)を用いて、最もサイズの大きいクラスタのサイズであるM及び最もサイズの小さいクラスタのサイズであるmを算出する。
【0030】
【数1】
【数2】
【0031】
次に、判定部102は、mをMで除算してmとMとの比を算出する。そして、判定部102は、求めた比が不均衡閾値以上か否かを判定する。すなわち、不均衡閾値をBと表した場合、判定部102は、m/M≧Bか否かを判定する。求めた比が不均衡閾値以上(m/M≧B)であれば、判定部102は、クラスタのサイズの均衡が保たれている、すなわち、入力訓練データ120にクラスの偏り及びグループの偏りが存在しないと判定する。そして、判定部102は、入力訓練データ120を訓練データとして訓練実行部105へ出力する。
【0032】
これに対して、求めた比が不均衡閾値未満(m/M<B)であれば、判定部102は、クラスタ間にサイズの不均衡が存在する、すなわち、入力訓練データ120にクラスの偏り又はグループのいずれかもしくは両方の偏りが存在すると判定する。そして、判定部102は、各クラスタの情報及び各クラスタに属する入力訓練データ120をクラスタ選択部103へ出力する。また、判定部102は、最もサイズの大きいクラスタの情報及びそのクラスタのサイズの情報をクラスタ選択部103へ出力する。
【0033】
その後、判定部102は、クラスタ間のサイズの不均衡是正の通知を、各クラスタにおいて補間された合成データの情報の入力とともにクラスタ選択部103から受ける。そして、判定部102は、入力訓練データ120のデータ群に補間された全ての合成データを加えて訓練データ122として、訓練実行部105へ出力する。
【0034】
クラスタ選択部103は、各クラスタの情報及び各クラスタに属する入力訓練データ120の入力を判定部102から受ける。また、クラスタ選択部103は、最もサイズの大きいクラスタの情報及びそのクラスタのサイズの情報の入力を判定部102から受ける。また、クラスタ選択部103も、判定部102が保持するものと同じ不均衡閾値を有する。
【0035】
次に、クラスタ選択部103は、最もサイズの大きいクラスタ以外のクラスタの中から1つクラスタを選択する。そして、クラスタ選択部103は、選択したクラスタのサイズと最もサイズの大きいクラスタのサイズとの比が、不均衡閾値以上か否かを判定する。選択したクラスタのサイズと最もサイズの大きいクラスタのサイズとの比が不均衡閾値以上の場合、クラスタ選択部103は、選択したクラスタにおいて訓練データの補間は不要と判定する。
【0036】
これに対して、選択したクラスタのサイズと最もサイズの大きいクラスタのサイズとの比が不均衡閾値未満の場合、クラスタ選択部103は、選択したクラスタにおける訓練データの補間を決定する。その後、クラスタ選択部103は、次のクラスタを選択して同様の判定を行う。クラスタ選択部103は、最もサイズの大きいクラスタ以外の全てのクラスタについて、訓練データの補間を行うか否かを判定する。
【0037】
その後、クラスタ選択部103は、各クラスタの情報及び各クラスタに属する入力訓練データ120をペア選択部104へ出力する。また、クラスタ選択部103は、訓練データの補間を行うと決定したクラスタから1つのクラスタを補間処理対象のクラスタとして選択する。そして、クラスタ選択部103は、選択した補間処理対象のクラスタの情報をペア選択部104へ出力する。
【0038】
その後、クラスタ選択部103は、補間処理対象のクラスタについての補間処理完了の通知を合成データ生成部109から受ける。そして、クラスタ選択部103は、訓練データの補間を行うと決定したクラスタのうち未選択のクラスタの中から補間処理対象のクラスタとして1つ選択して、補間処理対象のクラスタの情報をペア選択部104へ出力する。訓練データの補間を行うと決定したクラスタの全てのクラスタについての補間処理が完了すると、クラスタ選択部103は、クラスタ間のサイズの不均衡是正の通知を、各クラスタにおいて補間された合成データの情報とともに判定部102へ出力する。
【0039】
ペア選択部104は、各クラスタの情報及び各クラスタに属する入力訓練データ120の入力をクラスタ選択部103から受ける。また、ペア選択部104は、補間処理対象のクラスタの情報の入力をクラスタ選択部103から受ける。そして、ペア選択部104は、補間処理対象のクラスタについて、以下に説明する合成データを生成するためのペアとなるクラスタを選択する選択処理を実行する。
【0040】
ペア選択部104は、ペアとなるクラスタとして、補間処理対象のクラスタと異クラス同グループのクラスタを用いるか、同クラス異グループのクラスタを用いるかを判定する。具体的には、ペア選択部104は、補間処理対象のクラスタに属する点について、次の数式(3)で定義される平均近傍密度を算出する。
【0041】
【数3】
【0042】
また、ペア選択部104は、補間処理対象のクラスタに属する点以外の同グループ異クラスの点について、次の数式(4)で定義される平均近傍密度を算出する。
【0043】
【数4】
【0044】
数式(3)及び(4)におけるΔ(Y)は、クラスタCy,sに属する点tのK近傍のうち同じクラスのデータ数を表す。そして、Δ(Y)/Kは、点tにおける近傍密度である。
【0045】
すなわち、近傍密度とは、クラス分類におけるデータを分類する難しさを表現する情報である。点tの近傍密度が高ければ、点tの周囲には異なるクラスを持つ点が多いといえる。近傍密度が高い点tが多いクラスタの場合、そのクラスタに属する点をいずれのクラスに分類すればよいかの判断が難しいといえる。逆に、点tの近傍密度が低ければ、点tの周囲には同じクラスを持つ点が多いといえる。近傍密度が低い点tが多いクラスタの場合、そのクラスタに属する点をどちらのクラスに分類すればよいかの判断は容易といえる。
【0046】
K近傍が「特定の基準」の一例にあたる。また、点tにあたるデータDのK近傍のデータが、データDの「訓練データからの距離が特定の基準を満たす近傍の訓練データ」の一例にあたる。
【0047】
数式(3)で表されるρは、各点tのK近傍の内の同じクラスのデータ数の割合である近傍密度の平均である平均近傍密度にあたる。すなわち、ρが大きければ、Cy,sのデータDのうち多くのデータDにおいて、その近傍に存在するデータDは同じクラスに属する可能性が高く、近傍が同じクラスに支配されていると考えられる。ここで、点tのK近傍とは、点tに近いK個の点である。Kは、例えば、2個や5個などとすることができる。
【0048】
また、数式(4)で示されるρは、クラスタCy,s以外の同グループ異クラスの点tのK近傍の内の異なるクラスのデータ数の割合の平均である。すなわち、ρが大きければ、クラスタCy,s以外の同じグループの異なるクラスに属するデータDのうち多くのデータDにおいて、その近傍に存在するデータDは同じグループに属する可能性が高く、近傍が同じグループに支配されていると考えられる。
【0049】
そこで、ペア選択部104は、ρ及びρを用いて、近傍密度にしたがった補正を行うためのパラメータpを次の数式(5)により算出する。
【0050】
【数5】
【0051】
そして、ペア選択部104は、パラメータpを確率としてベルヌーイ分布にしたがい今回の補間の試行が条件に合致するか(True)、条件に合致しないか(True以外)を判定する。試行が条件に合致した場合、ペア選択部104は、補間処理対象のクラスタにおける訓練データの補間に用いるペアとするクラスタを異クラス同グループのクラスタから選択すると決定する。逆に、試行が条件に合致しない場合、ペア選択部104は、補間処理対象のクラスタおける訓練データの補間に用いるペアとするクラスタを同クラス異グループのクラスタから選択すると決定する。
【0052】
本実施例では内挿を用いて訓練データの補間を行うことから、以下では、異クラス同グループのクラスタを用いた訓練データの補間をクラス間内挿と呼ぶ。また、同クラス異グループのクラスタを用いた訓練データの補間をグループ間内挿と呼ぶ。すなわち、ペア選択部104は、近傍密度に応じたクラス間内挿を行うための確率を表すパラメータpを用いて、クラス間内挿を行うか、グループ間内挿を行うかを決定する。以下では、パラメータpを、「クラス間内挿確率」と呼ぶ場合がある。
【0053】
このように、ペア選択部104は、クラス間内挿確率を用いることで、同じグループでクラスが異なるクラスタにおいて、どちらがより近傍密度が低いかを考慮する。そして、より近傍密度が低いクラスタはより分類が難しいクラスタと言い換えることができるため、ペア選択部104は、より近傍密度が低いクラスタについて近傍密度を効果的に高めるようなクラス間内挿を実施する回数を多くする。逆により近傍密度が高いクラスタについては、ペア選択部104は、グループ間内挿を実施する回数を多くする。
【0054】
図3は、ペア選択部によるクラス間内挿又はグループ間内挿の選択を説明するための図である。図3では、白抜きの丸が、クラスYが+1でグループSがbの点を表す。また、塗りつぶされた丸が、クラスYが+1でグループSがaの点を表す。また白抜きのバツが、クラスYが-1でグループSがbの点を表す。また、塗りつぶされたバツが、クラスYが-1でグループSがaの点を表す。
【0055】
ここでは、点iのK近傍として、K=3の場合を考える。また、白抜きの丸が属するクラスタの訓練データの補間の場合を例に説明する。例えば、点201であれば、K近傍の3点のうち、2点が同じクラスであり、1点が異なるクラスである。よって、ペア選択部104は、点201の近傍密度を2/3と算出する。
【0056】
このように、各点の近傍密度を計算してその平均近傍密度を求めると、ペア選択部104は、白抜きの丸が属するクラスタの平均近傍密度を、1/4(3/3+3/3+2/3+2/3)=10/12と算出する。同様に、ペア選択部104は、白抜きの丸が属するクラスタに対する同グループ異クラスの点である白抜きのバツの平均近傍密度を1/5(3/3+3/3+3/3+3/3+1/3)=13/15と算出する。よって、白抜きの丸をオーバーサンプリングする場合、ペア選択部104は、クラス間内挿確率であるp=10/12/(10/12+13/15)=0.49の確率のベルヌーイ分布にしたがいクラス間内挿を実施すると決定する。
【0057】
ここで、補間処理対象のクラスタに属するデータが、「ラベルが第1の値かつ第1の属性が第2の値である第1の複数の訓練データ」の一例にあたる。そして、クラス間内挿を行う場合のペアとなるクラスタのデータが、「ラベルが第1の値かつ第1の属性が第3の値である第2の複数の訓練データ」にあたる。また、クラス間内挿を行う場合のペアとなるクラスタのデータが、「ラベルが第4の値かつ第1の属性が第2の値である第3の複数の訓練データ」にあたる。また、クラス間内挿確率が「特定の確率」の一例にあたる。
【0058】
すなわち、ペア選択部104は、複数の訓練データのうち第2の訓練データからの距離が特定の基準を満たす複数の近傍の訓練データを特定し、複数の近傍の訓練データのうちラベルが前記第1の値である訓練データの数に基づいて特定の確率を決定する。さらに詳しくは、ペア選択部104は、複数の訓練データのうち第1の複数の訓練データからの距離が特定の基準を満たす複数の第1の近傍の訓練データを特定し、複数の第1の近傍の訓練データのうちラベルが前記第1の値である訓練データの数と、複数の訓練データのうち第2の複数の訓練データからの距離が特定の基準を満たす複数の第2の近傍の訓練データを特定し、複数の第2の近傍の訓練データのうちラベルが前記第1の値である訓練データの数とを基に特定の確率を決定する。この際、複数の第2の近傍の訓練データには、先の複数の近傍の訓練データが含まれる。
【0059】
その後、ペア選択部104は、補間処理対象のクラスタの情報を第1サンプル選択部107に通知する。また、ペア選択部104は、補間処理対象のクラスタに対してクラス間内挿又はグループ間内挿のいずれを実行するかの情報を第2サンプル選択部106に通知する。
【0060】
その後、ペア選択部104は、合成データ生成部109により生成された補間処理対象のクラスタの訓練データを補間する合成データを合成データ生成部109から取得する。そして、ペア選択部104は、新たに追加された合成データを補間処理対象のクラスタのデータに加えて、ペアとなるクラスタの選択を繰り返す。
【0061】
ここで、本実施例では、ペア選択部104は、補間処理対象のクラスタの近傍密度と、補間処理対象のクラスタに対する異クラス同グループの点の近傍密度とを用いてクラス間内挿確率を算出したが、予め決められた設定値であるクラス間内挿確率を用いてもよい。
【0062】
第1サンプル選択部107は、補間処理対象のクラスタの情報の入力をペア選択部104から受ける。そして、第1サンプル選択部107は、補間処理対象のクラスタであるクラスタCy,sに属するデータD=(X,Y,S)を1つ選択する。以下では、選択したデータD=(X,Y,S)を点iと呼ぶ。そして、第1サンプル選択部107は、選択した点iの情報を合成データ生成部109へ出力する。この第1サンプル選択部107により選択されたデータDが、「第2の訓練データ」にあたる。
【0063】
第2サンプル選択部106は、補間処理対象のクラスタに対してクラス間内挿又はグループ間内挿のいずれを実行するかの情報の入力をペア選択部104から受ける。そして、第2サンプル選択部106は、クラス間内挿を実行する場合、補間処理対象のクラスタと異クラス同グループのクラスタに属するデータD=(X,Y,S)を1つ選択する。
【0064】
この際、第2サンプル選択部106は、分類が困難であると考えられる点、すなわち他の同じクラスに属する点が近傍に少ない点の分類の精度を向上させるため、次の数式(6)で算出される各点jに対する確率Qにしたがって点jを選択する。
【0065】
【数6】
【0066】
ここで、Δ(Y)は、点jのK近傍のうちの同じクラスのデータ数である。そして、数式(5)の右辺の第2項は、点jを選択するクラスタにおける全ての点のK近傍のうちの同じクラスの点の総数に対する点jのK近傍のうちの同じクラスの点の割合、すなわち、全体に対する点jの同じクラスの数の割合を表す。すなわち、Qが高いほどクラス間境界付近に位置することになり、第2サンプル選択部106は、Qにしたがって点jを選択することで、クラス間境界付近に位置する点jを選択する確率を高くする。以下では、Qを「クラス間内挿点選択用確率」と呼ぶ場合がある。
【0067】
また、グループ間内挿を実行する場合、第2サンプル選択部106は、補間処理対象のクラスタと同クラス異グループのデータDの集合のクラスタに属するデータD=(X,Y,S)を1つ選択する。以下では、選択したデータD=(X,Y,S)を点jと呼ぶ。
【0068】
この際、第2サンプル選択部106は、分類が困難であると考えられる点、すなわち他の同じクラスに属する点が近傍に少ない点の分類の精度を向上させるため、次の数式(7)で算出される各点jに対する確率Qにしたがって点jを選択する。Qが高いほどクラス間境界付近に位置することになり、第2サンプル選択部106は、Qにしたがって点jを選択することで、クラス間境界付近に位置する点jを選択する確率を高くする。以下では、Qを「グループ間内挿点選択用確率」と呼ぶ場合がある。
【0069】
【数7】
【0070】
ただし、ペア候補となるグループが2つ以上存在する場合、第2サンプル選択部106は、サンプルが特定グループに偏らないようにするため、各グループから逆数サンプルを行ってもよい。その場合、第2サンプル選択部106は、例えば、次の数式(8)で算出されるグループ間内挿点選択確率にしたがって点jを選択する。
【0071】
【数8】
【0072】
ここで、γは、ハイパーパラメータである。第2サンプル選択部106は、γ=0のとき一様サンプルを行う。γ>0の場合、第2サンプル選択部106は、ペア候補のグループのうちマイノリティグループから点jを取得する。また、γ<0の場合、第2サンプル選択部106は、マジョリティグループから点jを取得する。
【0073】
すなわち、第2サンプル選択部106は、クラス間内挿確率に基づくクラス間内挿を行うか否かの決定にしたがって内挿に用いるデータを選択する。この処理が、「特定の確率に基づいて、第2の複数の訓練データと第3の複数の訓練データとのうちいずれかから、第1の訓練データを選択」する処理の一例にあたる。すなわち、第2サンプル選択部106により選択されたデータDが、「第1の訓練データ」にあたる。
【0074】
重み計算部110は、内挿で用いる重みを計算する。ここで、点iと点jとの内挿を取る場合に、点iと点jとの間の全範囲において一様分布でランダムに合成データを生成した場合、不自然な合成データが生成される。そこで、自然な合成データを生成するために、重み計算部110は、点iに対する近傍の点の距離を考慮して合成データを生成するための重みを求める。
【0075】
具体的には、重み計算部110は、次の数式(9)で表される点iの近傍距離関数dを用いて重み決定に用いる値を算出する。
【0076】
【数9】
【0077】
数式(9)の右辺の最後の項は、点iと点iのK近傍との距離の平均を表す。また、Δ(Y)/Kは、近傍密度である。そして、重み計算部110は、算出した値と0との間の一様分布にしたがってランダムに数値を決定して内挿で用いる重みとする。
【0078】
このように、重み計算部110は、点iと点iの所定数の近傍点との距離の平均を用いることで、点iと近傍点との距離を考慮した内挿を可能とする。また、重み計算部110は、近傍密度を用いることで、クラス間のオーバーラップを回避させる。その後、重み計算部110は、決定した内挿で用いる重みを合成データ生成部109へ出力する。
【0079】
ここで、本実施例では、重み計算部110は、補間処理対象のクラスタに属する点のK近傍との距離を基に内挿で用いる重みを算出したが、これに限らず、予め決められた設定値である重みを用いてもよい。
【0080】
合成データ生成部109は、点iの情報を第1サンプル選択部107から取得する。また、合成データ生成部109は、点jの情報を第2サンプル選択部106から取得する。さらに、合成データ生成部109は、内挿で用いる重みの情報を重み計算部110から取得する。
【0081】
そして、合成データ生成部109は、点iと点jとの内挿の点を取得した重みにしたがって選択して合成データを生成する。すなわち、合成データ生成部109は、合成データとしてデータD’=(X’,Y’,S’)を生成する。ここで、内挿で用いる重みをwとすると、X’=X+w(X-X)である。また、Y’=Yであり、S’=Sである。
【0082】
合成データ生成部109は、補間処理対象のクラスタに対して生成した合成データの総数をカウントする。そして、補間処理対象のクラスタの入力訓練データ120の数に生成した合成データの総数を加えたデータ総数を算出する。ここで、合成データ生成部109も、判定部102が保持するものと同じ不均衡閾値を有する。
【0083】
次に、合成データ生成部109は、算出したデータ総数と最もサイズの大きいクラスタのサイズとの比が、不均衡閾値以上か否かを判定する。算出したデータ総数と最もサイズの大きいクラスタのサイズとの比が不均衡閾値未満の場合、合成データ生成部109は、生成した合成データの情報をペア選択部104へ出力する。これに対して、算出したデータ総数と最もサイズの大きいクラスタのサイズMとの比が不均衡閾値以上の場合、合成データ生成部109は、補間処理対象のクラスタについての補間処理完了をクラスタ選択部103に通知する。
【0084】
図4は、実施例1に係る制御部による訓練データの補間処理の一例を示す図である。次に、図4を参照して、実施例1に係る制御部10による訓練データの補間処理の一例について説明する。図4におけるグラフ220及び221は、いずれも縦軸でクラスを表し、横軸でグループを表す。
【0085】
図4のグラフ220は、訓練データの補間処理実行前の入力訓練データ120を示したグラフである。グラフ221は、訓練データの補間処理実行後の訓練データ122を示したグラフである。グラフ220及び221のいずれも、縦軸でクラスを表し、横軸でグループを表す。
【0086】
図4では、クラスYが+1でありグループSがbであるクラスタ211が補間処理対象のクラスタである。そして、クラスタ211に対する同クラス異グループのクラスタがクラスタ213である。
【0087】
ペア選択部104は、クラスタ211に属する入力訓練データ120の近傍密度及びクラスタ212に属する入力訓練データ120の近傍密度からクラス間内挿確率を算出する。そして、ペア選択部104は、算出したクラス間内挿確率にしたがって、内挿を実施するペアとなるクラスタを選択する。グラフ220で示すように、クラスタ211の近傍密度は、クラスタ212の近傍密度より低いため、ペア選択部104は、クラスタ211についてクラス間内挿を実施する回数を多くして、内挿を実行する。
【0088】
これにより、合成データ生成部109は、クラスタ211についてクラスタ212との間でより多くの合成データを生成する。このように合成データを増やすことで、クラスタ211、グラフ221のクラスタ214となり、オーバーフィットを回避しつつ自然な傾向を有する適切なデータの補間が行なえ、且つ、精度と公平性のトレードオフを改善することができる。
【0089】
図1に戻って説明を続ける。訓練実行部105は、クラスタ間にサイズの不均衡が存在する場合、入力訓練データ120のデータ群に合成データを加えた訓練データ122を判定部102から取得する。また、クラスタ間でのサイズの均衡が保持されている場合、訓練実行部105は、入力訓練データ120のデータ群を訓練データ122として判定部102から取得する。
【0090】
そして、訓練実行部105は、取得した訓練データ122を機械学習モデル11に入力する。そして、訓練実行部105は、機械学習モデル11からの出力データと訓練データ122のそれぞれのクラスとを比較して、比較結果を基にハイパーパラメータを更新して機械学習モデル11の訓練を実行する。
【0091】
予測部108は、テストデータ121の入力を入出力制御部12から受ける。次に、予測部108は、テストデータ121を訓練済みの機械学習モデル11に入力する。その後、予測部108は、テストデータ121の教師データと機械学習モデル11からの出力データとを比較して、訓練済みの機械学習モデル11の予測精度の評価を行なう。そして、予測部108は、入出力制御部12を介して評価結果を端末装置2へ送信する。
【0092】
また、予測部108は、クラスが不明の予測対象データの入力を端末装置2から受ける。そして、予測部108は、予測対象データを訓練済みの機械学習モデル11へ入力して、予測結果である出力を得る。その後、予測部108は、入出力制御部12を介して予測対象データに対する予測結果を端末装置2へ送信する。
【0093】
図5は、実施例に係る情報処理装置による機械学習処理のフローチャートである。次に、図5を参照して、実施例に係る情報処理装置1による機械学習処理の流れを説明する。
【0094】
入出力制御部12は、データ20の入力を端末装置2から取得する。そして、入出力制御部12は、データ20を入力訓練データ120及びテストデータ121に分割する(ステップS1)。
【0095】
クラスタ生成部101は、入力訓練データ120をクラス及びグループに基づいてクラスタリングしてクラス及びグループの組合せ毎にクラスタに分割する(ステップS2)。
【0096】
判定部102は、クラスタ生成部101により生成されたクラスタのうち、最大のサイズのクラスタのサイズ及び最小のサイズのクラスタのサイズ、すなわち、クラスタの最大サイズ及び最小サイズを特定する(ステップS3)。
【0097】
次に、判定部102は、クラスタの最小サイズと大サイズとの比を求めて予め決められた不均衡閾値未満か否かを判定する。すなわち、最小サイズとmとし、最大サイズをMとし、不均衡閾値をBとすると、判定部102は、m/M<Bか否かを判定する(ステップS4)。クラスタの最小サイズと大サイズとの比を求めて予め決められた不均衡閾値以上の場合(ステップS4:否定)、判定部102は、クラスタ間のサイズの均衡が保持されていると判定して、ステップS13へ進む。
【0098】
これに対して、クラスタの最小サイズと大サイズとの比を求めて予め決められた不均衡閾値未満の場合(ステップS4:肯定)、判定部102は、クラスタ間のサイズの不均衡であると判定し、各クラスタの情報をクラスタ選択部103へ出力する。クラスタ選択部103は、各クラスタのサイズを求め、クラスタの最大サイズとの比を算出して、算出した比が不均衡閾値未満となるクラスタを補間対象の候補のクラスタとして抽出する。そして、クラスタ選択部103は、補間対象の候補のクラスタのうち未選択のクラスタの中から補間処理対象のクラスタを1つ選択する(ステップS5)。
【0099】
ペア選択部104は、クラスタ選択部103により選択された補間処理対象のクラスタについて、内挿を実施して合成データを生成するためのペアとなるクラスタ選択処理を実行して、ペアとなるクラスタを選択する(ステップS6)。
【0100】
第1サンプル選択部107は、補間処理対象のクラスタに属するデータを1つ選択する(ステップS7)。ここで、第1サンプル選択部107により選択された補間処理対象のクラスタのデータを点iと呼ぶ。
【0101】
第2サンプル選択部106は、ペアとなるクラスタにおけるデータ選択処理を実行して、ペアとなるクラスタに属するデータを1つ選択する(ステップS8)。ここで、第2サンプル選択部106により選択されたペアとなるクラスタのデータを点jと呼ぶ。
【0102】
次に、重み計算部110は、補間処理対象のクラスタの各点のK近傍との距離の平均及び近傍密度を求めて、近傍距離関数dに代入して重みの決定に用いる値を算出する。そして、重み計算部110は、算出した値と0との間の一様分布にしたがってランダムに数値を決定することで内挿に用いる重みを算出する(ステップS9)。
【0103】
合成データ生成部109は、重み計算部110で算出された重みを用いて点iと点jとの間で内挿を取り、合成データを生成する(ステップS10)。
【0104】
その後、合成データ生成部109は、生成した合成データを加えた補間処理対象のクラスタのサイズとクラスタの最大サイズとの比が不均衡閾値以上か否かを判定する。すなわち、生成した合成データを加えた補間処理対象のクラスタのサイズを|Cy,s|とすると、合成データ生成部109は、|Cy,s|/M≧Bか否かを判定する(ステップS11)。補間処理対象のクラスタのサイズとクラスタの最大サイズとの比が不均衡閾値未満の場合(ステップS11:否定)、機械学習処理は、ステップS6へ戻る。
【0105】
これに対して、補間処理対象のクラスタのサイズとクラスタの最大サイズとの比が不均衡閾値以上の場合(ステップS11:肯定)、合成データ生成部109は、補間処理対象のクラスタの訓練データ122の補間処理の終了をクラスタ選択部103に通知する。そして、クラスタ選択部103は、補間対象の候補となるクラスタの全てについて補間処理が完了したか否かを判定する(ステップS12)。補間対象の候補となるクラスタの中に補間処理が未完了のクラスタが残っている場合(ステップS12:否定)、機械学習処理は、ステップS5へ戻る。
【0106】
これに対して、補間対象の候補となるクラスタの全てについて補間処理が完了した場合(ステップS12:肯定)、クラスタ選択部103は、補間対象の候補となるクラスタのそれぞれについて生成された合成データを判定部102へ出力する。そして、判定部102は、クラスタ間のサイズが不均衡と判定して合成データの入力を受けた場合、入力訓練データ120に合成データを加えて訓練データ122を生成する。また、判定部102は、クラスタ間のサイズが均衡と保っていると判定した場合、入力訓練データ120を訓練データ122として訓練データ122を生成する(ステップS13)。
【0107】
訓練実行部105は、判定部102から取得した訓練データ122を用いて機械学習モデル11の訓練を実行する(ステップS14)。
【0108】
訓練完了後、予測部108は、テストデータ121を用いて訓練済みの機械学習モデル11の予測精度の評価を行なう。その後、予測部108は、評価結果を端末装置2へ送信して利用者に通知する(ステップS15)。
【0109】
図6は、実施例1に係るペアとなるクラスタ選択処理のフローチャートである。図6のフローチャートで示される処理は、図5におけるステップS6において実行される処理の一例にあたる。次に、図6を参照して、実施例1に係るペアとなるクラスタ選択処理の流れを説明する。
【0110】
ペア選択部104は、補間処理対象のクラスタの各点の近傍密度を算出して、数式(3)を用いて補間処理対象のクラスタの平均近傍密度を算出する(ステップS101)。
【0111】
ペア選択部104は、補間処理対象のクラスタ以外の同じグループの各点の近傍密度を算出して、数式(4)を用いて補間処理対象のクラスタ以外の同じグループの平均近傍密度を算出する(ステップS102)。
【0112】
そして、ペア選択部104は、補間処理対象のクラスタの平均近傍密度及び補間処理対象のクラスタ以外の同じグループの平均近傍密度を用いて、数式(5)からクラス間内挿確率を算出する(ステップS103)。
【0113】
その後、ペア選択部104は、クラス間内挿確率にしたがってクラス間内挿を実行するかグループ間内挿を実行するかを決定し、決定にしたがってペアとなるクラスタを選択する(ステップS104)。
【0114】
図7は、ペアとなるクラスタにおけるデータ選択処理のフローチャートである。図7のフローチャートで示される処理は、図5におけるステップS8において実行される処理の一例にあたる。次に、図7を参照して、ペアとなるクラスタにおけるデータ選択処理の流れを説明する。
【0115】
第1サンプル選択部107は、ペア選択部104によりクラス間内挿の実施が決定されたか否かを判定する(ステップS201)。
【0116】
クラス間内挿を実施する場合(ステップS201:肯定)、第2サンプル選択部106は、ペアとなるクラスタの各点のK近傍のうちの同じクラスのデータ数を求めて、数式(6)を用いて各点に対するクラス間内挿点選択用確率を算出する(ステップS202)。
【0117】
その後、第2サンプル選択部106は、各点のクラス間内挿点選択用確率にしたがって、ペアとなるクラスタに属するデータを1つ選択する(ステップS203)。この第2サンプル選択部106により選択された点が、点jである。
【0118】
これに対して、グループ間内挿を実施する場合(ステップS201:否定)、第2サンプル選択部106は、補間処理対象のクラスタ以外の同グループのクラスタの各点のK近傍のうちの同じクラスのデータ数を求める。そして、第2サンプル選択部106は、数式(7)や(8)を用いて各点に対するグループ間内挿点選択用確率を算出する(ステップS204)。
【0119】
その後、第2サンプル選択部106は、各点のグループ間内挿点選択用確率にしたがって、ペアとなるクラスタに属するデータを1つ選択する(ステップS205)。この第2サンプル選択部106により選択された点が、点jである。
【0120】
以上に説明したように、本実施例に係る情報処理装置は、近傍に異なるクラスのデータが存在する割合を表す近傍密度を用いて、クラス間内挿を行うか、グループ間内挿を行うかを決定して内挿を行う際にペアとなるクラスタを決定する。具体的には、情報処理装置は、近傍密度が低いほどよりクラス間内挿を行う確率を高くする。また、情報処理装置は、ペアとなるクラスタから内挿を行うための点の選択においてクラス間境界近傍のデータを選択する確率を高くして、点の選択を行う。さらに、情報処理装置は、補間処理対象のクラスタから選択した点に対する近傍点の距離を考慮して内挿のための重みを決定する。そして、情報処理装置は、補間処理対象のクラスタから選択した点とペアとなるクラスタから選択したテントの間で、重みにしたがって内挿を取り合成データを生成する。そして、情報処理装置は、この合成データの生成を繰り返してオーバーサンプリングを行い、クラスタ間のサイズの不均衡を解消する。
【0121】
近傍密度を用いてクラス間内挿を行うか否かを決定することで、分類が難しいクラスタについては予測精度を高めるための内挿を優先し、分類が容易なクラスタについては公平性を高める内挿を優先することができる。また、ペアとなるクラスタにおいてクラス間境界近傍のデータを選択する確率を高くすることで、より予測精度を高めることが可能となる。さらに、補間処理対象のクラスタの点の近傍点との距離を考慮した重みを用いて内挿を取ることで、近傍との距離スケールを考慮した内挿が可能となり、データの分布に応じた自然な合成データを生成することができる。したがって、データの分布に応じた適切なオーバーサンプリングを実現しつつ、予測精度と公平性のトレードオフを改善し且つ予測精度の向上及び公平性の確保を実現することができる。
【0122】
なお、オーバーフィットなどの問題への対処として、訓練データのペアに対する外挿を考慮したオーバーサンプリングも考えられる。しかし、以下の理由から外挿に基づくデータ生成は困難であるといえる。1つには、外挿は、訓練データの傾向がそのペアの延長線上に継続すると仮定して行われるが、この過程は一般的には成立しない場合が多く、不自然な傾向に基づく合成データが生成されるおそれがある。さらには、不自然な傾向に基づく合成データは、機械学習モデルに効果的に寄与するデータではない可能性も高い。このように、未観測の範囲を外挿によって適切に考慮することは難しい。そのため、外挿を用いて、予測精度と公平性のトレードオフを改善させることは困難である。
【0123】
図8は、実施例に係る機械学習モデルによる予測精度と公平性のトレードオフの改善を示す図である。図8の縦軸は予測精度を表し、横軸は公平性を表す。図8の矢印300は、予測精度と公平性の良いトレードオフを表す。矢印300に近いほど、予測精度と公平性のトレードオフが適切に行えているといえる。
【0124】
近傍密度によるクラス間内挿実施の判定、ペアとなるクラスタにおけるクラス間境界近傍からのデータの取得、及び、重みを考慮した内挿などを行わない従来のオーバーサンプリングを実行した場合、予測精度は高くなるが公平性が確保困難である。例えば、従来のオーバーサンプリングを行い訓練した機械学習モデル11を用いた場合、その予測の評価結果は点301のように矢印300から離れた位置に存在する。
【0125】
これに対して、本実施例に係る情報処理装置を用いた場合、予測の評価結果は点302の位置に存在する。すなわち、点302は、従来のオーバーサンプリングによる機械学習処理に比べて、公平性を向上させることができることが分かる。そして、点302は、点301に比べて矢印300に近づいており、トレードオフが改善したといえる。
【実施例0126】
次に、実施例2について説明する。本実施例に係る情報処理装置1も図1のブロック図で表される。本実施例に係る情報処理装置1は、クラス間内挿を実施するかグループ間内挿を実施するかの判定のための戦略が実施例1と異なる。以下の説明では、実施例1と同様の各部の動作については説明を省略する。
【0127】
本実施例に係るペア選択部104は、補間処理対象のクラスタについて、以下に説明する合成データを生成するためのペアとなるクラスタの選択処理を実行する。ペア選択部104は、実施例1と同様に、ペアとなるクラスタとして、補間処理対象のクラスタと異クラス同グループのクラスタを用いるか、同クラス異グループのクラスタを用いるかを判定する。具体的には、ペア選択部104は、補間処理対象のクラスタに属する点について、次の数式(10)で定義されるクラス間境界点数を算出する。
【0128】
【数10】
【0129】
Δ(Y)は、クラスタCy,sに属する点tのK近傍のうち同じクラスのデータ数を表す。そして、II[0<Δ(Y)≦K/2]は、クラスタCy,sに属する点tのK近傍のうちクラス間境界に存在する点を表す。すなわち、ρy,sは、クラスタCy,sに属する点tのK近傍のうちクラス間境界点の数を表す。このクラス間境界点の数が、「前記複数の訓練データのうち前記第1の複数の訓練データからの距離が特定の基準を満たす複数の第1の近傍の訓練データを特定し、前記第1の近傍の訓練データに含まれる前記ラベルが前記第1の値である前記訓練データのうち前記ラベルが前記第4の値であるデータとの境界に存在する数」の一例にあたる。
【0130】
同様に、ペア選択部104は、補間処理対象のクラスタに含まれる点以外の異クラス同グループの点について、クラス間境界点の数を算出する。このクラス間境界点の数が、「前記複数の訓練データのうち前記第3の複数の訓練データからの距離が前記特定の基準を満たす複数の第2の近傍の訓練データを特定し、前記第2の近傍の訓練データに含まれる前記ラベルが前記第4の値である前記訓練データのうち前記ラベルが前記第1の値であるデータとの境界に存在する数」の一例にあたる。
【0131】
さらに、ペア選択部104は、異なるグループについても同様にクラス間境界点数を算出する。すなわち、ペア選択部104は、補間処理対象のクラスタに対する同クラス異グループのクラスタに属する点について、クラス間境界点の数を算出する。このクラス間境界点の数が、「前記複数の訓練データのうち前記第2の複数の訓練データからの距離が前記特定の基準を満たす複数の第3の近傍の訓練データを特定し、前記第3の近傍の訓練データに含まれる前記ラベルが前記第1の値である前記訓練データのうち前記ラベルが前記第4の値であるデータとの境界に存在する数」の一例にあたる。以下では、補間処理対象のクラスタに対する同クラス異グループのクラスタを、比較対象のクラスタと呼ぶ。
【0132】
また、ペア選択部104は、比較対象のクラスタに対する異クラス同グループの点について、クラス間境界点の数を算出する。このクラス間境界点の数が、「ラ前記複数の訓練データのうち前記第4の値かつ前記第1の属性が前記第3の値である第4の複数からの距離が前記特定の基準を満たす複数の第4の近傍の訓練データを特定し、前記第4の近傍の訓練データに含まれる前記ラベルが前記第4の値である前記訓練データのうち前記ラベルが前記第1の値であるデータとの境界に存在する数」の一例にあたる。
【0133】
そして、ペア選択部104は、次に数式(11)を用いて近傍格差を算出する。
【0134】
【数11】
【0135】
数式(11)の第1項は、補間処理対象のクラスタのクラス間境界点数と補間処理対象のクラスタの異クラス同グループのクラス間境界点数との比である。また、数式(11)の第2項は、比較対象のクラスタに対する同クラス異グループのクラスタのクラス間境界点数と比較対象のクラスタの異クラス同グループのクラス間境界点数との比である。
【0136】
ここで、本実施例に係るペア選択部104が実施するペアとなるクラスタの選択についての戦略も、基本的には実施例1のペアとなるクラスタの選択についての戦略と同様である。すなわち、ペア選択部104より近傍密度が低いクラスタは近傍密度を効果的に高めるようなクラス間内挿を実施し、より近傍密度が高いクラスタはグループ間内挿を実施する。ただし、本実施例に係るペア選択部104は、全てのクラスタの近傍密度を考慮する戦略を取る。すなわち、ペア選択部104は、同じグループの異なるクラスを持つクラスタにおいて、どちらがより近傍密度が低いかを近傍密度の比によって考慮する。次に、ペア選択部104は、その比を他のグループのクラスタに対しても計算する。最後に、ペア選択部104は、それらの比の差を計算することで、近傍格差を計算する。
【0137】
近傍格差は、補間処理対象のクラスタのそのグループにおける近傍密度の割合が、他のグループにおける同クラスのクラスタの近傍密度の割合に比べて比較的低いか高いかを表す値である。すなわち、近傍格差が高ければ他のグループに比べて近傍密度の割合が比較的低いといえ、逆に近傍格差が低ければ他のグループに比べて近傍密度の割合が比較的高いといえる。ペア選択部104は、この近傍格差を小さくするようにクラス間内挿の確率を調整する。
【0138】
そこで、ペア選択部104は、近傍格差を用いて、次の数式(12)を用いて、クラス間内挿確率を表すパラメータpを算出する。
【0139】
【数12】
【0140】
数式(12)の分子は、近傍格差から求められるグループ間の近傍格差を是正するために用いるサンプル数の割合である。そして、数式(12)は、近傍格差から求められるグループ間の近傍格差を是正するために用いるサンプル数の割合を、クラスタをオーバーサンプリングする数で除算した値である。
【0141】
そして、ペア選択部104は、パラメータpを確率としてベルヌーイ分布にしたがい今回の補間の試行が条件に合致するか(True)、条件に合致しないか(True以外)を判定する。試行が条件に合致した場合、ペア選択部104は、クラス間内挿を実施すると決定する。逆に、試行が条件に合致しない場合、ペア選択部104は、グループ間内挿を実施すると決定する。これにより、ペア選択部104は、各グループにおいて、近傍密度が低い方のクラスタについてはクラス間内挿を多く実施し、近傍密度が高い方のクラスタについてはグループ間内挿を多く実施する。
【0142】
図9は、実施例2に係るペアとなるクラスタ選択処理のフローチャートである。図9のフローチャートで示される処理は、図5におけるステップS6において実行される処理の一例にあたる。次に、図9を参照して、本実施例に係るペアとなるクラスタ選択処理の流れを説明する。
【0143】
ペア選択部104は、数式(10)を用いて補間処理対象のクラスタのクラス間境界点の数を算出する(ステップS301)。
【0144】
同様に、ペア選択部104は、補間処理対象のクラスタに対する異クラス同グループの点のクラス間境界点の数を算出する(ステップS302)。
【0145】
同様に、ペア選択部104は、補間処理対象のクラスタに対する同クラス異グループのクラスタである比較対象のクラスタのクラス間境界点の数を算出する(ステップS303)。
【0146】
同様に、ペア選択部104は、比較対象のクラスタに対する異クラス同グループの点のクラス間境界点の数を算出する(ステップS304)。
【0147】
次に、ペア選択部104は、数式(11)を用いて近傍格差を算出する(ステップS305)。
【0148】
そして、ペア選択部104は、近傍格差を用いて、数式(12)からクラス間内挿確率を算出する(ステップS306)。
【0149】
その後、ペア選択部104は、クラス間内挿確率にしたがってクラス間内挿を実行するかグループ間内挿を実行するかを決定し、決定にしたがってペアとなるクラスタを選択する(ステップS307)。
【0150】
以上に説明したように、本実施例に係る情報処理装置は、特定のグループのクラスタに限定せず、全てのクラスタの近傍密度を考慮して、クラス間内挿を行うか否かを判定する。これにより、情報処理装置は、訓練データ全体に対しての補間処理対象のクラスタのデータ分布の状態を考慮して合成データを生成することができ、予測精度と公平性のトレードオフをより改善することが可能となる。
【0151】
(ハードウェア構成)
図10は、情報処理装置のハードウェア構成図である。図1に示した情報処理装置1は、例えば、図10に示すように、CPU(Central Processing Unit)91、メモリ92、ハードディスク93及びネットワークインタフェース94を有する。CPU91は、バスを介して、メモリ92、ハードディスク93及びネットワークインタフェース94に接続される。
【0152】
ネットワークインタフェース94は、情報処理装置1と外部装置との通信のためのインタフェースである。ネットワークインタフェース94は、例えば、CPU91と端末装置2との間の通信を中継する。
【0153】
ハードディスク93は、補助記憶装置である。ハードディスク93は、図1に例示した、入力訓練データ120及び機械学習モデル11を格納することができる。また、ハードディスク93は、例えば、図1に例示した、制御部10及び入出力制御部12の機能を実現するプログラムを含む各種プログラムを格納する。
【0154】
メモリ92は、主記憶装置である。メモリ92は、例えば、DRAM(Dynamic Random Access Memory)を用いることができる。
【0155】
CPU91は、ハードディスク93から各種プログラムを読み出してメモリ92に展開して実行する。これにより、CPU91は、図1に例示した、制御部10及び入出力制御部12の機能を実現することができる。
【符号の説明】
【0156】
1 情報処理装置
2 端末装置
10 制御部
11 機械学習モデル
12 入出力制御部
101 クラスタ生成部
102 判定部
103 クラスタ選択部
104 ペア選択部
105 訓練実行部
106 第2サンプル選択部
107 第1サンプル選択部
108 予測部
109 合成データ生成部
110 重み計算部
120 入力訓練データ
121 テストデータ
122 訓練データ
図1
図2
図3
図4
図5
図6
図7
図8
図9
図10