(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B1)
(11)【特許番号】
(24)【登録日】2022-04-22
(45)【発行日】2022-05-06
(54)【発明の名称】情報処理装置、方法、プログラム及びシステム
(51)【国際特許分類】
G06N 99/00 20190101AFI20220425BHJP
【FI】
G06N99/00
(21)【出願番号】P 2022503915
(86)(22)【出願日】2021-10-14
(86)【国際出願番号】 JP2021038063
【審査請求日】2022-01-20
【早期審査対象出願】
(73)【特許権者】
【識別番号】517045705
【氏名又は名称】株式会社エイシング
(74)【代理人】
【識別番号】100098899
【氏名又は名称】飯塚 信市
(74)【代理人】
【識別番号】100163865
【氏名又は名称】飯塚 健
(72)【発明者】
【氏名】菅原 志門
(72)【発明者】
【氏名】出澤 純一
【審査官】中村 信也
(56)【参考文献】
【文献】特開2005-242979(JP,A)
【文献】特開平08-087427(JP,A)
【文献】特開2020-135171(JP,A)
(58)【調査した分野】(Int.Cl.,DB名)
G06N 3/00-3/12
G06N 7/08-99/00
G06N 5/00-7/06
(57)【特許請求の範囲】
【請求項1】
1又は複数の木構造モデルの各ノードに対応付けられ、かつ、操作可能な変数に係る分岐条件に基づいて探索条件を特定する、探索条件特定処理部と、
前記探索条件に基づいて、前記木構造モデルにおいて目標出力データ又は前記目標出力データ近傍の出力データを生成する入力データを特定する、入力データ特定処理部と、を備える、情報処理装置。
【請求項2】
前記探索条件特定処理部は、前記木構造モデルの各ノードについて前記分岐条件に関する判定処理を行い、当該ノードに操作可能な変数に係る分岐条件が対応付けられている場合に当該分岐条件の記憶処理を行う、分岐条件記憶処理部をさらに備える、請求項1に記載の情報処理装置。
【請求項3】
前記入力データ特定処理部は、前記木構造モデルに前記探索条件を満たす1又は複数の仮入力データを入力し、前記仮入力データのうち、前記仮入力データに対応する前記木構造モデルの出力データが前記目標出力データとなるか又は前記目標出力データに最も近くなる仮入力データを前記入力データとして特定する、請求項1又は2のいずれか1項に記載の情報処理装置。
【請求項4】
前記探索条件特定処理部は、前記分岐条件を大小関係によりソートし、ソートした前記分岐条件を探索条件として特定する、ソート処理部をさらに備え、
前記入力データ特定処理部は、前記探索条件において、隣り合う分岐条件間の任意の値を前記入力データとして特定する、請求項1~3のいずれか1項に記載の情報処理装置。
【請求項5】
変数の操作可能性に関する設定を行う、変数設定部をさらに備える、請求項1~4のいずれか1項に記載の情報処理装置。
【請求項6】
前記目標出力データの内容を設定する、目標出力データ設定部をさらに備える、請求項1~5のいずれか1項に記載の情報処理装置。
【請求項7】
入力データ特定処理部は、さらに、
特定された前記入力データが所定条件を満たすか否かを判定する、条件判定部を備える、請求項1~6に記載の情報処理装置。
【請求項8】
前記入力データは複数である、請求項1~7に記載の情報処理装置。
【請求項9】
前記木構造モデルは複数であって、
前記探索条件特定処理部は、前記分岐条件を統合することにより前記探索条件を生成する、分岐条件統合処理部をさらに備える、請求項1~8に記載の情報処理装置。
【請求項10】
前記木構造
モデルは学習済の決定木である、請求項1~7のいずれか1項に記載の情報処理装置。
【請求項11】
前記複数の木構造モデルは、アンサンブル学習により得られたものである、請求項1~7のいずれか1項に記載の情報処理装置。
【請求項12】
1又は複数の木構造モデルの各ノードに対応付けられ、かつ、操作可能な変数に係る分岐条件に基づいて探索条件を特定する、探索条件特定処理ステップと、
前記探索条件に基づいて、前記木構造モデルにおいて目標出力データ又は前記目標出力データ近傍の出力データを生成する入力データを特定する、入力データ特定処理ステップと、を備え
、情報処理装置により実行される、情報処理方法。
【請求項13】
1又は複数の木構造モデルの各ノードに対応付けられ、かつ、操作可能な変数に係る分岐条件に基づいて探索条件を特定する、探索条件特定処理ステップと、
前記探索条件に基づいて、前記木構造モデルにおいて目標出力データ又は前記目標出力データ近傍の出力データを生成する入力データを特定する、入力データ特定処理ステップと、を備える、情報処理プログラム。
【請求項14】
1又は複数の木構造モデルの各ノードに対応付けられ、かつ、操作可能な変数に係る分岐条件に基づいて探索条件を特定する、探索条件特定処理部と、
前記探索条件に基づいて、前記木構造モデルにおいて目標出力データ又は前記目標出力データ近傍の出力データを生成する入力データを特定する、入力データ特定処理部と、を備える、情報処理システム。
【発明の詳細な説明】
【技術分野】
【0001】
この発明は、情報処理装置、方法、プログラム及びシステムに関する。
【背景技術】
【0002】
入力データとそれに対応する正解データとから成るデータセットに基づいて、所定の入力データに対する予測(推論)出力データを生成するためのモデルを生成することが行われる。例えば、近年、機械学習技術を用いて所定のモデルに対してトレーニングを行って学習済モデルを生成し、未知の入力データに対する出力データを予測することが行われている(例えば、特許文献1)。
【0003】
ところで、目標とする出力データが存在する場合、モデルからそのような出力データが生成される入力データを逆に特定することが要求される場合がある。例えば、空調システムに関し、現在の設定温度を入力データとし、T分後の室内温度を予測出力データとするモデルを仮定する。このとき、T分後の温度を所定の温度Xとするために、現在において設定すべき室内温度を逆に特定したい場合がある。
【0004】
このようなモデルにおいて目標出力データを生成するための入力データを特定するためにはいくつかの手法が考えられる。
【0005】
第一の手法は、入力として採り得る全ての値をモデルへと入力すると共に、その出力データを観測し、出力データが目標出力データに最も近い入力データを特定する手法である。第二の手法は、規定の回数だけ乱数等をモデルへと入力すると共に、その出力データを観測し、出力データが理想出力データに最も近い入力データを特定する手法である。
【先行技術文献】
【特許文献】
【0006】
【発明の概要】
【発明が解決しようとする課題】
【0007】
しかしながら、第一の手法では、採り得る全ての値を入力することとなるため、計算コストが大きくなり多大な計算時間を要する。また、第二の手法では、規定回数が十分でなければ探索不足となる可能性がある。また、乱数等を用いるため結果が一意とはならないおそれがある。
【0008】
本発明は、上述の技術的背景の下になされたものであり、その目的とするところは、目標出力データ又は目標出力データ近傍の出力データを生成する入力データを効率的に特定することにある。
【0009】
本発明のさらに他の目的並びに作用効果については、明細書の以下の記述を参照することにより、当業者であれば容易に理解されるであろう。
【課題を解決するための手段】
【0010】
上述の技術的課題は、以下の構成を有する情報処理装置等により解決することができる。
【0011】
すなわち、本発明に係る情報処理装置は、1又は複数の木構造モデルの各ノードに対応付けられ、かつ、操作可能な変数に係る分岐条件に基づいて探索条件を特定する、探索条件特定処理部と、前記探索条件に基づいて、前記木構造モデルにおいて目標出力データ又は前記目標出力データ近傍の出力データを生成する入力データを特定する、入力データ特定処理部と、を備えている。
【0012】
このような構成によれば、木構造モデルの各ノードに対応付けられた分岐条件のうち操作可能な変数に係る分岐条件に着目して探索条件を特定するので、目標出力データ又は目標出力データ近傍の出力データを生成する入力データを効率的に特定することができる。
【0013】
前記探索条件特定処理部は、前記木構造モデルの各ノードについて前記分岐条件に関する判定処理を行い、当該ノードに操作可能な変数に係る分岐条件が対応付けられている場合に当該分岐条件の記憶処理を行う、分岐条件記憶処理部をさらに備える、ものであってもよい。
【0014】
このような構成によれば、各ノードについて個別に判定処理を行い、操作可能な変数に係る分岐条件のみを記憶処理するので、探索条件を速やかに特定することができる。
【0015】
前記入力データ特定処理部は、前記木構造モデルに前記探索条件を満たす1又は複数の仮入力データを入力し、前記仮入力データのうち、前記仮入力データに対応する前記木構造モデルの出力データが前記目標出力データとなるか又は前記目標出力データに最も近くなる仮入力データを前記入力データとして特定する、ものであってもよい。
【0016】
このような構成によれば、探索条件を満たす仮入力データを用いて探索を行うことで、効率的に所望の出力を生成する入力データを特定することができる。
【0017】
前記探索条件特定処理部は、前記分岐条件を大小関係によりソートし、ソートした前記分岐条件を探索条件として特定する、ソート処理部をさらに備え、前記入力データ特定処理部は、前記探索条件において、隣り合う分岐条件間の任意の値を前記入力データとして特定する、ものであってもよい。
【0018】
このような構成によれば、速やかに妥当な入力データを特定することができる。
【0019】
変数の操作可能性に関する設定を行う、変数設定部をさらに備える、ものであってもよい。
【0020】
このような構成によれば、いずれの変数が操作可能であるか等を設定することができ、汎用性を向上させることができる。
【0021】
前記目標出力データの内容を設定する、目標出力データ設定部をさらに備える、ものであってもよい。
【0022】
このような構成によれば、目標出力を自在に設定することができ、汎用性を向上させることができる。
【0023】
入力データ特定処理部は、さらに、特定された前記入力データが所定条件を満たすか否かを判定する、条件判定部を備える、ものであってもよい。
【0024】
このような構成によれば、所定条件の判定を行うので、例えば、実用に耐えうる入力データのみを最終的な入力データとすることができる。
【0025】
前記入力データは複数であってもよい。
【0026】
このような構成によれば、複数の入力データからユーザ等の知見等も加味して、最適な入力データを選択することができる。
【0027】
前記木構造モデルは複数であって、前記探索条件特定処理部は、前記分岐条件を統合することにより前記探索条件を生成する、分岐条件統合処理部をさらに備える、ものであってもよい。
【0028】
このような構成によれば、複数の分岐条件を統合して一元化することができる。
【0029】
前記木構造は学習済の決定木であってもよい。
【0030】
このような構成によれば、学習済の決定木において出力を最適とする入力データを効率的に特定することができる。
【0031】
前記複数の木構造モデルは、アンサンブル学習により得られたものであってもよい。
【0032】
このような構成によれば、アンサンブル学習により得られた木構造モデルにおいて出力を最適とする入力データを効率的に特定することができる。
【0033】
別の側面から見た本発明は方法として観念することができる。すなわち、本発明に係る情報処理方法は、1又は複数の木構造モデルの各ノードに対応付けられ、かつ、操作可能な変数に係る分岐条件に基づいて探索条件を特定する、探索条件特定処理ステップと、
【0034】
前記探索条件に基づいて、前記木構造モデルにおいて目標出力データ又は前記目標出力データ近傍の出力データを生成する入力データを特定する、入力データ特定処理ステップと、を備えている。
【0035】
別の側面から見た本発明はコンピュータプログラムとして観念することができる。すなわち、本発明に係る情報処理プログラムは、1又は複数の木構造モデルの各ノードに対応付けられ、かつ、操作可能な変数に係る分岐条件に基づいて探索条件を特定する、探索条件特定処理ステップと、前記探索条件に基づいて、前記木構造モデルにおいて目標出力データ又は前記目標出力データ近傍の出力データを生成する入力データを特定する、入力データ特定処理ステップと、を備えている。
【0036】
別の側面から見た本発明はシステムとして観念することができる。すなわち、本発明に係る情報処理システムは、1又は複数の木構造モデルの各ノードに対応付けられ、かつ、操作可能な変数に係る分岐条件に基づいて探索条件を特定する、探索条件特定処理部と、
【0037】
前記探索条件に基づいて、前記木構造モデルにおいて目標出力データ又は前記目標出力データ近傍の出力データを生成する入力データを特定する、入力データ特定処理部と、を備えている。
【発明の効果】
【0038】
本発明によれば、目標出力データ又は目標出力データ近傍の出力データを生成する入力データを効率的に特定することができる。
【図面の簡単な説明】
【0039】
【
図2】
図2は、情報処理装置の機能ブロック図である。
【
図3】
図3は、情報処理装置の動作に関するゼネラルフローチャートである。
【
図4】
図4は、学習処理の詳細フローチャートである。
【
図5】
図5は、第1の本実施形態に係る学習用データである。
【
図7】
図7は、探索条件の特定処理の詳細フローチャートである。
【
図8】
図8は、最適入力データの特定処理の詳細フローチャートである。
【
図9】
図9は、情報処理装置の動作に関するゼネラルフローチャート(第2の実施形態)である。
【
図10】
図10は、学習処理の詳細フローチャート(第2の実施形態)である。
【
図12】
図12は、探索条件の特定処理の詳細フローチャート(第2の実施形態)である。
【
図13】
図13は、最適入力データの特定処理の詳細フローチャート(第2の実施形態)である。
【発明を実施するための形態】
【0040】
以下、本発明の実施の一形態を、添付の図面を参照しつつ、詳細に説明する。
【0041】
(1.第1の実施形態)
図1~
図8を参照しつ、第1の実施形態について説明する。第1の実施形態として、本発明を情報処理装置へと適用した例について説明する。ここで、情報処理装置は、後述の通り、演算装置とメモリを備えたコンピュータであり、例えば、PC、マイコン又はそれらと接続され又はそれらを備えた装置等が含まれる。なお、情報処理装置に相当する機能をFPGA等のICにより回路的に実現してもよい。
【0042】
(1.1 構成)
図1は、情報処理装置1の概略構成図である。同図から明らかな通り、情報処理装置1は、制御部11、記憶部12、入力部13、通信部15、表示制御部16及び音声出力部17を備えている。なお、同図においては電源系に関する記載は省略されている。
【0043】
制御部11は、CPU又はGPU等の演算装置であり、後述の種々のプログラムを実行する。記憶部12は、ROM、RAM、ハードディスク又はフラッシュメモリ等のメモリであり、後述の種々のプログラム及びデータを記憶する。入力部13は、キーボード、マウス等の入力装置により入力された信号を処理して制御部11へと提供する。
【0044】
通信部15は、外部装置と有線又は無線による通信を行うためのユニットである。表示制御部16は、図示しないディスプレイ等の表示装置と接続されて制御部11により生成された画像等を表示装置へと出力する処理等を行う。音声出力部17は、制御部11により生成された音声信号を図示しないスピーカ等へと出力する処理を行う。
【0045】
図2は、情報処理装置1の機能ブロック図である。同図から明らかな通り、記憶部12は、入力部13、学習処理部111、探索条件特定処理部112及び入力データ特定処理部113と接続されている。
【0046】
後述の通り、入力部13を介して入力された情報は記憶部12へと記憶される。また、学習処理部111は、記憶部12から学習モデルに係るパラメータと学習対象となるデータを読み出して学習処理を行い、学習済モデルを記憶部12へと記憶する。
【0047】
さらに、探索条件特定処理部112は、学習済モデルを読み出して後述の分析を行うことで、探索条件を特定する処理を行う。加えて、入力データ特定処理部113は、探索条件に基づいて、目標出力値又はその近傍値を出力する最適入力データを特定する処理を行う。
【0048】
なお、
図1及び
図2で示したハードウェア構成は例示であり、当業者に知られる手法で種々の変形が可能である。例えば、情報処理装置1の機能の一部を統合・分散させたり、ネットワークを介した情報処理システムとして実現してもよい。
【0049】
(1.2 動作)
図3は、本実施形態に係る情報処理装置1の動作に関するゼネラルフローチャートである。
【0050】
同図から明らかな通り、処理が開始すると、学習処理部111は、学習処理を行って学習済モデルを生成する(S1)。
【0051】
学習処理の後、探索条件特定処理部112は、目標出力値又はその近傍値を出力するための最適入力データを特定する際の探索条件の特定処理を行う(S3)。
【0052】
その後、入力データ特定処理部113は、特定された探索条件に基づいて、最適入力データを特定する処理を行う(S5)。以下、各処理について詳細に説明する。
【0053】
図4は、学習処理(S1)の詳細フローチャートである。同図から明らかな通り、処理が開始すると、学習処理部111は、学習モデルに関するパラメータの読出処理を行う。本実施形態において学習モデルは決定木であり、パラメータは、最大深さ等の決定木の機械学習に必要なパラメータである。
【0054】
パラメータの読出処理後、学習処理部111は、学習用データの読み出し処理を行う(S12)。学習用データは、1又は複数の入力データと1又は複数の正解データとから成るデータセットである。
【0055】
図5は、本実施形態に係る学習用データである。同図から明らかな通り、学習用データは、外気温T
1[℃]、室内温度T
2[℃]及び空調設定温度T
3[℃]から成る入力データと、それに対応する正解データであるT分後の室内温度X[℃]と、から構成されるデータセットを多数含んでいる。
【0056】
図4に戻り、学習用データの読み出し処理の後、学習済モデルの生成処理が行われる。すなわち、学習処理部111は、まず、学習用データをルートノード(根ノード)へと紐づける処理を行う(S13)。その後、学習処理部111は、学習用データが紐づけられたルートノードをキューへと格納する処理を実行する(S15)。
【0057】
格納処理の後、学習処理部111は、キューからノードを読み出す処理を実行する(S16)。その後、読み出したノードについて当該ノードが分岐対象ノードであるか否かの判定処理を実行する(S17)。ノードが分岐対象であるか否かは、例えば、対象ノードが最大深さの位置にあるノードであるか否か等をもとに判定される。
【0058】
ノードが分岐対象である場合(S17NO)、学習処理部111は、読み出された各ノードが保持するデータに対して分岐条件の決定処理を実行する(S18)。この分岐条件は、当業者に知られる種々の手法により決定することができる。例えば、複数の分割点を仮定した後、各仮分割点により分割を行った場合を所定の評価指標により評価し、最良の評価となる分割点を最終的な分岐条件として設定してもよい。当業者に知られるように、評価指標としては、例えば、ジニ係数やRMSE(二乗平均平方根誤差)等を採用することができる。
【0059】
各ノードにおいて分岐条件を決定した後、学習処理部111は、当該分岐条件に基づいて左右の子ノードへとデータの仕分け処理を行う(S19)。この仕分け処理の後、キューへと各子ノードを格納する処理を実行する(S21)。
【0060】
学習処理部111は、これらの一連の処理(S16、S17YES、S18~S21)を、キューから読み出されるノードが分岐対象でなくなるまで繰り返し実行する。
【0061】
一方、ノードが分岐対象でなくなった場合、すなわち、着目ノードが最大深さに至った場合(S17NO)、学習処理部111は、学習済モデルが生成されたものとして学習済モデルを記憶部12へと記憶する処理を行い(S22)、処理は終了する。
【0062】
図6は、学習済モデル、すなわち、学習用データを機械学習することにより生成された決定木の一例に係る概念図である。
【0063】
根ノードにおいては、外気温T1<t1を満たす場合に、左の子ノードへと仕分けられ、そうでない場合には右の子ノードへと仕分けられる。同様に左子ノードには、設定温度T3<t2、右子ノードには、外気温T1<t5の条件が対応付けられている。
【0064】
また、左子ノードは、さらに、左孫ノードと右孫ノードへと分岐され、左孫ノードには設定温度T3<t3の分岐条件が、右孫ノードには室内温度T2<t4の分岐条件が対応付けられている。さらに、右子ノードは、さらに、左孫ノードと右孫ノードへと分岐され、左孫ノードには室内温度T2<t6の分岐条件が、右孫ノードには外気温T1<t7の分岐条件が対応付けられている。なお、以下では、t1~t7を分割値と呼ぶことがある。
【0065】
図7は、探索条件の特定処理(S3)の詳細フローチャートである。同図から明らかな通り、処理が開始すると、探索条件特定処理部112は、学習済モデルの読み出し処理を実行する(S31)。
【0066】
学習済モデルの読み出し処理の後、探索条件特定処理部112は、設定情報の読み出し処理を実行する(S32)。ここで、設定情報は、入力データのうち変更可能又は操作可能な変数に係る情報である。例えば、本実施形態においては、設定温度に係る変数T3を変更可能な変数として特定する。
【0067】
なお、この設定情報は、ユーザ等により入力部13を介して予め設定されたものであってもよい。
【0068】
このような構成によれば、いずれの変数が変更可能又は操作可能であるかを事前に設定することができ、汎用性を向上させることができる。
【0069】
設定情報の読み出し処理の後、探索条件特定処理部112は、所定の探索条件を格納する配列領域を確保する処理を実行する(S33)。
【0070】
配列領域の確保処理の後、探索条件特定処理部112は、変更可能な変数に係る分岐条件の抽出処理を行い配列領域に格納する(S35)。この抽出処理は、着目ノードを根ノードから葉ノードに向けて順に変更しつつ行われる。
【0071】
図5の例にあっては、灰色に着色された左子ノードと当該左子ノードの左孫ノードに対応付けられた分岐条件が変更可能な変数T
3に係る分岐条件である。従って、同図の例にあっては、t
2<t
3が分岐条件として抽出され、配列領域に格納される。
【0072】
抽出処理の後、探索条件特定処理部112は、探索条件を記憶部12へと記憶する処理を実行する(S36)。例えば、探索条件としてt2<t3を記憶する。その後、処理は終了する。
【0073】
図8は、最適入力データの特定処理(S4)の詳細フローチャートである。処理が開始すると、入力データ特定処理部113は、記憶部12から探索条件の読み出し処理を行う(S41)。
【0074】
探索条件の読出処理の後、入力データ特定処理部113は、記憶部12から目標出力値の読み出し処理を行う(S42)。この目標出力値は、ユーザ等により入力部13を介して予め設定された値であってもよい。
【0075】
このような構成によれば、目標出力を自在に設定することができ、汎用性を向上させることができる。
【0076】
目標出力値の読出処理の後、入力データ特定処理部113は、各変数についてソート処理を行う(S43)。例えば、各変数に係る探索条件について、分割値を小さいものから大きいものへと順に並び変える処理を行う。
【0077】
ソート処理の後、入力データ特定処理部113は、任意の一の変数に着目すると共に、当該変数に係る任意の一の分割値に着目する処理を行う(S45)。
【0078】
その後、入力データ特定処理部113は、当該分割値が変数に係るすべての分割値のうちで最大の分割値であるか否かの判定処理を行う(S46)。着目した分割値が最大である場合(S46YES)、最大値以上の任意の値を最適入力データの候補値(仮入力データ)として設定する処理を行う(S51)。
【0079】
着目した分割値が最大でない場合(S46NO)、入力データ特定処理部113は、当該分割値が変数に係るすべての分割値のうちで最小の分割値であるか否かの判定処理を行う(S47)。着目した分割値が最小である場合(S47YES)、最小値以下の任意の値を最適入力データの候補値として設定する処理を行う(S50)。
【0080】
着目した分割値が最小でない場合(S47NO)、すなわち、着目した分割値が最大でも最小でもない場合、入力データ特定処理部113は、隣り合う分割値との間の任意の値を最適入力データの候補値として設定する処理を行う(S48)。
【0081】
いずれかの値への設定処理が完了すると、すべての変数について所定の値を設定したか否かの判定処理が行われる(S53)。未だすべての変数について候補値が設定されていない場合(S53NO)、変数の変更処理と変更された変数に関して任意の一の分割値へと着目する処理が行われる(S52)。
【0082】
すべての変更可能な変数について所定の候補値が設定された場合(S53YES)、入力データ特定処理部113は、各変数において設定された値を記憶する処理を行う(S55)。
【0083】
記憶処理の後、設定した値により又は設定した値及び変更不可能な値により、学習済モデルに係る木構造を辿って葉ノードを特定し、葉ノードから決定木の出力値(又は出力データ)を特定する処理を行う(S56)。なお、出力値の特定処理は、当業者に知られる種々の手法を採用できるが、例えば、辿り着いた葉ノードに対応付けられたデータの平均値としてもよい。
【0084】
この出力値の特定処理の後、入力データ特定処理部113は、出力値と目標出力値(又は目標出力データ)との差分値を算出する処理を行う(S57)。
【0085】
差分値の算出処理の後、入力データ特定処理部113は、当該差分値の絶対値が既存の差分値と比べて最小か否かの判定処理を行う(S58)。なお、差分値は当初所定の値へと設定されている。
【0086】
差分値の絶対値が最小となる場合(S58YES)、入力データ特定処理部113は、算出した差分値による更新処理を行う(S60)。一方、差分値の絶対値が最小でない場合(S58NO)、差分値の更新処理を行わない。
【0087】
なお、本実施形態において出力値は1次元であるので差分値は単純な差分として計算可能なものの、出力値が多次元である場合には、差分値は多次元のユークリッド距離等に基づいて計算してもよい。
【0088】
その後、所定回数だけ一連の処理(S45~S60)が実行されたか否かの判定処理が行われる(S61)。判定処理の結果、所定回数だけ処理が行われていないと判定される場合(S61NO)、再び一連の処理が実行される(S45~S60)。
【0089】
一方、判定処理の結果、所定回数だけ処理が行われたと判定される場合(S61YES)、差分値の絶対値が最小となる設定値を最適入力データとして記憶部12へと記憶する処理を行う(S62)。その後、処理は終了する。
【0090】
このような構成によれば、木構造モデルの各ノードに対応付けられた分岐条件のうち操作可能な変数に係る分岐条件に着目して探索条件を特定するので、目標出力データ又は目標出力データ近傍の出力データを生成する入力データを効率的に特定することができる。
【0091】
(2.第2の実施形態)
図9~
図13を参照しつ、第2の実施形態について説明する。第2の実施形態においては、第1の実施形態における決定木に代えて、多数の木構造から成る学習済モデルを利用する。
【0092】
なお、本実施形態においては、多数の木構造を利用する学習モデルとしてランダムフォレストを例示するものの、本発明はそのような構成に限定されない。すなわち、多数の木から成る学習モデルとして、アンサンブル学習により得られる他の学習モデル、例えば、他のバギング学習モデル又はブースティング学習モデルを採用することもできる。
【0093】
(2.1 構成)
第2の実施形態に係るハードウェア構成は、第1の実施形態に係る構成と略同一であるので、詳細な説明を省略する。
【0094】
ただし、本実施形態においては、学習処理部111は、ランダムフォレストアルゴリズムにより複数の木構造を含む学習済モデルを生成する。
【0095】
(2.2 動作)
図9は、第2の実施形態に係る情報処理装置1の動作に関するゼネラルフローチャートである。同図から明らかな通り、情報処理装置1の動作は、学習処理(S7)、探索条件の特定処理(S9)、最適入力データの特定処理(S100)を順に実行する点において第1の実施形態と略同一である。ただし、以下の通り、各処理の詳細において相違する。
【0096】
図10は、本実施形態に係る学習処理(S7)の詳細フローチャートである。第2の実施形態においては、第1の実施形態において生成された決定木を複数生成することで所謂ランダムフォレストを生成する。
【0097】
処理が開始すると、学習処理部111は、変数iの初期化処理、例えば、変数iを1とする処理を行う(S71)。その後、第1の実施形態と同様に、学習用データに基づいて学習済の木構造モデルを生成する(S72~S83)。
【0098】
その後、学習処理部111は、変数iが木の最大本数i_maxに等しいか否か、すなわち、所定数i_maxだけ決定木を生成したかについての判定処理を行う(S85)。変数iがi_maxに等しくない場合(S85NO)、変数iをインクリメントする処理を行い、再び、一連の処理を行う(S73~S83)。
【0099】
変数iがi_maxに等しい場合(S85YES)、学習処理部111は、生成された複数の木構造を学習済モデルとして記憶部12へと記憶する処理を行い、処理は終了する。
【0100】
図11は、本実施形態に係る学習処理により生成されるランダムフォレストの概念図である。同図から明らかな通り、学習処理によりi_max個の木構造が生成される。これらの木構造に基づいて予測分類や予測値(回帰出力)を生成することができる。
【0101】
図12は、本実施形態に係る探索条件の特定処理(S9)の詳細フローチャートである。第2の実施形態のおいても、第1の実施形態と同様に、学習済モデルの読み出し処理(S91)と設定情報の読み出し処理(S92)を行った後、変更可能な変数に係る分岐条件の抽出処理と探索条件の記憶処理(S97)が行われる。
【0102】
しかしながら、本実施形態においては、探索条件特定処理部112は、変数iを初期化した後(S93)、変数iが木の最大本数i_maxと等しくなるまで(S98NO)、変数iをインクリメントさせつつ(S99)、一連の処理(S95~S97)を繰り返す。すなわち、これにより、すべての木について探索条件を記憶する処理を行う。
【0103】
すべての木について探索条件の記憶処理が行われると(S98YES)、処理は終了する。
【0104】
図13は、本実施形態に係る最適入力データの特定処理の詳細フローチャートである。同図から明らかな通り、本実施形態においても、第1の実施形態と同様に、入力データ特定処理部113は、探索条件の読出処理(S101)、目標出力値の読出処理(S102)の後、変数毎のソート処理(S103)を行い、各変数毎に最適入力データの候補値(仮入力データ)を設定する(S106~S113)。ただし、本実施形態においては、ソート処理を行う前に、各木から抽出された探索条件を変数毎に統合する処理を行う。
【0105】
このような構成によれば、複数の分岐条件を統合して条件を一元化することができる。
【0106】
すべての変数について値を設定した後、入力データ特定処理部113は、設定された値を記憶する処理(S115)を行うと共に、設定された値により各木構造を辿る処理を行って出力値を特定する処理を行う(S118)。なお、この出力値(又は出力データ)は各木構造の出力値(又は出力データ)に基づいて計算される。
【0107】
その後、入力データ特定処理部113は、第1の実施形態と同様に、差分値の更新処理を行う(S120~S122)。
【0108】
以上の一連の処理(S105~S122)は、所定回数だけ繰り返される(S123NO)。所定回数の試行が完了した場合(S123YES)、処理は終了する。
【0109】
このような構成によれば、多数の木構造モデルを含む学習アルゴリズムを用いる場合にあっても、木構造モデルの各ノードに対応付けられた分岐条件のうち操作可能な変数に係る分岐条件に着目して探索条件を特定するので、目標出力データ又は目標出力データ近傍の出力データを生成する入力データを効率的に特定することができる。
【0110】
(3.その他)
上述の実施形態においては、出力値が目標出力値に最も近くなる設定値(候補値)を最適入力データとしたものの、出力態様はそのような構成に限定されない。従って、例えば、目標出力値に近い出力値を生成する最適入力データの候補値群を、近い順に複数提示する等してもよい。
【0111】
このような構成によれば、候補値群からユーザ等の知見等も加味して、最適入力データを選択することができる。
【0112】
また、上述の実施形態においては、変更可能な変数が1つのみ(T3)として説明したものの、本発明はそのような構成に限定されない。従って、複数の変更可能な変数を含んでもよい。
【0113】
例えば、変更可能な変数1について分割値がt3<t2として抽出され、変数2について分割値がt8<t9として抽出されたとする。このとき、変数1についての探索範囲は、x1<t3、t3≦x2≦t2、t2<x3の3つの区間となる。同様に、変数2についての探索範囲は、x4<t8、t8≦x5≦t9、t9<x6の3つの区間となる。この場合、(x1,x4)、(x1,x5)、(x1,x6)、(x2,x4)、(x2,x5)、(x2,x6)、(x3,x4)、(x3,x5)、(x3,x6)の9つの組み合わせを任意の値で探索することで、効率的な探索を行うことができる。
【0114】
また、上述の実施形態において、最適入力データには値域に関する制限が設けられていないものの、最適入力データに関して値域に関する条件判定を行い、条件を満たす候補値を最適入力データとしてもよい。
【0115】
例えば、入力値を電流値、出力をモータの振動の大きさを表すパラメータとし、モータにおける振動抑制を行う場合について考える。このとき、振動抑制を目的として、振動の大きさを表すパラメータの目標出力値を0とすると、電流が流れなければ振動も生じないため、最適入力データが0として特定される可能性がある。しかしながら、これでは実用に耐えないため、例えば、電流値についてはX(>0)以上という所定の条件を設定し、当該条件を満たす候補値を最適入力データとしてもよい。
【0116】
以上、本発明の実施形態について説明したが、上記実施形態は本発明の適用例の一部を示したに過ぎず、本発明の技術的範囲を上記実施形態の具体的構成に限定する趣旨ではない。また、上記の実施形態は、矛盾が生じない範囲で適宜組み合わせ可能である。
【産業上の利用可能性】
【0117】
本発明は、機械学習技術を利用する種々の産業等にて利用可能である。
【符号の説明】
【0118】
1 情報処理装置
11 制御部
111 学習処理部
112 探索条件特定処理部
113 入力データ特定処理部
12 記憶部
13 入力部
15 通信部
16 表示制御部
17 音声出力部
【要約】
1又は複数の木構造モデルの各ノードに対応付けられ、かつ、操作可能な変数に係る分岐条件に基づいて探索条件を特定する、探索条件特定処理部と、前記探索条件に基づいて、前記木構造モデルにおいて目標出力データ又は前記目標出力データ近傍の出力データを生成する入力データを特定する、入力データ特定処理部と、を備える、情報処理装置が提供される。
【選択図】
図6