JP7067234B2 - データ判別プログラム、データ判別装置およびデータ判別方法 - Google Patents

データ判別プログラム、データ判別装置およびデータ判別方法 Download PDF

Info

Publication number
JP7067234B2
JP7067234B2 JP2018081744A JP2018081744A JP7067234B2 JP 7067234 B2 JP7067234 B2 JP 7067234B2 JP 2018081744 A JP2018081744 A JP 2018081744A JP 2018081744 A JP2018081744 A JP 2018081744A JP 7067234 B2 JP7067234 B2 JP 7067234B2
Authority
JP
Japan
Prior art keywords
data
class
certainty
test data
labels
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
JP2018081744A
Other languages
English (en)
Other versions
JP2019191769A (ja
Inventor
由起子 関
知善 竹林
宏章 吉田
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Fujitsu Ltd
Original Assignee
Fujitsu Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Fujitsu Ltd filed Critical Fujitsu Ltd
Priority to JP2018081744A priority Critical patent/JP7067234B2/ja
Publication of JP2019191769A publication Critical patent/JP2019191769A/ja
Application granted granted Critical
Publication of JP7067234B2 publication Critical patent/JP7067234B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Description

本発明は、データ判別プログラムなどに関する。
機械学習の手法として、半教師あり学習(SSL:Semi-Supervised Learning)が知られている。半教師あり学習とは、特徴量空間上でのラベルありおよびラベルなしのデータ点の分布や類似性を利用して、ラベルなしのデータ点に擬似正解クラスを付与するものである。半教師あり学習の手法の中でも、グラフ構造に基づく半教師あり学習(Graph-Based Semi-Supervised Learning)の手法がよく知られている(例えば、非特許文献1を参照)。グラフ構造に基づく半教師あり学習の手法は、データ点間の類似度に基づいて構成されるグラフ構造上で、ラベルありのデータ点からラベルなしのデータ点にラベル情報を伝播させ、ラベルなしのデータ点に擬似正解クラスを付与する。
ところが、ラベルありのデータ点について、ラベル(クラス)間の出現頻度に大きな偏りがある場合には、グラフ構造に基づく半教師あり学習は、ラベルなしのデータ点に、出現頻度が高頻度のラベルを擬似正解クラスとして付与してしまう。すなわち、ラベルなしのデータ点に、出現頻度が高頻度のラベルばかりを付与してしまうことがある。
そこで、ラベルありのデータ点について、ラベル(クラス)間の出現頻度に大きな偏りがある場合、半教師あり学習に適用するデータ点をクラスの出現頻度に基づいて減らしたり、増やしたりするアプローチがある(例えば、非特許文献2を参照)。かかるアプローチでは、低頻度のクラスのデータを合成して増やしたり(オーバーサンプリング)、低頻度のクラスのデータを削減したりして(アンダーサンプリング)、各クラスの頻度のバランスを取ってから半教師あり学習を実行する。
特開2010-238043号公報 特開2011-65579号公報 国際公開第2015/194052号
X. Zhu, Z. Ghahramani, and J. Lafferty: "Semi-supervised learningusing Gaussian fields and harmonic functions". ICML, 2003. N. V. Chawa: "Data Mining for Imbalanced Datasets: An Overview". In: Maimon, Oded, Rokach, Lior (eds.) Data Mining and Knowledge Discovery Handbook, 2nd ed, pp. 975-912, Springer, 2010.
しかしながら、半教師あり学習を実行する際に、ラベルありのデータ点について、クラス間の出現頻度に大きな偏りがある場合、ラベルなしのデータ点のクラスを精度良く判別することができないという問題がある。
例えば、データ点をクラスの出現頻度に基づいて増減するアプローチでは、データを合成して増やす場合、正しくないラベルが加えられてしまう可能性がある。また、データを削減する場合、クラス分類にとって重要なラベルが削られてしまう可能性がある。また、どのクラスをどのくらいの割合で増減させればよいかのバランスの調整が難しい。したがって、半教師あり学習を実行する際に、ラベルありのデータ点について、クラス間の出現頻度に大きな偏りがある場合に、ラベルなしのデータ点のクラスを精度良く判別することができない。
本発明は、1つの側面では、複数のクラスの分布に偏りがある場合でも、半教師あり学習を利用した適切なクラスの判別を可能とすることを目的とする。
1つの態様では、データ判別プログラムは、コンピュータに、正解ラベルと対応付けられたテストデータから複数の部分テストデータを生成し、前記複数の部分テストデータのうち、一部の部分テストデータおよび当該一部の部分テストデータに対応した正解ラベルと、前記一部の部分テストデータ以外の前記部分テストデータとを用いて、学習モデルに対する半教師あり学習を実行し、前記一部の部分テストデータ以外の前記部分テストデータの各データに対し、前記学習モデルの判別結果である複数のラベルそれぞれの確信度の組と、当該データに対応付けられた正解ラベルと、を対応付けた対応情報を生成し、正解のラベルの対応付けが存在しない複数の検証対象データそれぞれについて、前記学習モデルを用いて、前記複数のラベルそれぞれの確信度を生成し、前記複数の検証対象データそれぞれについて、当該検証対象データの前記複数のラベルそれぞれの確信度の組と類似する類似データを、前記対応情報から特定し、前記類似データの正解ラベルを前記検証対象データのラベルとして出力する、処理を実行させる。
1実施態様によれば、複数のクラスの分布に偏りがある場合でも、半教師あり学習を利用した適切なクラスの判別が可能となる。
図1は、実施例に係るデータ判別装置の構成を示す機能ブロック図である。 図2は、実施例に係るデータ判別に到った着目点について説明する図である。 図3は、計測データ群の特徴量化の一例を示す図である。 図4は、ラベルありデータ群の一例を示す図である。 図5は、実施例に係る第1のSSL実行の一例を示す図である。 図6は、実施例に係る第2のSSL実行の一例を示す図である。 図7Aは、実施例に係るクラス推定の一例を示す図(1)である。 図7Bは、実施例に係るクラス推定の別例を示す図(2)である。 図7Cは、実施例に係るクラス推定の別例を示す図(3)である。 図8Aは、実施例に係る適用結果の一例を示す図(1)である。 図8Bは、実施例に係る適用結果の一例を示す図(2)である。 図9は、実施例に係る適用結果(分布)の一例を示す図である。 図10は、実施例に係るデータ判別処理のフローチャートの一例を示す図である。 図11は、実施例に係るクラス推定処理のフローチャートの一例を示す図である。 図12Aは、実施例に係るデータ判別の別の適用例を示す図(1)である。 図12Bは、実施例に係るデータ判別の別の適用例を示す図(2)である。 図13は、データ判別プログラムを実行するコンピュータの一例を示す図である。 図14は、クラス間の出現頻度に大きな偏りがある場合のSSLの適用結果(分布)の参考例を示す図である。 図15は、クラス間の出現頻度に大きな偏りがある場合のSSL実行の参考例を示す図である。 図16は、クラス間の出現頻度に大きな偏りがある場合のSSLの適用結果の参考例を示す図である。
以下に、本願の開示するデータ判別プログラム、データ判別装置およびデータ判別方法の実施例を図面に基づいて詳細に説明する。なお、本発明は、実施例により限定されるものではない。
まず、クラス間の出現頻度に大きな偏りがある場合の、グラフ構造に基づく半教師あり学習(SSL)の適用結果について、図14~図16を参照して説明する。なお、実施例では、暑熱環境での作業者の各種計測データからN段階の熱ストレスのレベル(ラベル)を推定する場合を説明する。実施例では、Nは4であるとするが、これに限定されるものではない。
[グラフ構造に基づくSSLの適用結果の参考例]
図14は、ラベル間の出現頻度に大きな偏りがある場合のSSLの適用結果(分布)の参考例を示す図である。図14左図に示すように、特徴量空間上においてラベルなしデータ(NA)が13,602点存在するとする。特徴量空間上においてラベルありデータが、クラス1、2、3、4について、それぞれ2,116点、72点、253点、75点存在するとする。ラベルありデータは、ラベルなしデータより少ない。ラベルありデータには、クラス間の出現頻度に大きな偏りがある。すなわち、クラス1の出現頻度は、0.8410を示し、他のクラス2、3、4と比較して高頻度である。
図14中図に示すように、特徴量空間上には、ラベルありのデータ点と、ラベルなしのデータ点の分布が表わされている。
このようなラベルありのデータ点およびラベルなしのデータ点について、データ判別装置は、グラフ構造に基づくSSLを実行する。すると、図14右図に示すように、データ判別装置は、ラベルなしのデータ点に、出現頻度が最も高いクラス1を擬似正解クラスとして付与してしまう。これは、ラベルありのデータ点のクラス1が非常に高頻度であるため、ラベルなしのデータ点に対して近辺に存在するラベルありのデータ点と同種のラベルを付けていくと、クラス1ばかりになってしまうからである。
さらに、具体的に説明する。図15は、クラス間の出現頻度に大きな偏りがある場合のSSL実行の参考例を示す図である。図15左図には、ラベルありのデータ点およびラベルなしのデータ点が表わされている。ラベルありのデータ点には、作業者ID(Identifier)および日付時刻が省略されている。また、ラベルなしのデータ点には、作業者IDが省略されている。ラベルなしのデータ点は、ラベルありのデータ点より非常に多い。
図15右図に示すように、データ判別装置は、図15左図で表わされたラベルありのデータ点およびラベルなしのデータ点に対して、グラフ構造に基づくSSLを実行し、各ラベルなしのデータ点に対して、各クラスの確信度を算出する。一例として、「8/26 10:00」のラベルなしのデータ点では、擬似正解クラスが「クラス1」となる確信度が「0.861118」と算出される。擬似正解クラスが「クラス2」となる確信度が「0.022338」と算出される。擬似正解クラスが「クラス3」となる確信度が「0.091225」と算出される。擬似正解クラスが「クラス4」となる確信度が「0.025319」と算出される。
図16は、クラス間の出現頻度に大きな偏りがある場合のSSLの適用結果の参考例を示す図である。図16左図に示すように、各ラベルなしのデータ点に対して、SSLにより算出されたクラス別の確信度が表わされている。表の各行が各データ点のクラス別の確信度である。
SSLは、各ラベルなしのデータ点に対して、各クラスの確信度の中で値の最も大きいクラスを選択して、推定クラス(擬似正解クラス)とする。図16中図に示すように、一例として、「8/26 9:50」のラベルなしのデータ点では、クラス1~4の各確信度の中で値の最も大きい「クラス1」を推定クラスとする。「8/26 9:55」のラベルなしのデータ点では、クラス1~4の各確信度の中で値の最も大きい「クラス1」を推定クラスとする。同様に、「8/26 11:10」のラベルなしのデータ点では、クラス1~4の各確信度の中で値の最も大きい「クラス1」を推定クラスとする。つまり、クラス1の頻度が非常に高いため、SSLが実行されると、多くのラベルなしのデータ点でクラス1の確信度が最も大きくなり、推定クラスとしてクラス1ばかりが選ばれてしまう。
ここで、各ラベルなしのデータ点の正解クラスが、推定クラスの右横に記載されているクラスであるとする。この場合には、各ラベルなしのデータ点に対する正解クラスおよび推定クラスは、図16右図のグラフにより表わされる。図16右図のグラフは、各ラベルなしのデータ点に対する、各クラスの確信度と、推定クラスおよび正解クラスとを表したものである。各ラベルなしのデータ点に対する推定クラスおよび正解クラスに着目すると、正解クラスが、クラス2~4のデータ点であっても、推定クラスは、クラス1を表わしている。
これにより、グラフ構造に基づくSSLを実行する際に、ラベルありのデータ点について、クラス間の出現頻度に大きな偏りがある場合、ラベルなしのデータ点のクラスを精度良く判別することができない。
そこで、以降では、SSLを実行する際に、ラベルありのデータ点について、クラス間の出現頻度に大きな偏りがある場合でも、ラベルなしのデータ点のクラスを精度良く判別することができるデータ判別装置について説明する。
[実施例に係るデータ判別装置の構成]
図1は、実施例に係るデータ判別装置の構成を示す機能ブロック図である。図1に示すデータ判別装置1は、SSLを実行した際の各ラベルなしデータ点に対し、その得られるクラス別の確信度ベクトルがラベルありデータ点に対してSSLを実行した際に得られるクラス別の確信度ベクトルと最も類似するラベルありデータ点と同じクラスを推定クラスとして付与する。ここでいうクラス別の確信度ベクトルとは、クラス別の各確信度を要素として、この順序で配列してベクトル化したものである。なお、実施例では、SSLによって分類される「レベル」のことを「クラス」または「ラベル」と呼ぶことにする。
ここで、実施例に係るデータ判別に到った着目点について説明する。図2は、実施例に係るデータ判別に到った着目点について説明する図である。図2に示すグラフは、図16右図で示したグラフの中で、ラベルなしのデータ点に対する正解クラスとクラス別確信度の推移を表わしたグラフである。なお、図16右図で示したグラフの例では、ラベルなしのデータ点に対する推定クラスは、全て「ラベル1」であったものである。
図2のグラフに示すように、正解クラスが推定クラス1より高い2~4に上がっている時間区間Bでは、他の時間区間Aと比べてクラス1の確信度が低くなり、クラス2~4の確信度が高くなっている。これは、クラス1で推移する区間Aと、クラスが変動する区間Bとで観測対象の状態が異なるためと考えられる。例えば、区間Aは、観測対象である作業者の体調に問題のない区間、区間Bは、同じ対象者の体調に問題が生じている区間、等と考えられる。したがって、SSLで算出されるクラス別確信度と正解クラスとの関係は、最大の確信度のクラスが正解クラスになるというよりは、クラス別確信度がある割合(バランス)になっている場合に所定のクラスになるという性質があると推測される。発明者は、かかる性質に注目して、出現頻度が低いクラスがより的確に推定クラスとして選ばれる仕組みを考えた。
データ判別装置1は、制御部10および記憶部20を有する。
制御部10は、CPU(Central Processing Unit)などの電子回路に対応する。そして、制御部10は、各種の処理手順を規定したプログラムや制御データを格納するための内部メモリを有し、これらによって種々の処理を実行する。制御部10は、特徴量化部11、第1のSSL実行部12、正解クラス付き確信度情報生成部13、第2のSSL実行部14、クラス推定部15および推定結果出力部16を有する。なお、第1のSSL実行部12は、実行部の一例である。正解クラス付き確信度情報生成部13は、第1の生成部の一例である。第2のSSL実行部14は、第2の生成部の一例である。クラス推定部15は、特定部の一例である。推定結果出力部16は、出力部の一例である。
記憶部20は、例えば、RAM、フラッシュメモリ(Flash Memory)などの半導体メモリ素子、または、ハードディスク、光ディスクなどの記憶装置である。記憶部20は、計測データ群21、ラベルありデータ群22、ラベルなしデータ群23、正解クラス付き確信度情報24、ラベルなし確信度情報25および推定クラス付き確信度情報26を有する。
計測データ群21は、各種の計測値のデータ群である。各種の計測値には、運動強度(METs:Metabolic equivalents)、歩数、パルス、温度、湿度等が挙げられる。運動強度、歩数およびパルスは、例えば、対象者のウェアラブルセンサからネットワークを介して取得される。温度は、例えば、対象者が存在する暑熱環境の温度計からネットワークを介して取得される。湿度は、例えば、対象者が存在する暑熱環境の湿度計からネットワークを介して取得される。1つの計測データには、作業者IDおよび日付時刻に対応付けて各種の計測値が設定される。
ラベルありデータ群22は、計測データ群21から特徴量化されたデータ群であって正解クラス(ラベル)があるラベルありのデータ群である。計測データ群21からの特徴量化は、同一の作業者ID(IDentification)について、一定間隔で各種計測値がそれぞれ特徴となる値を特徴量とすれば良く、例えば、5分間隔で各種計測値がそれぞれ最大となる値を特徴量としても良い。ラベルありデータ群22それぞれのラベルは、専門家によって付けられる。
ラベルなしデータ群23は、計測データ群21から特徴量化されたデータ群であって正解クラス(ラベル)がないラベルなしのデータ群である。計測データ群21からの特徴量化は、ラベルありデータ群22の場合と同様に行われる。
正解クラス付き確信度情報24は、ラベルありデータ群22を用いてSSLを実行した際に出力されるラベルありデータに対するクラス別確信度を正解クラスと対応付けた情報である。なお、正解クラス付き確信度情報24は、正解クラス付き確信度情報生成部13によって生成される。また、正解クラス付き確信度情報24の詳細は、後述する。
ラベルなし確信度情報25は、ラベルありデータ群22とラベルなしデータ群23とを用いてSSLを実行した際に出力されるラベルなしデータに対するクラス別確信度の情報である。なお、ラベルなし確信度情報25は、第2のSSL実行部14によって生成される。また、ラベルなし確信度情報25は、図15のSSL実行の参考例で示したSSL実行結果と同じとなる。
推定クラス付き確信度情報26は、ラベルなし確信度情報25に含まれる各ラベルなしデータに対するクラス別確信度に推定クラスを対応付けた情報である。なお、推定クラス付き確信度情報26は、クラス推定部15によって生成される。
特徴量化部11は、計測データ群21を特徴量化し、特徴量化されたデータ群を生成する。例えば、特徴量化部11は、計測データ群21に含まれる同じ対象者IDの計測データ群について、一定間隔で各種計測値がそれぞれ特徴となる値を特徴量としたデータ群を生成する。
ここで、計測データ群21の特徴量化の一例を、図3を参照して説明する。図3は、計測データ群の特徴量化の一例を示す図である。図3左図に示すように、各種計測値を日付時刻(datetime)に対応付けた計測データ群21が表わされている。なお、この計測データ群21は、同じ対象者IDのデータ群である。
特徴量化部11は、計測データ群21に含まれる同じ対象者IDの計測データ群について、5分間隔で各種計測値の各最大値を特徴量としたデータ群21´を生成する。特徴量化されたデータ群21´は、ラベルありデータ群22およびラベルなしデータ群23に用いられる。
ここで、ラベルありデータ群22の一例を、図4を参照して説明する。図4は、ラベルありデータ群の一例を示す図である。図4に示すように、ラベルありデータ群22は、日付時刻(datetime)に正解クラスおよび各種特徴量(図示せず)を対応付けた情報である。正解クラスは専門家によって付けられた熱ストレスのレベルである。ここでは、4段階の熱ストレスのレベルをクラスとして付けられている。クラス1は、熱ストレスが最も低いレベルである。レベルの数字が高くなる程、熱ストレスが高くなり、クラス4は、熱ストレスが最も高いレベルである。ラベルありデータに付けられるクラスは、手間がかかるため、ラベルありデータ群22の数は、ラベルなしデータ群23に比べて非常に少ない。
図1に戻って、第1のSSL実行部12は、ラベルありデータ群22を用いて、SSLを実行する。すなわち、第1のSSL実行部12は、正解クラスと対応付けられたラベルありデータ群22から複数の部分データ群を生成し、複数の部分データ群のうち、一部の部分データ群および当該一部の部分データ群に対応した正解クラスと、当該一部の部分データ群以外の部分データ群とを用いて、SSLを実行する。例えば、第1のSSL実行部12は、ラベルありデータ群22を用いて、SSLでk-fold CV(Cross Validation)を実行する。ここでいうk-fold CVとは、ラベルありデータ群22をランダムに各クラスの頻度を保ちながらk個のサンプル(部分データ群)に分割し、1個のサンプルを用いて他のサンプルに含まれるデータのクラス別確信度を推定するというサイクルを、サンプルを代えてk回繰り返すことをいう。すなわち、第1のSSL実行部12は、1個のサンプルをラベルあり、k-1個のサンプルをそのラベルをマスクしたラベルなしとして、ラベルありのサンプルでラベルなしのサンプルに含まれるデータのクラス別確信度を推定するというサイクルをk回繰り返す。この結果、ラベルありデータ群22に含まれる各ラベルありデータについてのクラス別確信度が算出される。なお、各サンプルについて、各クラスの頻度を保つようにするのは、後述する第2のSSL実行部14のSSLも含め、SSLにおけるラベルありデータの分布を共通にするためである。
正解クラス付き確信度情報生成部13は、一部の部分データ群以外の部分データ群の各ラベルありデータに対し、第1のSSL実行部12によって算出された複数のクラスそれぞれの確信度の組と当該ラベルありデータに付けられた既知の正解クラスとを対応付けた正解クラス付き確信度情報24を生成する。例えば、正解クラス付き確信度情報生成部13は、ラベルなしとしたk-1個のサンプルの各ラベルありデータに対し、第1のSSL実行部12によって算出されたクラス別確信度の組と当該ラベルありデータに付けられた既知の正解クラスとを対応付けた正解クラス付き確信度情報24を生成する。正解クラス付き確信度情報生成部13は、生成した正解クラス付き確信度情報24を記憶部20に格納する。
第2のSSL実行部14は、ラベルありデータ群22およびラベルなしデータ群23を用いて、SSLを実行する。例えば、第2のSSL実行部14は、ラベルありデータ群22およびラベルなしデータ群23に対してSSLを実行し、各ラベルなしデータのクラス別確信度を算出する。第2のSSL実行部14は、ラベルなしデータごとにクラス別確信度を対応付けたラベルなし確信度情報25を生成する。そして、第2のSSL実行部14は、生成したラベルなし確信度情報25を記憶部20に格納する。なお、第2のSSL実行部14は、ラベルありデータ群22を全て用いるので、第1のSSL実行部12でサンプルを代えて実行したSSLにおけるラベルありデータの分布と共通した分布で、SSLを実行することができる。
クラス推定部15は、ラベルなし確信度情報25のラベルなしデータそれぞれについて、当該ラベルなしデータの複数のクラスそれぞれの確信度の組と類似する類似データを、正解クラス付き確信度情報24から特定する。クラス推定部15は、ラベルなし確信度情報25のラベルなしデータそれぞれについて、類似データの正解クラスをラベルなしデータのラベルとして推定する。例えば、クラス推定部15は、ラベルなし確信度情報25から、ラベルなしデータに対するクラス別確信度ベクトルを選択する。ここでいう「クラス別確信度ベクトル」とは、クラス別確信度に含まれるクラス1、クラス2、クラス3およびクラス4の各確信度を要素として、この順序で配列してベクトル化したものである。言い換えれば、「クラス別確信度ベクトル」とは、複数のクラスそれぞれの確信度の組のことをいう。クラス推定部15は、選択したクラス別確信度ベクトルと、正解クラス付き確信度情報24内の各ラベルありデータのクラス別確信度ベクトルとの間の各距離を計算し、計算した各距離を比較する。クラス推定部15は、クラス別確信度ベクトル間距離が最も小さいラベルありデータの正解クラスをラベルなしデータの推定クラスとする。クラス推定部15は、ラベルなし確信度情報25のラベルなしデータごとに推定クラスを対応付けた推定クラス付き確信度情報26を生成する。そして、クラス推定部15は、生成した推定クラス付き確信度情報26を記憶部20に格納する。
クラスがn個ある場合のクラス別確信度ベクトル間距離は、以下のように求めれば良い。ラベルなしデータ点vのクラス別確信度ベクトルがv(p1,...,pn)であり、ラベルありデータ点wのクラス別確信度ベクトルがw(q1,...,qn)であるとする。すると、クラス推定部15は、クラス別確信度ベクトル間距離d(p,q)を以下の式(1)に基づいて算出する。
d(p,q)=|p(v)-q(w)|=sqrt((p1-q1)+・・・+(pn-qn))・・・式(1)
なお、クラス推定部15は、ラベルなしデータとのクラス別確信度ベクトル間距離が最も小さいラベルありデータの正解クラスを、ラベルなしデータの推定クラスとすると説明した。しかしながら、クラス推定部15は、これに限定されず、ラベルなしデータとのクラス別確信度ベクトル間距離が小さい上位k個のラベルありデータの正解クラスの中で最頻出のクラスを、ラベルなしデータの推定クラスとしても良い。かかる推定は、例えば、k-nearest neighbor法を利用すれば良い。
ここで、クラス推定部15は、ラベルなしデータとのクラス別確信度ベクトル間距離が最も小さいラベルありデータの正解クラスを、ラベルなしデータの推定クラスとする。すなわち、クラス推定部15は、ラベルなしデータについて、クラス別確信度ベクトルを用いて、正解クラス付き確信度情報24から類似する正解クラス付きのデータを特定し、特定したデータの正解クラスを推定クラスとして選択する。かかるクラス推定の原理について以下に説明する。グラフ構造に基づくSSLの仕組みは、特徴量空間上でデータ点が近いものどうしを繋げていくことによってグラフ構造を形成し、そのグラフ構造上でクラスが既知のデータ点からクラスが未知のデータ点へと自己のグラフ情報を伝播させていくというものである。すなわち、グラフ構造に基づくSSLの仕組みは、各データ点に対して、その周辺のデータ点群から各クラスの情報がどのくらい多く伝播されてくるかを反映したものをクラス別確信度として付与する。例えば、4通りのクラスが存在する場合、各データ点xについて、p(x)=(p1,p2,p3,p4)のようなクラス別確信度ベクトルの情報が付与される。
クラスの出現頻度に大きい偏りがある場合、出現頻度の低いクラスは局所的な分布に従っていると考えられる。局所的とは、例えば、ある特別な条件を満たした場合にだけ出現するようなクラスであり、例えば、リスクレベルのようなドメインでは、通常の状態であると問題なし(クラス1)の状態が続いているが、特定の条件が重なったために状態が悪くなるとクラス2以上の状態に変わる性質をいう。このようなドメインでは、各データ点に対してクラス別確信度のうち最大の確信度のクラスばかりを選んでしまうと、局所的な分布を考慮することができない。
グラフ構造に基づくSSLのクラス別確信度ベクトルは、グラフ構造上のクラス情報の伝播を反映していることから、データ点のクラスの局所的な分布は、クラス別確信度ベクトルp(x)=(p1,p2,p3,p4)の値の出方に反映されると考えらえる。このため、クラスが未知のデータ点は、自己のクラス別確信度ベクトルが類似するデータ点と同じクラスを持つ可能性が高いと考えられる。つまり、ラベルなしデータは、自己のクラス別確信度ベクトルに類似するデータのクラスと同じクラスを推定クラスとして選択される。
なお、類似の現象を取り扱った研究分野として、「クラスバランス変化」(標本選択バイアスや環境の非定常性により、訓練標本とテスト標本のクラスのバランスが変化すること)の考え方が知られている(川久保秀子、ドゥ・プレシマーティヌス・クリストフェル、杉山 将:「分類問題におけるクラスバランス変化への対処法:エネルギー距離を用いたクラス事前確率の推定」IBISML, 2014)。
また、かかるラベル推定の原理について以下のように説明することもできる。第1のSSL実行部12と第2のSSL実行部14のSSLにおけるラベルありデータは共通の分布に従い、第1のSSL実行部12では、全てのラベルありデータを均等に用いてラベルをマスクした各ラベルありデータのクラス別確信度を計算し、第2のSSL実行部14では、全てのラベルありデータとラベルなしデータを用いて、ラベルなしデータについてクラス別確信度を計算する。ラベルなしデータについて計算されたクラス別確信度と、ラベルをマスクした各ラベルありデータについて計算されたクラス別確信度とは、共通の分布のもとで、計算されたものである。したがって、クラス推定部15は、ラベルなしデータについてクラス別確信度のバランスが最も類似するラベルありデータの正解クラスを推定クラスとして選択する。このようにして選択された推定クラスは、ラベルなしデータが仮にラベルありデータであった場合の正解クラスと一致する可能性が高い。
推定結果出力部16は、ラベルなしデータの推定クラスを出力する。例えば、推定結果出力部16は、推定クラス付き確信度情報26を参照して、ラベルなしデータの推定クラスを推定結果として出力する。
ここで、実施例に係るデータ判別の一例を、図5~図9を参照して説明する。
[第1のSSL実行の一例]
まず、実施例に係る第1のSSL実行の一例を、図5を参照して説明する。図5は、実施例に係る第1のSSL実行の一例を示す図である。
符号F0に示すように、ラベルありデータ群22に含まれる各ラベルありデータは、クラス間の出現頻度に大きな偏りがある。ここでは、クラス1の頻度が2116、クラス2の頻度が72、クラス3の頻度が253、クラス4の頻度が75であり、クラス1の頻度が他のクラスに比べて非常に高い。すなわち、クラス間の出現頻度に大きな偏りがある。
符号F1に示すように、第1のSSL実行部12は、SSLで5-fold CVを実行するために、符号F0で示したラベルありデータを、ランダムに、各クラスの頻度を保ちながら5分割する。ここでは、ラベルありデータが、L0,L1,L2,L3,L4に分割される。L0,L1,L2,L3,L4に分割されたラベルありデータは、各クラスの頻度を保つ。
符号F2に示すように、第1のSSL実行部12は、Lに含まれるラベルありデータをラベルありとし、L以外のUに含まれるラベルありデータをそのラベル(クラス)をマスクしてラベルなしとして、SSLを実行する。ここでは、第1のSSL実行部12は、jが0であるとき、L0に含まれるラベルありデータをラベルありとし、L0以外のU0であるL1,L2,L3,L4に含まれるラベルありデータをそのラベル(クラス)をマスクしてラベルなしとして、SSLを実行する。
符号F3に示すように、第1のSSL実行部12は、Uに含まれる各データ点についてのクラスごとの確信度を算出する。ここでは、U0であるL1,L2,L3,L4に含まれる各データ点についてのクラス別確信度が算出される。そして、第1のSSL実行部12は、Uに含まれる各データ点について既知の正解クラスを紐付ける。ここでは、U0であるL1,L2,L3,L4に含まれる各データ点について既知の正解クラスが紐付けられる。
符号F4に示すように、正解クラス付き確信度情報生成部13は、SSLが実行された判別結果であるUに含まれるデータごとに、クラス別確信度の組とデータの既知の正解クラスとを対応付けて正解クラス付き確信度情報24に追加する。図5に示す正解クラス付き確信度情報24のq1は、ラベル1の確信度であることを示す。同様に、q2,q3,q4は、それぞれラベル2,3,4の確信度であることを示す。
続いて、第1のSSL実行部12は、jを1に変更して、L1に含まれるラベルありデータをラベルありとし、L1以外のU1であるL0,L2,L3,L4に含まれるラベルありデータをそのラベル(クラス)をマスクしてラベルなしとして、SSLを実行する(符号F2の処理)。そして、第1のSSL実行部12は、U1であるL0,L2,L3,L4に含まれる各データ点についてのクラス別確信度を算出し、既知の正解クラスと紐付ける(符号F3の処理)。そして、正解クラス付き確信度情報生成部13は、SSLが実行された判別結果であるU1に含まれるデータごとに、クラス別確信度の組とデータの既知の正解クラスとを対応付けて正解クラス付き確信度情報24に追加する(符号F4の処理)。同様に、第1のSSL実行部12は、および正解クラス付き確信度情報生成部13は、jを2~4に順番に変更して、符号F2の処理、符号F3の処理、符号F4の処理をそれぞれ行う。この結果、正解クラス付き確信度情報S(24)が生成される。
[第2のSSL実行の一例]
次に、実施例に係る第2のSSL実行の一例を、図6を参照して説明する。図6は、実施例に係る第2のSSL実行の一例を示す図である。
第2のSSL実行部14は、ラベルありデータ群22に含まれるラベルありデータと、ラベルなしデータ群23に含まれるラベルなしデータを用いて、SSLを実行する。ここでいうラベルありデータは、第1のSSL実行部12によって用いられたデータと同じである。すなわち、クラス1の頻度が他のクラスに比べて非常に高い、クラス間の出現頻度に大きな偏りがある。また、ここでいうラベルなしデータの数は、ラベルありデータの数よりも非常に多い。
そして、第2のSSL実行部14は、各ラベルなしデータのクラス別確信度を算出し、ラベルなしデータごとのクラス別確信度を表すラベルなし確信度情報25を生成する。図6に示すラベルなし確信度情報25のp1は、クラス1の確信度であることを示す。同様に、p2,p3,p4は、それぞれクラス2,3,4の確信度であることを示す。
[ラベル推定の一例]
次に、実施例に係るクラス推定の一例を、図7A~図7Cを参照して説明する。図7A~図7Cは、実施例に係るクラス推定の一例を示す図である。
クラス推定部15は、ラベルなし確信度情報25のラベルなしデータについて、正解クラス付き確信度情報S(24)とのクラス別確信度ベクトル間距離d(p,q)を算出し、距離が最小のラベルありデータを特定する。クラス推定部15は、特定したラベルありデータの正解クラスを、このラベルなしデータの推定クラスとする。なお、ラベルなし確信度ベクトルは、(p1,p2,p3,p4)である。S内のラベルあり確信度ベクトルは、(q1,q2,q3,q4)である。d(p,q)は、式(1)を用いて算出される。
図7Aに示すように、クラス推定部15は、ラベルなし確信度情報25から、符号a1で示すラベルなしデータに対するクラス別確信度ベクトルを選択する。ここでは、「8/26 10:05」のラベルなしデータに対するクラス別確信度ベクトルとして(0.880676,0.022711,0.075283,0.02133)が選択される。
そして、クラス推定部15は、符号a1で示すラベルなしデータに対するクラス別確信度ベクトルと、正解クラス付き確信度情報S(24)内の各ラベルありデータのクラス別確信度ベクトルとの間の各距離を計算する。ここでは、S内の符号s1で示すラベルありデータのクラス別確信度ベクトルとの間のクラス別確信度ベクトル間距離は、0.0655685と算出される。同様に、次行、・・・、最終行のそれぞれのラベルありデータのクラス別確信度ベクトルとの間のクラス別確信度ベクトル間距離が、図7Aのように算出される。
そして、クラス推定部15は、各距離(クラス別確信度ベクトル間距離)を比較し、距離が最も小さいラベルありデータの正解クラスを、符号a1で示すラベルなしデータの推定クラスとする。ここでは、最も小さい距離は、符号s2で示すラベルありデータのクラス別確信度ベクトルとの間の距離である0.0015547である。そこで、符号s2で示すラベルありデータの正解クラス「1」を、符号a1で示すラベルなしデータの推定クラスとする。
そして、クラス推定部15は、符号a1で示すラベルなしデータのクラス別確信度ベクトルと、推定クラス「1」(符号r1)とを対応付けた情報を推定クラス付き確信度情報26に追加する。
図7Bに示すように、クラス推定部15は、ラベルなし確信度情報25から、符号a2で示すラベルなしデータに対するクラス別確信度ベクトルを選択する。ここでは、「8/26 10:10」のラベルなしデータに対するクラス別確信度ベクトルとして(0.71954,0.052965,0.178919,0.048576)が選択される。
そして、クラス推定部15は、符号a2で示すラベルなしデータに対するクラス別確信度ベクトルと、正解クラス付き確信度情報S(24)内の各ラベルありデータのクラス別確信度ベクトルとの間の各距離を計算する。ここでは、S内の符号s1で示すラベルありデータのクラス別確信度ベクトルとの間のクラス別確信度ベクトル間距離は、0.2614284と算出される。同様に、次行、・・・、最終行のそれぞれのラベルありデータのクラス別確信度ベクトルとの間のクラス別確信度ベクトル間距離が、図7Bのように算出される。
そして、クラス推定部15は、各距離(クラス別確信度ベクトル間距離)を比較し、距離が最も小さいラベルありデータの正解クラスを、符号a2で示すラベルなしデータの推定クラスとする。ここでは、最も小さい距離は、符号s3で示すラベルありデータのクラス別確信度ベクトルとの間の距離である0.0084395である。そこで、符号s3で示すラベルありデータの正解クラス「1」を、符号a2で示すラベルなしデータの推定クラスとする。
そして、クラス推定部15は、符号a2で示すラベルなしデータのクラス別確信度ベクトルと、推定クラス「1」(符号r2)とを対応付けた情報を推定クラス付き確信度情報26に追加する。
図7Cに示すように、クラス推定部15は、ラベルなし確信度情報25から、符号a3で示すラベルなしデータに対するクラス別確信度ベクトルを選択する。ここでは、「8/26 10:15」のラベルなしデータに対するクラス別確信度ベクトルとして(0.704572,0.051781,0.191827,0.05182)が選択される。
そして、クラス推定部15は、符号a3で示すラベルなしデータに対するクラス別確信度ベクトルと、正解クラス付き確信度情報S(24)内の各ラベルありデータのクラス別確信度ベクトルとの間の各距離を計算する。ここでは、S内の符号s1で示すラベルありデータのクラス別確信度ベクトルとの間のクラス別確信度ベクトル間距離は、0.2809013と算出される。同様に、次行、・・・、最終行のそれぞれのラベルありデータのクラス別確信度ベクトルとの間のクラス別確信度ベクトル間距離が、図7Cのように算出される。
そして、クラス推定部15は、各距離(クラス別確信度ベクトル間距離)を比較し、距離が最も小さいラベルありデータの正解クラスを、符号a3で示すラベルなしデータの推定クラスとする。ここでは、最も小さい距離は、符号s4で示すラベルありデータのクラス別確信度ベクトルとの間の距離である0.00839278である。そこで、符号s4で示すラベルありデータの正解クラス「3」を、符号a3で示すラベルなしデータの推定クラスとする。
そして、クラス推定部15は、符号a3で示すラベルなしデータのクラス別確信度ベクトルと、推定クラス「3」(符号r3)とを対応付けた情報を推定クラス付き確信度情報26に追加する。
[適用結果の一例]
次に、実施例に係る適用結果の一例を、図8A,図8Bを参照して説明する。図8A,図8Bは、実施例に係る適用結果の一例を示す図である。
図8Aに示すように、ラベルなしデータ群23に含まれるラベルなしデータごとに、クラス別確信度、推定クラスおよび正解クラスを対応付けた表が表わされている。クラス別確信度は、第2のSSL実行部14によって実行された結果を示す。推定クラスは、クラス推定部15によって推定された結果を示す。正解クラスは、専門家が付けたクラスを示す。
かかる表では、各ラベルなしデータに対する推定クラスは、グラフ構造に基づくSSLを実行した場合に全てクラス1であったところ、データ判別を適用した場合には正解クラスに近づいていることがわかる。
また、図8Bに示すように、ラベルなしデータ群23に含まれるラベルなしデータごとに、クラス別確信度、推定クラスおよび正解クラスを対応付けたグラフが表わされている。クラス別確信度は、第2のSSL実行部14によって実行された結果でを示す。推定クラスは、クラス推定部15によって推定された結果を示す。正解クラスは、専門家が付けたラベルを示す。
かかるグラフでは、各ラベルなしデータに対する推定クラスは、グラフ構造に基づくSSLを実行した場合に全てクラス1であったところ、データ判別を適用した場合には正解クラスに近づいていることがわかる。
これにより、データ判別装置1は、ラベルありのデータ点について、クラス間の出現頻度に大きな偏りがある場合であっても、ラベルなしのデータの推定クラスを正解クラスに近づけることができる。すなわち、データ判別装置1は、グラフ構造に基づくSSLを実行する場合と比べて、ラベルなしのデータの推定クラスを精度良く判別することができる。
[適用結果(分布)の一例]
次に、実施例に係る適用結果(分布)の一例を、図9を参照して説明する。図9は、実施例に係る適用結果(分布)の一例を示す図である。
図9左図に示すように、ラベルなしデータ(NA)、クラス1~4のラベルありデータが、特徴量空間上に存在することを表わしている。ラベルありデータには、クラス間の出現頻度に大きな偏りがあることを示している。すなわち、クラス1の出現頻度は、0.8410を示し、他のクラス2、3、4と比較して高頻度である。
図9中図に示すように、特徴量空間上には、ラベルありのデータ点と、ラベルなしのデータ点の分布が表わされている。
このようなラベルありのデータおよびラベルなしのデータについて、データ判別装置1は、データ判別処理を適用した結果、ラベルなしのデータに、推定クラス(擬似ラベル)を付与する。図9右図に示すように、擬似ラベル付きのデータ点の分布が表わされている。
これにより、データ判別装置1は、元のクラス分布に大きな偏りがある場合であっても、ラベルなしのデータのクラスを精度良く推定することができる。すなわち、データ判別装置1は、図14で示したグラフ構造に基づくSSLを適用した結果(分布)と比べて、ラベルなしのデータのクラスを精度良く推定することができる。この結果、データ判別装置1は、多量に存在するラベルなしデータに、質の良い推定クラス(擬似ラベル)を付けて、クラス分類モデルの構築に利用することが可能となる。
[データ判別処理のフローチャート]
図10は、実施例に係るデータ判別処理のフローチャートの一例を示す図である。なお、クラスは、N個あるものとする。
第1のSSL実行部12は、ラベルありデータに対して、SSLでk-fold CVを実行する(ステップS11)。例えば、第1のSSL実行部12は、ラベルありデータ群22をランダムに各クラスの頻度を保ちながらk個のサンプルに分割する。そして、第1のSSL実行部12は、1個のサンプルに含まれるデータをラベルありとし、その他のk-1個のサンプルに含まれるデータをそのラベル(クラス)をマスクしてラベルなしとして、SSLを実行する。この結果、第1のSSL実行部12は、ラベルなしとしたk-1個のサンプルに含まれる各データについて、SSLによって算出されたクラス別確信度を出力する。そして、第1のSSL実行部12は、このサイクルを、サンプルを代えてk回繰り返す。
そして、正解クラス付き確信度情報生成部13は、ラベルありデータwに対する正解クラスcと、クラス別の確信度ベクトルq(w)=(q1,・・・,qN)とのデータセットを生成し、正解クラス付き確信度情報S(24)を生成する(ステップS12)。例えば、正解クラス付き確信度情報生成部13は、第1のSSL実行部12によって出力された各ラベルありデータwのクラス別の確信度ベクトルq(w)と各ラベルありデータに付けられた既知の正確クラスcとを対応付けた正解クラス付き確信度情報S(24)を生成する。そして、正解クラス付き確信度情報生成部13は、正解クラス付き確信度情報S(24)を記憶部20に格納する。
続いて、第2のSSL実行部14は、ラベルありデータとラベルなしデータとを用いて、SSLを実行する(ステップS13)。例えば、第2のSSL実行部14は、ラベルありデータ群22およびラベルなしデータ群23に対してSSLを実行し、各ラベルなしデータのクラス別確信度を算出する。
そして、第2のSSL実行部14は、ラベルなしデータvに対するクラス別確信度ベクトルp(v)=(p1,・・・,pN)のデータセットを生成し、ラベルなし確信度情報A(25)を生成する(ステップS14)。そして、第2のSSL実行部14は、ラベルなし確信度情報A(25)を記憶部20に格納する。
続いて、クラス推定部15は、各ラベルなしデータのクラスを推定する(ステップS15)。なお、クラス推定部15のフローチャートは、後述する。
そして、推定結果出力部16は、クラス推定部15によって推定された推定結果を出力する(ステップS16)。例えば、推定結果出力部16は、各ラベルなしデータの推定クラスを推定結果として出力する。
[クラス推定処理のフローチャート]
図11は、実施例に係るクラス推定処理のフローチャートの一例を示す図である。
クラス推定部15は、ラベルなし確信度情報A(25)からラベルなしデータvを選択する(ステップS21)。
クラス推定部15は、ラベルなしデータvのp(v)と、正解クラス付き確信度情報S(24)内の各ラベルありデータwのq(w)とのクラス別確信度ベクトル間距離|p(v)-q(w)|を算出する(ステップS22)。p(v)、q(w)は、それぞれクラス別確信度ベクトルを示す。なお、クラス別確信度ベクトル間距離|p(v)-q(w)|は、式(1)を用いて算出されれば良い。
そして、クラス推定部15は、クラス別確信度ベクトル間距離が最小のラベルありデータwに対する正解クラスcをラベルなしデータvの推定クラスとして設定する(ステップS23)。例えば、クラス推定部15は、各ラベルありデータwごとに算出されたクラス別確信度ベクトル間距離を比較し、クラス別確信度ベクトル間距離が最も小さいラベル有りデータwの正確クラスcをラベルなしデータvの推定クラスとする。クラス推定部15は、ラベルなしデータvのクラス別確信度ベクトルp(v)と推定クラスとを対応付けた情報を推定クラス付き確信度情報26に追加する。
そして、クラス推定部15は、ラベルなし確信度情報A(25)から全てのラベルなしデータを選択したか否かを判定する(ステップS24)。全てのラベルなしデータを選択していないと判定した場合には(ステップS24;No)、クラス推定部15は、次のラベルなしデータを選択すべく、ステップS21に移行する。
一方、全てのラベルなしデータを選択したと判定した場合には(ステップS24;Yes)、クラス推定部15は、クラス推定処理を終了する。
[データ判別の別の適用例]
図12Aおよび図12Bは、実施例に係るデータ判別の別の適用例を示す図である。図12Aおよび図12Bで示す適用例は、特定の観測地点での特定時刻の気象予報データから天気を推定する場合である。ここでは、データ判別装置1は、首都圏の4箇所の観測地点(千代田区、さいたま市、千葉市、横浜市)における2011/07/29~2018/02/02の各予報日の朝6時の気象予報データから4クラスの天気(晴、曇、雨、雪)を推定する。
図12Aに示すように、首都圏の4箇所の観測地点(千代田区、さいたま市、千葉市、横浜市)における2011/07/29~2018/02/02の各予報日の朝6時の気象予報データと天気とを対応付けたラベルありデータの分布が表わされている。ここでいう気象予報データは、気温(temp)、気圧(atm_press)および湿度(humid)である。ラベルありには、クラス間の出現頻度に偏りがあることを示している。すなわち、晴クラスの出現頻度は、4591を示し、曇クラスの出現頻度は、2991を示し、他のクラス雨、雪と比較して頻度が高い。
図12B左図に示すように、図12Aで示したラベルありデータのうちランダムに20%のラベルありデータを残したデータ点の分布である。さらに、この分布には、ラベルなしデータ(NA)が表わされている。このようなラベルありデータおよびラベルなしデータについて、データ判別装置1は、データ判別処理を適用した結果、ラベルなしデータに推定クラス(擬似ラベル)を付与する。図12B上図には、データ判別処理の適用結果(分布)である、擬似ラベル付きのデータ点が表わされている。擬似ラベル付きのデータ点は、出現頻度が高い晴クラスや曇クラスだけでなく雨、雪のクラスを擬似ラベルとして付与されている。
これに対して、図12B下図には、同じデータ点についてグラフ構造に基づくSSLを実行した結果(分布)である、擬似ラベル付きのデータ点が表わされている。擬似ラベル付きのデータ点は、出現頻度が高い晴クラスや曇クラスばかりを擬似ラベルとして付与されている。
これにより、データ判別装置1は、元のクラス分布に偏りがある場合であっても、グラフ構造に基づくSSLを適用した結果(分布)と比べて、ラベルなしのデータのクラスを精度良く推定することが可能となる。
[実施例の効果]
上記実施例によれば、データ判別装置1は、正解ラベルと対応付けられたテストデータから複数の部分テストデータを生成する。データ判別装置1は、複数の部分テストデータのうち、一部の部分テストデータおよび当該一部の部分テストデータに対応した正解ラベルと、一部の部分テストデータ以外の部分テストデータとを用いて、学習モデルに対するSSLを実行する。データ判別装置1は、一部の部分テストデータ以外の前記部分テストデータの各データに対し、学習モデルの判別結果である複数のラベルそれぞれの確信度の組と、当該データに対応付けられた正解ラベルとを対応付けた対応情報(正解クラス付き確信度情報24)を生成する。データ判別装置1は、正解のラベルの対応付けが存在しない複数の検証対象データそれぞれについて、学習モデルを用いて、複数のラベルそれぞれの確信度を生成する。データ判別装置1は、複数の検証対象データそれぞれについて、当該検証対象データの複数のラベルそれぞれの確信度の組と類似する類似データを、正解クラス付き確信度情報24から特定する。データ判別装置1は、類似データの正解ラベルを検証対象データのラベルとして出力する。かかる構成によれば、データ判別装置1は、正解ラベルと対応付けられたテストデータ(ラベルありデータ)について、複数のラベル(クラス)の分布に偏りがある場合でも、ラベルなしデータについて、SSLを利用した適切なラベル(クラス)の判別を可能とする。
また、上記実施例によれば、データ判別装置1は、ラベルありのテストデータを用いて、学習モデルのSSLでk-fold CVを実行する。かかる構成によれば、データ判別装置1は、ラベルありデータに対する複数のラベルごとの確信度と正解のラベル(クラス)とを対応付けた正解クラス付き確信度情報24を取得することができる。
また、上記実施例によれば、データ判別装置1は、ラベルありのテストデータから、ランダムに各ラベルの頻度を保ちながらkグループの複数の部分テストデータを生成する。データ判別装置1は、1グループの部分テストデータに対応した正解ラベルと、k-1個のグループのグ部分テストデータを用いて、学習モデルに対するSSLを実行する。データ判別装置1は、k-1個のグループに含まれる各データの複数のラベルそれぞれの確信度を生成する。かかる構成によれば、データ判別装置1は、学習モデルのラベル(クラス)分布を、元のラベル(クラス)分布と共通にして、SSLを実行することができる。
また、上記実施例によれば、データ判別装置1は、検証対象データそれぞれについて、複数のラベルそれぞれの確信度の組と、対応情報(正解クラス付き確信度情報24)に含まれる各データの複数のラベルそれぞれの確信度の組とを比較する。データ判別装置1は、組で示される複数のラベルそれぞれの確信度を用いた距離が最も小さいデータを類似データとして特定する。かかる構成によれば、データ判別装置1は、検証対象データの複数のラベルそれぞれの確信度の組と正解クラス付き確信度情報24に含まれる各データの複数のラベルそれぞれの確信度の組との距離を用いることで、ラベルありデータについて、複数のラベル(クラス)の分布に偏りがある場合でも、ラベルなしデータについて、SSLを利用した適切なラベル(クラス)の判別を可能とする。
[その他]
なお、図示したデータ判別装置1の各構成要素は、必ずしも物理的に図示の如く構成されていることを要しない。すなわち、データ判別装置1の分散・統合の具体的態様は図示のものに限られず、その全部または一部を、各種の負荷や使用状況などに応じて、任意の単位で機能的または物理的に分散・統合して構成することができる。例えば、第1のSSL実行部12と正解クラス付き確信度情報生成部13とを1つの部として統合しても良い。また、クラス推定部15を、クラス別確信度ベクトル間距離を算出する算出部と、算出したクラス別確信度ベクトル間距離からクラスを推定する推定部とに分離しても良い。また、記憶部20をデータ判別装置1の外部装置としてネットワーク経由で接続するようにしても良い。
また、上記実施例で説明した各種の処理は、予め用意されたプログラムをパーソナルコンピュータやワークステーションなどのコンピュータで実行することによって実現することができる。そこで、以下では、図1に示したデータ判別装置1と同様の機能を実現するデータ判定プログラムを実行するコンピュータの一例を説明する。図13は、データ判定プログラムを実行するコンピュータの一例を示す図である。
図13に示すように、コンピュータ200は、各種演算処理を実行するCPU203と、ユーザからのデータの入力を受け付ける入力装置215と、表示装置209を制御する表示制御部207とを有する。また、コンピュータ200は、記憶媒体からプログラムなどを読取るドライブ装置213と、ネットワークを介して他のコンピュータとの間でデータの授受を行う通信制御部217とを有する。また、コンピュータ200は、各種情報を一時記憶するメモリ201と、HDD(Hard Disk Drive)205を有する。そして、メモリ201、CPU203、HDD205、表示制御部207、ドライブ装置213、入力装置215、通信制御部217は、バス219で接続されている。
ドライブ装置213は、例えばリムーバブルディスク210用の装置である。HDD205は、データ判別プログラム205aおよびデータ判別処理関連情報205bを記憶する。
CPU203は、データ判別プログラム205aを読み出して、メモリ201に展開し、プロセスとして実行する。かかるプロセスは、データ判別装置1の各機能部に対応する。データ判別処理関連情報205bは、計測データ群21、ラベルありデータ群22、ラベルなしデータ群23、正解クラス付き確信度情報24、ラベルなし確信度情報25および推定クラス付き確信度情報26に対応する。そして、例えばリムーバブルディスク210が、データ判別プログラム205aなどの各情報を記憶する。
なお、データ判別プログラム205aについては、必ずしも最初からHDD205に記憶させておかなくても良い。例えば、コンピュータ200に挿入されるフレキシブルディスク(FD)、CD-ROM(Compact Disk Read Only Memory)、DVD(Digital Versatile Disk)、光磁気ディスク、IC(Integrated Circuit)カードなどの「可搬用の物理媒体」に当該プログラムを記憶させておく。そして、コンピュータ200がこれらからデータ判別プログラム205aを読み出して実行するようにしても良い。
1 データ判別装置
10 制御部
11 特徴量化部
12 第1のSSL実行部
13 正解クラス付き確信度情報生成部
14 第2のSSL実行部
15 クラス推定部
16 推定結果出力部
20 記憶部
21 計測データ群
22 ラベルありデータ群
23 ラベルなしデータ群
24 正解クラス付き確信度情報
25 ラベルなし確信度情報
26 推定クラス付き確信度情報

Claims (6)

  1. コンピュータに、
    正解ラベルと対応付けられたテストデータから複数の部分テストデータを生成し、
    前記複数の部分テストデータのうち、一部の部分テストデータおよび当該一部の部分テストデータに対応した正解ラベルと、前記一部の部分テストデータ以外の前記部分テストデータとを用いて、学習モデルに対する半教師あり学習を実行し、
    前記一部の部分テストデータ以外の前記部分テストデータの各データに対し、前記学習モデルの判別結果である複数のラベルそれぞれの確信度の組と、当該データに対応付けられた正解ラベルとを対応付けた対応情報を生成し、
    正解のラベルの対応付けが存在しない複数の検証対象データそれぞれについて、前記学習モデルを用いて、前記複数のラベルそれぞれの確信度を生成し、
    前記複数の検証対象データそれぞれについて、当該検証対象データの前記複数のラベルそれぞれの確信度の組と類似する類似データを、前記対応情報から特定し、
    前記類似データの正解ラベルを前記検証対象データのラベルとして出力する
    処理を実行させるデータ判別プログラム。
  2. 該実行する処理は、前記テストデータからk個の部分テストデータを生成し、前記k個の部分テストデータを用いて、前記学習モデルの半教師あり学習でk-fold CV(Cross Validation)を実行する
    ことを特徴とする請求項1に記載のデータ判別プログラム。
  3. 該実行する処理は、前記テストデータから、ランダムに各ラベルの頻度を保ちながらkグループの複数の部分テストデータを生成し、1グループの部分テストデータに対応した正解ラベルと、k-1個のグループの部分テストデータを用いて、前記学習モデルに対する半教師あり学習を実行し、前記k-1のグループに含まれる各データの前記複数のラベルそれぞれの確信度を生成する、
    ことを特徴とする請求項2に記載のデータ判別プログラム。
  4. 該特定する処理は、前記検証対象データそれぞれについて、前記複数のラベルそれぞれの確信度の組と、前記対応情報に含まれる各データの前記複数のラベルそれぞれの確信度の組とを比較し、組で示される前記複数のラベルそれぞれの確信度を用いた距離が最も小さいデータを類似データとして特定する
    ことを特徴とする請求項1に記載のデータ判別プログラム。
  5. 正解のラベルと対応付けられたテストデータから複数の部分テストデータを生成し、前記複数の部分テストデータのうち、一部の部分テストデータおよび当該一部の部分テストデータに対応した正解ラベルと、前記一部の部分テストデータ以外の前記部分テストデータとを用いて、学習モデルに対する半教師あり学習を実行する実行部と、
    前記一部の部分テストデータ以外の前記部分テストデータの各データに対し、前記学習モデルの判別結果である複数のラベルそれぞれの確信度の組と、当該データに対応付けられた正解ラベルとを対応付けた対応情報を生成する第1の生成部と、
    正解のラベルの対応付けが存在しない複数の検証対象データそれぞれについて、前記学習モデルを用いて、前記複数のラベルそれぞれの確信度を生成する第2の生成部と、
    前記複数の検証対象データそれぞれについて、当該検証対象データの前記複数のラベルそれぞれの確信度の組と類似する類似データを、前記対応情報から特定する特定部と、
    前記類似データの正解ラベルを前記検証対象データのラベルとして出力する出力部と、
    を有することを特徴とするデータ判別装置。
  6. コンピュータが、
    正解ラベルと対応付けられたテストデータから複数の部分テストデータを生成し、
    前記複数の部分テストデータのうち、一部の部分テストデータおよび当該一部の部分テストデータに対応した正解ラベルと、前記一部の部分テストデータ以外の前記部分テストデータとを用いて、学習モデルに対する半教師あり学習を実行し、
    前記一部の部分テストデータ以外の前記部分テストデータの各データに対し、前記学習モデルの判別結果である複数のラベルそれぞれの確信度の組と、当該データに対応付けられた正解ラベルとを対応付けた対応情報を生成し、
    正解のラベルの対応付けが存在しない複数の検証対象データそれぞれについて、前記学習モデルを用いて、前記複数のラベルそれぞれの確信度を生成し、
    前記複数の検証対象データそれぞれについて、当該検証対象データの前記複数のラベルそれぞれの確信度の組と類似する類似データを、前記対応情報から特定し、
    前記類似データの正解ラベルを前記検証対象データのラベルとして出力する
    処理を実行するデータ判別方法。
JP2018081744A 2018-04-20 2018-04-20 データ判別プログラム、データ判別装置およびデータ判別方法 Active JP7067234B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2018081744A JP7067234B2 (ja) 2018-04-20 2018-04-20 データ判別プログラム、データ判別装置およびデータ判別方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2018081744A JP7067234B2 (ja) 2018-04-20 2018-04-20 データ判別プログラム、データ判別装置およびデータ判別方法

Publications (2)

Publication Number Publication Date
JP2019191769A JP2019191769A (ja) 2019-10-31
JP7067234B2 true JP7067234B2 (ja) 2022-05-16

Family

ID=68390424

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2018081744A Active JP7067234B2 (ja) 2018-04-20 2018-04-20 データ判別プログラム、データ判別装置およびデータ判別方法

Country Status (1)

Country Link
JP (1) JP7067234B2 (ja)

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP7041374B2 (ja) * 2020-09-04 2022-03-24 ダイキン工業株式会社 生成方法、プログラム、情報処理装置、情報処理方法、及び学習済みモデル
WO2022163126A1 (ja) * 2021-01-28 2022-08-04 日本電気株式会社 データ分類装置、データ分類方法およびプログラム記録媒体
JPWO2023166576A1 (ja) * 2022-03-02 2023-09-07
WO2024070169A1 (ja) * 2022-09-29 2024-04-04 日本碍子株式会社 試作条件提案システム、試作条件提案方法

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2000155681A (ja) 1998-11-24 2000-06-06 Fujitsu Ltd 類似事例に基づく予測を行う予測装置および方法
JP2003323601A (ja) 2002-05-01 2003-11-14 Fujitsu Ltd 信頼性尺度付き予測装置
JP2004206167A (ja) 2002-12-20 2004-07-22 Fujitsu Ltd 事例予測装置および事例予測方法
JP2010079871A (ja) 2008-06-09 2010-04-08 Yahoo Japan Corp ベクトルデータ検索装置

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0721023A (ja) * 1993-07-05 1995-01-24 Komatsu Ltd 推論装置

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2000155681A (ja) 1998-11-24 2000-06-06 Fujitsu Ltd 類似事例に基づく予測を行う予測装置および方法
JP2003323601A (ja) 2002-05-01 2003-11-14 Fujitsu Ltd 信頼性尺度付き予測装置
JP2004206167A (ja) 2002-12-20 2004-07-22 Fujitsu Ltd 事例予測装置および事例予測方法
JP2010079871A (ja) 2008-06-09 2010-04-08 Yahoo Japan Corp ベクトルデータ検索装置

Also Published As

Publication number Publication date
JP2019191769A (ja) 2019-10-31

Similar Documents

Publication Publication Date Title
JP7067234B2 (ja) データ判別プログラム、データ判別装置およびデータ判別方法
Kinkead et al. Towards explainable CNNs for Android malware detection
Palar et al. On efficient global optimization via universal Kriging surrogate models
CN110717824A (zh) 基于知识图谱的银行对公客群风险传导测算的方法及装置
US10496730B2 (en) Factor analysis device, factor analysis method, and factor analysis program
WO2014119226A2 (en) Hierarchical latent variable model estimation device
KR101856170B1 (ko) 시계열 데이터를 기초로 시스템의 이상시점을 예측하는 장치 및 그 방법
JP6950504B2 (ja) 異常候補抽出プログラム、異常候補抽出方法および異常候補抽出装置
Cholewa et al. Estimation of the number of states for gesture recognition with Hidden Markov Models based on the number of critical points in time sequence
JP6631540B2 (ja) 情報処理システム、変化点検出方法、およびプログラム
Wu et al. Broad fuzzy cognitive map systems for time series classification
Mahalunkar et al. Multi-element long distance dependencies: Using SPk languages to explore the characteristics of long-distance dependencies
Bogdanov et al. Sktr: Trace recovery from stochastically known logs
CN113988264A (zh) 获得用于执行流量预测业务的图神经网络的方法及装置
Salfner Predicting failures with hidden Markov models
US20240045923A1 (en) Information processing device, information processing method, and computer program product
JP6233432B2 (ja) 混合モデルの選択方法及び装置
KR101822062B1 (ko) 컴포넌트 상호연관성 추출 기반 소프트웨어 컴포넌트 추천 방법 및 이를 기록한 기록 매체
JP2008171282A (ja) 最適パラメータ探索プログラム、最適パラメータ探索装置および最適パラメータ探索方法
US11521049B2 (en) Optimization device and control method of optimization device
Wu et al. Fragmentary multi-instance classification
JP2022167093A (ja) 情報処理装置、情報処理方法及びプログラム
Burger et al. Exploring the performance envelope of the LLL algorithm
Resheff et al. Optimized linear imputation
Liu et al. Recurrent kernel online sequential extreme learning machine with kernel adaptive filter for time series prediction

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20210113

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20211228

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20220111

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20220311

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20220329

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20220411

R150 Certificate of patent or registration of utility model

Ref document number: 7067234

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150