(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B1)
(11)【特許番号】
(24)【登録日】2022-02-18
(45)【発行日】2022-03-01
(54)【発明の名称】情報処理装置、方法、プログラム及びシステム
(51)【国際特許分類】
G06N 20/00 20190101AFI20220221BHJP
G06N 5/04 20060101ALI20220221BHJP
【FI】
G06N20/00 130
G06N5/04
(21)【出願番号】P 2021574916
(86)(22)【出願日】2021-09-22
(86)【国際出願番号】 JP2021034775
【審査請求日】2021-12-16
【早期審査対象出願】
(73)【特許権者】
【識別番号】517045705
【氏名又は名称】株式会社エイシング
(74)【代理人】
【識別番号】100098899
【氏名又は名称】飯塚 信市
(74)【代理人】
【識別番号】100163865
【氏名又は名称】飯塚 健
(72)【発明者】
【氏名】菅原 志門
(72)【発明者】
【氏名】出澤 純一
【審査官】吉倉 大智
(56)【参考文献】
【文献】特開2013-33450(JP,A)
【文献】中国特許出願公開第112580781(CN,A)
(58)【調査した分野】(Int.Cl.,DB名)
G06N 3/00-99/00
(57)【特許請求の範囲】
【請求項1】
第1のデータセットを用いて木構造モデルに対して学習処理を行うことにより得られた木構造学習済モデルを読み出す、読出部と、
前記木構造学習済モデルに対して、第2のデータセットを入力して、前記木構造学習済モデルにおいて、前記第2のデータセットに対応する葉ノードである第1の葉ノードを特定する、葉ノード特定部と、
前記木構造学習済モデルの全ての葉ノードの個数と、前記第1の葉ノードの個数又は前記木構造学習済モデルの葉ノードのうち前記第1の葉ノードに該当しない葉ノードである第2の葉ノードの個数との比率に関する情報を生成する、比率情報生成部と、を備えた、情報処理装置。
【請求項2】
前記木構造学習済モデルの葉ノードのうち前記第2の葉ノードに対応する分岐条件を出力する、条件出力部を、さらに、備えた、請求項1に記載の情報処理装置。
【請求項3】
前記第2の葉ノードに対応する分岐条件を満たすデータセットを所定のデータベースから検索する、データ検索部を、さらに、備えた、請求項2に記載の情報処理装置。
【請求項4】
前記分岐条件は、前記木構造学習済モデルの根ノードから前記第2の葉ノードへと至る一連の分岐条件である、請求項2又は3に記載の情報処理装置。
【請求項5】
前記木構造学習済モデルの葉ノードのそれぞれについて、前記第2のデータセットが対応付けられた回数を記憶する、回数記憶部を、さらに、備える、請求項1~4のいずれか1項に記載の情報処理装置。
【請求項6】
前記第1の葉ノードのうち、前記回数が所定回数以下の葉ノードに対応する分岐条件を出力する、第2条件出力部を、さらに、備える、請求項5に記載の情報処理装置。
【請求項7】
前記木構造学習済モデルの葉ノードのそれぞれについて、前記葉ノードに基づく出力と正解値との推論誤差を生成する、誤差生成部を、さらに、備える、請求項1~6のいずれか1項に記載の情報処理装置。
【請求項8】
前記第1のデータセットは、学習用データセットであり、前記第2のデータセットは評価用データセットである、請求項1~7のいずれか1項に記載の情報処理装置。
【請求項9】
前記第1のデータセットは、評価用データセットであり、前記第2のデータセットは学習用データセットである、請求項1~7のいずれか1項に記載の情報処理装置。
【請求項10】
前記第1のデータセットと前記第2のデータセットは、同一のデータセットに由来する、請求項1~9のいずれか1項に記載の情報処理装置。
【請求項11】
第1のデータセットを用いて木構造モデルに対して学習処理を行うことにより得られた木構造学習済モデルを読み出す、読出部と、
前記木構造学習済モデルに対して、第2のデータセットを入力して、前記木構造学習済モデルにおいて、前記第2のデータセットに対応する葉ノードである第1の葉ノードを特定する、葉ノード特定部と、
前記木構造学習済モデルの全ての葉ノードの個数と、前記第1の葉ノードの個数又は前記木構造学習済モデルの葉ノードのうち前記第1の葉ノードに該当しない葉ノードである第2の葉ノードの個数との比率に関する情報を生成する、比率情報生成部と、を備えた、情報処理システム。
【請求項12】
第1のデータセットを用いて木構造モデルに対して学習処理を行うことにより得られた木構造学習済モデルを読み出す、読出ステップと、
前記木構造学習済モデルに対して、第2のデータセットを入力して、前記木構造学習済モデルにおいて、前記第2のデータセットに対応する葉ノードである第1の葉ノードを特定する、葉ノード特定ステップと、
前記木構造学習済モデルの全ての葉ノードの個数と、前記第1の葉ノードの個数又は前記木構造学習済モデルの葉ノードのうち前記第1の葉ノードに該当しない葉ノードである第2の葉ノードの個数との比率に関する情報を生成する、比率情報生成ステップと、を備えた、情報処理方法。
【請求項13】
第1のデータセットを用いて木構造モデルに対して学習処理を行うことにより得られた木構造学習済モデルを読み出す、読出ステップと、
前記木構造学習済モデルに対して、第2のデータセットを入力して、前記木構造学習済モデルにおいて、前記第2のデータセットに対応する葉ノードである第1の葉ノードを特定する、葉ノード特定ステップと、
前記木構造学習済モデルの全ての葉ノードの個数と、前記第1の葉ノードの個数又は前記木構造学習済モデルの葉ノードのうち前記第1の葉ノードに該当しない葉ノードである第2の葉ノードの個数との比率に関する情報を生成する、比率情報生成ステップと、を備えた、情報処理プログラム。
【請求項14】
第1のデータセットを用いて木構造モデルに対して学習処理を行うことにより得られた複数の木構造学習済モデルを読み出す、読出部と、
各前記木構造学習済モデルに対して、第2のデータセットを入力して、各前記木構造学習済モデルにおいて、前記第2のデータセットに対応する葉ノードである第1の葉ノードを特定する、葉ノード特定部と、
各前記木構造学習済モデルの全ての葉ノードの個数と、前記第1の葉ノードの個数又は前記木構造学習済モデルの葉ノードのうち前記第1の葉ノードに該当しない葉ノードである第2の葉ノードの個数との比率に関する情報を、各木構造学習済モデルについて生成する、比率情報生成部と、を備えた、情報処理装置。
【請求項15】
前記複数の木構造学習済モデルは、アンサンブル学習により得られる、請求項14に記載の情報処理装置。
【請求項16】
前記アンサンブル学習は、バギング学習又はブースティング学習を含む、請求項15に記載の情報処理装置。
【請求項17】
前記バギング学習は、ランダムフォレストを含む、請求項16に記載の情報処理装置。
【請求項18】
第1のデータセットを用いて木構造モデルに対して学習処理を行うことにより得られた複数の木構造学習済モデルを読み出す、読出部と、
各前記木構造学習済モデルに対して、第2のデータセットを入力して、各前記木構造学習済モデルにおいて、前記第2のデータセットに対応する葉ノードである第1の葉ノードを特定する、葉ノード特定部と、
各前記木構造学習済モデルの全ての葉ノードの個数と、前記第1の葉ノードの個数又は前記木構造学習済モデルの葉ノードのうち前記第1の葉ノードに該当しない葉ノードである第2の葉ノードの個数との比率に関する情報を、各木構造学習済モデルについて生成する、比率情報生成部と、を備えた、情報処理システム。
【請求項19】
第1のデータセットを用いて木構造モデルに対して学習処理を行うことにより得られた複数の木構造学習済モデルを読み出す、読出ステップと、
各前記木構造学習済モデルに対して、第2のデータセットを入力して、各前記木構造学習済モデルにおいて、前記第2のデータセットに対応する葉ノードである第1の葉ノードを特定する、葉ノード特定ステップと、
各前記木構造学習済モデルの全ての葉ノードの個数と、前記第1の葉ノードの個数又は前記木構造学習済モデルの葉ノードのうち前記第1の葉ノードに該当しない葉ノードである第2の葉ノードの個数との比率に関する情報を、各木構造学習済モデルについて生成する、比率情報生成ステップと、を備えた、情報処理方法。
【請求項20】
第1のデータセットを用いて木構造モデルに対して学習処理を行うことにより得られた複数の木構造学習済モデルを読み出す、読出ステップと、
各前記木構造学習済モデルに対して、第2のデータセットを入力して、各前記木構造学習済モデルにおいて、前記第2のデータセットに対応する葉ノードである第1の葉ノードを特定する、葉ノード特定ステップと、
各前記木構造学習済モデルの全ての葉ノードの個数と、前記第1の葉ノードの個数又は前記木構造学習済モデルの葉ノードのうち前記第1の葉ノードに該当しない葉ノードである第2の葉ノードの個数との比率に関する情報を、各木構造学習済モデルについて生成する、比率情報生成ステップと、を備えた、情報処理プログラム。
【発明の詳細な説明】
【技術分野】
【0001】
この発明は、機械学習等に用いられるデータセットの評価技術に関する。
【背景技術】
【0002】
複数のデータセット間において、互いのデータ分布領域を一致させ又は同程度とすることが望ましい場合がある。
【0003】
例えば、機械学習を行う場合、学習済モデルを生成するための学習用データセットと、学習済モデルの検証を行うための検証用データセットが使用される。このとき、学習用データセットと検証用データセットとは、互いにそのデータ分布領域が可能な限り一致していることが望ましい。
【0004】
これは、学習用データセットのデータ分布領域の全体を検証用データセットの分布領域がカバーしていなければ、学習されたデータ領域を評価用データセットにより正しく評価することができないおそれがあるためである
【0005】
また、それとは逆に、検証用データセットのデータ分布領域の全体を学習用データセットの分布領域がカバーしていなければ、未学習領域を検証することとなり、やはり適切な評価を行うことができないおそれがあるためである。
【0006】
従前、この種のデータセット間の一致性を検証する手法として、特許文献1に例示される交差検証手法が知られていた。この種の交差検証手法においては、学習済モデルの出力に係るRMSE(平均二乗誤差平方根)の一致度合いから、データ分布領域の一致性が間接的に評価されていた。
【先行技術文献】
【非特許文献】
【0007】
【文献】CHRISTOPHER M. BISHOP著、「PATTERN RECOGNITION and MACHINE LEARNING」Springer Science+Business Media, LLC出版、2006年、p.32-33
【発明の概要】
【発明が解決しようとする課題】
【0008】
しかしながら、RMSE等を用いた評価では、各データセット間のデータ分布領域の一致性に関する直接的な評価を行うことが出来なかった。
【0009】
本発明は、上述の技術的背景の下になされたものであり、その目的とするところは、複数のデータセット間での分布領域の一致性を直接的に評価することにある。
【0010】
本発明のさらに他の目的並びに作用効果については、明細書の以下の記述を参照することにより、当業者であれば容易に理解されるであろう。
【課題を解決するための手段】
【0011】
上述の技術的課題は、以下の構成を有する情報処理装置等により解決することができる。
【0012】
すなわち、本発明に係る情報処理装置は、第1のデータセットを用いて木構造モデルに対して学習処理を行うことにより得られた木構造学習済モデルを読み出す、読出部と、前記木構造学習済モデルに対して、第2のデータセットを入力して、前記木構造学習済モデルにおいて、前記第2のデータセットに対応する葉ノードである第1の葉ノードを特定する、葉ノード特定部と、前記木構造学習済モデルの全ての葉ノードの個数と、前記第1の葉ノードの個数又は前記木構造学習済モデルの葉ノードのうち前記第1の葉ノードに該当しない葉ノードである第2の葉ノードの個数との比率に関する情報を生成する、比率情報生成部と、を備えている。
【0013】
このような構成によれば、第1のデータセットにより生成された木構造学習済モデルの全葉ノードに対する第1の葉ノード又は第2の葉ノードの比率を介して、第1のデータセットの分布領域に対する第2のデータセットの分布領域の一致性を評価することができる。すなわち、このような構成によれば、各データセット間での分布領域の一致性を直接的に評価することができる。
【0014】
前記木構造学習済モデルの葉ノードのうち前記第2の葉ノードに対応する分岐条件を出力する、条件出力部を、さらに、備えてもよい。
【0015】
このような構成によれば、どのようなデータを追加することで、第2のデータセットのデータ分布領域と、第1のデータセットのデータ分布領域を近付けることが出来るかを、容易に把握することができる。
【0016】
前記第2の葉ノードに対応する分岐条件を満たすデータセットを所定のデータベースから検索する、データ検索部を、さらに、備えてもよい。
【0017】
このような構成によれば、第1のデータセットと第2のデータセットのデータ分布領域が近付くよう第2のデータセットを改善することができる。
【0018】
前記分岐条件は、前記木構造学習済モデルの根ノードから前記第2の葉ノードへと至る一連の分岐条件であってもよい。
【0019】
このような構成によれば、追加すべきデータの条件を客観的に特定することができる。
【0020】
前記木構造学習済モデルの葉ノードのそれぞれについて、前記第2のデータセットが対応付けられた回数を記憶する、回数記憶部を、さらに、備える、ものであってもよい。
【0021】
このような構成によれば、葉ノード毎に記憶された回数から、第1のデータセットの分布領域に対する第2のデータセットのデータ分布領域の十分性が評価できると共に、検証が足りない分岐条件を特定することができるので、容易に第2のデータセットを改善することができる。
【0022】
前記第1の葉ノードのうち、前記回数が所定回数以下の葉ノードに対応する分岐条件を出力する、第2条件出力部を、さらに、備える、ものであってもよい。
【0023】
このような構成によれば、第2のデータセットが分布していない領域に係る分岐条件を特定することができるので、容易に第2のデータセットを改善することができる。
【0024】
前記木構造学習済モデルの葉ノードのそれぞれについて、前記葉ノードに基づく出力と正解値との推論誤差を生成する、誤差生成部を、さらに、備える、ものであってもよい。
【0025】
このような構成によれば、推論誤差から、木構造学習済モデルの葉ノード単位での推論精度を評価することができる。
【0026】
前記第1のデータセットは、学習用データセットであり、前記第2のデータセットは評価用データセットであってもよい。
【0027】
このような構成によれば、学習用データセットに対する評価用データセットの分布領域の一致性を評価することができる。
【0028】
前記第1のデータセットは、評価用データセットであり、前記第2のデータセットは学習用データセットであってもよい。
【0029】
このような構成によれば、評価用データセットに対する学習用データセットの分布領域の一致性を評価することができる。
【0030】
前記第1のデータセットと前記第2のデータセットは、同一のデータセットに由来する、ものであってもよい。
【0031】
このような構成によれば、同一のデータセットに由来する2つのデータセット間の分布領域の一致性を評価することができる。
【0032】
別の側面から見た本発明は、情報処理システムであって、第1のデータセットを用いて木構造モデルに対して学習処理を行うことにより得られた木構造学習済モデルを読み出す、読出部と、前記木構造学習済モデルに対して、第2のデータセットを入力して、前記木構造学習済モデルにおいて、前記第2のデータセットに対応する葉ノードである第1の葉ノードを特定する、葉ノード特定部と、前記木構造学習済モデルの全ての葉ノードの個数と、前記第1の葉ノードの個数又は前記木構造学習済モデルの葉ノードのうち前記第1の葉ノードに該当しない葉ノードである第2の葉ノードの個数との比率に関する情報を生成する、比率情報生成部と、を備えている。
【0033】
別の側面から見た本発明は、情報処理方法であって、第1のデータセットを用いて木構造モデルに対して学習処理を行うことにより得られた木構造学習済モデルを読み出す、読出ステップと、前記木構造学習済モデルに対して、第2のデータセットを入力して、前記木構造学習済モデルにおいて、前記第2のデータセットに対応する葉ノードである第1の葉ノードを特定する、葉ノード特定ステップと、前記木構造学習済モデルの全ての葉ノードの個数と、前記第1の葉ノードの個数又は前記木構造学習済モデルの葉ノードのうち前記第1の葉ノードに該当しない葉ノードである第2の葉ノードの個数との比率に関する情報を生成する、比率情報生成ステップと、を備えている。
【0034】
別の側面から見た本発明は、情報処理プログラムであって、第1のデータセットを用いて木構造モデルに対して学習処理を行うことにより得られた木構造学習済モデルを読み出す、読出ステップと、前記木構造学習済モデルに対して、第2のデータセットを入力して、前記木構造学習済モデルにおいて、前記第2のデータセットに対応する葉ノードである第1の葉ノードを特定する、葉ノード特定ステップと、前記木構造学習済モデルの全ての葉ノードの個数と、前記第1の葉ノードの個数又は前記木構造学習済モデルの葉ノードのうち前記第1の葉ノードに該当しない葉ノードである第2の葉ノードの個数との比率に関する情報を生成する、比率情報生成ステップと、を備えている。
【0035】
別の側面から見た本発明は、情報処理装置であって、第1のデータセットを用いて木構造モデルに対して学習処理を行うことにより得られた複数の木構造学習済モデルを読み出す、読出部と、各前記木構造学習済モデルに対して、第2のデータセットを入力して、各前記木構造学習済モデルにおいて、前記第2のデータセットに対応する葉ノードである第1の葉ノードを特定する、葉ノード特定部と、各前記木構造学習済モデルの全ての葉ノードの個数と、前記第1の葉ノードの個数又は前記木構造学習済モデルの葉ノードのうち前記第1の葉ノードに該当しない葉ノードである第2の葉ノードの個数との比率に関する情報を、各木構造学習済モデルについて生成する、比率情報生成部と、を備えている。
【0036】
前記複数の木構造学習済モデルは、アンサンブル学習により得られる、ものであってもよい。
【0037】
前記アンサンブル学習は、バギング学習又はブースティング学習を含む、ものであってもよい。
【0038】
前記バギング学習は、ランダムフォレストを含む、ものであってもよい。
【0039】
別の側面から見た本発明は、情報処理システムであって、第1のデータセットを用いて木構造モデルに対して学習処理を行うことにより得られた複数の木構造学習済モデルを読み出す、読出部と、各前記木構造学習済モデルに対して、第2のデータセットを入力して、各前記木構造学習済モデルにおいて、前記第2のデータセットに対応する葉ノードである第1の葉ノードを特定する、葉ノード特定部と、各前記木構造学習済モデルの全ての葉ノードの個数と、前記第1の葉ノードの個数又は前記木構造学習済モデルの葉ノードのうち前記第1の葉ノードに該当しない葉ノードである第2の葉ノードの個数との比率に関する情報を、各木構造学習済モデルについて生成する、比率情報生成部と、を備えている。
【0040】
別の側面から見た本発明は、情報処理方法であって、第1のデータセットを用いて木構造モデルに対して学習処理を行うことにより得られた複数の木構造学習済モデルを読み出す、読出ステップと、各前記木構造学習済モデルに対して、第2のデータセットを入力して、各前記木構造学習済モデルにおいて、前記第2のデータセットに対応する葉ノードである第1の葉ノードを特定する、葉ノード特定ステップと、各前記木構造学習済モデルの全ての葉ノードの個数と、前記第1の葉ノードの個数又は前記木構造学習済モデルの葉ノードのうち前記第1の葉ノードに該当しない葉ノードである第2の葉ノードの個数との比率に関する情報を、各木構造学習済モデルについて生成する、比率情報生成ステップと、を備えている。
【0041】
別の側面から見た本発明は、情報処理プログラムであって、第1のデータセットを用いて木構造モデルに対して学習処理を行うことにより得られた複数の木構造学習済モデルを読み出す、読出ステップと、各前記木構造学習済モデルに対して、第2のデータセットを入力して、各前記木構造学習済モデルにおいて、前記第2のデータセットに対応する葉ノードである第1の葉ノードを特定する、葉ノード特定ステップと、各前記木構造学習済モデルの全ての葉ノードの個数と、前記第1の葉ノードの個数又は前記木構造学習済モデルの葉ノードのうち前記第1の葉ノードに該当しない葉ノードである第2の葉ノードの個数との比率に関する情報を、各木構造学習済モデルについて生成する、比率情報生成ステップと、を備えている。
【発明の効果】
【0042】
本発明によれば、複数のデータセット間での分布領域の一致性を直接的に評価することができる。
【図面の簡単な説明】
【0043】
【
図1】
図1は、情報処理装置の機能ブロック図である。
【
図2】
図2は、機械学習処理に関する動作フローチャートである。
【
図3】
図3は、評価処理に関するゼネラルフローチャートである。
【
図4】
図4は、条件特定処理の詳細フローチャートである。
【
図6】
図6は、機械学習処理に関する動作フローチャートである(第3の実施形態)。
【
図7】
図7は、評価処理に関するゼネラルフローチャートである(第3の実施形態)。
【
図8】
図8は、評価処理に関するゼネラルフローチャートである(変形例)。
【
図9】
図9は、カウントと誤差を出力する変形例に係る概念図である。
【発明を実施するための形態】
【0044】
以下、本発明の実施の一形態を、添付の図面を参照しつつ、詳細に説明する。
【0045】
(1.第1の実施形態)
図1~
図5を参照しつ、第1の実施形態について説明する。第1の実施形態においては、本発明を情報処理装置へと適用した例について説明する。ここで、情報処理装置は、後述の通り、CPU等を含む演算ユニットとメモリを備えたコンピュータであり、例えば、PC、マイコン等が含まれる。なお、情報処理装置に相当する機能をFPGA等のICにより回路的に実現してもよい。
【0046】
(1.1 構成)
図1は、本実施形態に係る情報処理装置1の機能ブロック図である。同図から明らかな通り、情報処理装置1は、記憶部11、データ読出部12、機械学習処理部13、記憶処理部15、データ評価部16及びデータ出力部17を備えている。
【0047】
記憶部11は、ROM/RAM、フラッシュメモリ、ハードディスク等の記憶装置である。データ読出部12は、記憶部11から所定のデータを読み出して、機械学習処理部13又はデータ評価部16へと提供する。
【0048】
機械学習処理部13は、所定のデータに基づいて、所定の学習モデルを用いた機械学習処理を行い学習済モデルを生成する。本実施形態においては、機械学習処理は、決定木アルゴリズムである。生成された木構造学習済モデルは、記憶処理部15を介して記憶部11へと記憶され、又は、データ出力部17へと出力される。
【0049】
記憶処理部15は、機械学習処理部13又はデータ評価部16において生成されるデータを記憶部11へと記憶する処理を行う。
【0050】
データ評価部16は、記憶部11から学習済モデル及び評価用データセットを読み出して、評価用データセットの評価処理を行い、評価結果を記憶処理部15又はデータ出力部17へと提供する。
【0051】
データ出力部17は、提供されたデータを出力する処理を行う。本実施形態においては、出力は、図示しないディスプレイ等の表示部への視覚的な出力であるが、他の出力態様であってもよい。例えば、図示しないスピーカ等を通じた聴覚的な出力であってもよい。
【0052】
なお、情報処理装置1は、ハードウェアとして、CPUやGPU等の制御部、ROM、RAM、ハードディスク及び/又はフラッシュメモリ等から成る記憶部、通信ユニット等から成る通信部、入力部、ディスプレイ等と接続された表示制御部、I/O部等を備えている。上記の各機能、すなわち、データ読出部12、機械学習処理部13、記憶処理部15、データ評価部16及びデータ出力部17は、制御部においてプログラムを実行することにより実現される。
【0053】
また、本発明に係るハードウェア構成は、本実施形態に示したものに限定されない。従って、単一の装置ではなく複数の装置から成るシステムとして構成してもよい。また、装置や機能間をネットワークを介して結合してもよい。
【0054】
(1.2 動作)
次に、情報処理装置1の動作について説明する。情報処理装置1の動作は、学習済モデルの生成のための機械学習処理と、生成された学習済モデルを利用した評価用データセットの評価処理を含む。
【0055】
(機械学習処理)
図2は、機械学習処理に関する動作フローチャートである。同図から明らかな通り、処理が開始すると、データ読出部12は、記憶部11から所定のデータセットを読み出す。機械学習処理部13は、この読み出されたデータセットから重複を許して無作為に所定数のデータを取り出すことにより、学習用データセット(トレーニングセットと呼んでもよい)と評価用データセット(バリデーションセット又はテストセットと呼んでもよい)をそれぞれ生成する(S11)。生成された学習用データセットと評価用データセットは、それぞれ、記憶処理部15により記憶部11へと記憶される。
【0056】
なお、本実施形態においては一のデータセットから学習用データセットと評価用データセットを生成することとしたが、そのような構成に限定されない。従って、例えば、異なるデータセットから学習用データセットと評価用データセットをそれぞれ生成してもよい。
【0057】
また、本実施形態において、データセットとは、各変数データを1つずつ含む単位データの集合から成るデータベーステーブルを意味する。各単位データには、少なくとも、入力に用いられる1又は複数種類の変数データが含まれる。なお、この他に、正解出力に相当する1又は複数種類の変数データ等を含んでもよい。
【0058】
次に、機械学習処理部13は、生成された学習用データセットと各種のパラメータを記憶部11から読み出す処理を行う(S12)。パラメータは、例えば、最大深さ等の木構造モデルの構造に関するパラメータを含むものである。読み出された学習用データセットは、基端となる根ノードへと紐付けられる(S13)。
【0059】
学習用データセットを根ノードに紐付けた後、機械学習処理部13は、根ノードを参照ノードとする処理を行う(S15)。その後、参照ノードが分岐終了条件を満たすか否かを判定する(S16)。なお、本実施形態においては、分岐終了条件は、参照ノードが木構造の最大深さノード、すなわち、葉ノードとなることである。
【0060】
参照ノードが分岐終了条件を満たさない場合(S16NO)、機械学習処理部13は、参照ノードについて分割基準決定処理を行う(S18)。分割基準決定処理は、公知のいずれの手法も採用可能であるが、本実施形態においては、任意に選択された複数の分割基準候補に基づいて分割を行い、分割結果が良好な分割基準候補を最終的な分割基準とする処理である。なお、分割結果の良否は、例えば、情報利得の大きさにより評価してもよい。
【0061】
分割基準の決定処理後、機械学習処理部13は、当該分割基準を適用して、参照ノードに紐づけられているデータセットを参照ノードの左右の子ノードへと分割しそれぞれ子ノードへと紐づける処理を行う(S19)。
【0062】
分割処理の後、機械学習処理部13は、参照ノードをその子ノードへと変更する処理を行う(S21)。その後、再び分岐終了条件の判定処理(S16)へと戻り、以後、この処理は、分岐終了条件を満たすまで繰り返される(S16NO)。
【0063】
一方、参照ノードについて分岐終了条件を満たす場合(S16YES)、機械学習処理部13は、得られた木構造の学習済モデルを、記憶処理部15と協働して、記憶部11へと記憶させる処理を行う(S22)。その後、機械学習処理は終了する。
【0064】
すなわち、本実施形態においては、以上の処理により、学習用データセットに基づいて決定木アルゴリズムに基づく木構造の学習済モデルが生成される。
【0065】
(評価処理)
次に、学習用データセットに基づいて生成された学習済モデルを用いた評価用データセットの評価処理について説明する。
【0066】
図3は、評価処理に関するゼネラルフローチャートである。同図から明らかな通り、処理が開始すると、データ読出部12は、木構造の学習済モデルを記憶部11から読み出してデータ評価部16へと提供する処理を行う(S31)。また、データ読出部は、評価用データセットを読み出してデータ評価部16へと提供する処理を行う(S32)。
【0067】
データ読出処理後、データ評価部16は、変数iと、葉ノードにそれぞれ対応付けられたフラグを初期化する処理を行う(S33)。具体的には、変数iを0とし、flagを偽(False)
とする処理を行う。
【0068】
初期化処理後、データセットのうちi番目のデータを用いて、木構造の学習済モデルにおける推論処理を行う(S35)。より具体的には、i番目のレコードのうちの入力に相当する1又は複数の変数を用いて、木構造の学習済モデルを根ノードから順に辿り、末端にある葉ノードを特定し、葉ノードに対応する出力を算出する処理を行う。なお、本実施形態においては、葉ノードに対応する出力を算出する処理を行うものとしたものの、本発明はこのような構成に限定されず、単に葉ノードを特定するのみであってもよい。
【0069】
また、推論の語は、学習済モデルにおいて出力を生成することを意味し、例えば、予測、推定等といった言葉と置換してもよい。
【0070】
推論処理の後、データ評価部16は、到達した葉ノードに対応付けられたフラグを「真(True)」へと変更する処理を行う(S36)。
【0071】
データ評価部16は、変数iを1だけ増加させるインクリメント処理を行いつつ(S39)、変数iが所定の最大値(i_max)となるまで(S37NO)、学習済モデルによる推論処理(S35)とフラグ処理(S36)を繰り返す。
【0072】
変数iが最大値(i_max)と等しくなった場合(S37)、データ評価部16は、比率情報(r)の生成処理を行う。比率情報とは、本実施形態においては、フラグが真となった葉ノードの個数を、全葉ノードの個数で除した値又はその値に100を乗じた値(パーセント表示)である(S40)。
【0073】
比率情報の生成処理の後、データ評価部16は、比率情報が1又は100%と等しいか否かを判定する(S41)。比率情報が1又はパーセント表示で100%と等しい場合、データ評価部17は、データ出力部17に対して、1又は100%である比率情報を出力する処理を行う(S45)。
【0074】
この場合、データ出力部17は、図示しない表示部等に比率情報が1又は100%であること、すなわち、評価用データセットを用いることで木構造学習済モデルのすべての葉ノードが使用されたことを表示する。
【0075】
一方、比率情報が1又は100%に満たない場合(S41NO)、データ評価部16は、条件特定処理(S42)を行う。
【0076】
図4は、条件特定処理(S42)の詳細フローチャートである。同図から明らかな通り、処理が開始すると、データ評価部16は、葉ノードを順に参照するための変数jの初期化処理を行う(S421)。具体的には、本実施形態においては、変数jを0とする処理を行う。
【0077】
その後、データ評価部16は、j番目の葉ノードのフラグが真となっているかを判定する処理を行う(422S)。j番目の葉ノードのフラグが真でない、すなわち偽である場合(S422NO)、当該葉ノードから根ノードへと至る経路に係る分岐条件を記憶する処理を行う(S423)。この記憶処理の後、変数jが最大値j_maxと等しいかを判定する処理が行われる(S425)。
【0078】
一方、j番目の葉ノードのフラグが真である場合(S422YES)、データ評価部16は、記憶処理(S423)を経ずに、変数jが最大値j_maxと等しいかを判定する処理を行う(S425)。
【0079】
変数jが最大値j_maxと等しい場合(S425YES)、条件特定処理は終了する。一方、変数jが最大値j_maxより小さい場合、変数jを1だけインクリメントする処理が行われ(S426)、再び、一連の処理(S422~S425)が実行される。
【0080】
図5は、評価処理の概念図である。同図においては、最上段の根ノードから最下段の葉ノードまで各ノードが2つに分岐して配置されている。また、同図の例にあっては、評価用データセットを用いて木構造学習済モデルにおいて推論処理を行った結果、最下段の左から2番目の葉ノードから右のすべての葉ノード、すなわち、破線の四角で囲まれた葉ノードにおいてフラグが真となっているものとする(S31~S41)。すなわち、比率情報(r)は、0.875又は87.5%(=7÷8×100)である。
【0081】
このとき、条件特定処理(S42)が実行されると、同図最下段1番左の葉ノードに関するフラグのみが真ではないので、当該葉ノードから根ノードへと至る経路に係る分岐条件の記憶処理が実行される(S421~S426)。具体的には、同図の例にあっては、「x2<tc(<tb)」及び「x1<ta」を分岐条件として記憶する処理を行う。
【0082】
図3に戻り、条件特定処理(S42)が終了すると、データ評価部16は、データ検索処理を実行する(S43)。本実施形態においては、データ評価部16は、条件特定処理により記憶された分岐条件に合致するデータを前述の所定のデータセットから検索する処理を行う。
【0083】
その後、データ評価部16は、比率情報と、フラグが偽となる葉ノードから根ノードへと至る経路に係る分岐条件、及び、データセットにおいて検索された追加データの候補を、データ出力部17に対して出力する処理を実行する(S45)。
【0084】
この場合、データ出力部17は、図示しない表示部等に比率情報、フラグが偽となる葉ノードから根ノードへと至る経路に係る分岐条件、及び、追加データの候補を表示する。例えば、
図5の例であれば、比率情報として87.5%、分岐条件として「x
2<t
c(<t
b)」及び「x
1<t
a」、及び、左記条件を満たす追加候補データが表示される。すなわち、評価用データセットを用いても木構造学習済モデルの一部の葉ノードが使用されなかったこと、不足するデータ条件、及び、追加データ候補が表示される。
【0085】
なお、表示態様はこのような態様に限定されない。従って、例えば、文字だけでなく、図やグラフ等と共に表示してもよい。
【0086】
また、本実施形態においては、検索されたデータを追加データ候補としてデータ出力する構成としたが、本発明はそのような構成に限定されない。従って、追加データ候補をそのまま評価用データセットに対して追加してもよい。
【0087】
このような構成によれば、学習用データセットにより生成された木構造学習済モデルの全葉ノードに対する評価用データセットに対応する葉ノードの比率を介して、学習用データセットの分布領域に対する評価用データセットの分布領域の一致性を評価することができる。すなわち、このような構成によれば、各データセット間での分布領域の一致性を直接的に評価することができる。
【0088】
また、このような構成によれば、どのようなデータを追加することで、評価用データセットのデータ分布領域と、学習用データセットのデータ分布領域を近付けることが出来るかを、容易に把握することができる。
【0089】
さらに、このような構成によれば、データ検索を行って提示等行われるので、学習用データセットと評価用データセットのデータ分布領域が近付くよう評価用データセットを改善することができる。
【0090】
(2.第2の実施形態)
第1の実施形態においては、学習用データセットに基づいて生成された学習済モデルを用いて、評価用データセットの評価処理を行った。本実施形態においては、評価用データセットに基づいて生成された学習済モデルを用いて、学習用データセットの評価処理を行う。
【0091】
(2.1 構成)
本実施形態に係るハードウェア構成は第1の実施形態と略同一であるので詳細な説明は省略する。
【0092】
(2.2 動作)
本実施形態に係る動作は、第一の実施形態において学習用データセットを用いた場面で評価用データセットを用い、評価用データセットを用いた場面で学習用データセットを用いる点において相違するのみである。すなわち、評価用データセットに基づいて生成された学習済モデルを用いて、学習用データセットの評価処理を行うものである。そのため、詳細な説明は省略する。
【0093】
このような構成によれば、評価用データセットにより生成された木構造学習済モデルの全葉ノードに対する学習用データセットに対応する葉ノードの比率を介して、評価用データセットの分布領域に対する学習用データセットの分布領域の一致性を評価することができる。すなわち、このような構成によれば、各データセット間での分布領域の一致性を直接的に評価することができる。
【0094】
また、このような構成によれば、どのようなデータを追加することで、学習用データセットのデータ分布領域と、評価用データセットのデータ分布領域を近付けることが出来るかを、容易に把握することができる。
【0095】
さらに、このような構成によれば、データ検索を行って提示等行われるので、評価用データセットと学習用データセットのデータ分布領域が近付くよう学習用データセットを改善することができる。
【0096】
(3.第3の実施形態)
本発明は、複数の木構造学習済モデルを得るアンサンブル学習アルゴリズムにより得られた各学習済モデルに対しても適用することができる。従って、本実施形態においては、本発明をバギング学習、例として、ランダムフォレストアルゴリズムにより得られる学習済モデルに対して適用した例について説明する。なお、アンサンブル学習には、複数の木構造モデルを含む、バギング学習とブースティング学習が含まれる。
【0097】
(3.1 構成)
本実施形態に係るハードウェア構成と第1の実施形態に係るハードウェア構成とは略同一であるため、詳細な説明は省略する。
【0098】
ただし、本実施形態において、機械学習処理部13は、後述の通り、複数の決定木を生成するランダムフォレストアルゴリズムにより機械学習処理を行う。また、データ評価部16は、後述の通り、ランダムフォレストを構成する複数の決定木を評価するための評価用データセットを評価する処理を行う。
【0099】
(3.2 動作)
【0100】
本実施形態においても、第1の実施形態と同様、情報処理装置1の動作は、学習済モデルの生成のための機械学習処理と、生成された学習済モデルを利用した評価用データセットの評価処理を含む。
【0101】
(機械学習処理)
【0102】
図6は、本実施形態に係る機械学習処理に関する動作フローチャートである。同図から明らかな通り、機械学習処理のおよその流れは第1の実施形態と略同一である。しかしながら、本実施形態は、以下の点において第1の実施形態と相違する。
【0103】
すなわち、本実施形態においては、学習用データセットと評価用データセットの生成処理の後(S51)、学習用データセットからサブデータセット群を生成する処理が行われる(S52)。このサブデータセット群は、学習用データセットから重複を許して所定個数のデータを選択、抽出することにより構成される。
【0104】
その後、機械学習処理部13は、k番目のサブデータセットと各種のパラメータを読み出す(S55)。その後、機械学習処理部13は、第1の実施形態と同様に(S13~S22)、k番目のサブデータセットに基づいて、学習済モデルを生成、記憶する処理を行う(S56~S63)。
【0105】
機械学習処理部13は、このような学習済モデルの生成、記憶処理を、サブデータセットの個数分だけ(S64NO)、変数kを1ずつインクリメントしつつ(S65)、繰り返し行う。また、サブデータセットの個数分だけ学習済モデルの生成、記憶処理を行ったものと判定された場合(S64YES)、機械学習処理は終了する。
【0106】
すなわち、このような構成によれば、学習用データセットから生成された所定個数のサブデータセットのそれぞれに対して、ランダムフォレストを構成する木構造学習済モデル(学習済決定木)が生成される。
【0107】
(評価処理)
図7は、本実施形態に係る評価処理に関するゼネラルフローチャートである。同図から明らかな通り、評価処理のおよその流れは、第1の実施形態と略同一である。しかしながら、本実施形態は、以下の点において第1の実施形態と相違する。
【0108】
データ評価部16は、生成した複数の木構造学習済モデルの読み出し処理を行う(S71)。この読出処理の後、データ評価部16は、評価用データセットを読み出す処理を行う(S72)。その後、データ評価部16は、変数kの初期化処理、すなわちkを0とする処理を行う(S73)。
【0109】
この初期化処理の後、第1の実施形態と同様に、k番目の学習済モデルに対して評価用データセットに係るデータを入力して推論処理を行い、到達した葉ノードにおいてフラグを真とする処理を行う(S75~S78)。
【0110】
その後、データ評価部16は、比率情報の生成処理を行う(S80)。この比率情報が1又は100%でない場合(S81NO)、条件特定処理、及び、データ検索処理が行われる(S82~S83)。一方、比率情報が1又は100%な場合(S81YES)、k番目の学習済モデルに対する処理を終了する。
【0111】
データ評価部16は、これら一連の処理(S75~S83)を、サブデータセットの個数分だけ(S85NO)、変数kを1ずつインクリメントしつつ(S86)、繰り返す。また、サブデータセットの個数分一連の処理を行ったものと判定された場合(S85YES)、出力処理を実行し(S87)、処理は終了する。
【0112】
より詳細には、出力処理において、データ評価部16は、すべての学習済木構造について、比率情報、フラグが偽となる葉ノードから根ノードへと至る経路に係る分岐条件、及び、データセットにおいて検索された追加データの候補を、データ出力部17に対して出力する処理を実行する。
【0113】
この場合、データ出力部17は、図示しない表示部等に、各木構造学習済モデルに関して、比率情報、フラグが偽となる葉ノードが存在する場合には、フラグが偽となる葉ノードから根ノードへと至る経路に係る分岐条件、及び、追加データの候補を表示する。このとき、重複する分岐条件や追加データ等については適宜にまとめて表示してもよい。すなわち、評価用データセットを用いることで各木構造学習済モデルの葉ノードがどれだけ使用されたか、不足するデータ条件、及び、追加データ候補を表示することができる。
【0114】
このような構成によれば、複数の木構造学習済モデルを含む構成にあっても、学習用データセットにより生成された木構造学習済モデルの全葉ノードに対する評価用データセットに対応する葉ノードの比率を介して、学習用データセットの分布領域に対する評価用データセットの分布領域の一致性を評価することができる。すなわち、このような構成によれば、各データセット間での分布領域の一致性を直接的に評価することができる。
【0115】
また、このような構成によれば、どのようなデータを追加することで、評価用データセットのデータ分布領域と、学習用データセットのデータ分布領域を近付けることが出来るかを、容易に把握することができる。
【0116】
さらに、このような構成によれば、データ検索を行って提示等行われるので、学習用データセットと評価用データセットのデータ分布領域が近付くよう評価用データセットを改善することができる。
【0117】
なお、当業者には明らかなように、本実施形態の手法は、複数の木構造学習済モデルを利用する学習手法に対して適用可能である。従って、他のアンサンブル学習手法にも適用することができる。
【0118】
(4.変形例)
本発明は、上述の実施形態に限定されず、様々に変形して実施することができる。
【0119】
上述の実施形態の評価処理において、データ評価部16は、推論用データセットを入力したときに到達する葉ノードのフラグを真とする処理(S33~S37、S75~S79)のみを行ったが、本発明はこのような構成に限定されない。従って、例えば、さらなる詳細な分析を可能とすべく、追加的な処理、例えば、葉ノードへの到達回数とそのときの推論誤差を記憶、提示するような処理を加えてもよい。
【0120】
図8は、変形例に係る評価処理に関するゼネラルフローチャートである。同図から明らかな通り、評価処理のおよその流れは、第1の実施形態と略同一である。しかしながら、本変形例に係るフローチャートは、以下の点において第1の実施形態と相違する。
【0121】
本変形例においては、変数として、i、フラグの他、各葉ノードに対応して、葉ノードへの到達回数を表す変数countと、当該葉ノードに基づく出力と正解値との推論誤差Eを含む。従って、評価用データセットの読出処理の後に、変数i、フラグに追加して、カウントと推論誤差の初期化処理が行われる。例えば、カウントを0に、誤差を0とする処理が行われる。
【0122】
その後、第1の実施形態と同様に、学習済モデルにおける推論処理(S95)と、到達した葉ノードにおけるフラグ処理(S96)を行った後、到達した葉ノードのカウントを1だけ加算する処理を行う(S96)。
【0123】
また、カウントの加算処理の後、到達した葉ノードにおける推論誤差の算出を行い、当該葉ノードに関する推論誤差へと加算する処理を行う(S98)。推論誤差は、分岐により到達した葉ノードに関連付けられたデータから算出される出力値と、評価用データセットの対応する正解データとの差分として計算される。例として、本実施形態において、出力値は、分岐により到達した葉ノードに関連付けられたデータの相加平均として算出される。
【0124】
その後、データ評価部16は、第1の実施形態と同様に、評価用データセットのすべてのデータについて一連の処理を実行し(S95~S99)、その完了後に、比率情報の生成処理を行う(S101)。
【0125】
比率情報が1又は100%である場合(S102YES)、又は、比率情報が1又は100%より小さい場合(S102NO、S103~S105)、いずれの場合も、第1の実施形態と同様の出力を行うものの、本実施形態においては、さらに、カウントの値と推論誤差を出力する(S106)。
【0126】
すなわち、データ出力部17は、上述の実施形態の出力に加えて、各葉ノードについて、いくつのデータが当該葉ノードに到達したか、及び、各葉ノードの推論誤差を表示部等に出力する。
【0127】
図9は、評価処理においてカウントと推論誤差を併せて出力する変形例に係る概念図である。同図においては、最上段の根ノードから最下段の葉ノードまで、各ノードが2つに分岐して配置されている。また、木構造の下には、各葉ノードに対応して、当該葉ノードに到達した回数を表すカウントと推論誤差を含む表が配置されている。カウントの値から、評価用データセットにより、どの葉ノードがどの程度使用されたかを把握することができる。また、推論誤差の累積値より、葉ノード単位で推論誤差又は推論精度を把握することができる。
【0128】
例えば、最下段の1番左の葉ノードのカウントは1、推論誤差は0.05である。これらの値を見て、ユーザ等は、他の葉ノードの推論誤差と比べて当該葉ノードの推論誤差は小さいもののその検証回数が小さいことを把握することができる。従って、当該葉ノードに相当する分岐条件を確認して、取得すべきデータを特定することができる。
【0129】
また、別の例では、最下段の左から3番目の葉ノードのカウントは12、推論誤差は0.52である。これらの値より、ユーザ等は、当該葉ノードは、検証回数が多いものの、推論誤差の値が大きいため、当該葉ノードに関する学習用データセット又は評価用データセットのいずれかに異常値等が含まれていないかを確認すること等ができる。
【0130】
すなわち、このような構成によれば、評価用データセットのデータ分布範囲を学習用データセットのデータ分布範囲へと近付けるための客観的な評価指標を提供することができる。
【0131】
また、このような構成によれば、葉ノード毎に記憶された回数から、学習用データセットのデータ分布範囲に対する評価用データセットのデータ分布範囲の一致性が評価できると共に、検証が足りない分岐条件を特定することができるので、容易に検証用データセットを改善することができる。
【0132】
さらに、このような構成によれば、推論誤差から、木構造学習済モデルの葉ノード単位での推論精度を評価することができる。
【0133】
なお、本変形例においては、例えば、回数が所定回数以下となる葉ノードについての分岐条件を併せて出力するような構成としてもよい。このような構成によれば、検証用データセットを改善するためのデータに関する分岐条件を容易に特定することができる。
【0134】
第1の実施形態においては、学習用データセットにより生成された学習済モデルを用いて検証用データセットの評価処理を行い、第2の実施形態においては、評価用データセットにより生成された学習済モデルを用いて学習用データセットの評価処理を行う構成について説明したものの、本発明はこのような構成に限定されない。従って、例えば、第1の実施形態に係る処理と第2の実施形態に係る処理を交互に繰り返すことで、各データセットに足りないデータを追加してもよい。
【0135】
このような構成によれば、学習用データセットと評価用データセットのデータ分布領域を近付けることができる。
【0136】
以上、本発明の実施形態について説明したが、上記実施形態は本発明の適用例の一部を示したに過ぎず、本発明の技術的範囲を上記実施形態の具体的構成に限定する趣旨ではない。また、上記の実施形態は、矛盾が生じない範囲で適宜組み合わせ可能である。
【産業上の利用可能性】
【0137】
本発明は、機械学習技術を利用する種々の産業等にて利用可能である。
【符号の説明】
【0138】
1 情報処理装置
11 記憶部
12 データ読出部
13 機械学習処理部
15 記憶処理部
16 データ評価部
17 データ出力部
【要約】
第1のデータセットを用いて木構造モデルに対して学習処理を行うことにより得られた木構造学習済モデルを読み出す、読出部と、前記木構造学習済モデルに対して、第2のデータセットを入力して、前記木構造学習済モデルにおいて、前記第2のデータセットに対応する葉ノードである第1の葉ノードを特定する、葉ノード特定部と、前記木構造学習済モデルの全ての葉ノードの個数と、前記第1の葉ノードの個数又は前記木構造学習済モデルの葉ノードのうち前記第1の葉ノードに該当しない葉ノードである第2の葉ノードの個数との比率に関する情報を生成する、比率情報生成部と、を備えた、情報処理装置が提供される。
【選択図】
図5