(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2024-11-11
(45)【発行日】2024-11-19
(54)【発明の名称】情報処理装置、学習方法、および学習プログラム
(51)【国際特許分類】
G06N 20/00 20190101AFI20241112BHJP
G06N 5/045 20230101ALI20241112BHJP
【FI】
G06N20/00 130
G06N5/045
(21)【出願番号】P 2023527153
(86)(22)【出願日】2021-06-07
(86)【国際出願番号】 JP2021021561
(87)【国際公開番号】W WO2022259309
(87)【国際公開日】2022-12-15
【審査請求日】2023-12-05
(73)【特許権者】
【識別番号】000004237
【氏名又は名称】日本電気株式会社
(74)【代理人】
【識別番号】110000338
【氏名又は名称】弁理士法人 HARAKENZO WORLD PATENT & TRADEMARK
(72)【発明者】
【氏名】佐々木 耀一
(72)【発明者】
【氏名】岡嶋 穣
【審査官】千葉 久博
(56)【参考文献】
【文献】特開2001-229163(JP,A)
【文献】国際公開第2020/059136(WO,A1)
【文献】skoperules [online],Release 0.1.0,2018年02月13日,[検索日 2021.07.14], Internet: <URL: https://buildmedia.readthedocs.org/media/pdf/skope-rules/latest/skope-rules.pdf>
(58)【調査した分野】(Int.Cl.,DB名)
G06N 20/00
G06N 5/045
(57)【特許請求の範囲】
【請求項1】
条件と該条件を満たす場合の予測値とを組み合わせた決定ルールの集合である決定ルール集合から抽出された複数の前記決定ルールからなる決定リストに含まれる前記決定ルールのうち、訓練用例集合に含まれる訓練用例が前記条件を満たす上位K個(Kは2以上の自然数)の決定ルールの予測値を用いて予測結果を算出する予測手段と、
前記決定ルール集合から生成された複数の前記決定リストのそれぞれを対象として、前記訓練用例集合に含まれる各訓練用例について算出された前記予測結果に基づいて、出力すべき前記決定リストを決定するリスト決定手段と、を備える情報処理装置。
【請求項2】
前記予測手段は、前記予測結果の誤差を示す誤差項を含む目的関数の値を、前記決定リストの何れの位置に前記決定ルール集合に含まれる何れの決定ルールが位置するかを示す変数を用いて表現される前記決定リストを用いて算出し、
前記リスト決定手段は、算出された前記目的関数の値に基づいて前記変数を更新する処理を、前記目的関数の値が所定の条件を満たすまで繰り返すことにより、出力すべき前記決定リストを決定する、請求項1に記載の情報処理装置。
【請求項3】
前記予測手段は、前記決定リストに含まれる前記決定ルールの数に関する制約項、または前記決定リストに含まれる前記決定ルールに含まれる前記条件の数に関する制約項を含む前記目的関数の値を算出する、請求項2に記載の情報処理装置。
【請求項4】
前記変数には、前記訓練用例集合に含まれる各訓練用例について、前記決定リストにおいて当該訓練用例が前記条件を満たす1番目からK番目までのK個の前記決定ルールを表す変数が含まれる、請求項2または3に記載の情報処理装置。
【請求項5】
前記Kの値の設定を受け付ける受付手段を備え、
前記予測手段は、前記受付手段が受け付けた前記Kの値を用いて前記予測結果を算出する、請求項1から4の何れか1項に記載の情報処理装置。
【請求項6】
少なくとも1つの決定木を含む決定木集合に含まれる前記決定木から、当該決定木の根から葉に至る経路上に出現する各条件を抽出して前記決定ルールを生成し、生成した決定ルールを含む前記決定ルール集合を生成する決定ルール集合生成手段を備える、請求項1から5の何れか1項に記載の情報処理装置。
【請求項7】
前記決定ルール集合に含まれる各決定ルールを順位づけする順位設定手段を備え、
前記予測手段は、前記順位が上位のK個の予測値を用いて前記予測結果を算出する、請求項1から3の何れか1項に記載の情報処理装置。
【請求項8】
予測の対象となる入力データを取得する入力データ取得手段
を備え、
前記予測手段は、前記リスト決定手段が決定した前記決定リストに含まれる前記決定ルールのうち、前記入力データが前記条件を満たす上位K個(Kは2以上の自然数)の決定ルールの予測値を用いて予測結果を算出する
、請求項1に記載の情報処理装置。
【請求項9】
少なくとも1つのプロセッサが、
条件と該条件を満たす場合の予測値とを組み合わせた決定ルールの集合である決定ルール集合から抽出された複数の前記決定ルールからなる決定リストに含まれる前記決定ルールのうち、訓練用例集合に含まれる訓練用例が前記条件を満たす上位K個(Kは2以上の自然数)の決定ルールの予測値を用いて予測結果を算出することと、
前記決定ルール集合から生成された複数の前記決定リストのそれぞれを対象として、前記訓練用例集合に含まれる各訓練用例について算出された前記予測結果に基づいて、出力すべき前記決定リストを決定することと、を含む学習方法。
【請求項10】
コンピュータを、
条件と該条件を満たす場合の予測値とを組み合わせた決定ルールの集合である決定ルール集合から抽出された複数の前記決定ルールからなる決定リストに含まれる前記決定ルールのうち、訓練用例集合に含まれる訓練用例が前記条件を満たす上位K個(Kは2以上の自然数)の決定ルールの予測値を用いて予測結果を算出する予測手段、および
前記決定ルール集合から生成された複数の前記決定リストのそれぞれを対象として、前記訓練用例集合に含まれる各訓練用例について算出された前記予測結果に基づいて、出力すべき前記決定リストを決定するリスト決定手段、として機能させる学習プログラム。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、機械学習により決定リストを出力する情報処理装置等に関する。
【背景技術】
【0002】
ディープニューラルネットワークやランダムフォレストなどのブラックボックスモデルを用いたAI(Artificial Intelligence)による予測においては、その予測の根拠を説明することができないという難点がある。
【0003】
このため、予測の根拠を説明可能なAIの一つとして、決定リストと呼ばれる予測モデルが再注目されている。決定リストは、下記の非特許文献1に記載されているように、複数のIf-Thenルールから構成されるリストである。決定リストを用いた予測においては、観測が条件(If-Thenルールの「If」)を満たすルールの中で、決定リストの最も上位に位置するルールを適用して予測が行われる。このため、予測結果は1つのルールで説明することができ、また、そのルールがどのように選ばれたのかが人間にもわかりやすい。このように、決定リストには、予測の根拠を説明可能であるという利点がある。
【先行技術文献】
【非特許文献】
【0004】
【文献】Cynthia Rudin, Seyda Ertekin、“Learning customized and optimized lists of rules with mathematical programming”、Math. Program. Comput.、2018年
【発明の概要】
【発明が解決しようとする課題】
【0005】
しかしながら、非特許文献1の技術は、ディープニューラルネットワークやランダムフォレストなどのブラックボックスモデルと比べると予測性能が劣るという問題点がある。本発明は、決定リストを用いた予測の予測性能を向上させることができる情報処理装置等を提供することを目的としている。
【課題を解決するための手段】
【0006】
本発明の一側面に係る情報処理装置は、条件と該条件を満たす場合の予測値とを組み合わせた決定ルールの集合である決定ルール集合から抽出された複数の決定ルールからなる決定リストに含まれる決定ルールのうち、訓練用例集合に含まれる訓練用例が前記条件を満たす上位K個(Kは2以上の自然数)の決定ルールの予測値を用いて予測結果を算出する予測手段と、前記決定ルール集合から生成された複数の決定リストのそれぞれを対象として、前記訓練用例集合に含まれる各訓練用例について算出された前記予測結果に基づいて、出力すべき決定リストを決定するリスト決定手段と、を備える。
【0007】
本発明の一側面に係る情報処理装置は、予測の対象となる入力データを取得する入力データ取得手段と、条件と該条件を満たす場合の予測値とを組み合わせた複数の決定ルールからなる決定リストに含まれる決定ルールのうち、前記入力データが前記条件を満たす上位K個(Kは2以上の自然数)の決定ルールの予測値を用いて予測結果を算出する予測手段と、を備える。
【0008】
本発明の一側面に係る学習方法は、少なくとも1つのプロセッサが、条件と該条件を満たす場合の予測値とを組み合わせた決定ルールの集合である決定ルール集合から抽出された複数の決定ルールからなる決定リストに含まれる決定ルールのうち、訓練用例集合に含まれる訓練用例が前記条件を満たす上位K個(Kは2以上の自然数)の決定ルールの予測値を用いて予測結果を算出することと、前記決定ルール集合から生成された複数の前記決定リストのそれぞれを対象として、前記訓練用例集合に含まれる各訓練用例について算出された前記予測結果に基づいて、出力すべき決定リストを決定することと、を含む。
【0009】
本発明の一側面に係る学習プログラムは、コンピュータを、条件と該条件を満たす場合の予測値とを組み合わせた決定ルールの集合である決定ルール集合から抽出された複数の決定ルールからなる決定リストに含まれる決定ルールのうち、訓練用例集合に含まれる訓練用例が前記条件を満たす上位K個(Kは2以上の自然数)の決定ルールの予測値を用いて予測結果を算出する予測手段、および前記決定ルール集合から生成された複数の前記決定リストのそれぞれを対象として、前記訓練用例集合に含まれる各訓練用例について算出された前記予測結果に基づいて、出力すべき決定リストを決定するリスト決定手段、として機能させる。
【発明の効果】
【0010】
本発明の一態様によれば、決定リストを用いた予測の予測性能を向上させることができる。
【図面の簡単な説明】
【0011】
【
図1】本発明の例示的実施形態1に係る情報処理装置の構成を示すブロック図である。
【
図2】本発明の例示的実施形態1に係る学習方法および予測方法の流れを示すフロー図である。
【
図3】本発明の例示的実施形態2に係る学習方法の概要を示す図である。
【
図4】本発明の例示的実施形態2に係る情報処理装置の構成例を示すブロック図である。
【
図5】上記情報処理装置が実行する学習方法の流れを示すフロー図である。
【
図6】本発明の例示的実施形態3に係る学習方法の概要を示す図である。
【
図7】本発明の例示的実施形態3に係る情報処理装置の構成例を示すブロック図である。
【
図8】上記情報処理装置が実行する学習方法の流れを示すフロー図である。
【
図9】本発明の例示的実施形態4に係る情報処理装置の構成例を示すブロック図である。
【
図10】参考例に係る情報処理装置の構成を示すブロック図である。
【
図11】本発明の各例示的実施形態および参考例に係る情報処理装置の各機能を実現するソフトウェアであるプログラムの命令を実行するコンピュータの一例を示す図である。
【発明を実施するための形態】
【0012】
〔例示的実施形態1〕
本発明の第1の例示的実施形態について、図面を参照して詳細に説明する。本例示的実施形態は、後述する例示的実施形態の基本となる形態である。
【0013】
(情報処理装置1の構成)
本例示的実施形態に係る情報処理装置1の構成について、
図1を参照して説明する。
図1は、情報処理装置1と情報処理装置2の構成を示すブロック図である。なお、情報処理装置2については後で説明する。図示のように、情報処理装置1は、予測部(予測手段)11とリスト決定部(リスト決定手段)12を備えている。
【0014】
予測部11は、条件と該条件を満たす場合の予測値とを組み合わせた決定ルールの集合である決定ルール集合から抽出された複数の決定ルールからなる決定リストに含まれる決定ルールのうち、訓練用例集合に含まれる訓練用例が前記条件を満たす上位K個(Kは2以上の自然数)の決定ルールの予測値を用いて予測結果を算出する。
【0015】
リスト決定部12は、前記決定ルール集合から生成された複数の決定リストのそれぞれを対象として、前記訓練用例集合に含まれる各訓練用例について算出された予測結果に基づいて、出力すべき決定リストを決定する。
【0016】
以上のように、本例示的実施形態に係る情報処理装置1においては、決定ルール集合から抽出された複数の決定ルールからなる決定リストに含まれる決定ルールのうち、訓練用例集合に含まれる訓練用例が条件を満たす上位K個(Kは2以上の自然数)の決定ルールの予測値を用いて予測結果を算出する予測部11と、決定ルール集合から生成された複数の決定リストのそれぞれを対象として、訓練用例集合に含まれる各訓練用例について算出された予測結果に基づいて、出力すべき決定リストを決定するリスト決定部12と、を備えるという構成が採用されている。
【0017】
上記の構成によれば、条件を満たす上位K個(Kは2以上の自然数)の予測値を用いて算出した予測結果に基づいて出力すべき決定リストを決定する。これにより、上位K個の予測値を用いて予測を行うために出力すべき決定リストを決定することができる。そして、このような決定リストによれば、予測リストの最上位の予測値のみを用いる従来手法と比べて予測性能の向上が期待できる。つまり、上記の構成によれば、決定リストを用いた予測の予測性能を向上させることができるという効果を奏する。
【0018】
(情報処理装置2の構成)
次に、情報処理装置2について説明する。
図1に示すように、情報処理装置2は、入力データ取得部(入力データ取得手段)21と予測部(予測手段)22を備えている。
【0019】
入力データ取得部21は、予測の対象となる入力データを取得する。
【0020】
予測部22は、条件と該条件を満たす場合の予測値とを組み合わせた複数の決定ルールからなる決定リストに含まれる決定ルールのうち、入力データが条件を満たす上位K個(Kは2以上の自然数)の決定ルールの予測値を用いて予測結果を算出する。
【0021】
以上のように、本例示的実施形態に係る情報処理装置2においては、予測の対象となる入力データを取得する入力データ取得部21と、条件と該条件を満たす場合の予測値とを組み合わせた複数の決定ルールからなる決定リストに含まれる前記決定ルールのうち、入力データが条件を満たす上位K個(Kは2以上の自然数)の決定ルールの予測値を用いて予測結果を算出する予測部22と、を備えるという構成が採用されている。これにより、予測リストの最上位の予測値のみを用いる従来手法と比べて、予測性能を向上させることができるという効果が得られる。
【0022】
(プログラム)
上述の情報処理装置1の機能は、学習プログラムによって実現することもできる。本例示的実施形態に係る学習プログラムは、コンピュータを、条件と該条件を満たす場合の予測値とを組み合わせた決定ルールの集合である決定ルール集合から抽出された複数の決定ルールからなる決定リストに含まれる決定ルールのうち、訓練用例集合に含まれる訓練用例が前記条件を満たす上位K個(Kは2以上の自然数)の決定ルールの予測値を用いて予測結果を算出する予測手段、および前記決定ルール集合から生成された複数の前記決定リストのそれぞれを対象として、前記訓練用例集合に含まれる各訓練用例について算出された前記予測結果に基づいて、出力すべき決定リストを決定するリスト決定手段として機能させる。このため、本例示的実施形態に係る学習プログラムによれば、決定リストを用いた予測の予測性能を向上させることができる、という効果が得られる。
【0023】
また、上述の情報処理装置2の機能は、予測プログラムによって実現することもできる。本例示的実施形態に係る予測プログラムは、コンピュータを、予測の対象となる入力データを取得する入力データ取得手段、および、条件と該条件を満たす場合の予測値とを組み合わせた複数の決定ルールからなる決定リストに含まれる決定ルールのうち、入力データが条件を満たす上位K個(Kは2以上の自然数)の決定ルールの予測値を用いて予測結果を算出する予測手段として機能させる。このため、本例示的実施形態に係る予測プログラムによれば、予測リストの最上位の予測値のみを用いる従来手法と比べて、予測性能を向上させることができる、という効果が得られる。
【0024】
(学習方法の流れ)
本例示的実施形態に係る学習方法の流れについて、
図2を参照して説明する。
図2は、学習方法および予測方法の流れを示すフロー図である。なお、予測方法については後で説明する。
【0025】
図2の学習方法における各ステップの実行主体は、情報処理装置1が備えるプロセッサであってもよいし、他の装置が備えるプロセッサであってもよく、各ステップの実行主体がそれぞれ異なる装置に設けられたプロセッサであってもよい。
【0026】
S11では、少なくとも1つのプロセッサが、条件と該条件を満たす場合の予測値とを組み合わせた決定ルールの集合である決定ルール集合から抽出された複数の決定ルールからなる決定リストに含まれる決定ルールのうち、訓練用例集合に含まれる訓練用例が前記条件を満たす上位K個(Kは2以上の自然数)の決定ルールの予測値を用いて予測結果を算出する。
【0027】
S12では、少なくとも1つのプロセッサが、前記決定ルール集合から生成された複数の決定リストのそれぞれを対象として、前記訓練用例集合に含まれる各訓練用例について算出された前記予測結果に基づいて、出力すべき決定リストを決定する。
【0028】
以上のように、本例示的実施形態に係る学習方法においては、少なくとも1つのプロセッサが、条件と該条件を満たす場合の予測値とを組み合わせた決定ルールの集合である決定ルール集合から抽出された複数の決定ルールからなる決定リストに含まれる決定ルールのうち、訓練用例集合に含まれる訓練用例が前記条件を満たす上位K個(Kは2以上の自然数)の決定ルールの予測値を用いて予測結果を算出することと、前記決定ルール集合から生成された複数の決定リストのそれぞれを対象として、前記訓練用例集合に含まれる各訓練用例について算出された前記予測結果に基づいて、出力すべき決定リストを決定することと、を含む、という構成が採用されている。このため、本例示的実施形態に係る学習方法によれば、決定リストを用いた予測の予測性能を向上させることができる、という効果が得られる。
【0029】
(予測方法の流れ)
次に、本例示的実施形態に係る予測方法の流れについて、
図2を参照して説明する。なお、
図2の予測方法における各ステップの実行主体は、情報処理装置2が備えるプロセッサであってもよいし、他の装置が備えるプロセッサであってもよく、各ステップの実行主体がそれぞれ異なる装置に設けられたプロセッサであってもよい。
【0030】
S21では、少なくとも1つのプロセッサが、予測の対象となる入力データを取得する。
【0031】
S22では、少なくとも1つのプロセッサが、条件と該条件を満たす場合の予測値とを組み合わせた複数の決定ルールからなる決定リストに含まれる決定ルールのうち、入力データが条件を満たす上位K個(Kは2以上の自然数)の決定ルールの予測値を用いて予測結果を算出する。
【0032】
以上のように、本例示的実施形態に係る予測方法においては、少なくとも1つのプロセッサが、予測の対象となる入力データを取得することと、条件と該条件を満たす場合の予測値とを組み合わせた複数の決定ルールからなる決定リストに含まれる前記決定ルールのうち、入力データが条件を満たす上位K個(Kは2以上の自然数)の決定ルールの予測値を用いて予測結果を算出することと、を含む、という構成が採用されている。このため、本例示的実施形態に係る予測方法によれば、予測リストの最上位の予測値のみを用いる従来手法と比べて、予測性能を向上させることができる、という効果が得られる。なお、上記予測方法で使用する予測リストは、S12で決定された予測リストであってもよい。
【0033】
〔例示的実施形態2〕
本発明の第2の例示的実施形態について、図面を参照して詳細に説明する。なお、例示的実施形態1にて説明した構成要素と同じ機能を有する構成要素については、同じ符号を付し、その説明を適宜省略する。これは、例示的実施形態3以降についても同様である。
【0034】
(概要)
図3は、本例示的実施形態に係る学習方法の概要を示す図である。第1の例示的実施形態と同様に、本例示的実施形態に係る学習方法においても、決定ルール集合から抽出した複数の決定ルールからなる、出力すべき決定リストを決定する。
【0035】
より詳細には、本例示的実施形態に係る学習方法においては、決定ルール集合から決定リストの候補(以下、候補リストと呼ぶ)を複数生成する。次に、生成した各候補リストを用いて、訓練用例集合に含まれる各訓練用例について予測を行う。そして、この予測結果に基づいて、各候補リストの中から出力すべき決定リストを決定する。
【0036】
例えば、
図3に示す決定ルール集合には、r
1~r
RまでのR個の決定ルールが含まれている。各決定ルールは、条件(IF)と、その条件が満たされたときの予測値(THEN)とを対応付けたものである。
【0037】
図3には、決定ルール集合に含まれる決定ルールr
1~r
Rを用いて生成される候補リストのうち、決定ルールr
4、r
6、r
2、…、r
Rをこの順序で並べたものを示している。決定ルールr
4の条件は「x0>1.0 AND x2<2.0」であり、予測値は「80%」である。また、決定ルールr
6の条件は「x1>2.0」であり、予測値は「20%」である。また、決定ルールr
2の条件は「x2<3.0」であり、予測値は「70%」である。そして、決定ルールr
Rの条件は「TRUE」であり、予測値は「50%」である。決定ルールr
Rは、どのような入力に対しても常に同じ予測値(この例では50%)を出力するものであり、デフォルトルールと呼ばれる。
【0038】
この候補リストを用いて、訓練用例集合に含まれる各訓練用例について予測を行う。
図3に示す訓練用例は、観測IDと、入力を示すx0~x2の数値と、出力を示すyの数値とが対応付けられたものである。入力は観測値であるともいえる。また、出力yは、観測に対するラベルまたは正解データであるともいえる。なお、観測値は、数値に限られず、例えば「TRUE」(所定の条件を満たす)と「FALSE」(所定の条件を満たさない)等であってもよい。また、
図3の例では出力yの単位が%であるが、出力yは実数値で表されるものであればよく、単位は任意である。
【0039】
なお、決定リストを用いた予測は、回帰問題の解の予測にも、分類問題の解の予測にも用いることができる。回帰問題の解の予測を行う決定リストの場合、
図3の例のように出力yは実数値となる。一方、分類問題の解の予測を行う決定リストの場合、出力yは分類先の各クラスへの所属確率を表す確率ベクトルとなる。
【0040】
ここで、
図3における観測ID=0の訓練用例について予測を行うとする。この場合、候補リストに含まれる条件を、訓練用例の入力値「x0=1.8、x1=1.5、x2=1.0」が満たすか否かについて、上位の決定ルールから順に確認する。この処理は、条件を満たす決定ルールの数がK個(Kは2以上の自然数)に達するまで行う。
【0041】
ここでは、K=2であるとする。この場合、
図3に示すように、最初の決定ルールr
4が条件を満たし、次の決定ルールr
6は条件を満たさず、3つ目の決定ルールr
2が決定ルールを満たすので、この時点で確認は終了となる。そして、条件を満たす決定ルールr
4およびr
6の予測値を用いて、最終的な予測結果を算出する。
【0042】
例えば、
図3の例では、決定ルールr
4の予測値である「80%」と決定ルールr
6の予測値である「70%」の平均値(75%)を最終的な予測結果としている。この予測結果の妥当性は、訓練用例集合に示されるラベルyの値と比較することにより評価することができる。また、同様の処理を、観測IDが「1」以降の各訓練用例についても行うことにより、訓練用例集合の全体に対する、候補リストの予測精度を評価することができる。
【0043】
以上のような候補リストの予測精度を評価する処理を、複数の候補リストのそれぞれについて行うことにより、最も予測精度の高い候補リストを特定することができ、その候補リストを出力すべき決定リストと決定することができる。これにより、簡潔なルールで構成され、しかも予測性能が高い決定リストを出力することができる。
【0044】
(情報処理装置3の構成)
図4は、本例示的実施形態に係る情報処理装置3の構成例を示すブロック図である。図示のように、情報処理装置3は、情報処理装置3の各部を統括して制御する制御部30と、情報処理装置3が使用する各種データを記憶する記憶部31を備えている。また、情報処理装置3は、情報処理装置3に対する入力を受け付ける入力部33と、情報処理装置3がデータを出力するための出力部34を備えている。
【0045】
制御部30には、候補生成部301、予測部302、リスト決定部303、および入力データ取得部304が含まれている。また、記憶部31には、決定ルール集合311、訓練用例集合312、および決定リスト313が記憶されている。
【0046】
決定ルール集合311は、上述のように、決定リストの生成に用いることができる複数の決定ルールを含む集合である。また、訓練用例集合312は、学習すなわち最適な決定リストの決定に用いる複数の訓練用例を含む集合である。各訓練用例は、入力xと出力yの組み合わせからなる。決定リスト313は、リスト決定部303によって出力すべきものとして決定された決定リストである。
【0047】
候補生成部301は、決定ルール集合311に含まれる決定ルールを用いて決定リストの候補である候補リストを生成する。より詳細には、候補生成部301は、含まれる決定ルールの数とその配列順の少なくとも何れかが異なる複数の候補リストを生成する。例えば、候補生成部301は、決定ルール集合311に含まれる決定ルールを用いて生成し得る全てのパターンの候補リストを生成してもよい。
【0048】
予測部302は、候補生成部301が生成する候補リストに含まれる決定ルールのうち、訓練用例集合312に含まれる訓練用例が条件を満たす上位K個(Kは2以上の自然数)の決定ルールの予測値を用いて予測結果を算出する。また、リスト決定部303が出力すべき決定リストを決定し、それが決定リスト313として記憶部31に記憶された後には、予測部302は、決定リスト313を用いて予測を行う。
【0049】
リスト決定部303は、訓練用例集合312に含まれる各訓練用例について、候補生成部301が生成する複数の候補リストのそれぞれを対象として予測部302が算出する予測結果に基づいて、出力すべき決定リストを決定する。出力すべき決定リストは、決定リスト313として記憶部31に記憶される。
【0050】
入力データ取得部304は、決定リスト313を用いた予測の対象となる入力データを取得する。このため、入力データは、決定リスト313の学習に用いた訓練用例と同様の形式のデータとする。例えば、
図3の例のように、入力がx0、x1、およびx2の訓練用例を用いた学習により出力された決定リスト313を用いる場合、入力データ取得部304は、x0、x1、およびx2の少なくとも何れかの値を示す入力データを取得する。
【0051】
(学習方法の流れ)
情報処理装置3が実行する学習方法の流れを
図5に基づいて説明する。
図5は、情報処理装置3が実行する学習方法の流れを示すフロー図である。
【0052】
S31では、候補生成部301が、候補リストのサイズLを初期化する。なお、Lは、候補リストに含まれる決定ルールの数を示す。Lの初期値はLの最小値とすればよく、例えば1としてもよい。
【0053】
S32では、候補生成部301は、L個の決定ルールからなる候補リストを生成する。例えば、候補生成部301は、決定ルール集合311からL個の決定ルールを任意に抽出し、任意の並べ替えを行うことにより、候補リストを生成してもよい。
【0054】
S33では、予測部302が、S32で生成された候補リストを用い、訓練用例集合312に含まれる各訓練用例についての予測結果を算出する。予測結果は、候補リストに含まれる複数の決定ルールのうち、訓練用例の条件を満たす上位K個の予測値を用いて算出される。例えば、予測部302は、上位K個の予測値の平均値を予測結果としてもよい。
【0055】
S34では、リスト決定部303が、訓練用例集合312に示される出力値yと、S33で算出された予測結果との誤差を算出する。誤差の算出方法は任意であり、リスト決定部303は、例えば二乗誤差を算出してもよい。この場合、リスト決定部303は、予測部302の予測結果と出力値yの差を算出し、それを二乗して誤差とする。
【0056】
S35では、リスト決定部303は、試行すべき全てのパターンの候補リストについての誤差を算出済であるか否かを判定する。S35でNOと判定された場合にはS32に戻り、これまでに生成されていない候補リストの生成が行われる。一方、S35でYESと判定された場合にはS36に進む。
【0057】
なお、試行すべき全てのパターンは、予め定めておけばよい。例えば、決定ルール集合311に含まれる決定ルールから生成可能な、サイズLの候補リストの全てのパターンを試行対象としてもよい。
【0058】
S36では、リスト決定部303は、現在のサイズLが、決定ルール集合311に含まれる決定ルールの数|R|よりも小さいか否かを判定する。S36でYESと判定された場合にはS37に進む。S37では、リスト決定部303は、Lを1インクリメントする。この後、処理はS32に戻り、インクリメント後のLに基づいて候補リストの生成が行われる。一方、S36でNOと判定された場合にはS38に進む。
【0059】
S38では、リスト決定部303は、出力すべき決定リストを決定する。具体的には、リスト決定部303は、S34で算出された誤差が最も小さかった候補リストを、出力すべき決定リストと決定する。そして、リスト決定部303は、決定した決定リストを記憶部31に決定リスト313として記憶させ、これにより
図5の処理は終了となる。
【0060】
なお、サイズLの各値について、全てのパターンの候補リストを生成する代わりに、一部のパターンの候補リストを生成し、それらの候補リストのうち誤差が最も小さかった候補リストを、出力すべき決定リストと決定してもよい。この場合、出力すべきと決定された決定リストが、最適な決定リストではない可能性があるが、学習に要する時間と計算量を抑えることができる。
【0061】
また、S34で算出した誤差が予め定めた閾値以下となった段階で学習を終了し、誤差が閾値以下となった候補リストを、出力すべき決定リストと決定してもよい。この場合も、最適な決定リストが出力すべき決定リストに選ばれない可能性があるが、学習に要する時間と計算量を抑えることができる。
【0062】
(予測方法の流れ)
情報処理装置3が実行する予測方法は、
図2に示した予測方法と同様である。具体的には、まず、入力データ取得部304が、予測の対象となる入力データを取得する(S21)。次に、予測部302が、決定リスト313に含まれる決定ルールのうち、S21で取得された入力データが条件を満たす上位K個の決定ルールの予測値を算出し、それらの予測値を用いて予測結果を算出する。
【0063】
〔例示的実施形態3〕
(概要)
図6は、本例示的実施形態に係る学習方法の概要を示す図である。第1および第2の例示的実施形態と同様に、本例示的実施形態に係る学習方法においても、決定ルール集合から抽出した複数の決定ルールからなる、出力すべき決定リストを決定する。
【0064】
より詳細には、本例示的実施形態に係る学習方法においては、訓練用例集合に含まれる訓練用例と、決定ルール集合に含まれる決定ルールとの間に4つの変数、Aj,u、Dj,u,k、Mj,u、およびHi,kを導入する。また、決定ルールの順番を表す変数πuとδu,jを導入する。
【0065】
詳細は後述するが、これらの変数を導入することにより、決定リストの最適化問題を整数線形計画問題(以下ILP:Integer Linear Programmingと呼ぶ)とすることができる。ILPは、公知の最適化ソルバを用いて効率的かつ高速に解くことができ、その解をデコードすることにより最適な決定リストが決定される。最適化ソルバとしては、例えばGurobiやCPLEX等を適用することもできる。
【0066】
また、本例示的実施形態では、決定木の集合から訓練用例集合を生成する処理についても説明する。なお、本例示的実施形態に係る学習方法において、決定木の集合から訓練用例集合を生成することは必須ではなく、また、当該学習方法で用いる訓練用例集合は決定木の集合から生成されたものに限られず、任意の方法で生成された任意の訓練用例集合を用いることができる。
【0067】
(情報処理装置4の構成)
図7は、本例示的実施形態に係る情報処理装置4の構成例を示すブロック図である。図示のように、情報処理装置4は、情報処理装置4の各部を統括して制御する制御部40と、情報処理装置4が使用する各種データを記憶する記憶部41を備えている。また、情報処理装置4は、入力部33と出力部34を備えている。
【0068】
制御部40には、受付部401、決定ルール集合生成部402、予測部403、リスト決定部404、および入力データ取得部405が含まれている。また、記憶部41には、決定木集合411、決定ルール集合412、訓練用例集合413、および決定リスト414が記憶されている。なお、入力データ取得部405および訓練用例集合413は、例示的実施形態2の同名の要素と同様である。
【0069】
受付部401は、パラメタKの値の設定を受け付ける。パラメタKは、最終的な予測結果の算出に用いる決定ルールの数を示す。例えば、受付部401は、入力部33を介して入力されたKの値を、パラメタKの設定値として受け付けてもよい。
【0070】
決定ルール集合生成部402は、少なくとも1つの決定木を含む決定木集合411に含まれる決定木から、当該決定木の根から葉に至る経路上に出現する各条件を抽出して決定ルールを生成し、生成した決定ルールを含む決定ルール集合を生成する。言い換えれば、決定ルール集合生成部402は、決定木の葉(端点)の値を出力値yとし、その決定木の根から上記の葉に至る経路上に出現する各条件を入力値xとする決定ルールを生成する。そして、決定ルール集合生成部402は、この処理を決定木の葉(端点)のそれぞれについて行うことにより決定ルール集合を生成する。また、決定ルール集合生成部402は、生成した決定ルール集合を決定ルール集合412として記憶部41に記憶させる。
【0071】
なお、情報処理装置4において、決定ルール集合生成部402は必須の構成ではない。決定ルール集合生成部402は省略することもでき、この場合、情報処理装置4は、例示的実施形態2と同様に予め記憶された決定ルール集合311を用いて、出力する決定リストを決定する。
【0072】
予測部403は、決定ルール集合412から抽出された複数の決定ルールからなる決定リストに含まれる決定ルールのうち、訓練用例集合413に含まれる訓練用例が条件を満たす上位K個(Kは2以上の自然数)の決定ルールの予測値を用いて予測結果を算出する。
【0073】
リスト決定部404は、決定ルール集合412から生成された複数の決定リストのそれぞれを対象として、訓練用例集合413に含まれる各訓練用例について算出された予測結果に基づいて、出力すべき決定リストを決定する。
【0074】
以上のように、情報処理装置4は、最終的な予測結果の算出に用いる決定ルールの数を示すパラメタKの値の設定を受け付ける受付部401を備え、予測部403は、受付部401が受け付けたKの値を用いて予測結果を算出する。
【0075】
上記の構成によれば、例示的実施形態1に係る情報処理装置1の奏する効果に加えて、ユーザはKの値を所望の値に設定することにより、そのKの値を用いて予測結果を算出するのに適した決定リストを決定させることができるという効果が得られる。これにより、ユーザは、例えば、予測性能を重視したいときにはKを大きい値に設定し、予測結果の説明性を重視したいときにはKを小さい値に設定することができる。つまり、上記の構成によれば、ユーザは、予測性能と説明性のトレードオフを自由に選択することができる。
【0076】
なお、本例示的実施形態では、Kを2以上の値に設定することを想定しているが、Kを1に設定することも可能である。また、上述した例示的実施形態2においても受付部401を採用してKの値の設定を受け付けるようにしてもよい。
【0077】
また、以上のように、情報処理装置4は、少なくとも1つの決定木を含む決定木集合411に含まれる決定木から、当該決定木の根から葉に至る経路上に出現する各条件を抽出して決定ルールを生成し、生成した決定ルールを含む決定ルール集合412を生成する決定ルール集合生成部402を備えている。
【0078】
上記の構成によれば、例示的実施形態1に係る情報処理装置1の奏する効果に加えて、決定木に基づく決定ルール集合を自動で生成することができるという効果が得られる。
【0079】
また、上記決定木集合は、ランダムフォレストで使用する決定木の集合であってもよい。ランダムフォレストは、訓練用例から決定木の集合を生成して、その集合に含まれる各決定木で予測を行い、各決定木の予想結果を総合して最終的な予測結果とする手法である。このため、ランダムフォレストで使用する決定木の集合から決定ルール集合を生成し、この決定ルール集合から生成した予測リストを用いれば、ランダムフォレストと類似した手法による予測を行うことができる。これにより、ランダムフォレストのような高い予測性能が実現可能となる。
【0080】
(決定リストの最適化問題)
予測部403およびリスト決定部404は、決定リストの最適化問題を解くことにより出力すべき決定リストを決定する。概要で説明したように、予測部403およびリスト決定部404が解く最適化問題はILPである。以下では、決定リストの最適化問題をILPとするための手法について説明する。
【0081】
条件を満たす上位K個の決定ルールの予測値を用いて最終的な予測結果とする決定リストLKの最適化問題は、以下の目的関数を最小とする決定リストLKを見つける問題として定義することができる。なお、正規化パラメタをλ(実数)とする。また、決定リストLKは決定ルール集合Rに含まれる決定ルールからなる。
【0082】
fopt_k=lerr(Lk,T)+λ|Lk|
訓練用例は、入力x(xは実数)と出力yの組(x,y)で表すことができ、これにより、m個の訓練用例からなる訓練用例集合Tは、下記のように表される。
【0083】
【数1】
上述のように、決定リストは回帰問題および分類問題の何れの解の予測にも適用できる。回帰問題の場合にはyは実数値となり、分類問題の場合にはyは各クラスへの所属確率を表す確率ベクトルとなる。
【0084】
ここで、lerr(Lk,T)は、訓練用例集合T上での決定リストLkを用いた予測に対する誤差関数であり、λ|Lk|はサイズが大きい決定リストLkに対して罰則を与える正規化項である。
【0085】
回帰問題の場合、lerr(Lk,T)としては例えば、代表的な誤差関数の1つである平均二乗誤差(Mean Squared Error,MSE)を用いることができる。また、分類問題の場合は、真の値と、決定リストが出力する予測値との間のKL情報量(Kullback-Leibler divergence)を計算し、訓練用例全体でのKL情報量の和を誤差関数として用いてもよい。KL情報量は情報利得とも呼ばれる。
【0086】
決定リストL
Kは、下記のように定義することができる。
【数2】
この決定リストL
Kにおける
【数3】
はデフォルトルールであり、すべて同一のデフォルトルールl
0とする。
【0087】
決定リストLKを用いた予測時には、用例xに対して、その決定リストLKにおける順位が上位の決定ルールから順に、l=p→q∈LKを見ていき、xが条件pを満たす上位K個の決定ルールのそれぞれの後件qの平均値を予測値LK(x)として出力する。また、1≦k≦Kに対し、xがリスト順でk番目に条件pを満たす決定ルールlをxに対する決定リストLK上のk番目の決定ルールと呼ぶ。
【0088】
最適化後の決定リストLKに含まれるデフォルトルールは事前に与えられており、与えられるルール集合R={r1,…,r|R|}内のK個の決定ルールr|R|-K+1,…,r|R|がデフォルトルールに対応する。
【0089】
最適化後の決定リストLKは、下記のように出力される。
【0090】
【数4】
デフォルトルール以降のルールl
j+K,…,l
|R|は、予測に用いられることはないため、最終的には決定ルールl
j+K,…,l
|R|は決定リストL
Kから取り除かれる。
【0091】
決定リストLKにおけるあるルールluの高さ(順位)は、|R|-u+1で定義される。また、Rと、決定リストLKに含まれる決定ルールrとの関係は、後述する並び替えベクトルπを用いて、決定ルールru=l|R|-πu+1と表される。
【0092】
ここで、ILP変換を行うため、以下の変数を導入する。
【0093】
A:m×|R|のバイナリ行列。行列の要素Aiuは以下を満たす。つまり、観測x(i)が決定ルールruの条件を満たすときにAiuは1となり、それ以外のときには0となる。
【0094】
【数5】
D:m×|R|×Kのバイナリテンソル。テンソルの要素D
iukは以下を満たす。つまり、決定ルールr
uが観測x
(i)の予測として使われるときにD
iukは1となり、それ以外のときには0となる。
【0095】
【数6】
M:m×|R|の実数行列。行列の要素M
iuは、決定ルールr
uの予測値とy
(i)との誤差である。この誤差としては、例えば、回帰問題であれば二乗誤差を用いることができ、分類問題であればKL情報量の和を用いることができる。
【0096】
H:サイズm×Kの整数行列。要素Hikでx(i)に対するk番目の決定ルールの決定リストLKにおける高さ(順位)を示す。
【0097】
π:サイズ|R|の整数ベクトル。要素πu∈{1,…,|R|}であり、決定ルールruの決定リストLKにおける高さ(順位)を示す。
【0098】
δ:|R|×|R|のバイナリ行列。δuj=1のとき、決定ルールruの決定リストLKにおける高さ(順位)がjであることを表す。
【0099】
以上の変数を用いることにより、決定リストL
Kの最適化問題を以下のとおりILPで定式化することができる。
【数7】
【数8】
【数9】
【数10】
【数11】
【数12】
【数13】
【0100】
【数14】
上記数式(1)は目的関数である。数式(1)の第一項は、上述した決定リストL
Kの最適化問題に使用する目的関数における予測誤差に対応する誤差項である。あるi、uに対し、
【数15】
となることは、用例x
iに対し、決定ルールr
uがK個の決定ルールの一つとして用いられることを表し、その場合、予測誤差はM
iuとなる。これを全ての1≦u≦|R|についての和をとることで、K個の決定ルールを一つの用例に用いることがILP式上で表現できる。
【0101】
また、数式(1)の第二項は、上述した目的関数:fopt_k=lerr(Lk,T)+λ|Lk|の第二項に対応しており、サイズが大きい決定リストLkに対して罰則を与える正規化項である。例えば、この第二項は、決定リストに含まれる決定ルールの数が多いほど大きい罰則値を与えるものとしてもよいし、決定リストに含まれる決定ルールに含まれる条件の数が多いほど大きい罰則値を与えるものとしてもよい。
【0102】
上記数式(2)~(6)は、最適化時における制約を表す。具体的には、数式(2)と(3)は、ある用例に対して、あるルールがk番目の決定ルールとなるとき、そのルールはk,…,K番目の決定ルールの中で最も決定リストLK内の優先順が高いことを表している。
【0103】
また、数式(4)は、ある用例に対してある決定ルールがk番目の決定ルールとなるとき、そのルールは1,…,k-1番目の決定ルールより決定リストLK内の優先順が低いことを表している。よって、数式(2)~(4)により、ある決定ルールがある用例に対し、k番目の決定ルールである条件を表すことができる。
【0104】
数式(5)は、ある用例の条件を満たすK個の決定ルールのうち、k番目の決定ルールになるものは一つであることを保証している。また、数式(6)は、デフォルトルールが決定リストLK中にK個連続していることを保証する。
【0105】
数式(7)は、πとδの関係性を与える制約である。また、数式(8)は、各ルールが決定リストLK中に複数存在することがないことを保証する。
【0106】
上述の計算手法は、非特許文献1の技術と比べて、変数Dを、Kを表すための次元を追加したテンソルとし、また、変数Hを、Kを表すための次元を追加した行列とした点で相違している。また、変数D、Hを上記のように変更したことに伴い、制約式も非特許文献1の技術とは異なるものとなっている。非特許文献1ではこのような拡張について記載も示唆もされておらず、非特許文献1から本例示的実施形態の構成に至ることは自明ではない。
【0107】
(出力すべき決定リストの決定方法)
予測部403およびリスト決定部404は、以上の数式(2)~(8)を用いて、数式(1)の目的関数の値が所定の条件を満たすときの、変数、Aj,u、Dj,u,k、Mj,u、Hi,k、πu、およびδu,jを探索する。なお、これらの変数により、決定リストの何れの位置に決定ルール集合に含まれる何れの決定ルールが位置するか表される。また、所定の条件は、最適化を終了するか否かを判定するための条件であり、予め定められている。
【0108】
具体的には、まず、リスト決定部404が上述の各変数を初期値に設定する。そして、予測部403は、それらの各変数で表現される決定リストを用いて目的関数の値を算出する。ここで算出された値が所定の条件を満たさない場合には、リスト決定部404が上述の各変数を更新する。予測部403およびリスト決定部404は、上記所定の条件が満たされるまで、各変数の更新および目的関数の値の算出を繰り返す。これにより、最適な決定リストを示す各変数の値が特定される。
【0109】
このように、予測部403は、予測結果の誤差を示す誤差項(数式(1)の第一項)を含む目的関数(数式(1))の値を、決定リストの何れの位置に決定ルール集合に含まれる何れの決定ルールが位置するかを示す変数を用いて表現される決定リストを用いて算出する。また、リスト決定部404は、算出された目的関数の値に基づいて変数を更新する処理を、目的関数の値が所定の条件を満たすまで繰り返すことにより、出力すべき決定リストを決定する。
【0110】
上記の構成によれば、例示的実施形態1に係る情報処理装置1の奏する効果に加えて、目的関数を用いた最適化計算により出力すべき決定リストを決定することができるという効果が得られる。
【0111】
また、上述の例のように、目的関数を線形関数とし、線形関数の等式または不等式で最適化の制約条件を記述するようにしてもよい。これにより、最適な前記決定リストを決定する問題をILPとし、最適化ソルバを用いて効率的に出力すべき決定リストを決定することができる。
【0112】
また、以上のように、予測部403は、決定リストに含まれる決定ルールの数に関する制約項((数式(1)の第二項))を含む目的関数の値を算出する。また、この制約項は、決定リストに含まれる決定ルールに含まれる条件の数に関する制約項であってもよい。
【0113】
上記の構成によれば、決定リストに含まれる決定ルールの数、または決定リストに含まれる決定ルールに含まれる条件の数に関する制約項を含む目的関数を用いる。これにより、例示的実施形態1に係る情報処理装置1の奏する効果に加えて、決定リストに含まれる決定ルールの数、または決定リストに含まれる決定ルールに含まれる条件の数を制約とした決定リストを決定することができるという効果が得られる。例えば、決定ルールの数が少ないあるいは条件の数が少ない決定リスト、つまり簡潔な決定ルールで構成されたユーザにとって解釈性が高い決定リストを決定することも可能になる。
【0114】
また、以上のように、訓練用例集合413に含まれる訓練用例と、決定ルール集合412に含まれる決定ルールとの間に導入した変数には、訓練用例集合413に含まれる各訓練用例について、決定リストにおいて当該訓練用例が条件を満たす1番目からK番目までのK個の決定ルールを表す変数Dj,u,kおよびHi,kが含まれる。
【0115】
上記の構成によれば、各訓練用例が条件を満たす1番目からK番目までのK個の決定ルール、つまり各訓練用例の予測値の算出に用いられるK個の決定ルールが変数Dj,u,kおよびHi,kで表される。よって、これらの変数で各訓練用例の予測結果とその誤差を表すことができ、これにより目的関数の値も表すことができる。そして、決定リストが最適となるような変数の値を求めることができる。したがって、上記の構成によれば、例示的実施形態1に係る情報処理装置1の奏する効果に加えて、目的関数を用いた最適化計算により出力すべき決定リストを決定することができるという効果が得られる。
【0116】
(学習方法の流れ)
情報処理装置4が実行する学習方法の流れを
図8に基づいて説明する。
図8は、情報処理装置4が実行する学習方法の流れを示すフロー図である。
【0117】
S41では、決定ルール集合生成部402が、決定木集合411から決定ルール集合を生成する。そして、決定ルール集合生成部402は、生成した決定ルール集合を、決定ルール集合412として記憶部41に記憶させる。
【0118】
なお、上述のように、決定木集合411は、ランダムフォレストにより生成されたものであってもよい。また、この場合、情報処理装置4は、S41に先立って、ランダムフォレストにより決定木集合を生成する処理を行ってもよい。
【0119】
S42では、受付部401が、パラメタKの値の設定を受け付ける。情報処理装置4のユーザは、例えば入力部33を介してパラメタKの所望の値を入力することができる。そして、受付部401は、このようにして入力された値をパラメタKの値に設定する。
【0120】
S43では、リスト決定部404が、各種変数を初期値に設定する。具体的には、リスト決定部404は、上述した6つの変数、すなわちAj,u、Dj,u,k、Mj,u、Hi,k、πu、およびδu,jの値を初期値に設定する。
【0121】
S44では、予測部403が、S43で初期値に設定された各変数を用いて、訓練用例集合413に含まれる各訓練用例についての予測結果を算出する。予測結果は、上記各変数を用いて表現される決定リストに含まれる複数の決定ルールのうち、訓練用例の条件を満たす上位K個の予測値を用いて算出される。
【0122】
S45では、リスト決定部404が、S44で算出された予測結果を用いて目的関数の値を算出する。具体的には、リスト決定部404は、目的関数である上述の数式(1)の値を算出する。
【0123】
S46では、リスト決定部404は、S45の計算結果が所定の条件を充足しているか否かを判定する。S46でYESと判定された場合にはS48に進む。一方、S46でNOと判定された場合にはS47に進む。
【0124】
S47では、リスト決定部404は、S45で算出した目的関数の値に基づいて、上述した6つの変数の値を更新する。更新は、目的関数の値が所定の条件を満たす方向に変化し得るような方法で行えばよい。この後、処理はS44に戻る。
【0125】
S48では、リスト決定部404は、S46で条件を充足したと判定したときの6つの変数の値により特定される決定リストを、出力すべき決定リストと決定する。これにより、簡潔なルールで構成され、しかも予測性能が高い決定リストを出力することができる。そして、リスト決定部404は、決定した決定リストを記憶部41に決定リスト414として記憶させ、これにより
図8の処理は終了となる。
【0126】
なお、上述の処理では、S47で変数が更新されることにより、それら変数で特定される決定リストが更新される。そして、更新後の決定リストについてS44で予測結果が算出される。このため、S48では、決定ルール集合から生成された複数の決定リストのそれぞれを対象として、訓練用例集合に含まれる各訓練用例について算出された予測結果に基づいて、出力すべき決定リストを決定しているといえる。また、上述の処理(特にS43~S48)は、最適化ソルバに実行させることもできる。
【0127】
(予測方法の流れ)
情報処理装置4が実行する予測方法は、
図2に示した予測方法と同様である。具体的には、まず、入力データ取得部405が、予測の対象となる入力データを取得する(S21)。次に、予測部403が、決定リスト414に含まれる決定ルールのうち、S21で取得された入力データが条件を満たす上位K個の決定ルールの予測値を算出し、それらの予測値を用いて予測結果を算出する。
【0128】
〔例示的実施形態4〕
(情報処理装置5の構成)
図9は、本例示的実施形態に係る情報処理装置5の構成例を示すブロック図である。図示のように、情報処理装置5は、情報処理装置5の各部を統括して制御する制御部50と、情報処理装置5が使用する各種データを記憶する記憶部51を備えている。また、情報処理装置5は、入力部33と出力部34を備えている。
【0129】
制御部50には、受付部501、順位設定部502、予測部503、リスト決定部504、および入力データ取得部505が含まれている。また、記憶部51には、決定ルール集合512、訓練用例集合513、および決定リスト514が記憶されている。なお、受付部501、入力データ取得部505、決定ルール集合512、および訓練用例集合513は、例示的実施形態3の同名の要素とそれぞれ同様である。
【0130】
順位設定部502は、決定ルール集合512に含まれる各決定ルールを順位づけする。順位づけの方法は後述する。
【0131】
予測部503は、決定ルール集合512から抽出された複数の決定ルールからなる決定リストに含まれる決定ルールのうち、訓練用例集合513に含まれる訓練用例が条件を満たす上位K個(Kは2以上の自然数)の決定ルールの予測値を用いて予測結果を算出する。この予測結果の算出の際、予測部503は、順位設定部502が設定した順位が上位のK個の予測値を用いて予測結果を算出する。
【0132】
リスト決定部504は、決定ルール集合512から生成された複数の決定リストのそれぞれを対象として、訓練用例集合513に含まれる各訓練用例について算出された予測結果に基づいて、出力すべき決定リストを決定する。なお、予測部503による予測結果の算出方法、およびリスト決定部504による決定リストの決定方法の詳細は後述する。
【0133】
以上のように、情報処理装置5は、決定ルール集合に含まれる各決定ルールを順位づけする順位設定部502を備え、予測部503は、順位が上位のK個の予測値を用いて予測結果を算出する。
【0134】
上記の構成によれば、決定ルールを順位づけして、その順位が上位のK個の予測値を用いて予測結果を算出する。これにより、出力すべき決定リストを決定する際に、決定リスト内における決定ルールの並び順を考慮する必要がなくなる。
【0135】
例えば、A~Cの3つの決定ルールを含む決定リストについて、決定ルールの並び順を考慮すれば、A-B-C、A-C-B、B-A-C、B-C-A、C-A-B、およびC-B-Aの6通りの中から1つを選ぶ必要がある。
【0136】
一方、A~Cの決定ルールが順位づけされていればその順位に従って出力すべき1通りを決定することができる。例えば、A-B-Cの順に順位づけされていれば、出力すべき決定リストに含める決定ルールをA-B-Cの順にすればよい。
【0137】
このように、上記の構成によれば、例示的実施形態1に係る情報処理装置1の奏する効果に加えて、出力すべき決定リストを決定する処理を、並び順を考慮する場合と比べて短時間で完了させることが可能になるという効果が得られる。
【0138】
(順位づけの具体例)
上述のように、決定リストを用いた予測においては、決定ルールを順位が上のものから順にチェックして、条件を充足する上位K個の決定ルールを見出し、それらの決定ルールの予測値から最終的な予測結果を算出する。
【0139】
このため、多くの用例に当てはまる一般的な決定ルールほど決定リストにおける順位が下位になるようにし、少数の用例にのみ当てはまる特殊な決定ルールほど決定リストにおける順位が上位になるようにすることが好ましい。
【0140】
そこで、順位設定部502は、例えば、決定ルール集合512に含まれる各決定ルールについて、当該決定ルールの条件を充足する訓練用例の数をカウントし、その数が少ない順に決定ルールを順位づけしてもよい。
【0141】
また、決定リストにおいては、予測結果が曖昧な決定ルールよりも、予測結果の確実性が高い決定ルールが上位に位置することが望ましい。
【0142】
そこで、順位設定部502は、回帰問題の解を予測する決定ルールについての順位を設定する場合には、決定ルール集合512に含まれる各決定ルールについて、当該決定ルールの条件を充足する訓練用例の予測値(出力y)の標準偏差を算出してもよい。そして、順位設定部502は、算出した標準偏差が小さい順に決定ルールを順位づけしてもよい。
【0143】
また、順位設定部502は、分類問題の解を予測する決定ルールについての順位を設定する場合には、決定ルールの条件を満たす訓練用例についての予測値と、比較対象の予測値との差異に基づいて順位づけを行ってもよい。
【0144】
比較対象の予測値は、例えば上述したデフォルトルールの予測値であってもよい。この場合、順位設定部502は、デフォルトルールの予測を基準とし、デフォルトルールの予測よりも予測がうまく絞り込まれている順に決定ルールを順位づけする。
【0145】
予測がうまく絞り込まれているか否かを評価するための指標としては、例えばKL情報量を用いることもできる。KL情報量を用いて順位づけを行う場合、順位設定部502は、デフォルトルールの予測値と、決定ルール集合512に含まれる各決定ルールの予測値についてKL情報量を算出し、KL情報量の値が大きい順に決定ルールを順位づけする。
【0146】
このように、順位設定部502は、決定ルールを、当該決定ルールの条件を満たす訓練用例についての予測値と、比較対象の予測値との差異に基づいて順位づけしてもよい。この構成によれば、例示的実施形態1に係る情報処理装置1の奏する効果に加えて、より妥当な予測値を算出できる可能性が高い順に決定ルールを順位づけすることができるという効果が得られる。なお、この場合、目的関数を用いた最適化計算において、KL情報量等のヒューリスティックな要素が入るため、近似的な最適化となる。
【0147】
(決定リストの最適化問題)
上述のように、情報処理装置5は、順位設定部502を備えている。このため、リスト決定部504は、決定ルールの並べ替えを考慮する必要はなく、個々の決定ルールを決定リストに含めるか否かだけを決定すればよい。このため、本例示的実施形態では、決定リストの最適化問題が例示的実施形態3よりも簡易化される。
【0148】
具体的には、例示的実施形態3で用いたπの代わりに、サイズ|R|のバイナリベクトルγを導入する。γの要素γuが1のとき、決定ルールruは決定リストLKに含まれることを表す。よって、初期化された空の決定リストを用意し、全ての1≦u≦|R|に対して1から|R|まで順番にγuを確認して、γu=1のときのみ決定ルールruを決定リストLKの最後尾に順に加えていくことで、最適化された決定リストLKを得ることができる。
【0149】
それに伴い、数式(1)の目的関数は以下の数式(9)のように変更される。数式(1)と比べて、数式(2)では、サイズが大きい決定リストLkに対して罰則を与える正則化項である第二項が変わっている。なお、第二項は制約項でもある。
【0150】
【数16】
これは、決定リストL
Kのサイズは、
【数17】
と表すことができるためである。
【0151】
また、制約条件を表す数式(2)~(4)、(6)は、それぞれ以下のように変更される。
【数18】
【数19】
【数20】
【0152】
【数21】
ここで、H’
ikは、用例x
iに対して、決定リストL
R上で決定ルールr
uがk番目の決定ルールとなるとき、H’
ik=|H|-u+1となる。数式(10)~(12)は、決定ルールr
uの高さを表すπ
uの代わりに、(|H|-u+1)γ
uを用いている。これにより、A
iu=0つまり用例x
iが決定ルールr
uの条件を満たしていないときに加えて、γ
u=0つまり決定リストL
Rに決定ルールr
uが含まれないときにも、決定ルールr
uはH’
ikには影響を与えないことがわかる。数式(13)は、デフォルトルールが決定リストL
Rに必ず含まれることを保証する制約式である。
【0153】
以上の数式を用いた最適化計算では、サイズ|R|の整数ベクトルであるπの代わりに、サイズ|R|のバイナリベクトルγを用いるので、πを用いる例示的実施形態3の例と比べて探索空間が狭くなっている。また、例示的実施形態3ではπを表現するために数式(7)(8)が必要であったが、本例示的実施形態ではそれらの数式は不要となり、数式(5)と数式(10)~(13)のみでILP表現を実現することが可能である。
【0154】
(学習方法の流れ)
情報処理装置5が実行する学習方法は、
図8に示した学習方法と概ね同様である。主な相違点は、S41の処理が行われない点、S43で設定の対象となり、S47で更新の対象となる変数にπおよびδが含まれない点、およびS44で予測結果を算出するよりも前の段階で順位設定部502による順位の設定が行われる点である。また、S45における目的関数が上述の数式(9)に変わる等、出力する決定リストを決定するために用いる各種数式も
図8で説明した学習方法と異なっている。
【0155】
(予測方法の流れ)
情報処理装置5が実行する予測方法は、
図2に示した予測方法と同様である。具体的には、まず、入力データ取得部505が、予測の対象となる入力データを取得する(S21)。次に、予測部503が、決定リスト514に含まれる決定ルールのうち、S21で取得された入力データが条件を満たす上位K個の決定ルールの予測値を算出し、それらの予測値を用いて予測結果を算出する。
【0156】
〔参考例〕
上述の各例示的実施形態では、最終的な予測結果の算出に用いる決定ルールの数を示すパラメタKが2以上である場合について説明した。しかし、決定ルール集合に含まれる各決定ルールを順位づけすることにより、出力すべき決定リストを決定する処理に要する時間を短縮する手法は、パラメタKが1の場合にも有効である。
【0157】
本参考例では、パラメタKが1以上の値である場合に、最適な決定リストを出力する情報処理装置6について説明する。
図10は、本参考例に係る情報処理装置6の構成を示すブロック図である。図示のように、情報処理装置6は、順位設定部61と、予測部62と、リスト決定部63を備えている。
【0158】
順位設定部61は、上述の順位設定部502と同様にして、決定ルール集合に含まれる各決定ルールを順位づけする。
【0159】
予測部62は、決定ルール集合から抽出された複数の決定ルールからなる決定リストに含まれる決定ルールのうち、訓練用例集合に含まれる訓練用例が条件を満たす1または複数の決定ルールの予測値に基づいて予測結果を算出する。このように、本参考例では、条件を満たす決定ルールは1つであってもよい。これは、パラメタKが1以上の値であることを想定しているためである。
【0160】
なお、パラメタKが2以上の値である場合の処理は例示的実施形態4と同様であるから、以下ではパラメタKが1である場合について説明する。この場合、予測部62は、決定ルール集合から抽出された複数の決定ルールからなる決定リストに含まれる決定ルールのうち、訓練用例集合に含まれる訓練用例が条件を満たす最初の決定ルール(条件を満たす決定ルールのうち順位が最も上の決定ルール)の予測値に基づいて予測結果を算出する。
【0161】
リスト決定部63は、決定ルール集合から生成された複数の決定リストのそれぞれを対象として、訓練用例集合に含まれる各訓練用例について算出された予測結果と、順位設定部61が設定する順位とに基づいて、出力すべき決定リストを決定する。
【0162】
以上のように、情報処理装置6は、条件と該条件を満たす場合の予測値とを組み合わせた決定ルールの集合である決定ルール集合から抽出された複数の決定ルールからなる決定リストに含まれる決定ルールのうち、訓練用例集合に含まれる訓練用例が前記条件を満たす最初の決定ルールの予測値に基づいて予測結果を算出する予測部62と、決定ルール集合に含まれる各決定ルールを順位づけする順位設定部61と、決定ルール集合から生成された複数の前記決定リストのそれぞれを対象として、前記訓練用例集合に含まれる各訓練用例について算出された前記予測結果と前記順位とに基づいて、出力すべき前記決定リストを決定するリスト決定部63と、を備えている。
【0163】
上記の構成によれば、決定ルールを順位づけして、訓練用例が条件を満たす最初の決定ルールの予測値に基づいて予測結果を算出する。これにより、出力すべき決定リストを決定する際に、決定リスト内における決定ルールの並び順を考慮する必要がなくなる。よって、上記の構成によれば、出力すべき決定リストを決定する処理を、並び順を考慮する場合と比べて短時間で完了させることが可能になるという効果が得られる。
【0164】
情報処理装置6が実行する学習方法は、K=1とする点を除けば、例示的実施形態4の学習方法と同様である。
【0165】
また、情報処理装置6は、入力データ取得部21(
図1参照)を備えていてもよい。この場合、入力データ取得部21が入力データを取得する。そして、予測部62が、リスト決定部63が出力した決定リストに含まれる決定ルールのうち、入力データ取得部21が取得した入力データが条件を満たす最上位の決定ルールの予測値を用いて予測結果を算出する。
【0166】
〔変形例〕
上述の各例示的実施形態および参考例で説明した各処理の実行主体は任意であり、上述の例に限られない。つまり、相互に通信可能な複数の装置により、情報処理装置1~6と同様の機能を有する情報処理システムを構築することができる。
【0167】
〔ソフトウェアによる実現例〕
情報処理装置1~6の一部又は全部の機能は、集積回路(ICチップ)等のハードウェアによって実現してもよいし、ソフトウェアによって実現してもよい。
【0168】
後者の場合、情報処理装置1~6は、例えば、各機能を実現するソフトウェアであるプログラムの命令を実行するコンピュータによって実現される。このようなコンピュータの一例(以下、コンピュータCと記載する)を
図11に示す。コンピュータCは、少なくとも1つのプロセッサC1と、少なくとも1つのメモリC2と、を備えている。メモリC2には、コンピュータCを情報処理装置1~6として動作させるためのプログラムPが記録されている。コンピュータCにおいて、プロセッサC1は、プログラムPをメモリC2から読み取って実行することにより、情報処理装置1~6の各機能が実現される。
【0169】
プロセッサC1としては、例えば、CPU(Central Processing Unit)、GPU(Graphic Processing Unit)、DSP(Digital Signal Processor)、MPU(Micro Processing Unit)、FPU(Floating point number Processing Unit)、PPU(Physics Processing Unit)、マイクロコントローラ、又は、これらの組み合わせなどを用いることができる。メモリC2としては、例えば、フラッシュメモリ、HDD(Hard Disk Drive)、SSD(Solid State Drive)、又は、これらの組み合わせなどを用いることができる。
【0170】
なお、コンピュータCは、プログラムPを実行時に展開したり、各種データを一時的に記憶したりするためのRAM(Random Access Memory)を更に備えていてもよい。また、コンピュータCは、他の装置との間でデータを送受信するための通信インタフェースを更に備えていてもよい。また、コンピュータCは、キーボードやマウス、ディスプレイやプリンタなどの入出力機器を接続するための入出力インタフェースを更に備えていてもよい。
【0171】
また、プログラムPは、コンピュータCが読み取り可能な、一時的でない有形の記録媒体Mに記録することができる。このような記録媒体Mとしては、例えば、テープ、ディスク、カード、半導体メモリ、又はプログラマブルな論理回路などを用いることができる。コンピュータCは、このような記録媒体Mを介してプログラムPを取得することができる。また、プログラムPは、伝送媒体を介して伝送することができる。このような伝送媒体としては、例えば、通信ネットワーク、又は放送波などを用いることができる。コンピュータCは、このような伝送媒体を介してプログラムPを取得することもできる。
【0172】
〔付記事項1〕
本発明は、上述した実施形態に限定されるものでなく、請求項に示した範囲で種々の変更が可能である。例えば、上述した実施形態に開示された技術的手段を適宜組み合わせて得られる実施形態についても、本発明の技術的範囲に含まれる。
【0173】
〔付記事項2〕
上述した実施形態の一部又は全部は、以下のようにも記載され得る。ただし、本発明は、以下の記載する態様に限定されるものではない。
【0174】
(付記1)
条件と該条件を満たす場合の予測値とを組み合わせた決定ルールの集合である決定ルール集合から抽出された複数の前記決定ルールからなる決定リストに含まれる前記決定ルールのうち、訓練用例集合に含まれる訓練用例が前記条件を満たす上位K個(Kは2以上の自然数)の決定ルールの予測値を用いて予測結果を算出する予測手段と、前記決定ルール集合から生成された複数の前記決定リストのそれぞれを対象として、前記訓練用例集合に含まれる各訓練用例について算出された前記予測結果に基づいて、出力すべき前記決定リストを決定するリスト決定手段と、を備える情報処理装置。この構成によれば、決定リストを用いた予測の予測性能を向上させることができる。
【0175】
(付記2)
前記予測手段は、前記予測結果の誤差を示す誤差項を含む目的関数の値を、前記決定リストの何れの位置に前記決定ルール集合に含まれる何れの決定ルールが位置するかを示す変数を用いて表現される前記決定リストを用いて算出し、前記リスト決定手段は、算出された前記目的関数の値に基づいて前記変数を更新する処理を、前記目的関数の値が所定の条件を満たすまで繰り返すことにより、出力すべき前記決定リストを決定する、付記1に記載の情報処理装置。この構成によれば、目的関数を用いた最適化計算により出力すべき決定リストを決定することができる。
【0176】
(付記3)
前記予測手段は、前記決定リストに含まれる前記決定ルールの数に関する制約項、または前記決定リストに含まれる前記決定ルールに含まれる前記条件の数に関する制約項を含む前記目的関数の値を算出する、付記2に記載の情報処理装置。この構成によれば、決定リストに含まれる決定ルールの数、または決定リストに含まれる決定ルールに含まれる条件の数を制約とした決定リストを決定することができる。
【0177】
(付記4)
前記変数には、前記訓練用例集合に含まれる各訓練用例について、前記決定リストにおいて当該訓練用例が前記条件を満たす1番目からK番目までのK個の前記決定ルールを表す変数が含まれる、付記2または3に記載の情報処理装置。この構成によれば、目的関数を用いた最適化計算により出力すべき決定リストを決定することができる。
【0178】
(付記5)
前記Kの値の設定を受け付ける受付手段を備え、前記予測手段は、前記受付手段が受け付けた前記Kの値を用いて前記予測結果を算出する、付記1から4の何れか1項に記載の情報処理装置。この構成によれば、ユーザはKの値を所望の値に設定することにより、そのKの値を用いて予測結果を算出するのに適した決定リストを決定させることができる。
【0179】
(付記6)
少なくとも1つの決定木を含む決定木集合に含まれる前記決定木から、当該決定木の根から葉に至る経路上に出現する各条件を抽出して前記決定ルールを生成し、生成した決定ルールを含む前記決定ルール集合を生成する決定ルール集合生成手段を備える、付記1から5の何れか1項に記載の情報処理装置。この構成によれば、決定木に基づく決定ルール集合を自動で生成することができる。
【0180】
(付記7)
前記決定ルール集合に含まれる各決定ルールを順位づけする順位設定手段を備え、前記予測手段は、前記順位が上位のK個の予測値を用いて前記予測結果を算出する、付記1から3の何れか1項に記載の情報処理装置。この構成によれば、出力すべき決定リストを決定する処理を、並び順を考慮する場合と比べて短時間で完了させることが可能になる。
【0181】
(付記8)
前記順位設定手段は、前記決定ルールを、当該決定ルールの条件を満たす前記訓練用例についての予測値と、比較対象の予測値との差異に基づいて順位づけする、付記7に記載の情報処理装置。この構成によれば、より妥当な予測値を算出できる可能性が高い順に決定ルールを順位づけすることができる。
【0182】
(付記9)
予測の対象となる入力データを取得する入力データ取得手段と、条件と該条件を満たす場合の予測値とを組み合わせた複数の決定ルールからなる決定リストに含まれる前記決定ルールのうち、前記入力データが前記条件を満たす上位K個(Kは2以上の自然数)の決定ルールの予測値を用いて予測結果を算出する予測手段と、を備える情報処理装置。この構成によれば、予測リストの最上位の予測値のみを用いる従来手法と比べて、予測性能を向上させることができる。
【0183】
(付記10)
少なくとも1つのプロセッサが、条件と該条件を満たす場合の予測値とを組み合わせた決定ルールの集合である決定ルール集合から抽出された複数の前記決定ルールからなる決定リストに含まれる前記決定ルールのうち、訓練用例集合に含まれる訓練用例が前記条件を満たす上位K個(Kは2以上の自然数)の決定ルールの予測値を用いて予測結果を算出することと、前記決定ルール集合から生成された複数の前記決定リストのそれぞれを対象として、前記訓練用例集合に含まれる各訓練用例について算出された前記予測結果に基づいて、出力すべき前記決定リストを決定することと、を含む学習方法。この構成によれば、決定リストを用いた予測の予測性能を向上させることができる。
【0184】
(付記11)
コンピュータを、条件と該条件を満たす場合の予測値とを組み合わせた決定ルールの集合である決定ルール集合から抽出された複数の前記決定ルールからなる決定リストに含まれる前記決定ルールのうち、訓練用例集合に含まれる訓練用例が前記条件を満たす上位K個(Kは2以上の自然数)の決定ルールの予測値を用いて予測結果を算出する予測手段、および前記決定ルール集合から生成された複数の前記決定リストのそれぞれを対象として、前記訓練用例集合に含まれる各訓練用例について算出された前記予測結果に基づいて、出力すべき前記決定リストを決定するリスト決定手段、として機能させる学習プログラム。この構成によれば、決定リストを用いた予測の予測性能を向上させることができる。
【0185】
〔付記事項3〕
上述した実施形態の一部又は全部は、更に、以下のように表現することもできる。少なくとも1つのプロセッサを備え、前記プロセッサは、条件と該条件を満たす場合の予測値とを組み合わせた決定ルールの集合である決定ルール集合から抽出された複数の前記決定ルールからなる決定リストに含まれる前記決定ルールのうち、訓練用例集合に含まれる訓練用例が前記条件を満たす上位K個(Kは2以上の自然数)の決定ルールの予測値を用いて予測結果を算出する予測処理と、前記決定ルール集合から生成された複数の前記決定リストのそれぞれを対象として、前記訓練用例集合に含まれる各訓練用例について算出された前記予測結果に基づいて、出力すべき前記決定リストを決定するリスト決定処理と、を実行する情報処理装置。
【0186】
少なくとも1つのプロセッサを備え、前記プロセッサは、予測の対象となる入力データを取得するデータ取得処理と、条件と該条件を満たす場合の予測値とを組み合わせた複数の決定ルールからなる決定リストに含まれる前記決定ルールのうち、前記入力データが前記条件を満たす上位K個(Kは2以上の自然数)の決定ルールの予測値を用いて予測結果を算出する予測処理と、を実行する情報処理装置。
【0187】
なお、これらの情報処理装置は、更にメモリを備えていてもよく、このメモリには、前記予測処理と前記リスト決定処理とを前記プロセッサに実行させるための学習プログラム、あるいは前記データ取得処理と前記予測処理とを前記プロセッサに実行させるための予測プログラムが記憶されていてもよい。また、これらのプログラムは、コンピュータ読み取り可能な一時的でない有形の記録媒体に記録されていてもよい。
【符号の説明】
【0188】
1 情報処理装置 2 情報処理装置
11 予測部 21 入力データ取得部
12 リスト決定部 22 予測部
3 情報処理装置
302 予測部
303 リスト決定部
311 決定ルール集合
312 訓練用例集合
313 決定リスト
4 情報処理装置 5 情報処理装置
401 受付部 501 受付部
502 順位設定部
402 決定ルール集合生成部
403 予測部 503 予測部
404 リスト決定部 504 リスト決定部
405 入力データ取得部 505 入力データ取得部
411 決定木集合
412 決定ルール集合 512 決定ルール集合
413 訓練用例集合 513 訓練用例集合
414 決定リスト 514 決定リスト