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

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

▶ 日本電気株式会社の特許一覧

特許7517432学習装置、学習済みモデル生成方法、及びプログラム
<>
  • 特許-学習装置、学習済みモデル生成方法、及びプログラム 図1
  • 特許-学習装置、学習済みモデル生成方法、及びプログラム 図2
  • 特許-学習装置、学習済みモデル生成方法、及びプログラム 図3
  • 特許-学習装置、学習済みモデル生成方法、及びプログラム 図4
  • 特許-学習装置、学習済みモデル生成方法、及びプログラム 図5
  • 特許-学習装置、学習済みモデル生成方法、及びプログラム 図6
  • 特許-学習装置、学習済みモデル生成方法、及びプログラム 図7
  • 特許-学習装置、学習済みモデル生成方法、及びプログラム 図8
  • 特許-学習装置、学習済みモデル生成方法、及びプログラム 図9
  • 特許-学習装置、学習済みモデル生成方法、及びプログラム 図10
< >
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2024-07-08
(45)【発行日】2024-07-17
(54)【発明の名称】学習装置、学習済みモデル生成方法、及びプログラム
(51)【国際特許分類】
   G06N 20/00 20190101AFI20240709BHJP
【FI】
G06N20/00 130
【請求項の数】 6
(21)【出願番号】P 2022543229
(86)(22)【出願日】2020-08-20
(86)【国際出願番号】 JP2020031512
(87)【国際公開番号】W WO2022038753
(87)【国際公開日】2022-02-24
【審査請求日】2023-02-17
(73)【特許権者】
【識別番号】000004237
【氏名又は名称】日本電気株式会社
(74)【代理人】
【識別番号】110002044
【氏名又は名称】弁理士法人ブライタス
(72)【発明者】
【氏名】佐藤 敦
【審査官】佐藤 実
(56)【参考文献】
【文献】特許第6731603(JP,B1)
【文献】特開2020-095411(JP,A)
【文献】桑原昭之,ROC曲線を局所的に改善するパーセプトロンの学習則,電子情報通信学会技術研究報告,日本,社団法人電子情報通信学会,2012年03月07日,Vol.111 No.483,pp.399-404
(58)【調査した分野】(Int.Cl.,DB名)
G06N 20/00
G06T 7/00
(57)【特許請求の範囲】
【請求項1】
2クラス分類のためのスコア関数を機械学習するための装置であって、
正例又は負例のラベルが付与された複数の訓練データを前記スコア関数に入力して、スコアを算出する、スコア算出部と、
正例のラベルが付与された訓練データについて算出されたスコアのうち、最小のものを、最小スコアとして特定し、負例のラベルが付与された訓練データについて算出された前記スコアのうち、最大のものを、最大スコアとして特定する、スコア特定部と、
正例のラベルが付与された訓練データ及び負例のラベルが付与された訓練データそれぞれから、算出された前記スコアが前記最小スコア以上前記最大スコア以下となっている訓練データを、ランダムに、設定数だけ選択し、選択した前記訓練データによって正例と負例との、設定数のペア群を作成する、ペア作成部と、
作成された前記ペア群について、負例のラベルが付与された訓練データのスコアよりも正例のラベルが付与された訓練データのスコアの方が大きいペアの数が増えるようにするため、前記ペアを構成する、正例のラベルが付与された前記訓練データのスコアと負例のラベルが付与された前記訓練データのスコアとの差を含む関数の値が最大となるように、前記スコア関数のパラメータを機械学習によって更新する、最適化部と、
を備えている、
ことを特徴とする学習装置。
【請求項2】
請求項1に記載の学習装置であって、
前記ペア作成部が、作成した前記ペアの中から、正例のラベルが付与された訓練データのスコアが、負例のラベルが付与された訓練データのスコアよりも小さいペアを選択し、更に選択したペアの中から、ランダムに設定数のペアを最終的に選択し、最終的に選択した前記ペアで構成された前記ペア群を作成する、
ことを特徴とする学習装置。
【請求項3】
2クラス分類のためのスコア関数を機械学習するための方法であって、
正例又は負例のラベルが付与された複数の訓練データを前記スコア関数に入力して、スコアを算出し、
正例のラベルが付与された訓練データについて算出されたスコアのうち、最小のものを、最小スコアとして特定し、負例のラベルが付与された訓練データについて算出された前記スコアのうち、最大のものを、最大スコアとして特定し、
正例のラベルが付与された訓練データ及び負例のラベルが付与された訓練データそれぞれから、算出された前記スコアが前記最小スコア以上前記最大スコア以下となっている訓練データを、ランダムに、設定数だけ選択し、選択した前記訓練データによって正例と負例とのペア群を作成し、
作成された前記ペア群について、負例のラベルが付与された訓練データのスコアよりも正例のラベルが付与された訓練データのスコアの方が大きいペアの数が増えるようにするため、前記ペアを構成する、正例のラベルが付与された前記訓練データのスコアと負例のラベルが付与された前記訓練データのスコアとの差を含む関数の値が最大となるように、前記スコア関数のパラメータを機械学習によって更新する、
ことを特徴とする学習済みモデル生成方法。
【請求項4】
請求項に記載の学習済みモデル生成方法であって、
前記ペア群の作成において、作成した前記ペアの中から、正例のラベルが付与された訓練データのスコアが、負例のラベルが付与された訓練データのスコアよりも小さいペアを選択し、更に選択したペアの中から、ランダムに設定数のペアを最終的に選択し、最終的に選択した前記ペアで構成された前記ペア群を作成する、
ことを特徴とする学習済みモデル生成方法。
【請求項5】
コンピュータに2クラス分類のためのスコア関数を機械学習させるためのプログラムであって、
前記コンピュータに、
正例又は負例のラベルが付与された複数の訓練データを前記スコア関数に入力して、スコアを算出させ、
正例のラベルが付与された訓練データについて算出されたスコアのうち、最小のものを、最小スコアとして特定し、負例のラベルが付与された訓練データについて算出された前記スコアのうち、最大のものを、最大スコアとして特定させ、
正例のラベルが付与された訓練データ及び負例のラベルが付与された訓練データそれぞれから、算出された前記スコアが前記最小スコア以上前記最大スコア以下となっている訓練データ、ランダムに、設定数だけを選択し、選択した前記訓練データによって正例と負例とのペア群を作成させ、
作成された前記ペア群について、負例のラベルが付与された訓練データのスコアよりも正例のラベルが付与された訓練データのスコアの方が大きいペアの数が増えるようにするため、前記ペアを構成する、正例のラベルが付与された前記訓練データのスコアと負例のラベルが付与された前記訓練データのスコアとの差を含む関数の値が最大となるように、前記スコア関数のパラメータを機械学習によって更新させる、
命令を含む、プログラム。
【請求項6】
請求項に記載のプログラムであって、
前記コンピュータに、
前記ペア群の作成において、作成した前記ペアの中から、正例のラベルが付与された訓練データのスコアが、負例のラベルが付与された訓練データのスコアよりも小さいペアを選択し、更に選択したペアの中から、ランダムに設定数のペアを最終的に選択し、最終的に選択した前記ペアで構成された前記ペア群を作成させる、
ことを特徴とするプログラム。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、2クラス分類に用いるスコア関数のパラメータを機械学習するための、学習装置、及び学習済みモデル生成方法に関し、更には、2クラス分類を行う分類装置、分類方法に関し、更には、これらを実現するためのプログラムに関する。
【背景技術】
【0002】
観測データが正例クラス及び負例クラスのいずれであるかを判定する2クラス分類では、観測データに応じて、スコアを出力するスコア関数のパラメータが機械学習され、2クラス分類を行う学習済みモデルが生成される。2クラス分類は、例えば、画像データを利用した、映像監視、故障診断、検品、及び医用画像診断等で利用されている。
【0003】
2クラス分類における機械学習の手法としては、AUC(Area Under the Curve)が最大化するように、スコア関数のパラメータを学習する学習方法(以下「AUCを用いた学習方法」と表記する。)が知られている(例えば、非特許文献1参照)。一般に、2クラス分類では、負例クラスの訓練データに比べて正例クラスの訓練データが極端に少ない事態が生じ易いが、このような場合でも、AUCによれば高い分類精度が得られることが知られている。
【0004】
また、偽陽性率を低く設定した時の真陽性率を改善するように、AUCの一部を最大化するように改良したpartial AUC(以下「pAUC」と表記する)も提案されている(例えば、非特許文献2参照)。pAUCを最大化するようにスコア関数のパラメータを学習する学習方法(以下「pAUCを用いた学習方法」と表記する。)は、例えば、特許文献1に開示されている。
【0005】
ここで、AUC及びpAUCについて、図9及び図10を用いて説明する。図9(a)は、AUCを説明するための図であり、図9(b)は、pAUCを説明するための図である。図10(a)は、AUCの計算に必要な正例及び負例のペアの一例を示す図であり、図10(b)は、pAUCの計算に必要な正例及び負例のペアの一例を示す図である。
【0006】
図9(a)及び(b)には、ROC(Receiver Operating Characteristic)曲線が示されている。ROC曲線は、スコア関数における正例と負例とを決める閾値を変化させて、真陽性率(縦軸)と偽陽性率(横軸)とをプロットして得られる曲線である。また、真陽性率は正例クラスのデータを正しく正例クラスに分類する検出正解率を示し、偽陽性率は負例クラスのデータを誤って正例クラスに分類する誤検知率を示している。
【0007】
図9(a)に示すように、AUCは、ROC(Receiver Operating Characteristic)曲線の横軸側(下側)の領域の面積を示す。また、図9(b)に示すように、pAUCは、偽陽性率の値をある固定値βとしたときのAUCの値であり、ROC曲線、横軸、固定値βを通る縦軸とで囲まれた領域の面積を示している。
【先行技術文献】
【特許文献】
【0008】
【文献】特開2017-102540号公報
【非特許文献】
【0009】
【文献】C. Cortes and M. Mohri, AUC optimization vs. error rate minimization, In Advance in Neural Information Processing Systems, MIT Press, 2004.
【文献】H. Narasimhan and S. Agarwal, “A Structural SVM Based Approach for Optimizing Partial AUC”, Int’l Conf. on Machine Learning (ICML), 2013.
【発明の概要】
【発明が解決しようとする課題】
【0010】
しかしながら、図10(a)に示すように、AUCを用いた学習方法では、全ての正例と全ての負例とが総当たりとなるようにペアを設定し、設定されたペア全てを用いてAUCを計算する必要がある。このため、AUCを用いた学習方法には、計算量が多く、機械学習に時間がかかるという問題がある。ここで、s はN個の正例クラスの訓練データのスコア、s はN個の負例クラスの訓練データのスコアである。図10(a)において灰色で示したペアのうちs よりもs の方が大きいペアの総数を、N×Nで除算すると、得られた値がAUCとなる。
【0011】
一方、pAUCを用いた学習方法では、図10(b)に示すように、負例クラスの訓練データをスコアの値が大きい順にソートし、予め設定した偽陽性率βに含まれる負例クラスのデータと全ての正例クラスのデータとのペアを用いてpAUCを計算する。具体的には、図10(b)において灰色で示したペアのうちs よりもs の方が大きいペアの総数を、N×βNで除算すると、得られた値がpAUCとなる。そのため、計算の対象となるペアの数を、AUCを用いた学習方法に比べて少なくすることができる。しかし、pAUCを用いた学習方法であっても、計算が必要なペアの数は依然として多く、更に計算量を減らすことが求められている。
【0012】
本発明の目的の一例は、上記問題を解消し、2クラス分類に用いるスコア関数のパラメータの機械学習において、機械学習にかかる時間の短縮化を図ることにある。
【課題を解決するための手段】
【0013】
上記目的を達成するため、本発明の一側面における学習装置は、2クラス分類のためのスコア関数を機械学習するための装置であって、
正例又は負例のラベルが付与された複数の訓練データを前記スコア関数に入力して、スコアを算出する、スコア算出部と、
正例のラベルが付与された訓練データについて算出されたスコアのうち、最小のものを、最小スコアとして特定し、負例のラベルが付与された訓練データについて算出された前記スコアのうち、最大のものを、最大スコアとして特定する、スコア特定部と、
正例のラベルが付与された訓練データ及び負例のラベルが付与された訓練データそれぞれから、算出された前記スコアが前記最小スコア以上前記最大スコア以下となっている訓練データを選択し、選択した前記訓練データによって正例と負例とのペア群を作成する、ペア作成部と、
作成された前記ペア群について、負例のラベルが付与された訓練データのスコアよりも正例のラベルが付与された訓練データのスコアの方が大きいペアの数が増えるように、前記スコア関数のパラメータを機械学習によって更新する、最適化部と、
を備えている、
ことを特徴とする。
【0014】
また、上記目的を達成するため、本発明の一側面における学習済モデル生成方法は、2クラス分類のためのスコア関数を機械学習するための方法であって、
正例又は負例のラベルが付与された複数の訓練データを前記スコア関数に入力して、スコアを算出する、スコア算出ステップと、
正例のラベルが付与された訓練データについて算出されたスコアのうち、最小のものを、最小スコアとして特定し、負例のラベルが付与された訓練データについて算出された前記スコアのうち、最大のものを、最大スコアとして特定する、スコア特定ステップと、
正例のラベルが付与された訓練データ及び負例のラベルが付与された訓練データそれぞれから、算出された前記スコアが前記最小スコア以上前記最大スコア以下となっている訓練データを選択し、選択した前記訓練データによって正例と負例とのペア群を作成する、ペア作成ステップと、
作成された前記ペア群について、負例のラベルが付与された訓練データのスコアよりも正例のラベルが付与された訓練データのスコアの方が大きいペアの数が増えるように、前記スコア関数のパラメータを機械学習によって更新する、最適化ステップと、
を有する、
ことを特徴とする。
【0015】
更に、上記目的を達成するため、本発明の一側面における第1のプログラムは、コンピュータに2クラス分類のためのスコア関数を機械学習させるためのプログラムであって、
前記コンピュータに、
正例又は負例のラベルが付与された複数の訓練データを前記スコア関数に入力して、スコアを算出する、スコア算出ステップと、
正例のラベルが付与された訓練データについて算出されたスコアのうち、最小のものを、最小スコアとして特定し、負例のラベルが付与された訓練データについて算出された前記スコアのうち、最大のものを、最大スコアとして特定する、スコア特定ステップと、
正例のラベルが付与された訓練データ及び負例のラベルが付与された訓練データそれぞれから、算出された前記スコアが前記最小スコア以上前記最大スコア以下となっている訓練データを選択し、選択した前記訓練データによって正例と負例とのペア群を作成する、ペア作成ステップと、
作成された前記ペア群について、負例のラベルが付与された訓練データのスコアよりも正例のラベルが付与された訓練データのスコアの方が大きいペアの数が増えるように、前記スコア関数のパラメータを機械学習によって更新する、最適化ステップと、
を実行させる、プログラム。
【0016】
上記目的を達成するため、本発明の一側面における分類装置は、
テストデータをスコア関数に入力して、スコアを算出する、スコア算出部と、
算出された前記スコアの値に基づいて、前記テストデータを2クラスに分類する、分類部と、を備え、
前記スコア関数は、
正例のラベルが付与された訓練データについて算出されたスコアのうち、最小のものを、最小スコアとし、負例のラベルが付与された訓練データについて算出された前記スコアのうち、最大のものを、最大スコアとし、
正例のラベルが付与された訓練データ及び負例のラベルが付与された訓練データそれぞれから、算出された前記スコアが前記最小スコア以上前記最大スコア以下となっている訓練データを選択し、選択した前記訓練データによって正例と負例とのペア群を作成し、
作成した前記ペア群について、負例のラベルが付与された訓練データのスコアよりも正例のラベルが付与された訓練データのスコアが大きいペアの数が増えるように、前記スコア関数のパラメータを機械学習することによって得られた関数である、
ことを特徴とする。
【0017】
また、上記目的を達成するため、本発明の一側面における分類方法は、
テストデータをスコア関数に入力して、スコアを算出する、スコア算出ステップと、
算出された前記スコアの値に基づいて、前記テストデータを2クラスに分類する、分類ステップと、を有し、
前記スコア関数は、
正例のラベルが付与された訓練データについて算出されたスコアのうち、最小のものを、最小スコアとし、負例のラベルが付与された訓練データについて算出された前記スコアのうち、最大のものを、最大スコアとし、
正例のラベルが付与された訓練データ及び負例のラベルが付与された訓練データそれぞれから、算出された前記スコアが前記最小スコア以上前記最大スコア以下となっている訓練データを選択し、選択した前記訓練データによって正例と負例とのペア群を作成し、
作成した前記ペア群について、負例のラベルが付与された訓練データのスコアよりも正例のラベルが付与された訓練データのスコアが大きいペアの数が増えるように、前記スコア関数のパラメータを機械学習することによって得られた関数である、
ことを特徴とする。
【0018】
更に、上記目的を達成するため、本発明の一側面における第2のプログラムは、コンピュータに、
テストデータをスコア関数に入力して、スコアを算出する、スコア算出ステップと、
算出された前記スコアの値に基づいて、前記テストデータを2クラスに分類する、分類ステップと、
を実行させ、
前記スコア関数は、
正例のラベルが付与された訓練データについて算出されたスコアのうち、最小のものを、最小スコアとし、負例のラベルが付与された訓練データについて算出された前記スコアのうち、最大のものを、最大スコアとし、
正例のラベルが付与された訓練データ及び負例のラベルが付与された訓練データそれぞれから、算出された前記スコアが前記最小スコア以上前記最大スコア以下となっている訓練データを選択し、選択した前記訓練データによって正例と負例とのペア群を作成し、
作成した前記ペア群について、負例のラベルが付与された訓練データのスコアよりも正例のラベルが付与された訓練データのスコアが大きいペアの数が増えるように、前記スコア関数のパラメータを機械学習することによって得られた関数である、
ことを特徴とする。
【発明の効果】
【0019】
以上のように本発明によれば、2クラス分類に用いるスコア関数のパラメータの機械学習において、機械学習にかかる時間の短縮化を図ることができる。
【図面の簡単な説明】
【0020】
図1図1は、実施の形態1における学習装置の概略構成を示す構成図である。
図2図2は、実施の形態1における学習装置の構成を具体的に示す構成図である。
図3図3は、実施の形態1において算出される正例及び負例のスコアと確率密度との関係を示す図である。
図4図4は、実施の形態1において作成されたペア群の一例を示す図である。
図5図5は、実施の形態1における学習装置の動作を示すフロー図である。
図6図6は、実施の形態2における分類装置の構成を示すブロック図である。
図7図7は、実施の形態2における分類装置の動作を示すフロー図である。
図8図8は、実施の形態1における学習装置及び実施の形態2における分類装置を実現するコンピュータの一例を示すブロック図である。
図9図9(a)は、AUCを説明するための図であり、図9(b)は、pAUCを説明するための図である。
図10図10(a)は、AUCの計算に必要な正例及び負例のペアの一例を示す図であり、図10(b)は、pAUCの計算に必要な正例及び負例のペアの一例を示す図である。
【発明を実施するための形態】
【0021】
(実施の形態1)
以下、実施の形態1における、学習装置、学習済みモデル生成方法、及びプログラムについて、図1図5を参照しながら説明する。
【0022】
[装置構成]
最初に、実施の形態1における学習装置の概略構成について図1を用いて説明する。図1は、実施の形態1における学習装置の概略構成を示す構成図である。
【0023】
図1に示す、実施の形態1における学習装置100は、2クラス分類のためのスコア関数を機械学習するための装置である。図1に示すように、実施の形態1における学習装置100は、スコア算出部10と、スコア特定部20と、ペア作成部30と、最適化部40とを備えている。
【0024】
スコア算出部10は、正例又は負例のラベルが付与された複数の訓練データをスコア関数に入力して、スコアを算出する。スコア特定部20は、正例のラベルが付与された訓練データについて算出されたスコアのうち、最小のものを、最小スコアとして特定する。また、スコア特定部20は、負例のラベルが付与された訓練データについて算出されたスコアのうち、最大のものを、最大スコアとして特定する。
【0025】
ペア作成部30は、正例のラベルが付与された訓練データ及び負例のラベルが付与された訓練データそれぞれから、算出されたスコアが最小スコア以上最大スコア以下となっている訓練データを選択し、選択した訓練データによって正例と負例とのペア群を作成する。
【0026】
最適化部40は、ペア作成部30によって作成されたペア群について、負例のラベルが付与された訓練データのスコアよりも正例のラベルが付与された訓練データのスコアの方が大きいペアの数が増えるように、スコア関数のパラメータを機械学習によって更新する。
【0027】
このように、実施の形態1では、スコア関数のパラメータの機械学習に用いる訓練データは、スコアが最小スコア以上最大スコア以下となる訓練データに制限される。このため、実施の形態1によれば、2クラス分類に用いるスコア関数のパラメータの機械学習において、機械学習にかかる時間の短縮化を図ることができる。
【0028】
続いて、図2図4を用いて、実施の形態1における学習装置100の構成及び機能について具体的に説明する。図2は、実施の形態1における学習装置の構成を具体的に示す構成図である。図3は、実施の形態1において算出される正例及び負例のスコアと確率密度との関係を示す図である。図4は、実施の形態1において作成されたペア群の一例を示す図である。
【0029】
図2に示すように、実施の形態1では、学習装置100は、訓練データを入力する端末装置200に、データ通信可能に接続されている。端末装置200の具体例としては、汎用のコンピュータ、スマートフォン、タブレット型端末装置などが挙げられる。
【0030】
また、図2に示すように、実施の形態1では、学習装置100は、上述したスコア算出部10、スコア特定部20、ペア作成部30、及び最適化部40に加えて、訓練データ格納部50を備えている。
【0031】
訓練データ格納部50は、端末装置200から送信されてきた訓練データを格納する。訓練データには、正例と負例とが含まれている。
【0032】
スコア算出部10は、実施の形態1では、訓練データ格納部50に格納されている各訓練データを、スコア関数に入力して、訓練データ毎にスコアを算出する。ここで、正例のラベルがついた訓練データのスコアをS 、負例のラベルがついた訓練データのスコアをS とする。i及びjは、1以上の整数である。また、スコア関数をf(x;θ)と定義する。xはスコア関数に入力するデータ、θはスコア関数のパラメータである。
【0033】
スコア特定部20は、実施の形態1では、図3に示すように、正例のラベルが付与された訓練データ(以下「正例データ」と表記する。)のスコアS の中から、最小のスコア(最小スコア)S を特定する。更に、スコア特定部20は、負例のラベルが付与された訓練データ(以下「負例データ」と表記する。)のスコアS の中から、最大のスコア(最大スコア)S を特定する。また、図3に示すように、スコア分布に重なりがある場合は、両者の間には、S <S の関係がある。
【0034】
ペア作成部30は、まず、正例データ及び負例データそれぞれから、スコアがS 以上S 以下となっている訓練データ(図3参照)を選択するが、実施の形態では、ランダムに、設定数の訓練データだけを選択する。具体的には、ペア作成部30は、m個の正例データ(以下「集合P」と表記する)と、n個の負例データ(以下「集合N」と表記する)とをランダムに選択する。これにより、合計m×n個(設定数)のペアで構成されたペア群が作成される。
【0035】
図4の例では、3つの正例データ(スコア:S ,S ,S )の中から、2個の正例データ(スコア:S ,S )が選択され、4つの負例データ(スコア:S ,S ,S ,S )の中から、2個の負例データ(スコア:S ,S )が選択されている。ペア群を構成するペアの数は、4個である。このような態様とすれば、機械学習に必要なペアの数をより少なくすることができるので、機械学習にかかる時間がいっそう短縮化される。
【0036】
最適化部40は、実施の形態1では、ペア作成部30によって作成されたペア群を下記数1に適用したときに得られる、AUC(θ)の値が最も大きくなるように、例えば、機械学習として下記数2による山登り法を用いて、スコア関数f(x;θ)におけるパラメータθを更新する。山登り法は、機械学習による探索手法の1つであり、あるデータの近傍で最も正解に近いデータを選択することと、選択したデータの近傍で更に最も正解に近いデータを選択することとを、繰り返して実行することで、最終的な解を得る方法である。
【0037】
下記数1において|P|、|N|は、それぞれ、上述した集合P及び集合Nのデータ数を示している。また、g(・)は、0-1関数を微分可能にして得られた関数である。g(・)の具体例としては、シグモイド関数、任意の単調増加関数が挙げられる。下記数2において、εは、微少な正の実数を示している。
【0038】
【数1】
【0039】
【数2】
【0040】
このように、最適化部40が、上記数1及び数2を用いて更新処理を実行すれば、結果、負例データのスコアよりも正例データのスコアの方が大きいペアの数が増えるように、スコア関数のパラメータθが更新される。
【0041】
[装置動作]
次に、実施の形態1における学習装置100の動作について図5を用いて説明する。図5は、実施の形態1における学習装置の動作を示すフロー図である。以下の説明においては、適宜図1図4を参照する。また、実施の形態1では、学習装置100を動作させることによって、学習済モデル生成方法が実施される。よって、実施の形態1における学習済モデル生成方法の説明は、以下の学習装置100の動作説明に代える。
【0042】
図5に示すように、最初に、スコア算出部10は、訓練データ格納部50に格納されている各訓練データを取得し、各訓練データをスコア関数f(x;θ)に入力して、訓練データ毎にスコアを算出する(ステップA1)。なお、後述のステップA5が一度も実行されていない場合は、パラメータθの値としては、初期値が用いられる。
【0043】
次に、スコア特定部20は、ステップA1で算出された正例データのスコアS の中から、最小スコアS を特定し、負例データのスコアS の中から、最大スコアS を特定する(ステップA2)。
【0044】
次に、ペア作成部30は、スコアがS 以上S 以下となっている訓練データの中から、ランダムに、設定数の訓練データだけを選択し、選択した訓練データの正例データと負例データとを用いて、ペア群を作成する(ステップA3)。
【0045】
次に、最適化部40は、ステップA3で作成されたペア群を、上記数1に適用して、AUC(θ)を計算しながら、機械学習として上記数2による山登り法を用いて、計算したAUC(θ)の値が最も大きくなるように、スコア関数におけるパラメータθを更新する(ステップA4)。
【0046】
次に、最適化部40は、終了条件を満たしているかどうかを判定する(ステップA5)。終了条件としては、例えば、山登り法によってパラメータθを変化させたときの、AUC(θ)の計算値の変動幅が小さいこと(変動幅が閾値以下であること)が、挙げられる。
【0047】
ステップA5の判定の結果、終了条件が満たされていない場合は、最適化部40は、スコア算出部10に対して、更新後のパラメータθを用いて、再度ステップA1を実行させる。
【0048】
一方、ステップA5の判定の結果、終了条件が満たされている場合は、最適化部40は、ステップA4で算出したスコア関数f(x;θ)のパラメータθを出力する(ステップA6)。
【0049】
[実施の形態1における効果]
このように、実施の形態1によれば、従来からの2クラス分類に比べて、機械学習に必要なペアの数を少なくして(図4参照)、スコア関数のパラメータθを更新することができる。このことから、実施の形態1によれば、2クラス分類に用いるスコア関数のパラメータの機械学習において、機械学習にかかる時間の短縮化を図ることができる。
【0050】
[変形例]
続いて、実施の形態1の変形例について説明する。変形例では、ペア作成部30は、作成したペアの中から、正例データのスコアが、負例データのスコアよりも小さいペアを選択する(正例データのスコア<負例データのスコア)。そして、ペア作成部30は、選択したペアの中から、ランダムに設定数のペアを最終的に選択し、最終的に選択したペアによってペア群を作成する。
【0051】
このように、変形例によれば、選択肢となるペアを絞り込むことができ、上述の例よりも少ないペアの中から、ペア群を構成するペアを選択することになる。このため、変形例によれば、よりいっそう機械学習にかかる時間の短縮化を図ることができる。
【0052】
[プログラム]
実施の形態1におけるプログラムとしては、コンピュータに、図5に示すステップA1~A6を実行させるプログラムが挙げられる。このプログラムをコンピュータにインストールし、実行することによって、実施の形態1における学習装置100と学習済みモデル生成方法とを実現することができる。この場合、コンピュータのプロセッサは、スコア算出部10、スコア特定部20、ペア作成部30、及び最適化部40として機能し、処理を行なう。
【0053】
また、実施の形態1では、訓練データ格納部50は、コンピュータに備えられたハードディスク等の記憶装置によって実現されていても良いし、別のコンピュータの記憶装置によって実現されていても良い。
【0054】
また、コンピュータとしては、汎用のPCの他に、スマートフォン、タブレット型端末装置が挙げられる。更に、コンピュータは、図2に示した端末装置200であっても良く、この場合は、実施の形態1における学習装置100は、端末装置200のオペレーティングシステム上に構築されることになる。
【0055】
実施の形態1におけるプログラムは、複数のコンピュータによって構築されたコンピュータシステムによって実行されても良い。この場合は、例えば、各コンピュータが、それぞれ、スコア算出部10、スコア特定部20、ペア作成部30、及び最適化部40のいずれかとして機能しても良い。
(実施の形態2)
次に、実施の形態2では、分類装置、分類方法、及びこれらを実現するためのプログラムについて、図6及び図7を参照しながら説明する。
【0056】
[装置構成]
最初に、実施の形態2における分類装置の構成について図6を用いて説明する。図6は、実施の形態2における分類装置の構成を示すブロック図である。
【0057】
図6に示す、実施の形態2における分類装置101は、スコア関数を用いてテストデータを2クラスに分類するための装置である。図6に示すように、実施の形態2では、分類装置101は、実施の形態1と同様に、端末装置200に、データ通信可能に接続されている。端末装置200の具体例としては、汎用のコンピュータ、スマートフォン、タブレット型端末装置などが挙げられる。但し、実施の形態2では、端末装置200は、分類装置101に対して、2クラス分類の対象となるテストデータを入力する。
【0058】
また、図6に示すように、実施の形態2における分類装置101は、スコア算出部60と、分類部70と、テストデータ格納部80と、スコア関数格納部90とを備えている。このうち、テストデータ格納部80は、入力されたテストデータを格納する。
【0059】
スコア関数格納部90は、2クラス分類に用いるスコア関数を格納している。スコア関数は、実施の形態1によってパラメータが更新されたスコア関数であり、次の手順によって得られる。
【0060】
まず、正例について算出されたスコアのうち、最小のものを、最小スコアとし、負例データについて算出された前記スコアのうち、最大のものを、最大スコアとし、正例データ及び負例データそれぞれから、算出されたスコアが最小スコア以上前記最大スコア以下となっている訓練データが選択される。続いて、選択した訓練データによって正例と負例とのペア群が作成される。そして、作成されたペア群について、負例データのスコアよりも正例データのスコアが大きいペアの数が増えるように、スコア関数のパラメータが機械学習され、スコア関数が得られる。
【0061】
スコア算出部60は、スコア関数格納部90からスコア関数を取得し、取得したスコア関数に、テストデータ格納部80から取り出したテストデータを入力して、スコアを算出する。なお、実施の形態2におけるスコア算出部60は、実施の形態1において図2に示したスコア算出部10と同様の機能を有している。
【0062】
分類部70は、スコア算出部60によって算出されたスコアの値に基づいて、テストデータを2クラス、例えば、正例又は負例に分類する。また、分類部70は、分類結果を、端末装置200に送信することができる。
【0063】
[装置動作]
次に、実施の形態2における分類装置101の動作について図7を用いて説明する。図7は、実施の形態2における分類装置の動作を示すフロー図である。以下の説明においては、適宜図6を参照する。また、実施の形態2では、分類装置101を動作させることによって、分類方法が実施される。よって、実施の形態2における分類方法の説明は、以下の分類装置101の動作説明に代える。
【0064】
図7に示すように、最初に、スコア算出部60は、テストデータ格納部80からテストデータを取得する(ステップB1)。
【0065】
次に、スコア算出部60は、スコア関数格納部90からスコア関数を取得し、取得したスコア関数に、ステップB1で取得したテストデータを入力して、スコアを算出する(ステップB2)。
【0066】
次に、分類部70は、ステップB2によって算出されたスコアの値に基づいて、テストデータを2クラス、例えば、正例又は負例に分類する(ステップB3)。具体的には、分類部70は、スコアの値が閾値よりも大きい場合は、テストデータを正例に分類し、スコアの値が閾値以下の場合は、テストデータを負例に分類する。また、分類部70は、分類結果を、端末装置200に送信する。
【0067】
以上のように、実施の形態2によれば、実施の形態1でパラメータが更新されたスコア関数を用いて、テストデータを2クラスに分類することができる。このため、高い分類精度が得られることになる。
【0068】
[プログラム]
実施の形態2におけるプログラムとしては、コンピュータに、図7に示すステップB1~B3を実行させるプログラムが挙げられる。このプログラムをコンピュータにインストールし、実行することによって、実施の形態2における分類装置101と分類方法とを実現することができる。この場合、コンピュータのプロセッサは、スコア算出部60及び分類部70として機能し、処理を行なう。
【0069】
また、実施の形態2では、テストデータ格納部80及びスコア関数格納部90は、コンピュータに備えられたハードディスク等の記憶装置によって実現されていても良いし、別のコンピュータの記憶装置によって実現されていても良い。コンピュータとしては、汎用のPCの他に、スマートフォン、タブレット型端末装置が挙げられる。
【0070】
実施の形態2におけるプログラムは、複数のコンピュータによって構築されたコンピュータシステムによって実行されても良い。この場合は、例えば、各コンピュータが、それぞれ、スコア算出部60及び分類部70のいずれかとして機能しても良い。
【0071】
[物理構成]
ここで、実施の形態1又は2におけるプログラムを実行することによって、各装置を実現するコンピュータについて図8を用いて説明する。図8は、実施の形態1における学習装置及び実施の形態2における分類装置を実現するコンピュータの一例を示すブロック図である。
【0072】
図8に示すように、コンピュータ110は、CPU(Central Processing Unit)111と、メインメモリ112と、記憶装置113と、入力インターフェイス114と、表示コントローラ115と、データリーダ/ライタ116と、通信インターフェイス117とを備える。これらの各部は、バス121を介して、互いにデータ通信可能に接続される。
【0073】
また、コンピュータ110は、CPU111に加えて、又はCPU111に代えて、GPU(Graphics Processing Unit)、又はFPGA(Field-Programmable Gate Array)を備えていても良い。この態様では、GPU又はFPGAが、実施の形態におけるプログラムを実行することができる。
【0074】
CPU111は、記憶装置113に格納された、コード群で構成された実施の形態におけるプログラム(コード群)をメインメモリ112に展開し、プログラムを構成する各コードを所定順序で実行することにより、各種の演算を実施する。メインメモリ112は、典型的には、DRAM(Dynamic Random Access Memory)等の揮発性の記憶装置である。
【0075】
また、実施の形態におけるプログラムは、コンピュータ読み取り可能な記録媒体120に格納された状態で提供される。なお、本実施の形態におけるプログラムは、通信インターフェイス117を介して接続されたインターネット上で流通するものであっても良い。
【0076】
また、記憶装置113の具体例としては、ハードディスクドライブの他、フラッシュメモリ等の半導体記憶装置が挙げられる。入力インターフェイス114は、CPU111と、キーボード及びマウスといった入力機器118との間のデータ伝送を仲介する。表示コントローラ115は、ディスプレイ装置119と接続され、ディスプレイ装置119での表示を制御する。
【0077】
データリーダ/ライタ116は、CPU111と記録媒体120との間のデータ伝送を仲介し、記録媒体120からのプログラムの読み出し、及びコンピュータ110における処理結果の記録媒体120への書き込みを実行する。通信インターフェイス117は、CPU111と、他のコンピュータとの間のデータ伝送を仲介する。
【0078】
また、記録媒体120の具体例としては、CF(Compact Flash(登録商標))及びSD(Secure Digital)等の汎用的な半導体記憶デバイス、フレキシブルディスク(Flexible Disk)等の磁気記録媒体、又はCD-ROM(Compact Disk Read Only Memory)などの光学記録媒体が挙げられる。
【0079】
実施の形態1における学習装置100及び実施の形態2における分類装置101は、プログラムがインストールされたコンピュータではなく、各部に対応したハードウェア、例えば、回路を用いることによっても実現可能である。更に、実施の形態1における学習装置100及び実施の形態2における分類装置101は、一部がプログラムで実現され、残りの部分がハードウェアで実現されていてもよい。
【0080】
なお、本実施の形態では、最小スコアと最大スコアによって限定されるペア群を対象としたが、最大スコア±α、あるいは最小スコア±αの範囲内にあるペア群を対象としても、本発明は有効である。ただし、αは正の実数である。
【0081】
上述した実施の形態の一部又は全部は、以下に記載する(付記1)~(付記12)によって表現することができるが、以下の記載に限定されるものではない。
【0082】
(付記1)
2クラス分類のためのスコア関数を機械学習するための装置であって、
正例又は負例のラベルが付与された複数の訓練データを前記スコア関数に入力して、スコアを算出する、スコア算出部と、
正例のラベルが付与された訓練データについて算出されたスコアのうち、最小のものを、最小スコアとして特定し、負例のラベルが付与された訓練データについて算出された前記スコアのうち、最大のものを、最大スコアとして特定する、スコア特定部と、
正例のラベルが付与された訓練データ及び負例のラベルが付与された訓練データそれぞれから、算出された前記スコアが前記最小スコア以上前記最大スコア以下となっている訓練データを選択し、選択した前記訓練データによって正例と負例とのペア群を作成する、ペア作成部と、
作成された前記ペア群について、負例のラベルが付与された訓練データのスコアよりも正例のラベルが付与された訓練データのスコアの方が大きいペアの数が増えるように、前記スコア関数のパラメータを機械学習によって更新する、最適化部と、
を備えている、
ことを特徴とする学習装置。
【0083】
(付記2)
付記1に記載の学習装置であって、
前記ペア作成部が、正例のラベルが付与された訓練データ及び負例のラベルが付与された訓練データそれぞれから、算出された前記スコアが前記最小スコア以上前記最大スコア以下となっている訓練データを、ランダムに、設定数だけ選択し、選択した前記訓練データによって、設定数の前記ペアで構成された前記ペア群を作成する、
ことを特徴とする学習装置。
【0084】
(付記3)
付記1に記載の学習装置であって、
前記ペア作成部が、作成した前記ペアの中から、正例のラベルが付与された訓練データのスコアが、負例のラベルが付与された訓練データのスコアよりも小さいペアを選択し、更に選択したペアの中から、ランダムに設定数のペアを最終的に選択し、最終的に選択した前記ペアで構成された前記ペア群を作成する、
ことを特徴とする学習装置。
【0085】
(付記4)
2クラス分類のためのスコア関数を機械学習するための方法であって、
正例又は負例のラベルが付与された複数の訓練データを前記スコア関数に入力して、スコアを算出する、スコア算出ステップと、
正例のラベルが付与された訓練データについて算出されたスコアのうち、最小のものを、最小スコアとして特定し、負例のラベルが付与された訓練データについて算出された前記スコアのうち、最大のものを、最大スコアとして特定する、スコア特定ステップと、
正例のラベルが付与された訓練データ及び負例のラベルが付与された訓練データそれぞれから、算出された前記スコアが前記最小スコア以上前記最大スコア以下となっている訓練データを選択し、選択した前記訓練データによって正例と負例とのペア群を作成する、ペア作成ステップと、
作成された前記ペア群について、負例のラベルが付与された訓練データのスコアよりも正例のラベルが付与された訓練データのスコアの方が大きいペアの数が増えるように、前記スコア関数のパラメータを機械学習によって更新する、最適化ステップと、
を有する、
ことを特徴とする学習済みモデル生成方法。
【0086】
(付記5)
付記4に記載の学習済みモデル生成方法であって、
前記ペア作成ステップにおいて、正例のラベルが付与された訓練データ及び負例のラベルが付与された訓練データそれぞれから、算出された前記スコアが前記最小スコア以上前記最大スコア以下となっている訓練データを、ランダムに、設定数だけ選択し、選択した前記訓練データによって、設定数の前記ペアで構成された前記ペア群を作成する、
ことを特徴とする学習済みモデル生成方法。
【0087】
(付記6)
付記4に記載の学習済みモデル生成方法であって、
前記ペア作成ステップにおいて、作成した前記ペアの中から、正例のラベルが付与された訓練データのスコアが、負例のラベルが付与された訓練データのスコアよりも小さいペアを選択し、更に選択したペアの中から、ランダムに設定数のペアを最終的に選択し、最終的に選択した前記ペアで構成された前記ペア群を作成する、
ことを特徴とする学習済みモデル生成方法。
【0088】
(付記7)
コンピュータに2クラス分類のためのスコア関数を機械学習させるためのプログラムであって、
前記コンピュータに、
正例又は負例のラベルが付与された複数の訓練データを前記スコア関数に入力して、スコアを算出する、スコア算出ステップと、
正例のラベルが付与された訓練データについて算出されたスコアのうち、最小のものを、最小スコアとして特定し、負例のラベルが付与された訓練データについて算出された前記スコアのうち、最大のものを、最大スコアとして特定する、スコア特定ステップと、
正例のラベルが付与された訓練データ及び負例のラベルが付与された訓練データそれぞれから、算出された前記スコアが前記最小スコア以上前記最大スコア以下となっている訓練データを選択し、選択した前記訓練データによって正例と負例とのペア群を作成する、ペア作成ステップと、
作成された前記ペア群について、負例のラベルが付与された訓練データのスコアよりも正例のラベルが付与された訓練データのスコアの方が大きいペアの数が増えるように、前記スコア関数のパラメータを機械学習によって更新する、最適化ステップと、
を実行させる、プログラム。
【0089】
(付記8)
付記7に記載のプログラムであって、
前記ペア作成ステップにおいて、正例のラベルが付与された訓練データ及び負例のラベルが付与された訓練データそれぞれから、算出された前記スコアが前記最小スコア以上前記最大スコア以下となっている訓練データを、ランダムに、設定数だけ選択し、選択した前記訓練データによって、設定数の前記ペアで構成された前記ペア群を作成する、
ことを特徴とするプログラム
【0090】
(付記9)
付記7に記載のプログラムであって、
前記ペア作成ステップにおいて、作成した前記ペアの中から、正例のラベルが付与された訓練データのスコアが、負例のラベルが付与された訓練データのスコアよりも小さいペアを選択し、更に選択したペアの中から、ランダムに設定数のペアを最終的に選択し、最終的に選択した前記ペアで構成された前記ペア群を作成する、
ことを特徴とするプログラム
【0091】
(付記10)
テストデータをスコア関数に入力して、スコアを算出する、スコア算出部と、
算出された前記スコアの値に基づいて、前記テストデータを2クラスに分類する、分類部と、を備え、
前記スコア関数は、
正例のラベルが付与された訓練データについて算出されたスコアのうち、最小のものを、最小スコアとし、負例のラベルが付与された訓練データについて算出された前記スコアのうち、最大のものを、最大スコアとし、
正例のラベルが付与された訓練データ及び負例のラベルが付与された訓練データそれぞれから、算出された前記スコアが前記最小スコア以上前記最大スコア以下となっている訓練データを選択し、選択した前記訓練データによって正例と負例とのペア群を作成し、
作成した前記ペア群について、負例のラベルが付与された訓練データのスコアよりも正例のラベルが付与された訓練データのスコアが大きいペアの数が増えるように、前記スコア関数のパラメータを機械学習することによって得られた関数である、
ことを特徴とする分類装置。
【0092】
(付記11)
テストデータをスコア関数に入力して、スコアを算出する、スコア算出ステップと、
算出された前記スコアの値に基づいて、前記テストデータを2クラスに分類する、分類ステップと、を有し、
前記スコア関数は、
正例のラベルが付与された訓練データについて算出されたスコアのうち、最小のものを、最小スコアとし、負例のラベルが付与された訓練データについて算出された前記スコアのうち、最大のものを、最大スコアとし、
正例のラベルが付与された訓練データ及び負例のラベルが付与された訓練データそれぞれから、算出された前記スコアが前記最小スコア以上前記最大スコア以下となっている訓練データを選択し、選択した前記訓練データによって正例と負例とのペア群を作成し、
作成した前記ペア群について、負例のラベルが付与された訓練データのスコアよりも正例のラベルが付与された訓練データのスコアが大きいペアの数が増えるように、前記スコア関数のパラメータを機械学習することによって得られた関数である、
ことを特徴とする分類方法。
【0093】
(付記12)
コンピュータに、
テストデータをスコア関数に入力して、スコアを算出する、スコア算出ステップと、
算出された前記スコアの値に基づいて、前記テストデータを2クラスに分類する、分類ステップと、
を実行させ、
前記スコア関数は、
正例のラベルが付与された訓練データについて算出されたスコアのうち、最小のものを、最小スコアとし、負例のラベルが付与された訓練データについて算出された前記スコアのうち、最大のものを、最大スコアとし、
正例のラベルが付与された訓練データ及び負例のラベルが付与された訓練データそれぞれから、算出された前記スコアが前記最小スコア以上前記最大スコア以下となっている訓練データを選択し、選択した前記訓練データによって正例と負例とのペア群を作成し、
作成した前記ペア群について、負例のラベルが付与された訓練データのスコアよりも正例のラベルが付与された訓練データのスコアが大きいペアの数が増えるように、前記スコア関数のパラメータを機械学習することによって得られた関数である、
プログラム

【0094】
以上、実施の形態を参照して本願発明を説明したが、本願発明は上記実施の形態に限定されるものではない。本願発明の構成や詳細には、本願発明のスコープ内で当業者が理解し得る様々な変更をすることができる。
【産業上の利用可能性】
【0095】
以上のように本発明によれば、2クラス分類に用いるスコア関数のパラメータの機械学習において、機械学習にかかる時間の短縮化を図ることができる。本発明は、2クラス分類が実行される各種システムに有用である。
【符号の説明】
【0096】
10 スコア算出部
20 スコア特定部
30 ペア作成部
40 最適化部
50 訓練データ格納部
60 スコア算出部
70 分類部
80 テストデータ格納部
90 スコア関数格納部
100 学習装置
101 分類装置
110 コンピュータ
111 CPU
112 メインメモリ
113 記憶装置
114 入力インターフェイス
115 表示コントローラ
116 データリーダ/ライタ
117 通信インターフェイス
118 入力機器
119 ディスプレイ装置
120 記録媒体
121 バス
200 端末装置
図1
図2
図3
図4
図5
図6
図7
図8
図9
図10