(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2022-11-08
(45)【発行日】2022-11-16
(54)【発明の名称】学習プログラム、予測プログラム、学習方法、予測方法、学習装置および予測装置
(51)【国際特許分類】
G06N 20/00 20190101AFI20221109BHJP
【FI】
G06N20/00 130
(21)【出願番号】P 2018174275
(22)【出願日】2018-09-18
【審査請求日】2021-06-10
(73)【特許権者】
【識別番号】000005223
【氏名又は名称】富士通株式会社
(74)【代理人】
【識別番号】110002147
【氏名又は名称】弁理士法人酒井国際特許事務所
(72)【発明者】
【氏名】岩下 洋哲
【審査官】杉浦 孝光
(56)【参考文献】
【文献】特開2001-229026(JP,A)
(58)【調査した分野】(Int.Cl.,DB名)
G06N 3/00-99/00
(57)【特許請求の範囲】
【請求項1】
それぞれに説明変数および目的変数を有する訓練データから、前記説明変数の組み合わせにより構成され、前記訓練データのいずれかを分類し、
リテラルの数が所定の値以下である条件を満たす仮説を列挙した仮説集合を生成し、
前記訓練データそれぞれに対する、前記仮説集合に含まれる複数の仮説それぞれの成立有無に基づき、前記複数の仮説それぞれの重みを算出する学習を行う、
処理をコンピュータに実行させることを特徴とする学習プログラム。
【請求項2】
前記
条件は、前記仮説により分類される訓練データの数または割合が所定の値以上
を含む、
ことを特徴とする請求項
1に記載の学習プログラム。
【請求項3】
前記生成する処理は、前記説明変数の組み合わせの中から前記
条件が成立する組み合わせのみを前記仮説として列挙する、
ことを特徴とする請求項
1または2に記載の学習プログラム。
【請求項4】
前記生成する処理は、前記説明変数の組み合わせの中から前記
条件が成立する組み合わせのうち、リテラルの数が極小となる組み合わせのみを前記仮説として列挙する、
ことを特徴とする請求項1乃至
3のいずれか一項に記載の学習プログラム。
【請求項5】
予測対象の入力データを受け付け、
それぞれに説明変数および目的変数を有する訓練データから、前記説明変数の組み合わせにより構成され、前記訓練データのいずれかを分類し、
リテラルの数が所定の値以下である条件を満たす仮説を列挙した仮説集合と、前記訓練データそれぞれに対する、前記仮説集合に含まれる複数の仮説それぞれの成立有無に基づき学習した、前記複数の仮説それぞれの重みを用いて、前記入力データの予測結果を生成する処理をコンピュータに実行させ、
前記予測結果は、予測の確度を示す予測スコア、および、当該予測結果に対応付けられた仮説を含む、
ことを特徴とする予測プログラム。
【請求項6】
それぞれに説明変数および目的変数を有する訓練データから、前記説明変数の組み合わせにより構成され、前記訓練データのいずれかを分類し、
リテラルの数が所定の値以下である条件を満たす仮説を列挙した仮説集合を生成し、
前記訓練データそれぞれに対する、前記仮説集合に含まれる複数の仮説それぞれの成立有無に基づき、前記複数の仮説それぞれの重みを算出する学習を行う、
処理をコンピュータが実行することを特徴とする学習方法。
【請求項7】
予測対象の入力データを受け付け、
それぞれに説明変数および目的変数を有する訓練データから、前記説明変数の組み合わせにより構成され、前記訓練データのいずれかを分類し、
リテラルの数が所定の値以下である条件を満たす仮説を列挙した仮説集合と、前記訓練データそれぞれに対する、前記仮説集合に含まれる複数の仮説それぞれの成立有無に基づき学習した、前記複数の仮説それぞれの重みを用いて、前記入力データの予測結果を生成する処理をコンピュータが実行し、
前記予測結果は、予測の確度を示す予測スコア、および、当該予測結果に対応付けられた仮説を含む、
ことを特徴とする予測方法。
【請求項8】
それぞれに説明変数および目的変数を有する訓練データから、前記説明変数の組み合わせにより構成され、前記訓練データのいずれかを分類し、
リテラルの数が所定の値以下である条件を満たす仮説を列挙した仮説集合を生成する生成部と、
前記訓練データそれぞれに対する、前記仮説集合に含まれる複数の仮説それぞれの成立有無に基づき、前記複数の仮説それぞれの重みを算出する学習を行う学習部と、
を有することを特徴とする学習装置。
【請求項9】
予測対象の入力データを受け付ける入力部と、
それぞれに説明変数および目的変数を有する訓練データから、前記説明変数の組み合わせにより構成され、前記訓練データのいずれかを分類し、
リテラルの数が所定の値以下である条件を満たす仮説を列挙した仮説集合と、前記訓練データそれぞれに対する、前記仮説集合に含まれる複数の仮説それぞれの成立有無に基づき学習した、前記複数の仮説それぞれの重みを用いて、前記入力データの予測結果を生成する予測部と、を有し、
前記予測結果は、予測の確度を示す予測スコア、および、当該予測結果に対応付けられた仮説を含む、
ことを特徴とする予測装置。
【発明の詳細な説明】
【技術分野】
【0001】
本発明の実施形態は、学習プログラム、予測プログラム、学習方法、予測方法、学習装置および予測装置に関する。
【背景技術】
【0002】
従来、離散データの非線形分類に用いられる技術として、教師つきの訓練データによってデータを分類するために用いる分類ルール、すなわち決定木を機械学習し、学習した決定木を用いて入力データの分類結果を予測する技術がある。
【先行技術文献】
【非特許文献】
【0003】
【文献】L. Breiman,“RANDOM FORESTS”,Machine Learning, vol.45, pp. 5-32 (2001)
【文献】J.R. Quinlan,“Induction of Decision Trees”,Machine Learning, vol.1, pp. 81-106 (1986)
【発明の概要】
【発明が解決しようとする課題】
【0004】
機械学習の結果に含まれるそれぞれの「点」(例えば決定木における葉)に対し、機械学習で利用したルールが対応づいている場合は、人間が直接理解できる形、すなわち解釈性を持つ形で機械学習の結果を利用することができる。
【0005】
例えば、訓練データから決定木を生成した場合、それぞれの点の決定木による出力結果は、決定木を構成するルールと対応付けられており、判断の根拠を人間が理解することができる。このように、決定木は、予測モデル(予測結果を導くルール(根拠))を人間が理解しやすいことが特徴の一つである。
【0006】
特に医療の分野などにおいては、機械学習による予測の結果に含まれる「点」を導くルール自体だけでなく、当該予測、および、代替の予測の可能性や、代替の予測を導くルールを知りたい場合がある。また、出力された予測が、不十分なデータによる学習である場合は、その旨を知ることができることが望ましい。
【0007】
しかしながら、上記の従来技術における決定木を用いた予測では、特に、少ない説明変数の組み合わせで(決定木において根から葉に至る節点の数が少なく)対象の性質が説明できる場合に、訓練データ以外の点について予測の可能性や、代替の予測、代替の予測を導くルールなどが得られない場合がある。これは、決定木が、複数の可能性が存在する場合に、最も可能性が高いもの以外が除外され、かつ、複数のルールが相互に矛盾しない形で生成されることによる。
【0008】
ここで、上記の課題について、具体例を示して説明する。
図14は、訓練データの一例を示す説明図である。
【0009】
図14に示すように、訓練データ(P
1~P
4、N
1~N
3)は、データの性質を説明するA~Dの説明変数(予測に用いる情報)と、+または-へのClass(分類)を示す正解情報である目的変数(予測したい情報)とを含む。例えば、訓練データP
1~P
4は、目的変数A~Dそれぞれが0または1であり、+に分類されるデータである。同様に、訓練データN
1~N
3は、目的変数A~Dそれぞれが0または1であり、-に分類されるデータである。
【0010】
図15-1、
図15-2は、決定木の一例を示す説明図である。具体的には、
図15-1に示す決定木T
1、
図15-2に示す決定木T
2ともに、訓練データ(P
1~P
4、N
1~N
3)による学習で得られた決定木である。
【0011】
図15-1に示すように、決定木T
1は、訓練データ(P
1~P
4、N
1~N
3)に対し、分類精度100%で分類を行う。また、
図15-2に示すように、決定木T
2は、訓練データ(P
1~P
4、N
1~N
3)に対し、分類精度100%で分類を行う。このように、同じ訓練データ(P
1~P
4、N
1~N
3)に対しては、同品質(分類精度100%)の決定木T
1、T
2が複数する場合がある。
【0012】
そして、これらの決定木T1、T2は、訓練データ(P1~P4、N1~N3)に含まれていない未知の入力に対してそれぞれ異なる予測値を与える場合がある。
【0013】
図16は、決定木ごとの予測値を説明する説明図である。具体的には、
図16は、入力データ(IN
1、IN
2)、訓練データ(P
1~P
4、N
1~N
3)および決定木T
1、T
2について、4説明変数(A~D)のカルノー図例である。
【0014】
なお、
図16において、説明変数(1/0)については、オーバーライン(以下、「バー」と称する)の有無で表現している。例えばAは、A=1であり、AバーはA=0を示す。また、目的変数(+/-)については、網掛けで表現している。例えば、訓練データP
1~P
4、Cバーなどの網掛けは、目的変数が+を示す。また、訓練データN
1~N
3、CAなどの網掛けは、目的変数が-を示す。なお、これらの表現は、他の図面でも共通であるものとする。
【0015】
図16に示すように、訓練データ(P
1~P
4、N
1~N
3)に含まれていない入力データIN
1、IN
2について、決定木T
1と、決定木T
2とでは、予測値(分類結果)が異なることとなる。具体的には、入力データIN
1について、決定木T
1では、-と分類される。これに対し、決定木T
2では、入力データIN
1は+と分類される。
【0016】
図17は、決定木T
1によるルールを説明する説明図である。
図17に示すように、決定木T
1では、予測結果に含まれる各点に対応付けられるパス(=ルール)は1つである。これは、決定木というモデル自体が有する性質であり、訓練データ(P
1~P
4、N
1~N
3)に含まれる、または、含まれない、いずれの点についてもルールは1つである。
【0017】
例えば、ルールR1は、決定木T1において入力データIN2が+に分類されることを示す唯一のルールである。また、ルールR2は、決定木T1において入力データIN1が-に分類されることを示す唯一のルールである。
【0018】
したがって、各決定木において、各点に関する代替の予測(例えば+の予測の代替として-に予測)の可能性を評価することは困難である。また、決定木T1または決定木T2のどちらの決定木が妥当であるかは、限られた訓練データ(P1~P4、N1~N3)から決められることではない(どちらの可能性も排除できない)。
【0019】
1つの側面では、入力データに対する予測結果と、予測に関する根拠とを示すことを可能とする学習プログラム、予測プログラム、学習方法、予測方法、学習装置および予測装置を提供することを目的とする。
【課題を解決するための手段】
【0020】
1つの案では、学習プログラムは、生成する処理と、学習を行う処理とをコンピュータに実行させる。生成する処理は、それぞれに説明変数および目的変数を有する訓練データから、説明変数の組み合わせにより構成され、訓練データのいずれかを分類し、特定の条件を満たす仮説を列挙した仮説集合を生成する。学習を行う処理は、訓練データそれぞれに対する、仮説集合に含まれる複数の仮説それぞれの成立有無に基づき、複数の仮説それぞれの重みを算出する学習を行う。
【発明の効果】
【0021】
本発明の1実施態様によれば、入力データに対する予測結果と、予測に関する根拠とを示すことができる。
【図面の簡単な説明】
【0022】
【
図1】
図1は、実施形態にかかる情報処理装置の機能構成例を示すブロック図である。
【
図2】
図2は、実施形態にかかる情報処理装置の動作例を示すフローチャートである。
【
図3】
図3は、訓練データの一例を示す説明図である。
【
図4】
図4は、仮説の生成を説明する説明図である。
【
図5】
図5は、仮説の生成を説明する説明図である。
【
図6】
図6は、仮説の生成を説明する説明図である。
【
図7】
図7は、生成された仮説の一例を示す説明図である。
【
図8】
図8は、入力データに適合する仮説を説明する説明図である。
【
図9】
図9は、ロジスティック回帰による重み付けを説明する説明図である。
【
図11】
図11は、入力データに適合する仮説の一例を示す説明図である。
【
図12】
図12は、正例である確率の推定値を例示する説明図である。
【
図13】
図13は、実施形態にかかる情報処理装置のハードウエア構成例を説明する説明図である。
【
図15-1】
図15-1は、決定木の一例を示す説明図である。
【
図15-2】
図15-2は、決定木の一例を示す説明図である。
【
図16】
図16は、決定木ごとの予測値を説明する説明図である。
【
図17】
図17は、決定木によるルールを説明する説明図である。
【発明を実施するための形態】
【0023】
以下、図面を参照して、実施形態にかかる学習プログラム、予測プログラム、学習方法、予測方法、学習装置および予測装置を説明する。実施形態において同一の機能を有する構成には同一の符号を付し、重複する説明は省略する。なお、以下の実施形態で説明する学習プログラム、予測プログラム、学習方法、予測方法、学習装置および予測装置は、一例を示すに過ぎず、実施形態を限定するものではない。また、以下の各実施形態は、矛盾しない範囲内で適宜組みあわせてもよい。
【0024】
図1は、実施形態にかかる情報処理装置の機能構成例を示すブロック図である。
【0025】
図1に示すように、情報処理装置1は、入力部10、記憶部20、仮説生成部30、学習部40、予測部50および出力部60を有する。
【0026】
入力部10は、機械学習に関する訓練データ21や、予測対象となる入力データ22などの各種データの入力を受け付ける処理部である。入力部10は、入力を受け付けた訓練データ21や入力データ22を記憶部20に格納する。
【0027】
記憶部20は、例えば訓練データ21、入力データ22、仮説集合データ23、重みデータ24および結果データ25などの各種データを記憶する。
【0028】
仮説生成部30は、それぞれに説明変数および目的変数を有する訓練データ21から、説明変数の組み合わせにより構成される仮説(目的変数に応じた予測となることを説明するルール(根拠))を網羅的に探索する。
【0029】
次いで、仮説生成部30は、探索した仮説それぞれについて、訓練データ21の説明変数および目的変数をもとに、訓練データ21のいずれかを分類し、特定の条件を満たす仮説を特定する。ここで、特定の条件とは、仮説(説明変数の組み合わせ)が示すルールによって所定のクラスに分類される訓練データ21の数または割合が所定の値以上であることなどである。例えば、仮説生成部30は、探索した仮説について、その仮説により分類される訓練データ21の数または割合が所定の値以上であり、仮説による分類結果があるクラスに属することを一定以上のサンプル数かつ(または)一定以上のサンプル割合で説明しているものを特定する。つまり、仮説生成部30は、訓練データ21の目的変数に応じた予測となることを正しく説明している可能性のある仮説を特定する。
【0030】
次いで、仮説生成部30は、特定した仮説を仮説集合に加える。このようにして、仮説生成部30は、訓練データ21の目的変数に応じた予測となることを正しく説明している可能性のある仮説を仮説集合に列挙する。次いで、仮説生成部30は、仮説を列挙した仮説集合を示す仮説集合データ23を記憶部20に格納する。すなわち、仮説生成部30は、生成部の一例である。
【0031】
学習部40は、訓練データ21それぞれに対する、仮説集合データ23の仮説集合に含まれる複数の仮説それぞれの成立有無に基づき、複数の仮説それぞれの重みを算出する学習を行う。学習部40は、学習結果により得られた複数の仮説それぞれの重みを重みデータ24として記憶部20に格納する。このようにして得られた仮説集合データ23および重みデータ24が、予測結果を得るための予測モデルである。
【0032】
予測部50は、仮説集合データ23による仮説集合と、重みデータ24による複数の仮説の重み、すなわち予測モデルを用いて、予測対象である入力データ22の予測結果を生成する処理部である。
【0033】
具体的には、予測部50は、入力データ22の性質を説明する説明変数をもとに、仮説集合データ23による仮説集合の中から入力データ22に適合する仮説(説明変数の組み合わせが共通する仮説)を求める。なお、この適合する仮説に対応付けられた分類結果(目的変数)が入力データ22の予測結果を示す。次いで、予測部50は、適合する仮説における、重みデータ24が示す仮説における重みをもとに、予測の確度を示す予測スコアを求める。次いで、予測部50は、予測結果、予測の確度を示す予測スコア、および、予測結果と対応付けられた仮説を結果データ25として記憶部20に格納する。
【0034】
出力部60は、記憶部20に格納された結果データ25を読み出し、ディスプレイやファイルなどに出力する処理部である。これにより、情報処理装置1は、予測部50が予測した予測結果をディスプレイやファイルなどに出力する。
【0035】
このように、情報処理装置1は、学習装置および予測装置の一例である。なお、本実施形態では学習および予測を一つの情報処理装置1で統合して行う構成を例示するが、学習および予測については、別々の情報処理装置1で実現してもよい。
【0036】
次に、情報処理装置1の動作例を示しながら、上記の各機能部の処理を詳細に説明する。
図2は、実施形態にかかる情報処理装置1の動作例を示すフローチャートである。
【0037】
図2に示すように、情報処理装置1の動作は、予測モデルを生成する学習時の動作(S1)と、生成した予測モデルを予測対象の入力データ22に適用して予測結果を得る予測時の動作(S2)とがある。まず、学習時の動作(S1)について説明する。
【0038】
図2に示すように、処理が開始されると、入力部10は、訓練データ21の入力を受け付け(S11)、記憶部20に格納する。
【0039】
図3は、訓練データの一例を示す説明図である。訓練データ21は、複数の事例ごとの教師付きデータであり、データの性質を説明するA~Dの説明変数と、+または-への分類結果(正解情報)である目的変数とを含む。なお、以下では、
図3に示すように、
図14と同様の訓練データ(P
1~P
4、N
1~N
3)を例に説明を行う。
【0040】
例えば、医療の分野などにおいて、検査データから検査結果を分類する予測モデルを生成するための訓練データ(P1~P4、N1~N3)の場合、A~Dの説明変数は検査項目ごとの検査値などに対応する。また、目的変数は、陽性/陰性などの検査結果に対応する。
【0041】
次いで、仮説生成部30は、訓練データ(P1~P4、N1~N3)に含まれる説明変数について、それぞれとり得る値(使用しない=*、値=1、値=0)の組み合わせ、すなわち仮説を網羅的に列挙する(S12)。
【0042】
なお、組み合わせる説明変数の数は、所定の数以下とするように制限(条件)を設けてもよい。例えば、A~Dの4説明変数の場合、組み合わせる説明変数の数を2以下とする(4説明変数のうち「使用しない=*」とするものを少なくとも2つ組み合わせる)ように制限してもよい。これにより、組み合わせが増大することを事前に抑止できる。
【0043】
次いで、仮説生成部30は、S12で列挙した組み合わせから所定の組み合わせを選択する(S13)。次いで、仮説生成部30は、訓練データ(P1~P4、N1~N3)の説明変数および目的変数をもとに、選択した組み合わせが訓練データ(P1~P4、N1~N3)のいずれかを分類し、特定の条件を満たす有効な組み合わせであるか否かを判定する(S14)。
【0044】
図4は、仮説の生成を説明する説明図である。
図4では、A~Dの4説明変数の全てが「*」である組み合わせC01からCD(ABは「*」)である組み合わせC09が一例として示されている。
【0045】
図4に示すように、仮説生成部30は、訓練データ(P
1~P
4、N
1~N
3)の説明変数をもとに、組み合わせC01~C09それぞれの仮説(ルール)に該当する訓練データ(P
1~P
4、N
1~N
3)を列挙する。
【0046】
例えば、組み合わせC02のDバー(残り3説明変数は「使用しない=*」)のルールには、訓練データP2、N1、N2が該当する。この組み合わせC02のルール(Dバー)では、目的変数が+である訓練データ(P2)と、目的変数が-である訓練データ(N1、N2)とが混在している。したがって、組み合わせC02は、あるクラスに分類することを正しく説明する仮説としての可能性が低く、有効な組み合わせとは言えない。
【0047】
ここで、組み合わせC04のルール(Cバー)には、目的変数が+である訓練データ(P1、P3、P4)が該当する。すなわち、組み合わせC04は、+のクラスに分類される訓練データ(P1、P3、P4)の数または割合が所定の値以上であり、+のクラスに分類することを正しく説明するルールとしての可能性が高い。よって、仮説生成部30は、組み合わせC04(Cバー)を、+のクラスに分類する有効な組み合わせ(仮説)と判定する。同様に、仮説生成部30は、組み合わせC05、C06についても+のクラスに分類する有効な組み合わせ(仮説)と判定する。
【0048】
また、組み合わせC08のルール(CDバー)には、目的変数が-である訓練データ(N1、N2)が該当する。すなわち、組み合わせC08は、-のクラスに分類される訓練データ(N1、N2)の数または割合が所定の値以上であり、-のクラスに分類することを正しく説明するルールとしての可能性が高い。よって、仮説生成部30は、組み合わせC08(CDバー)を、-のクラスに分類する有効な組み合わせ(仮説)と判定する。
【0049】
有効な組み合わせと判定するための条件である、所定のクラスに分類される訓練データ(P1~P4、N1~N3)の数または割合は、任意に設定してもよい。例えば、訓練データにはノイズが混じる場合があることから、所定のクラス(例えば+)とは逆のクラス(例えば-)を所定数許容するように設定してもよい。
【0050】
一例として、訓練データ1つ分のノイズを許容する場合、組み合わせC03(D)については、+のクラスに分類する有効な組み合わせ(仮説)と判定される。同様に、組み合わせC07(C)については、-のクラスに分類する有効な組み合わせ(仮説)と判定される。
【0051】
図2に戻り、組み合わせが有効でない場合(S14:NO)、仮説生成部30は、選択した組み合わせを仮説集合に加えることなく、S17へ処理を進める。
【0052】
組み合わせが有効である場合(S14:YES)、仮説生成部30は、選択した組み合わせが仮説集合に含まれる他の仮説の特殊ケースになっているか否かを判定する(S15)。
【0053】
例えば、
図4における組み合わせC05のCバーDと、組み合わせC06のCバーDバーとは、組み合わせC04のCバーに新たなリテラルを付加して作られるものである。このような組み合わせC05、C06について、仮説生成部30は、組み合わせC04のCバーの特殊ケースになっているものと判定する。
【0054】
特殊ケースになっている場合(S15:YES)、仮説生成部30は、選択した組み合わせを仮説集合に加えることなく、S17へ処理を進める。
【0055】
図5は、仮説の生成を説明する説明図である。
図5に示すように、仮説生成部30は、Cバーの特殊ケースになっている組み合わせ(組み合わせC05、C06)は省略し、Cバーの組み合わせC04aを仮説集合として残すようにする。
【0056】
特殊ケースになっていない場合(S15:NO)、仮説生成部30は、選択した組み合わせを仮説集合データ23の仮説集合に加える(S16)。次いで、仮説生成部30は、S12で列挙した全ての組み合わせを選択済みであるか否かを判定する(S17)。未選択の組み合わせがある場合(S17:NO)、仮説生成部30はS13へ処理を戻す。
【0057】
このS13~S17の処理を繰り返すことで、仮説生成部30は、訓練データ21の目的変数に応じた予測となることを正しく説明している可能性のある仮説をもれなく仮説集合に列挙する。
【0058】
図6は、仮説の生成を説明する説明図であり、具体的には
図4、5の内容をカルノー図例で説明する図である。
【0059】
図6に示すように、仮説生成部30は、A(残り3説明変数は「使用しない=*」)の組み合わせ(S31)、Aバー(残り3説明変数は「使用しない=*」)の組み合わせ(S32)…の順に組み合わせを変更して有効な組み合わせを検討する(S31~S35…)。
【0060】
ここで、S33の(Cバー)の組み合わせでは、目的変数が+である訓練データ(P1、P3、P4)が該当する。すなわち、S33では、+のクラスに分類される訓練データ(P1、P3、P4)の数または割合が所定の値以上である。よって、S33の(Cバー)の組み合わせを+のクラスに分類する有効な組み合わせ(仮説)と判定する。なお、以下の処理では、(Cバー)にリテラルを加える組み合わせは除外する。
【0061】
次いで、仮説生成部30は、3説明変数を「使用しない=*」とする全ての組み合わせの検討後に、2説明変数を「使用しない=*」とする組み合わせの検討を開始する(S34)。ここで、S35の(AバーB)の組み合わせでは、目的変数が+である訓練データ(P1、P2)が該当する。すなわち、S35では、+のクラスに分類される訓練データ(P1、P2)の数または割合が所定の値以上である。よって、S35の(AバーB)の組み合わせを+のクラスに分類する有効な組み合わせ(仮説)と判定する。
【0062】
図7は、生成された仮説の一例を示す説明図である。
図7に示すように、訓練データ(P
1~P
4、N
1~N
3)からは、分類結果が+または-となる仮説H1~H11の仮説が生成され、仮説集合データ23として記憶部20に格納される。
【0063】
この仮説H1~H11のそれぞれは、訓練データ(P1~P4、N1~N3)の分類結果が+または-となることについて正しく説明していることを要件とする独立した仮説である。よって、仮説H2と、仮説H6のように、相互には矛盾した仮説が含まれる場合がある。
【0064】
また、訓練データ(P1~P4、N1~N3)に含まれていない入力データ(IN1、IN2、IN3)については、仮説H1~H11の中で適合する仮説から予測結果を得ることができる。
【0065】
図8は、入力データ(IN
1、IN
2、IN
3)に適合する仮説を説明する説明図である。
図8に示すように、入力データIN
1については、仮説H2のCDバー⇒-、仮説H6のBDバー⇒+、仮説H8のAバーB⇒+が適合する仮説である。また、入力データIN
2については、仮説H4のBバーD⇒+、仮説H5のBバーC⇒-、仮説H7のAバーD⇒+、仮説H9のAバーBバー⇒-が適合する仮説である。また、入力データIN
3については、仮説H1のCバー⇒+、仮説H7のAバーD⇒+、仮説H8のAバーB⇒+が適合する仮説である。
【0066】
図2に戻り、未選択の組み合わせがない場合(S17:YES)、学習部40は、訓練データ(P
1~P
4、N
1~N
3)それぞれに対する、仮説集合データ23の仮説集合に含まれる各仮説(H1~H11)の成立有無に基づき、各仮説(H1~H11)の重みを算出する(S18)。次いで、学習部40は、算出結果を重みデータ24として記憶部20に格納する。
【0067】
学習部40における重み算出は、例えば次の3つの手法のいずれであってもよい。
・どのルール(H1~H11)も重み1(ルールの数による多数決)とする。
・ルール(H1~H11)を支持(該当)する訓練データ(P1~P4、N1~N3)の数に応じた重みとする。
・訓練データ(P1~P4、N1~N3)を適用したロジスティック回帰による重み付けを行う。
【0068】
図9は、ロジスティック回帰による重み付けを説明する説明図である。ロジスティック回帰では、
図9に示すように、モデル式に訓練データ(P
1~P
4、N
1~N
3)適用し、仮説H1~H11に関する重み(β
1~β
11)を求める。
【0069】
ここで、学習部40は、ロジスティック回帰などで得られた各仮説(H1~H11)の重みに応じて、仮説の選別を行ってもよい。
【0070】
図10は、仮説の選別を説明する説明図である。
図10に示すように、学習部40は、仮説H1~H11の重み(β
1~β
11)をもとに、重みが所定値以上であり、予測結果に大きな影響を与える主要な仮説を選別する。図示例では、0ではい重みを有する、Cバー、CDバー、BバーDバー、AバーB、ACの5つの仮説H1~3、H8、H11を主要な仮説として選別している。
【0071】
図2に戻り、予測時(S2)の動作について説明する。S2が開始されると、入力部10は、予測対象の入力データ22を受け付けて記憶部20に格納する(S21)。
【0072】
次いで、予測部50は、入力データ22の性質を説明する説明変数をもとに、仮説集合データ23による仮説集合の中から入力データ22に適合する仮説を特定する(S22)。次いで、予測部50は、重みデータ24を参照し、適合する仮説の重みをもとに、予測の確度を示す予測スコアを求める。次いで、予測部50は、入力データ22に適合する仮説に対応付けられた予測結果、予測スコア、および、入力データ22に適合する仮説などを結果データ25として記憶部20に格納する。次いで、出力部60は、結果データ25を参照することで、入力データ22の予測結果と予測に関連する仮説を示す情報(予測スコア、入力データ22に適合する仮説)をディスプレイやファイルなどに出力する(S23)。
【0073】
図11は、入力データ(IN
1、IN
2、IN
3)に適合する仮説を説明する説明図である。
【0074】
図11に示すように、入力データIN
1については、仮説H2のCDバー⇒-0.04、仮説H8のAバーB⇒+0.50が適合する仮説である。したがって、重み0.50を持つ仮説H8の「AバーB⇒+」により、正例と推定される。ただし、仮説H2の「CDバー⇒-」(重み0.04)もあることから、仮説H2が正しかった場合に、この点が負例である可能性も残っていることを示唆している。
【0075】
また、入力データIN2については、主要な仮説が存在しない。すなわち、訓練データ21のセットは、入力データIN2に関する推定を行うには十分ではない。
【0076】
また、入力データIN3については、仮説H1のCバー⇒+1.46、仮説H8のAバーB⇒+0.50が適合する仮説である。したがって、重み1.46を持つ仮説H1の「Cバー⇒+」と、重み0.50を持つ仮説H8の「AバーB⇒+」により、どちらにしても正例と推定される。また、訓練データ21のセットでは、入力データIN3が負例であると推定する根拠は観測されていない。
【0077】
このように、情報処理装置1では、訓練データ(P1~P4、N1~N3)以外の点について予測の可能性や、代替の予測、代替の予測を導くルールなどを知ることができる。
【0078】
図12は、正例である確率の推定値を例示する説明図である。
図12に示すように、予測部50は、訓練データ(P
1~P
4、N
1~N
3)より得られた仮説集合データ23、重みデータ24をもとに、各組み合わせについて正例である確率の推定値(P)を求めてもよい。具体的には、L1正規化(λ=0.5)などの条件で、正例である確率の推定値(P:0.5を正例/負例を半々とする)を求めてもよい。
【0079】
以上のように、情報処理装置1は、仮説生成部30と、学習部40とを有する。仮説生成部30は、それぞれに説明変数および目的変数を有する訓練データ(P1~P4、N1~N3)から、説明変数の組み合わせにより構成され、訓練データのいずれかを分類し、特定の条件を満たす仮説(H1~H11)を列挙した仮説集合を生成する。学習部40は、訓練データ(P1~P4、N1~N3)それぞれに対する、仮説集合に含まれる複数の仮説(H1~H11)それぞれの成立有無に基づき、複数の仮説それぞれの重みを算出する学習を行う。
【0080】
これにより、情報処理装置1は、予測対象の入力データ(IN1、IN2)より、予測の確度を示す予測スコア、および、予測結果に対応付けられた仮説を含む予測結果を生成する予測モデルを得ることができる。したがって、情報処理装置1は、適用フェーズ(S2)において、予測対象の入力データ(IN1、IN2)に対し、生成した予測モデルを適用することで、予測の確度を示す予測スコア、および、予測結果に対応付けられた仮説、すなわち予測に関する根拠を含む予測結果を示すことができる。
【0081】
また、仮説集合の生成に関する特定の条件は、リテラルの数が所定の値以下である。これにより、情報処理装置1では、学習の汎化性を高めることができる。
【0082】
例えば、多くの機械学習技術は、学習対象における各事象の性質がそれぞれ少数の説明変数(特徴量)で説明できることを利用している。多くの説明変数を使った説明は、訓練データ個別の状況に特化したものとなるため、学習結果の汎用性が失われる(過学習と呼ばれる状態)。一つのリテラルは、ある説明変数の値が1(肯定)または0(否定)であることに対応しているため、リテラルの数が所定の値以下である条件は、組み合わせる説明変数を所定の数以下に制限することになり、学習の汎化性を高める効果がある。
【0083】
また、仮説集合の生成に関する特定の条件は、仮説により分類される訓練データの数または割合が所定の値以上である。これにより、情報処理装置1では、訓練データに含まれるノイズに対して頑健に仮説を生成できる。
【0084】
例えば、訓練データにはノイズ(説明変数または目的変数の値に誤りを含むもの)が含まれることがある。ノイズを考慮しない場合には、一つ以上の訓練データを含みその全てが正例または負例となるような分類を仮説とすることができる。
【0085】
これに対し、一定数のノイズがあることを仮定する場合、ただ一つの訓練データから導かれる仮説は、ノイズによる無意味な仮説かもしれない。ただし、一定数以上の訓練データがあれば、それがノイズばかりである可能性は低いため、そこから導かれる仮説は信頼できると考えられる。また、本来のルールに対応している複数の訓練データがあっても、ノイズがあると100%の分類とはならず、仮説を見落としてしまう可能性がある。このような事態を避けるために、ある説明変数の組み合わせにおいて、分類される訓練データの数または割合が所定の値以上であれば仮説として許容してもよい。
【0086】
また、仮説生成部30は、説明変数の組み合わせの中から特定の条件が成立する組み合わせのみを仮説として列挙する。例えば、特定の条件を満たさない組み合わせも全て仮説として列挙しておき、次の段階において、不要な仮説の重みを0とするように処理する場合と比較すると、不要な仮説を列挙の段階で除去し、特定の条件が成立する組み合わせのみを仮説として列挙することで処理効率を改善することができる。また、処理効率が改善するだけでなく、学習結果、列挙した仮説(仮説集合)を人間が直接理解しやすくもなる。
【0087】
また、仮説生成部30は、説明変数の組み合わせの中から特定の条件が成立する組み合わせのうち、リテラルの数が極小となる組み合わせのみを仮説として列挙する。例えば、ある仮説が成立する場合、その仮説に新たなリテラルを付加して作られるものも(既に正例または負例で満たされた空間をさらに分割していることになるため)仮説の条件を満たす可能性が高い。そして、新たなリテラルを付加して作られた仮説は、同じ訓練データを同じような形で説明するものであり、リテラルを付加する前の仮説に対して意味が冗長なものとなる。したがって、リテラル数が極小の組み合わせは、最もカバー範囲が広く、範囲を代表する仮説として使用できる。また、人間が理解するためにも有用である。
【0088】
なお、図示した各装置の各構成要素は、必ずしも物理的に図示の如く構成されていることを要しない。すなわち、各装置の分散・統合の具体的形態は図示のものに限られず、その全部または一部を、各種の負荷や使用状況などに応じて、任意の単位で機能的または物理的に分散・統合して構成することができる。
【0089】
情報処理装置1で行われる各種処理機能は、CPU(またはMPU、MCU(Micro Controller Unit)等のマイクロ・コンピュータ)上で、その全部または任意の一部を実行するようにしてもよい。また、各種処理機能は、CPU(またはMPU、MCU等のマイクロ・コンピュータ)で解析実行されるプログラム上、またはワイヤードロジックによるハードウエア上で、その全部または任意の一部を実行するようにしてもよいことは言うまでもない。また、情報処理装置1で行われる各種処理機能は、クラウドコンピューティングにより、複数のコンピュータが協働して実行してもよい。
【0090】
ところで、上記の実施形態で説明した各種の処理は、予め用意されたプログラムをコンピュータで実行することで実現できる。そこで、以下では、上記の実施例と同様の機能を有するプログラムを実行するコンピュータ(ハードウエア)の一例を説明する。
図13は、実施形態にかかる情報処理装置1のハードウエア構成例を説明する説明図である。
【0091】
図13に示すように、情報処理装置1は、各種演算処理を実行するCPU101と、データ入力を受け付ける入力装置102と、モニタ103と、スピーカ104とを有する。また、情報処理装置1は、記憶媒体からプログラム等を読み取る媒体読取装置105と、各種装置と接続するためのインタフェース装置106と、有線または無線により外部機器と通信接続するための通信装置107とを有する。また、情報処理装置1は、各種情報を一時記憶するRAM108と、ハードディスク装置109とを有する。また、情報処理装置1内の各部(101~109)は、バス110に接続される。
【0092】
ハードディスク装置109には、上記の実施形態で説明した各種の処理を実行するためのプログラム111が記憶される。また、ハードディスク装置109には、プログラム111が参照する各種データ112(例えば訓練データ21、入力データ22、仮説集合データ23、重みデータ24および結果データ25)が記憶される。入力装置102は、例えば、情報処理装置1の操作者から操作情報の入力を受け付ける。モニタ103は、例えば、操作者が操作する各種画面を表示する。インタフェース装置106は、例えば印刷装置等が接続される。通信装置107は、LAN(Local Area Network)等の通信ネットワークと接続され、通信ネットワークを介した外部機器との間で各種情報をやりとりする。
【0093】
CPU101は、ハードディスク装置109に記憶されたプログラム111を読み出して、RAM108に展開して実行することで、入力部10、仮説生成部30、学習部40、予測部50および出力部60に関する各種の処理を行う。なお、プログラム111は、ハードディスク装置109に記憶されていなくてもよい。例えば、情報処理装置1が読み取り可能な記憶媒体に記憶されたプログラム111を、情報処理装置1が読み出して実行するようにしてもよい。情報処理装置1が読み取り可能な記憶媒体は、例えば、CD-ROMやDVDディスク、USB(Universal Serial Bus)メモリ等の可搬型記録媒体、フラッシュメモリ等の半導体メモリ、ハードディスクドライブ等が対応する。また、公衆回線、インターネット、LAN等に接続された装置にこのプログラム111を記憶させておき、情報処理装置1がこれらからプログラムを読み出して実行するようにしてもよい。
【0094】
以上の実施形態に関し、さらに以下の付記を開示する。
【0095】
(付記1)それぞれに説明変数および目的変数を有する訓練データから、前記説明変数の組み合わせにより構成され、前記訓練データのいずれかを分類し、特定の条件を満たす仮説を列挙した仮説集合を生成し、
前記訓練データそれぞれに対する、前記仮説集合に含まれる複数の仮説それぞれの成立有無に基づき、前記複数の仮説それぞれの重みを算出する学習を行う、
処理をコンピュータに実行させることを特徴とする学習プログラム。
【0096】
(付記2)前記特定の条件は、リテラルの数が所定の値以下である、
ことを特徴とする付記1に記載の学習プログラム。
【0097】
(付記3)前記特定の条件は、前記仮説により分類される訓練データの数または割合が所定の値以上である、
ことを特徴とする付記1または2に記載の学習プログラム。
【0098】
(付記4)前記生成する処理は、前記説明変数の組み合わせの中から前記特定の条件が成立する組み合わせのみを前記仮説として列挙する、
ことを特徴とする付記1乃至3のいずれか一に記載の学習プログラム。
【0099】
(付記5)前記生成する処理は、前記説明変数の組み合わせの中から前記特定の条件が成立する組み合わせのうち、リテラルの数が極小となる組み合わせのみを前記仮説として列挙する、
ことを特徴とする付記1乃至4のいずれか一に記載の学習プログラム。
【0100】
(付記6)予測対象の入力データを受け付け、
それぞれに説明変数および目的変数を有する訓練データから、前記説明変数の組み合わせにより構成され、前記訓練データのいずれかを分類し、特定の条件を満たす仮説を列挙した仮説集合と、前記訓練データそれぞれに対する、前記仮説集合に含まれる複数の仮説それぞれの成立有無に基づき学習した、前記複数の仮説それぞれの重みを用いて、前記入力データの予測結果を生成する処理をコンピュータに実行させ、
前記予測結果は、予測の確度を示す予測スコア、および、当該予測結果に対応付けられた仮説を含む、
ことを特徴とする予測プログラム。
【0101】
(付記7)それぞれに説明変数および目的変数を有する訓練データから、前記説明変数の組み合わせにより構成され、前記訓練データのいずれかを分類し、特定の条件を満たす仮説を列挙した仮説集合を生成し、
前記訓練データそれぞれに対する、前記仮説集合に含まれる複数の仮説それぞれの成立有無に基づき、前記複数の仮説それぞれの重みを算出する学習を行う、
処理をコンピュータが実行することを特徴とする学習方法。
【0102】
(付記8)前記特定の条件は、リテラルの数が所定の値以下である、
ことを特徴とする付記7に記載の学習方法。
【0103】
(付記9)前記特定の条件は、前記仮説により分類される訓練データの数または割合が所定の値以上である、
ことを特徴とする付記7または8に記載の学習方法。
【0104】
(付記10)前記生成する処理は、前記説明変数の組み合わせの中から前記特定の条件が成立する組み合わせのみを前記仮説として列挙する、
ことを特徴とする付記7乃至9のいずれか一に記載の学習方法。
【0105】
(付記11)前記生成する処理は、前記説明変数の組み合わせの中から前記特定の条件が成立する組み合わせのうち、リテラルの数が極小となる組み合わせのみを前記仮説として列挙する、
ことを特徴とする付記7乃至10のいずれか一に記載の学習方法。
【0106】
(付記12)予測対象の入力データを受け付け、
それぞれに説明変数および目的変数を有する訓練データから、前記説明変数の組み合わせにより構成され、前記訓練データのいずれかを分類し、特定の条件を満たす仮説を列挙した仮説集合と、前記訓練データそれぞれに対する、前記仮説集合に含まれる複数の仮説それぞれの成立有無に基づき学習した、前記複数の仮説それぞれの重みを用いて、前記入力データの予測結果を生成する処理をコンピュータが実行し、
前記予測結果は、予測の確度を示す予測スコア、および、当該予測結果に対応付けられた仮説を含む、
ことを特徴とする予測方法。
【0107】
(付記13)それぞれに説明変数および目的変数を有する訓練データから、前記説明変数の組み合わせにより構成され、前記訓練データのいずれかを分類し、特定の条件を満たす仮説を列挙した仮説集合を生成する生成部と、
前記訓練データそれぞれに対する、前記仮説集合に含まれる複数の仮説それぞれの成立有無に基づき、前記複数の仮説それぞれの重みを算出する学習を行う学習部と、
を有することを特徴とする学習装置。
【0108】
(付記14)前記特定の条件は、リテラルの数が所定の値以下である、
ことを特徴とする付記13に記載の学習装置。
【0109】
(付記15)前記特定の条件は、前記仮説により分類される訓練データの数または割合が所定の値以上である、
ことを特徴とする付記13または14に記載の学習装置。
【0110】
(付記16)前記生成部は、前記説明変数の組み合わせの中から前記特定の条件が成立する組み合わせのみを前記仮説として列挙する、
ことを特徴とする付記13乃至15のいずれか一に記載の学習装置。
【0111】
(付記17)前記生成部は、前記説明変数の組み合わせの中から前記特定の条件が成立する組み合わせのうち、リテラルの数が極小となる組み合わせのみを前記仮説として列挙する、
ことを特徴とする付記13乃至16のいずれか一に記載の学習装置。
【0112】
(付記18)予測対象の入力データを受け付ける入力部と、
それぞれに説明変数および目的変数を有する訓練データから、前記説明変数の組み合わせにより構成され、前記訓練データのいずれかを分類し、特定の条件を満たす仮説を列挙した仮説集合と、前記訓練データそれぞれに対する、前記仮説集合に含まれる複数の仮説それぞれの成立有無に基づき学習した、前記複数の仮説それぞれの重みを用いて、前記入力データの予測結果を生成する予測部と、を有し、
前記予測結果は、予測の確度を示す予測スコア、および、当該予測結果に対応付けられた仮説を含む、
ことを特徴とする予測装置。
【符号の説明】
【0113】
1…情報処理装置
10…入力部
20…記憶部
21…訓練データ
22…入力データ
23…仮説集合データ
24…重みデータ
25…結果データ
30…仮説生成部
40…学習部
50…予測部
60…出力部
101…CPU
102…入力装置
103…モニタ
104…スピーカ
105…媒体読取装置
106…インタフェース装置
107…通信装置
108…RAM
109…ハードディスク装置
110…バス
111…プログラム
112…各種データ
C01~C09…組み合わせ
H1~H11…仮説
IN1~IN3…入力データ
P1~P4…訓練データ
N1~N3…訓練データ
R1、R2…ルール
T1、T2…決定木