(57)【特許請求の範囲】
【請求項１】
入力データを用いた予測モデル構築のための機械学習における、アルゴリズム又はハイパーパラメータの設定処理をコンピュータに行わせるプログラムであって、該コンピュータに、
複数回試行した前記機械学習の結果から得られる機械学習ごとの予測モデルおよび予測精度に基づき、対象の複数のデータそれぞれに対し、前記複数回の前記機械学習に関する評価値を生成し、
複数のデータそれぞれに対し、前記機械学習の複数回の試行に基づき、前記予測精度の高い第１の試行群と前記予測精度の低い第２の試行群を生成し、
前記複数のデータのそれぞれに対し、あるハイパーパラメータが前記第１の試行群に入る確率に対応する第１の確率分布と、前記第２の試行群に入る確率に対応する第２の確率分布を求め、
前記複数のデータそれぞれに対する前記第１の確率分布、前記第２の確率分布、及び、前記複数のデータそれぞれに対する前記複数の試行結果の類似度に基づき、それぞれ、前記第１の確率分布と前記第２の確率分布に対応する、第３の確率分布と第４の確率分布とを生成し、
前記複数のデータそれぞれと、前記ハイパーパラメータに基づき、機械学習の次の試行に要する予測時間である時間予測関数を生成し、
前記評価値、前記第３の確率分布、前記第４の確率分布、及び、前記時間予測関数に基づき、次の機械学習の試行に用いられるハイパーパラメータおよびデータを特定する
処理を行わせることを特徴とするプログラム。
【請求項２】
前記予測精度の高さの基準となる閾値を用いて、前記機械学習の複数の前記ハイパーパラメータの各予測精度と閾値との差に基づいて、追加の試行により精度が上がる可能性を計算することにより、前記評価値を生成することを特徴とする請求項１記載のプログラム。
【請求項３】
各データにおいて、前記閾値以上を示す前記ハイパーパラメータを前記第１の試行群に分類し、該閾値未満を示す該ハイパーパラメータを前記第２の試行群に分類することを特徴とする請求項２記載のプログラム。
【請求項４】
前記複数のデータの前記第１の確率分布の各々に対して重み付けして合算することにより、該複数のデータ全体での前記第１の試行群に入る確率に対応する前記第３の確率分布を求め、また、該複数のデータの前記第２の確率分布の各々に対して前記重み付けして合算することにより、該複数のデータ全体での前記第２の試行群に入る確率に対応する前記第４の確率分布を求めることを特徴とする請求項１乃至３のいずれか一項記載のプログラム。
【請求項５】
前記時間予測関数では、ガウス過程で前記予測時間を推定する関数、又は、各データのハイパーパラメータ空間上の最近傍の学習をすでに試行した複数のハイパーパラメータの学習時間の平均値を求めることを特徴とする請求項１乃至４のいずれか一項記載のプログラム。
【請求項６】
前記コンピュータに、
前記評価値と、前記第３の確率分布と、前記第４の確率分布と、前記時間予測関数とを用いて、各データを前記機械学習により調べる価値を算出する
処理を行わせることを特徴とする請求項５記載のプログラム。
【請求項７】
前記複数のデータにおいて、前記調べる価値が最大値となる前記ハイパーパラメータを取得し、前記次の機械学習の試行に用いられる前記ハイパーパラメータおよび前記データを特定することを特徴とする請求項６記載のプログラム。
【請求項８】
前記ハイパーパラメータがカテゴリカルである場合、該ハイパーパラメータの要素毎に、前記次の機械学習の試行に用いられる該ハイパーパラメータの要素およびデータを特定することを特徴とする請求項７記載のプログラム。
【請求項９】
実体のない第１のデータに対して過去に得られた複数の前記ハイパーパラメータに対する前記第１の確率分布と前記第２の確率分布とを用いて、実体のある第２のデータに対する前記機械学習の前記ハイパーパラメータを特定する場合には、前記評価値を１と見なし、前記第３の確率分布と、前記第４の確率分布と、前記時間予測関数とに基づいて、該第２のデータの前記機械学習の試行に用いられる該ハイパーパラメータを特定することを特徴とする請求項７記載のプログラム。
【請求項１０】
入力データを用いた予測モデル構築のための機械学習における、アルゴリズム又はハイパーパラメータの設定方法であって、
複数回試行した前記機械学習の結果から得られる機械学習ごとの予測モデルおよび予測精度に基づき、複数の対象データそれぞれに対し、前記複数回の前記機械学習に関する評価値を生成し、
複数のデータそれぞれに対し、前記機械学習の複数回の試行に基づき、前記予測精度の高い第１の試行群と前記予測精度の低い第２の試行群を生成し、
前記複数のデータのそれぞれに対し、あるハイパーパラメータが前記第１の試行群に入る確率に対応する第１の確率分布と、前記第２の試行群に入る確率に対応する第２の確率分布を求め、
前記複数のデータそれぞれに対する前記第１の確率分布、前記第２の確率分布、及び、前記複数のデータそれぞれに対する前記複数の試行結果の類似度に基づき、それぞれ、前記第１の確率分布と前記第２の確率分布に対応する、第３の確率分布と第４の確率分布とを生成し、
前記複数のデータそれぞれと、前記ハイパーパラメータに基づき、機械学習の次の試行に要する予測時間である時間予測関数を生成し、
前記評価値、前記第３の確率分布、前記第４の確率分布、及び、前記時間予測関数に基づき、次の機械学習の試行に用いられるハイパーパラメータおよびデータを特定する
処理をコンピュータが行う設定方法。
【請求項１１】
入力データを用いた予測モデル構築のための機械学習における、アルゴリズム又はハイパーパラメータの設定装置であって、
複数回試行した前記機械学習の結果から得られる機械学習ごとの予測モデルおよび予測精度に基づき、複数の対象データそれぞれに対し、前記複数回の前記機械学習に関する評価値を生成する評価値生成部と、
複数のデータそれぞれに対し、前記機械学習の複数回の試行に基づき、前記予測精度の高い第１の試行群と前記予測精度の低い第２の試行群を生成する試行群生成部と、
前記複数のデータのそれぞれに対し、あるハイパーパラメータが前記第１の試行群に入る確率に対応する第１の確率分布と、前記第２の試行群に入る確率に対応する第２の確率分布とを求める第１の確率分布算出部と、
前記複数のデータそれぞれに対する前記第１の確率分布、前記第２の確率分布、及び、前記複数のデータそれぞれに対する前記複数の試行結果の類似度に基づき、それぞれ、前記第１の確率分布と前記第２の確率分布に対応する、第３の確率分布と第４の確率分布とを生成する第２の確率分布算出部と、
前記複数のデータそれぞれと、前記ハイパーパラメータに基づき、機械学習の次の試行に要する予測時間である時間予測関数を生成する時間予測関数生成部と、
前記評価値、前記第３の確率分布、前記第４の確率分布、及び、前記時間予測関数に基づき、次の機械学習の試行に用いられるハイパーパラメータおよびデータを特定する特定部と
を有することを特徴とする設定装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、機械学習におけるハイパーパラメータの設定技術に関する。
【背景技術】
【０００２】
近年、機械学習は、ビッグデータ分析等で重要な技術となっている。ガス需要量の予測をニューラルネットワークを用いて学習する技術、加重比を決定して予測精度を最大にする技術、交通状況の変化を予測して、車速予測値と車速実測値とを差が最小になるように重み係数を修正する技術等が知られている。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開平１１−１２６１０２号公報
【特許文献２】特開２００７−２０５００１号公報
【特許文献３】特開平１０−７９０９６号公報
【非特許文献】
【０００４】
【非特許文献１】J. Snoek, H. Larochelle, and R. P. Adams, "Practical bayesian optimization of machine learning algorithms", In Advances in Neural Information Processing Systems 25 (NIPS '12), pp. 2951-2959, 2012
【非特許文献２】J. Bergstra, R. Bardenet, Y. Bengio, and B. K'egl, "Algorithms for hyper-parameter optimization", In Advances in Neural Information Processing Systems 24 (NIPS '11), pp. 2546-2554, 2011
【非特許文献３】K. Swersky, J. Snoek, and R. P. Adams, "Multitask bayesian optimization", In Advances in Neural Information Processing Systems 26 (NIPS '13), pp. 2004-2012, 2013
【発明の概要】
【発明が解決しようとする課題】
【０００５】
大量データを機械学習により適切に分析・処理するためには、分析・処理に用いる学習アルゴリズムと、学習アルゴリズムで用いられるハイパーパラメータを適切に（たとえば、予測精度の最大化）設定する必要がある。これらの設定のためには、制約時間内での適切な探索が必要となる。
【０００６】
上記の探索を行う際に、大きいサイズのデータを用いると時間がかかり、探索における試行回数を増やすことができない。一方、小さいサイズのデータを用いて探索を行う場合、探索における試行回数を増やすことはできるが、１）個別の学習結果が、大きいサイズのデータを用いる必要がある程度に十分であるか（調べつくしたものであるか）を、機械的に判定することが困難であり、２）小さいサイズのデータを用いた学習結果と、大きいサイズのデータを用いた学習結果とを、どのように統合して利用するかは明確ではない、という課題がある。
【課題を解決するための手段】
【０００７】
一態様によれば、入力データを用いた予測モデル構築のための機械学習における、アルゴリズム又はハイパーパラメータの設定処理をコンピュータに行わせるプログラムであって、該コンピュータに、複数回試行した前記機械学習の結果から得られる機械学習ごとの予測モデルおよび予測精度に基づき、対象の複数のデータそれぞれに対し、前記複数回の前記機械学習に関する評価値を生成し、複数のデータそれぞれに対し、前記機械学習の複数回の試行に基づき、前記予測精度の高い第１の試行群と前記予測精度の低い第２の試行群を生成し、前記複数のデータのそれぞれに対し、あるハイパーパラメータが前記第１の試行群に入る確率に対応する第１の確率分布と、前記第２の試行群に入る確率に対応する第２の確率分布を求め、前記複数のデータそれぞれに対する前記第１の確率分布、前記第２の確率分布、及び、前記複数のデータそれぞれに対する前記複数の試行結果の類似度に基づき、それぞれ、前記第１の確率分布と前記第２の確率分布に対応する、第３の確率分布と第４の確率分布とを生成し、前記複数のデータそれぞれと、前記ハイパーパラメータに基づき、機械学習の次の試行に要する予測時間である時間予測関数を生成し、前記評価値、前記第３の確率分布、前記第４の確率分布、及び、前記時間予測関数に基づき、次の機械学習の試行に用いられるハイパーパラメータおよびデータを特定する処理を行わせるプログラムが提供される。
【０００８】
また、上記課題を解決するための手段として、上記方法を行う装置、コンピュータに上記処理を実行させるためのプログラム、及び、そのプログラムを記憶した記憶媒体とすることもできる。
【発明の効果】
【０００９】
サイズが小さいデータによる試行を適切な回数で行いつつ、サイズが大きいデータによる試行の結果と統合することができる。これにより、学習アルゴリズムと学習アルゴリズムで用いられるハイパーパラメータを短時間で効率よく設定できる。
【図面の簡単な説明】
【００１０】
【図１】設定装置のハードウェア構成を示す図である。
【図２】第１実施例に係る調整設定部の入出力を説明する図である。
【図３】設定装置の機能構成例を示す図である。
【図４】設定装置によって行われる全体処理の流れを説明するための図である。
【図５】ハイパーパラメータθの簡易な探索方法を説明するための図である。
【図６】予測精度の観測値と分布との関係を示す図である。
【図７】予測精度と確率分布との関係を示す図である。
【図８】ＴＰＥの既存の手法を説明するためのフローチャート図である。
【図９】ステップＳ２１での処理状態を示す図である。
【図１０】ステップＳ２２での処理状態を示す図である。
【図１１】ステップＳ２３での処理状態を示す図である。
【図１２】ステップＳ２４での処理状態を示す図である。
【図１３】ステップＳ２６での処理状態を示す図である。
【図１４】データ量の違いによる予測精度の分布例を示す図である。
【図１５】任意のデータの予測精度の分布の例を示す図である。
【図１６】評価値生成処理を説明するためのフローチャート図である。
【図１７】調整履歴テーブルのデータ例を示す図である。
【図１８】予測精度の分布の例を示す図である。
【図１９】試行群と確率分布との関係を示す図である。
【図２０】重みｗの例を説明するための図である。
【図２１】第１実施例に係る調整設定処理を説明するためのフローチャート図である。
【図２２】既存の学習アルゴリズムの構造を示す図である。
【図２３】カテゴリカルな場合の予測精度の分布を示す図である。
【図２４】第３実施例に係る調整設定部の入出力を説明する図である。
【図２５】第３実施例に係る調整設定処理を説明するためのフローチャート図である。
【発明を実施するための形態】
【００１１】
以下、本発明の実施の形態を図面に基づいて説明する。機械学習における、本実施の形態に係る学習アルゴリズム又はハイパーパラメータの設定装置は、図１に示すようなハードウェア構成を有する。
【００１２】
図１は、設定装置のハードウェア構成を示す図である。図１において、設定装置１００は、コンピュータによって制御される情報処理装置であって、ＣＰＵ（Central Processing Unit）１１と、主記憶装置１２と、補助記憶装置１３と、入力装置１４と、表示装置１５と、通信Ｉ／Ｆ（インターフェース）１７と、ドライブ装置１８とを有し、バスＢに接続される。
【００１３】
ＣＰＵ１１は、主記憶装置１２に格納されたプログラムに従って設定装置１００を制御する。主記憶装置１２には、ＲＡＭ（Random Access Memory）、ＲＯＭ（Read Only Memory）等が用いられ、ＣＰＵ１１にて実行されるプログラム、ＣＰＵ１１での処理に必要なデータ、ＣＰＵ１１での処理にて得られたデータ等を記憶又は一時保存する。
【００１４】
補助記憶装置１３には、ＨＤＤ（Hard Disk Drive）等が用いられ、各種処理を実行するためのプログラム等のデータを格納する。補助記憶装置１３に格納されているプログラムの一部が主記憶装置１２にロードされ、ＣＰＵ１１に実行されることによって、各種処理が実現される。
【００１５】
入力装置１４は、マウス、キーボード等を有し、ユーザが設定装置１００による処理に必要な各種情報を入力するために用いられる。表示装置１５は、ＣＰＵ１１の制御のもとに必要な各種情報を表示する。入力装置１４と表示装置１５とは、一体化したタッチパネル等によるユーザインタフェースであってもよい。通信Ｉ／Ｆ１７は、有線又は無線などのネットワークを通じて通信を行う。通信Ｉ／Ｆ１７による通信は無線又は有線に限定されるものではない。
【００１６】
設定装置１００によって行われる処理を実現するプログラムは、例えば、ＣＤ−ＲＯＭ（Compact Disc Read-Only Memory）等の記憶媒体１９によって設定装置１００に提供される。
【００１７】
ドライブ装置１８は、ドライブ装置１８にセットされた記憶媒体１９（例えば、ＣＤ−ＲＯＭ等）と設定装置１００とのインターフェースを行う。
【００１８】
また、記憶媒体１９に、後述される本実施の形態に係る種々の処理を実現するプログラムを格納し、この記憶媒体１９に格納されたプログラムは、ドライブ装置１８を介して設定装置１００にインストールされる。インストールされたプログラムは、設定装置１００により実行可能となる。
【００１９】
尚、プログラムを格納する記憶媒体１９はＣＤ−ＲＯＭに限定されず、コンピュータが読み取り可能な、構造（structure）を有する１つ以上の非一時的（non-transitory）な、有形（tangible）な媒体であればよい。コンピュータ読取可能な記憶媒体として、ＣＤ−ＲＯＭの他に、ＤＶＤディスク、ＵＳＢメモリ等の可搬型記録媒体、フラッシュメモリ等の半導体メモリであっても良い。
【００２０】
本実施の形態では、以下の第１実施例から第３実施例について説明する。
・第１実施例では、サイズの大きいデータＤ０に適切な学習アルゴリズム及びハイパーパラメータを適切に設定するために、データＤ０だけではなく、データＤ０からサンプリングした複数のデータＤ１〜Ｄｎも合わせて利用する、本実施の形態の適用例を説明する。概要としては学習アルゴリズムの設定も含めて説明するが、学習アルゴリズムの設定のための詳細な説明は第２実施例の説明で行う。
・第２実施例では、第１実施例と同様に、サイズの大きいデータＤ０に加え、データＤ０からサンプリングした複数のデータＤ１〜Ｄｎも合わせて利用するが、ハイパーパラメータが順序関係が定義できない離散的なカテゴリカルな場合の本実施の形態の適用例を説明する。学習アルゴリズムの選択はカテゴリカルなハイパーパラメータとみなせるため、第２実施例によりアルゴリズム選択も可能である。
・第３実施例では、本実施の形態の適用例を適用して、あるデータＤ１に最適な学習アルゴリズム及びハイパーパラメータを過去に調整設定したときの調整履歴データを用いて、データＤ１とは異なるデータＤ２に対して学習アルゴリズム及びハイパーパラメータを調整設定する例を説明する。
【００２１】
第１実施例から第３実施例において、設定装置１００のハードウェア構成は図１に示す通りである。先ず、第１実施例について説明する。
【００２２】
図２は、第１実施例に係る調整設定部の入出力を説明する図である。図２において、第１実施例に係る調整設定部２０１は、入力データ６ａに対して調整設定処理を行い、出力データ９ａを出力する。
【００２３】
入力データ６ａは、探索範囲７と、データＤ０と、データＤ０からサンプリングされたデータＤ１、Ｄ２、・・・Ｄｎとを含む。データＤ０、Ｄ１、・・・Ｄｎを総称してデータＤと呼ぶ場合がある。データＤ０、Ｄ１、Ｄ２、・・・Ｄｎの任意の１のデータをデータＤｉ（ｉ＝１、・・・、ｎ）という場合がある。
【００２４】
探索範囲７は、学習アルゴリズムＡ毎に、ハイパーパラメータθを示し、調整設定部２０１によって探索される範囲を指定する。探索範囲７１は、学習アルゴリズムＡ１及び学習アルゴリズムＡ１のハイパーパラメータθ１であり、探索範囲７２は、学習アルゴリズムＡ２及び学習アルゴリズムＡ１のハイパーパラメータθ２であり、・・・、探索範囲７ｍは、学習アルゴリズムＡｍ及び学習アルゴリズムＡｍのハイパーパラメータθｍである。
【００２５】
データＤ０は、車両の交通量、雨量、電力、生体情報等の種々のビッグデータに相当し、データＤ０〜Ｄｎの中でデータ量が最も大きいデータである。データＤ１〜Ｄｎは、データＤ０からサンプリングされたデータである。データＤ１〜Ｄｎは、大小様々なサイズのデータであってもよい。データＤ０が後述されるデータ量の大きいデータに相当し、データＤ１〜Ｄｎの任意の１つのデータが後述されるデータ量の小さいデータに相当する。
【００２６】
本実施の形態は、データＤ０、Ｄ１〜Ｄｎのデータの特性に寄らず適用可能である。また、サンプリング方法を限定しない。
【００２７】
出力データ９ａは、調整設定部２０１によって得られたデータ量が最も大きいデータＤ０に最適な学習アルゴリズム及びハイパーパラメータを示す。
【００２８】
図３は、設定装置の機能構成例を示す図である。図３において、設定装置１００は、主に、機械学習部２００と、調整設定部２０１とを有する。機械学習部２００と、調整設定部２０１の各々は、対応するプログラムをＣＰＵ１１が実行することにより実現される。
【００２９】
また、記憶部１３０には、入力データ６ａ、機械学習結果データ５０、評価値テーブル５１、試行群テーブル５２、第１の確率分布テーブル５３、時間予測関数ｔ（θ、Ｄ）、調べる価値テーブル５５、調整履歴テーブル５６、次の試行で用いるべき設定５８、出力データ９ａ等のデータが記憶される。
【００３０】
機械学習部２００は、調整設定部２０１によって設定されたデータＤｉ，ハイパーパラメータθ（及びアルゴリズムＡ）を用いて、機械学習を試行して所定事項を予測し、その予測精度を算出する。
【００３１】
機械学習を試行したデータＤｉに対応付けて、予測精度、学習時間等を示す機械学習結果データ５０が記憶部１３０に記憶される。機械学習結果データ５０には、予測した結果を含んでもよい。この機械学習結果データ５０のうち、予測精度、学習時間等は、学習に用いられたデータＤｉ、ハイパーパラメータθ等（機械学習を試行する前に、次の試行で用いるべき設定５８に出力されたもの）と合わせて、調整履歴テーブル５６に追加される。
【００３２】
調整設定部２０１は、更に、評価値生成部４１と、試行群生成部４２と、第１の確率分布算出部４３と、第２の確率分布算出部４４と、時間予測関数生成部４５と、調べる価値算出部４６と、特定部４７とを有する。
【００３３】
評価値生成部４１は、調整履歴テーブル５６で示される予測精度に基づいて、データＤ０〜Ｄｎから選択したデータＤｉに対して、複数回の機械学習に関する評価値ｓ（Ｄ）を生成する。データＤｉ毎に、生成された評価値ｓ（Ｄ）が対応付けられた評価値テーブル５１が記憶部１３０に出力される。
【００３４】
試行群生成部４２は、選択したデータＤｉに対して行われた機械学習の複数回の試行から、予測精度の高い第１の試行群５２ａと予測精度の低い第２の試行群５２ｂとを生成する。データＤｉ毎に、第１の試行群５２ａと、第２の試行群５２ｂとを示す試行群テーブル５２が記憶部１３０に出力される。
【００３５】
第１の確率分布算出部４３は、選択したデータＤｉに対し、あるハイパーパラメータが、第１の試行群５２ａに入る確率の分布を示す第１の確率分布ｇ（θ；Ｄ）と、第２の試行群５２ｂに入る確率の分布を示す第２の確率分布ｌ（θ；Ｄ）とを求める。選択したデータＤｉの第１の確率分布ｇ（θ；Ｄ）と、第２の確率分布ｌ（θ；Ｄ）とが第１の確率分布テーブル５３に追加される。
【００３６】
第２の確率分布算出部４４は、選択したデータＤｉに対する第１の確率分布ｇ（θ；Ｄ）、第２の確率分布ｌ（θ；Ｄ）、及び、複数の試行結果の類似度に基づき、第１の確率分布ｇ（θ；Ｄ）及び第２の確率分布ｌ（θ；Ｄ）のそれぞれに対する第３の確率分布ｇ（θ）と第４の確率分布ｌ（θ）とを生成する。
【００３７】
第２の確率分布算出部４４によって、第１の確率分布ｇ（θ；Ｄ）と、第２の確率分布ｌ（θ；Ｄ）とに対して重み付けをすることで、調べた全てのデータＤとの間の確率分布の情報を共有させた、予測精度の高い第３の確率分布ｇ（θ）と、予測精度の低い第４の確率分布ｌ（θ）とが生成される。
【００３８】
時間予測関数生成部４５は、ハイパーパラメータθの場合に、機械学習の次の試行に要する学習時間を予測する時間予測関数ｔ（θ、Ｄ）を生成する。
【００３９】
調べる価値算出部４６は、評価値ｓ（Ｄ）と、予測精度の高い第３の確率分布ｇ（θ）と、予測精度の低い第４の確率分布ｌ（θ）と、時間予測関数ｔ（θ、Ｄ）とを用いて、調べる価値α（θ、Ｄ）を求める。調べる価値α（θ、Ｄ）は後述される。データＤｉ毎に、ハイパーパラメータθと、調べる価値α（θ、Ｄ）と、予測時間とが、調べる価値テーブル５５に記憶される。
【００４０】
特定部４７は、調べる価値テーブル５５を参照して、調べる価値αに基づいて、次に調べるのに有望なデータＤｉを特定する。ハイパーパラメータθ及びデータＤｉが特定される。ハイパーパラメータθと、データＤｉと、予測時間とを示す次の試行で用いるべき設定５８が記憶部１３０に出力される。
【００４１】
最終的に、次の試行で用いるべき設定５８に出力されたものの中から、最も大きいデータＤ０に対して機械学習の予測精度が最も良かった最適なハイパーパラメータθ（及び学習アルゴリズム）を示す出力データ９ａが出力される。
【００４２】
入力データ６ａは、設定装置１００に入力され記憶部１３０に格納される。機械学習結果データ５０は、試行した機械学習による結果を示し、予測モデル及び予測精度等の情報を含む。予測モデルは、学習アルゴリズムＡとハイパーパラメータθとにより特定される機械学習を行って得られたモデルである。
【００４３】
評価値テーブル５１は、機械学習に関する評価値ｓ（Ｄ）を示す。評価値ｓ（Ｄ）は、データＤｉ毎の追加の試行により、精度がどれくらい上がる可能性があるかを示した指標値に相当する。即ち、評価値ｓ（Ｄ）は、各データＤｉに対して学習を試行すればするほど小さくなり、試行の限界にどの程度近づくかを示す。
【００４４】
試行群テーブル５２は、データＤｉ毎に、機械学習の複数回の試行のうち、予測精度が高い第１の試行群５２ａと、予測精度の低い第２の試行群５２ｂとを対応付けたテーブルである。
【００４５】
時間予測関数ｔ（θ、Ｄ）は、機械学習の次の試行に要する予測時間を示す。
【００４６】
第１の確率分布テーブル５３は、データＤｉ毎に、あるハイパーパラメータθが、第１の試行群５２ａに入る確率の分布を示す第１の確率分布ｇ（θ；Ｄ）と、第２の試行群５２ｂに入る確率の分布を示す第２の確率分布ｌ（θ；Ｄ）とを対応付けたテーブルである。
【００４７】
第３の確率分布ｇ（θ）は、調べた全てのデータＤｉを考慮して、第１の確率分布ｇ（θ；Ｄ）に基づいて得られた、予測精度が高い第１の試行群５２ａに入る確率の分布を示す。第４の確率分布ｌ（θ）は、調べた全てのデータＤｉを考慮して、第２の確率分布ｌ（θ；Ｄ）に基づいて得られた、予測精度が低い第２の試行群５２ｂに入る確率の分布を示す。
【００４８】
調べる価値テーブル５５は、データＤｉ毎に、ハイパーパラメータθと、調べる価値α（θ、Ｄ）と、予測時間とを対応付けたテーブルである。
【００４９】
調整履歴テーブル５６は、調整設定部２０１が調整設定済みのデータＤｉに係る調整履歴を蓄積して記憶したテーブルである。調整履歴テーブル５６は、調べた全てのデータＤｉ、ハイパーパラメータθ（及び学習アルゴリズムＡ）、予測精度、学習時間等が記憶される。
【００５０】
次の試行で用いるべき設定５８は、特定部４７によって特定された、次に調べるデータＤ、機械学習のためのハイパーパラメータθ（及び学習アルゴリズムＡ）、予測時間等を示す。機械学習部２００は、調整設定部２０１で特定された次の試行で用いるべき設定５８を用いて機械学習を試行する。また、調整履歴テーブル５６は、次の試行で用いるべき設定５８及び機械学習結果データ５０に基づいて更新される。
【００５１】
出力データ９ａは、調整履歴テーブル５６を参照し、試行した中で、データＤ０に対する機械学習の予測精度が最も良かったハイパーパラメータθ（及び学習アルゴリズムＡ）を示す。
【００５２】
図４は、設定装置によって行われる全体処理の流れを説明するための図である。図４において、設定装置１００では、入力データ６ａが入力される（ステップＳ１）。次の試行で用いるべき設定５８を用いて、機械学習部２００によって試行する（ステップＳ２）。
【００５３】
次の試行で用いるべき設定５８は、データＤ、学習アルゴリズムＡｃ、及びハイパーパラメータθｃである。次の試行で用いるべき設定５８は、調整設定部２０１によって設定されたものである。
【００５４】
データＤは、データＤ０又はサンプリングされた複数のデータＤ１〜Ｄｎから次に選択するデータである。学習アルゴリズムＡｃは、データＤを利用した場合に、調整設定部２０１が探索範囲７から特定したハイパーパラメータθｃを用いて最適に機械学習を行う学習アルゴリズムである。ハイパーパラメータθｃは、調整設定部２０１が探索範囲７から特定したハイパーパラメータθｃである。
【００５５】
機械学習部２００による機械学習の試行によって、機械学習結果テーブル５０が記憶部１３０に出力される。機械学習部２００が利用した予測モデル、予測精度、実際の学習時間等が得られる。機械学習結果テーブル５０に基づいて、今回の機械学習の情報が調整履歴テーブル５６に追加される（ステップＳ３）。
【００５６】
そして、調整設定部２０１は、調整履歴テーブル５６を参照して、次の試行で用いるべき設定５８を特定、すなわち、データＤ、ハイパーパラメータθｃ等を特定する（ステップＳ４）。
【００５７】
第１の実施例では、データ量が最も大きいデータＤ０に最適なハイパーパラメータθ（及びハイパーパラメータＡ）を得る過程で、データ量が小さいデータＤ１〜Ｄｎに最適な学習アルゴリズムＡｃ及びハイパーパラメータθｃを得る処理も並行して行う。後述されるように、データ量の小さいデータＤ１〜Ｄｎと最大のデータＤ０では予測精度の分布が略同様であることに基づく。
【００５８】
第１実施例において、学習アルゴリズムＡの選択もハイパーパラメータθの選択と同時に行うことができるが、説明を簡潔にするため、連続量であるハイパーパラメータθを調整する場合を主に説明する。学習アルゴリズムＡの選択も含めた場合については、第２実施例で説明する。
【００５９】
１つの学習アルゴリズムＡに対して、ハイパーパラメータは複数存在することが多い。全てのハイパーパラメータを一括して「ハイパーパラメータ」と呼び、記号θで表し、上述したようにハイパーパラメータθと記す。ハイパーパラメータθは、ベクトルθで表され、複数の要素θ１、θ２、・・・等を有する。ベクトルθにより複数のハイパーパラメータが要素として示される。従って、複数のハイパーパラメータのうち一つを示す場合は「ハイパーパラメータの要素」と呼ぶ。第２実施例及び第３実施例においても同様である。なお、学習アルゴリズムはカテゴリカルなハイパーパラメータとみなせるため、学習アルゴリズムとそのハイパーパラメータをまとめて、単にハイパーパラメータθと表すこともある。
【００６０】
最適なハイパーパラメータθを探索する単純な方法について説明する。図５は、ハイパーパラメータの簡易な探索方法を説明するための図である。ハイパーパラメータθが２つの要素θ１とθ２とを有する場合で説明する。
【００６１】
図５（Ａ）では、グリッドサーチの例を示している。ハイパーパラメータθの各要素θ１とθ２の組み合せ候補を全て探索する方法である。各黒丸が組み合せ候補である。図５（Ｂ）では、ランダムサーチの例を示している。ハイパーパラメータθの各要素θ１とθ２の各々の値をランダムに決定した組み合せ候補で探索する方法である。
【００６２】
このようなグリッドサーチ及びランダムサーチは、探索途中で得た情報を使っていない。ハイパーパラメータθの要素数、各要素がとり得る範囲等の大きさによっては、探索処理を効率的に行なえない。予測精度の推定値を使って、精度の良い組み合せ候補が存在する領域で探索することが望ましいと考えられる。
【００６３】
しかし、「精度の良さそうな領域」ばかり探索すると、「ほとんど調べていないが実は良いかもしれない領域」を探索しなくなる恐れがある。「精度の良さそうな領域」に加えて、「まだ調べていない領域」も探索することで最適なハイパーパラメータθの選択の精度を改善できる。具体的には、予測精度の推定値の不確かさを狭くするようにハイパーパラメータθの要素の組み合せ候補を選択する。
【００６４】
図６は、予測精度の観測値と分布との関係を示す図である。図６のグラフは、横軸にハイパーパラメータθを示し、縦軸に精度を予測する関数ｆ（θ）を示す。ｙは予測精度を表す確率変数であり、ｆ（θ）は予測精度の観測値を示し、ｐ（ｙ|θ）はハイパーパラメータθを決めたときの予測精度の分布を示す。次に選択するハイパーパラメータθを決める手法として、ガウス過程を用いる手法（非特許文献１）と、ＴＰＥ（Tree-structured Parzen Estimator、非特許文献２）とが知られている。
【００６５】
ガウス過程を用いる手法では、ｐ（ｙ|θ）を正規分布であると仮定し、平均と標準偏差とをカーネル行列を使って推定する。データ量が小さいデータでの調整結果を用いる手法が既に存在する。しかしながら、学習アルゴリズムＡの選択が不可能であり、計算量が既に調べたハイパーパラメータθの３乗に比例するため、処理速度が低速となる。
【００６６】
ＴＰＥでは、ハイパーパラメータθを決めたときの予測精度の分布ｐ（ｙ|θ）が、
【００６７】
【数１】
0006620422.tif 000002
と表されることから、右辺を計算することで予測精度を求める。この数１では、ハイパーパラメータθの確率分布ｐ（θ）が必要であるが、カーネル密度推定を用いて推定すればよい。
【００６８】
しかしながら、ＴＰＥは、データ量の小さいデータでの調整結果を用いる手法が未だ存在していない。また、非特許文献３はガウス過程に特化した方法であるため適用できない。一方、ＴＰＥでは、学習アルゴリズムＡの選択が可能であり、ガウス過程を用いる方法に比べて、高速である。
【００６９】
ＴＰＥは１つのデータに対して適用可能な手法であるが、種々のデータ量の大きさの複数のデータに適用する仕組みを設計装置１００に持たせることで、学習アルゴリズムやそのハイパーパラメータの探索時間を短縮することができると考えられる。
【００７０】
先ず、ＴＰＥの既存手法についてその概要を説明する。ＴＰＥでは、先ず、予測精度が良い点の割合がγ（０≦γ≦１）になるように、既に調べた点（要素の組み合せ候補）を分類して、その閾値をｙ＊とする。γに０．２、０．４等の値を予め与える。
【００７１】
次に、ハイパーパラメータθがｙ＊より予測精度が上回るハイパーパラメータとなる第１の確率分布ｇ（θ）と、下回るハイパーパラメータとなる第２の確率分布ｌ（θ）とを推定する。
【００７２】
図７は、予測精度と確率分布との関係を示す図である。図７（Ａ）のグラフは、横軸にハイパーパラメータθを示し、縦軸に精度予測関数ｆ（θ）を示す。既に調べた複数の要素の組み合せ候補が点６ｐで示されている。予測精度の良い点の割合γと関連する閾値ｙ＊以上の点６ｐを第１の試行群５２ａに分類し、閾値ｙ＊未満の点６ｐを第２の試行群５２ｂに分類する。
【００７３】
閾値ｙ＊は、第１の試行群５２ａに属する点６ｐの数と第２の試行群５２ｂに属する点６ｐの数との比が、γ：１−γとなる値である。また、第１の試行群５２ａは予測精度の高いグループであり、第２の試行群５２ｂは予測精度の低いグループである。
【００７４】
図７（Ｂ）のグラフは、第１の試行群５２ａ及び第２の試行群５２ｂの各々に対してカーネル密度推定により推定した第１の確率分布ｇ（θ）と第２の確率分布ｌ（θ）とを示している。ＴＰＥでは、ｇ（θ）／ｌ（θ）を最大にするハイパーパラメータθを選択する。
【００７５】
上述したＴＰＥの既存の手法は、図８に示すようなフローチャートで表される。図８は、ＴＰＥの既存の手法を説明するためのフローチャート図である。ＴＰＥの既存の手法では、（学習アルゴリズムＡ、ハイパーパラメータθ、予測精度）の組み合せを複数示すリストと、γを入力する（ステップＳ２１）。
【００７６】
既に調べた候補点６ｐをγ：１−γに分割するｙ＊を計算する（ステップＳ２２）。また、ハイパーパラメータθをランダムに１つ選択する（ステップＳ２３）。そして、第１の確率分布ｇ（θ）と第２の確率分布ｌ（θ）とを推定して、ｇ（θ）／ｌ（θ）を計算する（ステップＳ２４）。
【００７７】
予め設定された指定回数を繰り返したか否かを判断する（ステップＳ２５）。指定回数に到達していない場合（ステップＳ２５のＮｏ）、ステップＳ２３から上述同様の処理を繰り返す。指定回数に達した場合（ステップＳ２５のＹｅｓ）、計算したｇ（θ）／ｌ（θ）の内で最大値を示すハイパーパラメータθを出力し（ステップＳ２６）、この処理を終了する。
【００７８】
指定回数は、予め与えられた繰り返し回数、繰り返し処理に費やす時間等に相当し、設計装置１００のユーザによって与えられれば良い。
【００７９】
図９から図１３にて、（学習アルゴリズムＡ、ハイパーパラメータθ、予測精度）の組み合せ例を示すリスト及びγ＝０．４の場合で、各ステップＳ２１〜Ｓ２６の処理例を説明する。簡単のため、１つの学習アルゴリズムＡに対するハイパーパラメータθだけを調整する例で説明する。
【００８０】
リストは、
（学習アルゴリズムＡ、θ＝０、０．７３）
（学習アルゴリズムＡ、θ＝１０、０．７０）
（学習アルゴリズムＡ、θ＝２０、０．６５）
（学習アルゴリズムＡ、θ＝３．５、０．７６）
（学習アルゴリズムＡ、θ＝５．５、０．７４）
の組み合せを含む。図７のステップＳ２１では、このようなリストと、γ＝０．４が与えられる。
【００８１】
図９は、ステップＳ２１での処理状態を示す図である。図９のグラフでは、入力された各組み合せ内のハイパーパラメータθの値と予測精度ｆ（θ）の値とを座標値として、各候補点６ｐが示されている。後述されるグラフにおいても同様である。
【００８２】
図１０は、ステップＳ２２での処理状態を示す図である。図１０において、γ：１−γに分割する値を計算して得たｙ＊＝０．７４を閾値とし、予測精度がｙ＊＝０．７４以上の候補点６ｐを特定した状態を示している。５個の候補点６ｐの内、５×０．４＝２個の候補点６ｐがｙ＊＝０．７４以上となる。
【００８３】
図１１は、ステップＳ２３での処理状態を示す図である。図１１では、ハイパーパラメータθがランダムに１つ選択された状態を示している。
【００８４】
図１２は、ステップＳ２４での処理状態を示す図である。図１２では、ランダムに選択されたハイパーパラメータθａにおけるｇ（θ）／ｌ（θ）は０．２５であることを示している。
【００８５】
更に、ハイパーパラメータθｂをランダムに選択し、ｇ（θ）／ｌ（θ）を算出する処理を繰り返した後、ｇ（θ）／ｌ（θ）が最大となるハイパーパラメータθを取得する。
【００８６】
図１３は、ステップＳ２６での処理状態を示す図である。図１３では、次に選択されたハイパーパラメータθｂにおいて、ｇ（θ）／ｌ（θ）が２．０であったことを示している。この例では、ｇ（θ）／ｌ（θ）が最大となるのは、ハイパーパラメータθｂであることが分かる。ハイパーパラメータθｂが出力される。
【００８７】
機械学習では、ビッグデータ等のデータ量の膨大なデータＤ０に対してハイパーパラメータθに対する学習を試すには膨大な学習時間を要し、現実的には実施できない。従って、データ量の小さいデータＤ１〜Ｄｎで多くのハイパーパラメータθに対する学習を試行し、その結果をデータ量の大きいデータＤ０でのハイパーパラメータθの調整に利用することが考えられる。
【００８８】
図１４は、データ量の違いによる予測精度の分布例を示す図である。図１４において、データ量の異なるConvertypeの２つのデータセットに対して、ＲＢＦ（radial basis function）カーネルのＳＶＭ（Support Vector Machine）を学習アルゴリズムとして用いた結果をグラフで示している。グラフの縦軸と横軸は、それぞれＳＶＭのハイパーパラメータである。Convertypeについては、Jock A. Blackard, Covertype Data Set, https://archive.ics.uci.edu/ml/datasets/Covertypeで説明されている。
【００８９】
図１４（Ａ）は、データ量が小さい場合の一例としてデータ数が４，０００の場合の予測精度の分布を示している。図１４（Ｂ）は、データ量が大きい場合の一例としてデータ数が１６，０００の場合の予測精度の分布を示している。両者は、良く一致していることが分かる。
【００９０】
ＴＰＥで複数のデータＤ０〜Ｄｎを用いる際の課題を以下に示す。
・データ量の大きいデータを使う必要があるほど、小さいデータに対する試行回数が十分であるか否かを機械的に判定することが難しい。
・データ量の小さいデータを用いた機械学習結果データ５０と、大きいデータとをどのように統合して利用するかが明確でない。
【００９１】
上記課題に対して、発明者は、以下の解決手段を示す。
・データＤ０〜Ｄｎに対して学習を試行すればするほど小さくなる指標を示す評価値ｓ（Ｄ）を定義する。
・データ量の小さいデータと大きいデータとにおいて、第１の確率分布ｇ（θ；Ｄ）と第２の確率分布ｌ（θ；Ｄ）とを共有する。小さいデータに対して調べたハイパーパラメータと予測精度とを、大きいデータに対する調整に利用する。小さいデータを用いた機械学習は時間が掛らないため、データの数を多く試行できる。
・それぞれのデータに対する試行結果の類似度に基づいて、重み付けを行う。大きくデータの性質が異なる場合は、小さいデータの情報を使用しない。一方、性質が似ている場合は、小さいデータの情報を積極的に利用する。
【００９２】
先ず、評価値ｓ（Ｄ）について説明する。１つのデータＤに適用する既存のＴＰＥの手法（非特許文献２等）では、以下の数２が提示されている。
【００９３】
【数２】
0006620422.tif 000003
この数２の分母のうちデータＤに対して選択するハイパーパラメータθに関する
【００９４】
【数３】
0006620422.tif 000004
の部分のみを考慮し、
【００９５】
【数４】
0006620422.tif 000005
の部分にはハイパーパラメータθに依存しないため考慮されていない。
【００９６】
発明者は、既存の手法では考慮されていなかった数４に着目し、複数のデータＤ０、及びデータＤ１〜Ｄｎの１つのデータＤを調べる価値を評価ｓ（Ｄ）として利用する。
【００９７】
【数５】
0006620422.tif 000006
【００９８】
上記数２において、時間予測関数ｔ（θ、Ｄ）で割ったものを調べる価値α（θ、Ｄ）とする。これは既存手法においても示されている。数２は、
【００９９】
【数６】
0006620422.tif 000007
で示される。数６において、ｓ（Ｄ）は、データＤに対する機械学習によりどれくらい精度が上がる可能性があるかを示す評価値であり、ｔ（θ、Ｄ）は時間予測関数であり、ｇ（θ）は第３の確率分布であり、ｌ（θ）は第４の確率分布である。
【０１００】
評価値ｓ（Ｄ）は、複数のデータＤ０〜Ｄｎに対して、任意のデータＤｉを調べ尽くすと小さくなる。評価値ｓ（Ｄ）を参照することで、同じデータＤｉをいつまでも調べ続ける無駄な処理を削減することができる。
【０１０１】
本実施の形態においては、複数のデータＤ０〜Ｄｎを扱うため、評価値ｓ（Ｄ）の算出に、調整履歴テーブル５６が参照される。評価値ｓ（Ｄ）は、ＴＰＥの既存手法に対して、複数のデータＤ０〜Ｄｎを扱えるようにするため、先ず、閾値ｙ＊をデータＤ毎に求めて閾値ｙ＊Ｄで表す。上述した数５は、
【０１０２】
【数７】
0006620422.tif 000008
で表される。
【０１０３】
評価値ｓ（Ｄ）は、データＤの追加の試行による予測精度の向上の期待値を示し、小さいほど予測精度が限界に近付いていることを示す。
【０１０４】
ｐ（ｙ；Ｄ）は、任意のデータＤに対する、ハイパーパラメータθを決めたときの予測精度の分布を示す。ｐ（ｙ；Ｄ）は、カーネル密度推定により推定されればよい。第１実施例〜第３実施例を含む本実施の形態では、調整履歴テーブル５６のハイパーパラメータθと、予測精度とが参照される。
【０１０５】
図１５は、任意のデータの予測精度の分布の例を示す図である。図１５において、予測精度の分布ｐ（ｙ；Ｄ）は、データＤに対して、複数の任意のハイパーパラメータθで機械学習をした際に得た予測精度の分布を示している。
【０１０６】
この例では、閾値ｙ＊Ｄに基づくグループ分けをしていない、データＤの全ての調整履歴に基づく予測精度の分布ｐ（ｙ；Ｄ）を示している。
【０１０７】
設定装置１００において、評価値ｓ（Ｄ）は、評価値生成部４１によって生成される。評価値ｓ（Ｄ）を生成する評価値生成処理について説明する。図１６は、評価値生成処理を説明するためのフローチャート図である。
【０１０８】
図１６において、評価値生成部４１は、予測精度が良い点の割合γと、データＤの調整履歴とを入力する（ステップＳ１０１）。割合γは、ユーザにより与えられてもよいし、予め設定されていてもよい。評価値生成部４１は、調整履歴テーブル５６からデータＤの調整履歴を取得する。
【０１０９】
評価値生成部４１は、予測精度で、データＤの調整履歴のエントリをγ：１−γに分割するｙ＊Ｄを計算して（ステップＳ１０２）、カーネル密度推定により、ｐ（ｙ；Ｄ）を推定する（ステップＳ１０３）。
【０１１０】
そして、評価値生成部４１は、評価値ｓ（Ｄ）を数７で計算して（ステップＳ１０４）、出力した後（ステップＳ１０５）、この評価値生成処理を終了する。評価値ｓ（Ｄ）は、記憶部１３０内の評価値テーブル５１に記憶される。
【０１１１】
評価値ｓ（Ｄ）の算出例について、データ量の大きいデータD_largeと小さいデータD_smallとの２つのデータとし、小さいデータD_smallの評価値ｓ（Ｄ）を求める例で説明する。
【０１１２】
図１７は、調整履歴テーブルのデータ例を示す図である。図１７において、調整履歴テーブル５６は、データ名、ハイパーパラメータθ、予測精度、学習アルゴリズム等の項目を有する。
【０１１３】
データ名は、データＤ０〜Ｄｎのいずれかを識別可能な識別情報を示す。ハイパーパラメータθは、θを特定しθの各要素の値を示す。予測精度は、データ名で特定されるデータに対して、ハイパーパラメータθで試行した場合の予測精度を示す。学習アルゴリズムは、機械学習で用いた学習アルゴリズムを特定するための情報を示し、学習アルゴリズム名等を示す。この例では、簡単のため、１つの学習アルゴリズムＡを用いた場合として示している。一方で、学習アルゴリズムが１つの場合には、この項目を省略可能である。
【０１１４】
この例では、調整履歴テーブル５６は、データD_largeとデータD_smallの各々に対するハイパーパラメータθ（ここでは１つの要素）と予測精度とを示している。ハイパーパラメータの複数の要素の１つを示すのみとし、簡潔に、ハイパーパラメータθとして記している。
【０１１５】
調整履歴テーブル５６には、７つのレコードが含まれ、各レコードが調整履歴を示す。調整履歴テーブル５６は、データD_largeの調整履歴を２件含み、データD_smallの調整履歴５６ｆを５件含む。
【０１１６】
データD_smallの評価値ｓ（Ｄ）を算出する場合、評価値生成部４１は、調整履歴テーブル５６から５件の調整履歴５６ｆを抽出する（図１６のステップＳ１０１）。抽出した調整履歴５６ｆを用いて得られる予測精度の分布ｐ（ｙ；D_small）は、図１８のように示される（図１６のステップＳ１０２及びＳ１０３）。
【０１１７】
図１８は、予測精度の分布の例を示す図である。図１８では、γ＝０．４の場合であるが、データD_smallの予測精度分布ｐ（ｙ；D_small）が示される。このときのｙ＊D_smallは０．７４となる。
【０１１８】
このようにして得られた予測精度の分布ｐ（ｙ；D_small）を積分することで、評価値ｓ（Ｄ）が算出され出力される（図１６のステップＳ１０４及びＳ１０５）。得られる予測精度の限界に近付くにつれ、予測精度の分布ｐ（ｙ；D_small）は、ｙ＊D_smallでピークを示し、分散の幅は極めて狭くなる。そのため、評価値ｓ（Ｄ）が小さくなる。
【０１１９】
より多くの試行を行うにつれて評価値ｓ（Ｄ）が小さくなるという意味において、より簡潔に、
【０１２０】
【数８】
0006620422.tif 000009
のように評価値ｓ（Ｄ）を表してもよい。
【０１２１】
次に、時間予測関数生成部４５による時間予測関数生成処理について説明する。機械学習に要する学習時間は学習を実行するまでは不明である。時間予測関数ｔ（θ、Ｄ）に係る第１の手法として、学習時間をガウス過程で推定する既存手法が存在する。データ量の小さいデータD_smallでは多数の点を調べるため低速になる。しかしながら、データD_smallに対する調整履歴の数（レコード数）が少ない場合には有効である。
【０１２２】
第２の手法として、データＤを決めた上で、θ空間上の最近傍のいくつかの点の平均を取ることが考えられる。データＤのハイパーパラメータ空間上の最近傍の複数のハイパーパラメータθの予測時間の平均値を求める。小さいデータD_smallで多数の点（多くの調整履歴）を調べた場合に有効な手法である。
【０１２３】
データＤの調整履歴の数に応じて、第１の手法又は第２の手法を選択するようにしてもよい。
【０１２４】
次に、大きいデータD_largeと小さいデータD_smallとの間の確率分布の情報の共有について説明する。図１９は、試行群と確率分布との関係を示す図である。
【０１２５】
試行群生成部４２は、データD_largeに対して、予測精度の高い第１の試行群５２ａ_largeと、予測精度の低い第２の試行群５２ｂ_largeとを生成する。同様に、試行群生成部４２は、データD_smallに対して、予測精度の高い第１の試行群５２ａ_ smallと、予測精度の低い第２の試行群５２ｂ_smallとを生成する。
【０１２６】
図１９（Ａ）では、データD_large及びデータD_small夫々に対して試行群生成部４２によって得られた第１の試行群５２ａ_large及び第２の試行群５２ｂ_largeの例を示している。
【０１２７】
そして、第１の確率分布算出部４３は、データD_largeに対して、第１の試行群５２ａ_largeに入る確率に対する第１の確率分布ｇ（θ；D_large）と、第２の試行群５２ｂ_largeに入る確率に対する第２の確率分布ｌ（θ；D_large）とを生成する。同様に、第１の確率分布算出部４３は、データD_smallに対して、第１の試行群５２ａ_smallに入る確率に対する第１の確率分布ｇ（θ；D_small）と、第２の試行群５２ｂ_smallに入る確率に対する第２の確率分布ｌ（θ；D_small）とを生成する。
【０１２８】
更に、第２の確率分布算出部４４によって、重みｗを用いて、大きいデータD_largeと小さいデータD_smallとの間で共有した、予測精度の高い第３の確率分布ｇ（θ）及び第４の確率分布ｌ（θ）とが取得される。
【０１２９】
第３の確率分布ｇ（θ）は、大きいデータD_largeに対するｇ（θ；D_large）と、小さいデータD_smallに対するｇ（θ；D_small）とに、重みｗを用いて、
【０１３０】
【数９】
0006620422.tif 000010
によって算出される。
【０１３１】
また、第４の確率分布ｌ（θ）は、大きいデータD_largeに対するｌ（θ；D_large）と、小さいデータD_smallに対するｌ（θ；D_small）とに、重みｗを用いて、
【０１３２】
【数１０】
0006620422.tif 000011
によって算出される。重みｗは、試行群生成部４２による試行結果の類似度に基づいて決定される。データ量の大きいデータD_largeとデータ用の小さいデータD_smallの試行結果が似ているときは重みを大きくする。
【０１３３】
重みｗの決定方法には、ｇ（θ）の分類の一致割合を用いる第１の決定方法、Kolmogorov-Smirnov検定を用いる第２の決定方法等が考えられる。第１の決定方法の一例として、重みｗを、データD_large及びデータD_smallに於いて、θの予測精度が両者で精度良い結果で一致する割合に設定する。
【０１３４】
図２０は、重みｗの例を説明するための図である。図２０において、データD_largeの予測精度がその閾値ｙ＊D_large以上であるハイパーパラメータθａ及びθｂに対して、データD_smallの予測精度は、その閾値ｙ＊D_small以上となるのは、ハイパーパラメータθａであり、ハイパーパラメータθｂは、閾値ｙ＊D_small未満を示す。
【０１３５】
即ち、ハイパーパラメータθａ及びθｂの２個中１個が、データD_large及びデータD_smallでそれぞれの閾値ｙ＊D_large及び閾値ｙ＊D_small以上となる。この場合、ｗ＝１／２＝０．５となる。
【０１３６】
この第１の決定方法では、ｇ（θ；D_large）とｇ（θ；D_small）に属するハイパーパラメータθの一致割合を重みｗに設定するため、データD_largeで調べたハイパーパラメータθはデータD_smallでも調べておく必要がある。
【０１３７】
第１の決定方法において、重みｗを、ｌ（θ；D_large）とｌ（θ；D_small）に属するハイパーパラメータθの一致割合に設定してもよい。即ち、重みｗは、調整履歴（試行結果）の類似度に相当する。また、ｇ（θ；D_large）とｌ（θ；D_small）、又は、ｌ（θ；D_large）とｇ（θ；D_small）に属するハイパーパラメータθの一致割合としてもよい。
【０１３８】
Kolmogorov-Smirnov検定を用いる第２の決定方法では、「二つの母集団の確率分布が同じ」を帰無仮説として、二つの分布が異なることを検定する。帰無仮説が成立する確率ｐ値は、０から１の範囲にあり、二つの分布に差がないほど高くなるため、重みｗに合っている。また、ｐ値を変換する関数ｆを用いてもよい。０に偏り易い場合はｆ（ｘ）＝√ｘ、１に偏り易い場合はｆ（ｘ）＝ｘ２などとしてもよい。
【０１３９】
比較する分布は、ｇ（θ；D_large）とｇ（θ；D_small）とであればよい。又は、ｌ（θ；D_large）とｌ（θ；D_small）とであってもよい。
【０１４０】
Kolmogorov-Smirnov検定を用いた場合、多くのハイパーパラメータθを調べるほど、予測精度のよい箇所を調べる傾向にあり、分布が偏る場合がある。偏りを軽減するために、同じハイパーパラメータθで調べた調整履歴の予測精度を用いてもよいが、必須の事項ではない。
【０１４１】
上記以外に、重みｗの決定方法として、ｇ（θ）とｌ（θ）で異なる重みを用いてもよい。
【０１４２】
第１実施例に係る、設定装置１００の調整設定部２０１による調整設定処理について説明する。図２１は、第１実施例に係る調整設定処理を説明するためのフローチャート図である。図２１において、調整設定部２０１は、（データＤｉ、学習アルゴリズムＡ、ハイパーパラメータθ、予測精度、学習時間）の組み合せのリストと、γとを入力する（ステップＳ２３１）。
【０１４３】
第１実施例における組み合せのリストは、調整履歴テーブル５６そのものに対応する。γは、ここでは簡潔に、全てのデータＤに共通の予測精度が良い点の割合とする。
【０１４４】
次に、調整設定部２０１は、リストからデータＤｉを順に選択して、データＤとする（ステップＳ２３２）。
【０１４５】
調整設定部２０１の評価値生成部４１は、データＤにおいて、既に調べた点をγ：１−γに分割するｙ＊Ｄを計算する（ステップＳ２３３）。既に調べた点とは、リストに存在する、データＤに対応付けられるハイパーパラメータθと予測精度とで示される候補点６ｐである。そして、評価値生成部４１は、データＤを調べる価値の指標となる評価値ｓ（Ｄ）を計算する（ステップＳ２３４）。
【０１４６】
時間予測関数生成部４５は、ハイパーパラメータθをランダムに１つ選択する（ステップＳ２３５）。時間予測関数生成部４５は、入力データ６ａの探索範囲７からランダムに探索範囲７ｊ（ｊ＝１、２、・・・、ｍ）を選択し、選択した探索範囲７ｊで示されるハイパーパラメータθｊを取得すればよい。
【０１４７】
試行群生成部４２は、ステップＳ２３３で計算したｙ＊Ｄに基づいて、データＤの第１の試行群５２ａ及び第２の試行群５２ｂを生成する（ステップＳ２３６）。図１９（Ａ）を参照のこと。データＤのデータ名と、生成された第１の試行群５２ａ及び第２の試行群５２ｂとが、記憶部１３０内の試行群テーブル５２に追加して記憶される。
【０１４８】
第１の確率分布算出部４３は、データＤの、第１の試行群５２ａの予測精度に係る第１の確率分布ｇ（θ；Ｄ）及び第２の試行群５２ｂの予測精度に係る第２の確率分布ｌ（θ；Ｄ）を生成する（ステップＳ２３７）。図１９（Ｂ）を参照のこと。データＤのデータ名と、生成された第１の確率分布ｇ（θ；Ｄ）及び第２の確率分布ｌ（θ；Ｄ）とが、記憶部１３０内の第１の確率分布テーブル５３に追加して記憶される。
【０１４９】
また、第２の確率分布算出部４４は、第１の確率分布テーブル５３に記憶されている、ステップＳ２３５で選択されたハイパーパラメータθに関する全てのデータＤの第１の確率分布ｇ（θ；Ｄ）及び第２の確率分布ｌ（θ；Ｄ）を用いて、第３の確率分布ｇ（θ）及び第４の確率分布ｌ（θ）を生成する（ステップＳ２３８）。第３の確率分布ｇ（θ）は、数９で計算される。第４の確率分布ｌ（θ）は、数１０で計算される。
【０１５０】
時間予測関数生成部４５は、選択したハイパーパラメータθと、データＤとを用いて、時間予測関数ｔ（θ、Ｄ）を推定する（ステップＳ２３９）。
【０１５１】
そして、調べる価値算出部４６は、ｇ（θ）／ｌ（θ）を計算し、評価値ｓ（Ｄ）と、ステップＳ２３９で推定された時間予測関数ｔ（θ、Ｄ）と、計算したｇ（θ）／ｌ（θ）とを用いて調べる価値α（θ、Ｄ）を求める（ステップＳ２４０）。時間予測関数ｔ（θ、Ｄ）により予測時間が得られる。
【０１５２】
処理中のデータＤのデータ名と、ハイパーパラメータθと、価値α（θ、Ｄ）と、予測時間が、記憶部１３０内の調べる価値テーブル５５に追加して記憶される。
【０１５３】
調整設定部２０１は、指定回数を繰り返し処理したか否かを判断する（ステップＳ２４１）。指定回数に達していない場合（ステップＳ２４１のＮｏ）、調整設定部２０１は、ステップＳ２３５へと戻り、次のハイパーパラメータθをランダムに選択して、上記同様の処理を繰り返す。
【０１５４】
一方、指定回数に達した場合（ステップＳ２４１のＹｅｓ）、調整設定部２０１は、入力データ６ａの全データＤ０〜Ｄｎに対して上述した同様の調整設定処理を終了したか否かを判断する（ステップＳ２４２）。全データＤ０〜Ｄｎに対して調整設定処理を終了していない場合（ステップＳ２４２のＮｏ）、調整設定部２０１は、ステップＳ２３２へと戻り、次のデータＤｉに対して上述した同様の処理を行う。
【０１５５】
一方、全データＤ０〜Ｄｎに対して調整設定処理を終了した場合（ステップＳ２４２のＹｅｓ）、調整設定部２０１の特定部４７は、記憶部１３０内の調べる価値テーブル５５を参照して、調べる価値α（θ、Ｄ）が最大となるハイパーパラメータθと、データＤのデータ名と、予測時間とを取得して出力する（ステップＳ２４３）。調べる価値α（θ、Ｄ）が最大となるハイパーパラメータθと、データＤのデータ名と、予測時間とを示す次の試行で用いるべき設定５８が記憶部１３０に出力され記憶される。
【０１５６】
特定部４７は、ハイパーパラメータθと、データＤのデータ名と、予測時間とを示す次の試行で用いるべき設定５８を出力すると共に、新たな調整履歴として調整履歴テーブル５６に格納する。
【０１５７】
次の試行で用いるべき設定５８によって、機械学習部２００が、次に試行するデータＤが指定され、また、ハイパーパラメータθが与えられることにより、機械学習のハイパーパラメータの探索を効率良く行うことができる。
【０１５８】
機械学習部２００による次の試行で用いるべき設定５８に基づく機械学習処理の新たな機械学習結果データ５０を得ると、調整設定部２０１は、更新した調整履歴テーブル５６を利用して、再び、上述したステップＳ２３１からＳ２４３までの処理を行う。
【０１５９】
最終的に、次の試行で用いるべき設定５８に出力されたものの中から、最も大きいデータＤ０に最適な学習アルゴリズムＡ及びハイパーパラメータθを示す出力データ９ａが出力される。
【０１６０】
第１実施例では、ハイパーパラメータθが連続量である場合について説明したが、ＴＰＥはカテゴリカルな場合にも適用可能である。次に、第２実施例は、ハイパーパラメータθがカテゴリカルな場合や階層構造を成している場合に対応した第２実施例について説明する。
【０１６１】
学習アルゴリズムによっては、カテゴリカル（即ち、順序関係が定義できない離散的）なハイパーパラメータθの要素も存在する。この場合には、学習アルゴリズムＡの選択そのものもカテゴリカルなハイパーパラメータθの選択であるとみなせる。
【０１６２】
図２２は、既存の学習アルゴリズムの構造を示す図である。図２２では、学習アルゴリズムとして、ＳＶＭと、Passive Aggressiveを示している。
【０１６３】
学習アルゴリズムのＳＶＭには、linear、ＲＢＦ、polynomial, sigmoid等の種々のカーネルが存在する。Linearのハイパーパラメータはｃ、ＲＢＦのハイパーパラメータはｃ及びｇ、polynomialのハイパーパラメータはｃ、ｒ、及びｄ、sigmoidのハイパーパラメータはｃ、ｒ、及びｇである。また、学習アルゴリズムのPassive Aggressiveのハイパーパラメータはｃである。
【０１６４】
更に、ハイパーパラメータθは階層構造を成していることもある。階層構造により、ハイパーパラメータの値によって、他のハイパーパラメータの集合が変化する。そのため、学習アルゴリズムの選択をハイパーパラメータの選択とみなした場合、アルゴリズムによってそのハイパーパラメータの集合は変わってくる。
【０１６５】
図２３は、カテゴリカルな場合の予測精度の分布を示す図である。図２３において、カテゴリカルなハイパーパラメータθの要素Ａ、Ｂ、及びＣ毎の予測精度の分散を示している。
【０１６６】
現在処理対象のハイパーパラメータθの要素Ａ、Ｂ、及びＣの値が同じであっても、他のハイパーパラメータの値が異なるため、予測精度も異なってくる。ＴＰＥによる処理において、従って、ハイパーパラメータθの選択は要素Ａ、Ｂ、及びＣ毎に行う。
【０１６７】
この例の場合のＴＰＥでの計算は、以下のようになる。要素Ａ、Ｂ、及びＣの事前分布は一様分布であるとする。また、要素Ａ、Ｂ、及びＣ毎に全体の試行回数に対する要素を試行した回数の比を求める。これを要素の試行割合とする。要素Ａ、Ｂ、及びＣ間の割合は、事前分布と要素の試行割合の合計値の比で表される。
【０１６８】
第１の試行群５２ａにおいて、全体の試行回数は５回であり、要素Ａの試行回数は１回、要素Ｂの試行回数は３回、要素Ｃの試行回数は１回である。従って、ｇ（Ａ；Ｄ）、ｇ（Ｂ；Ｄ）、及びｇ（Ｃ；Ｄ）の比は、
【０１６９】
【数１１】
0006620422.tif 000012
のように表される。
【０１７０】
よって、
【０１７１】
【数１２】
0006620422.tif 000013
このように、各第１の確率分布ｇ（Ａ；Ｄ）、ｇ（Ｂ；Ｄ）、及びｇ（Ｃ；Ｄ）を得る。
【０１７２】
次に、第２の試行群５２ｂにおいて、全体の試行回数は１２回であり、要素Ａの試行回数は３回、要素Ｂの試行回数は５回、要素Ｃの試行回数は４回である。従って、ｌ（Ａ；Ｄ）、ｌ（Ｂ；Ｄ）、及びｌ（Ｃ；Ｄ）の比は、
【０１７３】
【数１３】
0006620422.tif 000014
のように表される。
【０１７４】
よって、
【０１７５】
【数１４】
0006620422.tif 000015
このように、各第１の確率分布ｌ（Ａ；Ｄ）、ｌ（Ｂ；Ｄ）、及びｌ（Ｃ；Ｄ）を得る。
【０１７６】
ｇ（θ；Ｄ）及びｌ（θ；Ｄ）の決め方としては、上述したＴＰＥの計算方法以外に、各要素Ａ、Ｂ、Ｃが全て、α回試行したと見なすことで、
【０１７７】
【数１５】
0006620422.tif 000016
などにより算出してもよい。
【０１７８】
次に、カテゴリカルなハイパーパラメータθの場合のｇ（θ）とｌ（θ）の共有方法は、第１実施例と同様に重みｗを与えて足し合わせる方法でよい。
【０１７９】
重み付けについては、説明したｇ（θ）の一致割合を用いる場合には、第１実施例で説明した第１の決定方法でよい。検定を用いる方法では、第１実施例で説明したKolmogorov-Smirnov検定は使用できない。代わりに、カイ二乗検定を用いる。
【０１８０】
次に、評価値ｓ（Ｄ）は、ハイパーパラメータθが連続量であるか又はカテゴリカルであるかに依存しないため、連続量の場合の第１実施例と同様に計算可能である。
【０１８１】
時間予測関数ｔ（θ、Ｄ）の推定方法として、ハイパーパラメータθが連続量ではないため、連続量のみに適用可能なガウス過程は、カテゴリカルな変数に対応しない。データＤを決めた上で、θ空間上の最近傍のいくつかの点の平均を取る第２の手法を選択する。
【０１８２】
上述した第１実施例及び第２実施例では、データ量の異なる、大きいデータと小さいデータとの間における第１の確率分布ｇ（θ；Ｄ）を共有、及び、第２の確率分布ｌ（θ；Ｄ）を共有する場合で説明したが、データ量の違いではなく、過去に調整履歴が残っている場合に、データ実体が存在しなくても、ハイパーパラメータθが似ている場合には、最適な学習アルゴリズムＡとハイパーパラメータθとを得ることができる。この場合を第３実施例として、以下に説明する。
【０１８３】
図２４は、第３実施例に係る調整設定部の入出力を説明する図である。図２４において、第３実施例に係る調整設定部２０１は、入力データ６ａ−３に対して調整設定処理を行い、出力データ９ａ−３を出力する。
【０１８４】
入力データ６ａ−３は、第１及び第２実施例と同様に探索範囲７を含むが、調整設定の対象となるデータはデータＤ２のみであり、データＤ２に対する学習アルゴリズムＡとハイパーパラメータθの調整に用いるデータＤ１に対する調整履歴５６ｒを含む点で、第１及び第２実施例とは異なっている。データＤ１の実体は存在しないが、過去に得た調整履歴５６ｒを入力データ６ａ−３に含んでいる。
【０１８５】
図２５は、第３実施例に係る調整設定処理を説明するためのフローチャート図である。図２５において、調整設定部２０１は、（データＤｉ、学習アルゴリズムＡ、ハイパーパラメータθ、予測精度、学習時間）の組み合せリストと、γとを入力する（ステップＳ３０１）。
【０１８６】
第３実施例における組み合せのリストは、調整履歴テーブル５６そのものに相当する。γは、データＤ１、データＤ２それぞれについて予測精度が良い点の割合を示す値である。
【０１８７】
次に、調整設定部２０１の試行群生成部４２は、データＤ１において、既に調べた点をγ：１−γに分割するｙ＊D１を計算し（ステップＳ３０２）、同様に、データＤ２において、既に調べた点をγ：１−γに分割するｙ＊D２を計算する（ステップＳ３０３）。
【０１８８】
第３実施例では、データＤ１に対しては、調整履歴テーブル５６が参照されるのみであり、機械学習を行わない。機械学習はデータＤ２に対してのみ試行されるため、評価値生成部４１は、評価値ｓ（Ｄ）は１と見なし、評価値ｓ（Ｄ）の算出を省略する。
【０１８９】
試行群生成部４２は、ステップＳ３０２で計算したｙ＊D１に基づいて、データＤ１の第１の試行群５２ａ及び第２の試行群５２ｂを生成し（ステップＳ３０４）、同様にステップＳ３０３で計算したｙ＊D２に基づいて、データＤ２の第１の試行群５２ａ及び第２の試行群５２ｂを生成する（ステップＳ３０５）。
【０１９０】
時間予測関数生成部４５は、ハイパーパラメータθをランダムに１つ選択する（ステップＳ３０６）。時間予測関数生成部４５は、入力データ６ａ−３の探索範囲７からランダムに探索範囲７ｊ（ｊ＝１、２、・・・、ｍ）を選択し、選択した探索範囲７ｊで示されるハイパーパラメータθｊを取得すればよい。
【０１９１】
第１の確率分布算出部４３は、データＤ１に対する、第１の試行群５２ａの予測精度に係る第１の確率分布ｇ（θ、Ｄ１）及び第２の試行群５２ｂの予測精度に係る第２の確率分布ｌ（θ、Ｄ１）を生成し（ステップＳ３０７）、同様に、データＤ２に対する、第１の試行群５２ａの予測精度に係る第１の確率分布ｇ（θ、Ｄ２）及び第２の試行群５２ｂの予測精度に係る第２の確率分布ｌ（θ、Ｄ２）を生成する（ステップＳ３０８）。
【０１９２】
第２の確率分布算出部４４は、データＤ１に対する第１の確率分布ｇ（θ、Ｄ１）及びデータＤ２に対する第２の確率分布ｇ（θ、Ｄ２）の情報を共有することにより、第３の確率分布ｇ（θ）を計算し、同様にデータＤ１に対する第１の確率分布ｌ（θ、Ｄ１）及びデータＤ２に対する第２の確率分布ｌ（θ、Ｄ２）の情報を共有することにより、第４の確率分布ｌ（θ）を計算する（ステップＳ３０８）。
次に、時間予測関数生成部４５は、選択したハイパーパラメータθを用いて、データＤ２に対する時間予測関数ｔ（θ、Ｄ２）を推定する（ステップＳ３１０）。データＤ１に対しては機械学習を試行しないため、時間予測関数は必要ない。
【０１９３】
そして、調べる価値算出部４６は、調べる価値α（θ、Ｄ２）を計算する（ステップＳ３１１）。これは、数６において、評価値ｓ（Ｄ）を１とし、予測時間関数ｔ（θ、Ｄ）をｔ（θ、Ｄ２）としたものになる。θ毎の調べる価値α（θ、Ｄ２）が調べる価値テーブル５５に追加して記憶される。
【０１９４】
調整設定部２０１は、指定回数を繰り返し処理したか否かを判断する（ステップＳ３１２）。指定回数に達していない場合（ステップＳ３１２のＮｏ）、調整設定部２０１は、ステップＳＳ３０６へと戻り、次のハイパーパラメータθをランダムに選択して、上記同様の処理を繰り返す。
【０１９５】
一方、指定回数に達した場合（ステップＳ３１２のＹｅｓ）、調整設定部２０１の特定部４７は、記憶部１３０内の調べる価値テーブル５５を参照して、調べる価値α（θ、Ｄ２）が最大となるハイパーパラメータθを取得して出力する（ステップＳ３１３）。
【０１９６】
ハイパーパラメータθと同じ探索範囲によって学習アルゴリズムＡは特定できる。データＤ２に最適な学習アルゴリズムＡ及びハイパーパラメータθとして出力データ９ａ−３が出力される。機械学習部２００は、この出力データ９ａに従ってデータＤ２に対する機械学習のハイパーパラメータの探索を効率的に行える。
【０１９７】
上述したように、本実施の形態では、データ量の小さいデータによる試行を適切な回数で行いつつ、データ量の大きいデータによる試行の学習結果と統合することができる。
【０１９８】
本発明は、具体的に開示された実施例に限定されるものではなく、特許請求の範囲から逸脱することなく、主々の変形や変更が可能である。
【０１９９】
以上の第１〜第３実施例を含む実施形態に関し、更に以下の付記を開示する。
（付記１）
入力データを用いた予測モデル構築のための機械学習における、アルゴリズム又はハイパーパラメータの設定処理をコンピュータに行わせるプログラムであって、該コンピュータに、
複数回試行した前記機械学習の結果から得られる機械学習ごとの予測モデルおよび予測精度に基づき、対象の複数のデータそれぞれに対し、前記複数回の前記機械学習に関する評価値を生成し、
複数のデータそれぞれに対し、前記機械学習の複数回の試行に基づき、前記予測精度の高い第１の試行群と前記予測精度の低い第２の試行群を生成し、
前記複数のデータのそれぞれに対し、あるハイパーパラメータが前記第１の試行群に入る確率に対応する第１の確率分布と、前記第２の試行群に入る確率に対応する第２の確率分布を求め、
前記複数のデータそれぞれに対する前記第１の確率分布、前記第２の確率分布、及び、前記複数のデータそれぞれに対する前記複数の試行結果の類似度に基づき、それぞれ、前記第１の確率分布と前記第２の確率分布に対応する、第３の確率分布と第４の確率分布とを生成し、
前記複数のデータそれぞれと、前記ハイパーパラメータに基づき、機械学習の次の試行に要する予測時間である時間予測関数を生成し、
前記評価値、前記第３の確率分布、前記第４の確率分布、及び、前記時間予測関数に基づき、次の機械学習の試行に用いられるハイパーパラメータおよびデータを特定する
処理を行わせることを特徴とするプログラム。
（付記２）
前記予測精度の高さの基準となる閾値を用いて、前記機械学習の複数の前記ハイパーパラメータの各予測精度と閾値との差に基づいて、追加の試行により精度が上がる可能性を計算することにより、前記評価値を生成することを特徴とする付記１記載のプログラム。
（付記３）
各データにおいて、前記閾値以上を示す前記ハイパーパラメータを前記第１の試行群に分類し、該閾値未満を示す該ハイパーパラメータを前記第２の試行群に分類することを特徴とする付記２記載のプログラム。
（付記４）
前記複数のデータの前記第１の確率分布の各々に対して重み付けして合算することにより、該複数のデータ全体での前記第１の試行群に入る確率に対応する前記第３の確率分布を求め、また、該複数のデータの前記第２の確率分布の各々に対して前記重み付けして合算することにより、該複数のデータ全体での前記第２の試行群に入る確率に対応する前記第４の確率分布を求めることを特徴とする付記１乃至３のいずれか一項記載のプログラム。
（付記５）
前記時間予測関数では、ガウス過程で前記予測時間を推定する関数、又は、各データのハイパーパラメータ空間上の最近傍の学習をすでに試行した複数のハイパーパラメータの学習時間の平均値を求めることを特徴とする付記１乃至４のいずれか一項記載のプログラム。
（付記６）
前記コンピュータに、
前記評価値と、前記第３の確率分布と、前記第４の確率分布と、前記時間予測関数とを用いて、各データを前記機械学習により調べる価値を算出する
処理を行わせることを特徴とする付記５記載のプログラム。
（付記７）
前記複数のデータにおいて、前記調べる価値が最大値となる前記ハイパーパラメータを取得し、前記次の機械学習の試行に用いられる前記ハイパーパラメータおよび前記データを特定することを特徴とする付記６記載のプログラム。
（付記８）
前記ハイパーパラメータがカテゴリカルである場合、該ハイパーパラメータの要素毎に、前記次の機械学習の試行に用いられる該ハイパーパラメータの要素およびデータを特定することを特徴とする付記７記載のプログラム。
（付記９）
実体のない第１のデータに対して過去に得られた複数の前記ハイパーパラメータに対する前記第１の確率分布と前記第２の確率分布とを用いて、実体のある第２のデータに対する前記機械学習の前記ハイパーパラメータを特定する場合には、前記評価値を１と見なし、前記第３の確率分布と、前記第４の確率分布と、前記時間予測関数とに基づいて、該第２のデータの前記機械学習の試行に用いられる該ハイパーパラメータを特定することを特徴とする付記７記載のプログラム。
（付記１０）
入力データを用いた予測モデル構築のための機械学習における、アルゴリズム又はハイパーパラメータの設定方法であって、
複数回試行した前記機械学習の結果から得られる機械学習ごとの予測モデルおよび予測精度に基づき、複数の対象データそれぞれに対し、前記複数回の前記機械学習に関する評価値を生成し、
複数のデータそれぞれに対し、前記機械学習の複数回の試行に基づき、前記予測精度の高い第１の試行群と前記予測精度の低い第２の試行群を生成し、
前記複数のデータのそれぞれに対し、あるハイパーパラメータが前記第１の試行群に入る確率に対応する第１の確率分布と、前記第２の試行群に入る確率に対応する第２の確率分布を求め、
前記複数のデータそれぞれに対する前記第１の確率分布、前記第２の確率分布、及び、前記複数のデータそれぞれに対する前記複数の試行結果の類似度に基づき、それぞれ、前記第１の確率分布と前記第２の確率分布に対応する、第３の確率分布と第４の確率分布とを生成し、
前記複数のデータそれぞれと、前記ハイパーパラメータに基づき、機械学習の次の試行に要する予測時間である時間予測関数を生成し、
前記評価値、前記第３の確率分布、前記第４の確率分布、及び、前記時間予測関数に基づき、次の機械学習の試行に用いられるハイパーパラメータおよびデータを特定する
処理をコンピュータが行う設定方法。
（付記１１）
入力データを用いた予測モデル構築のための機械学習における、アルゴリズム又はハイパーパラメータの設定装置であって、
複数回試行した前記機械学習の結果から得られる機械学習ごとの予測モデルおよび予測精度に基づき、複数の対象データそれぞれに対し、前記複数回の前記機械学習に関する評価値を生成する評価値生成部と、
複数のデータそれぞれに対し、前記機械学習の複数回の試行に基づき、前記予測精度の高い第１の試行群と前記予測精度の低い第２の試行群を生成する試行群生成部と、
前記複数のデータのそれぞれに対し、あるハイパーパラメータが前記第１の試行群に入る確率に対応する第１の確率分布と、前記第２の試行群に入る確率に対応する第２の確率分布とを求める第１の確率分布算出部と、
前記複数のデータそれぞれに対する前記第１の確率分布、前記第２の確率分布、及び、前記複数のデータそれぞれに対する前記複数の試行結果の類似度に基づき、それぞれ、前記第１の確率分布と前記第２の確率分布に対応する、第３の確率分布と第４の確率分布とを生成する第２の確率分布算出部と、
前記複数のデータそれぞれと、前記ハイパーパラメータに基づき、機械学習の次の試行に要する予測時間である時間予測関数を生成する時間予測関数生成部と、
前記評価値、前記第３の確率分布、前記第４の確率分布、及び、前記時間予測関数に基づき、次の機械学習の試行に用いられるハイパーパラメータおよびデータを特定する特定部と
を有することを特徴とする設定装置。
（付記１２）
前記評価値は、前記複数回の前記機械学習に対して、追加の試行により精度を上げる可能性を示すことを特徴とする付記１１記載の設定装置。
【符号の説明】
【０２００】
６ａ          入力データ
７            探索範囲
９ａ          出力データ
４１          評価値生成部
４２          試行群生成部
４３          第１の確率分布算出部
４４          第２の確率分布算出部
４５          時間予測関数生成部
４６          調べる価値算出部
４７          特定部
５０          機械学習結果データ
５１          評価値テーブル
５２          試行群テーブル
５３          第１の確率分布テーブル
５５          調べる価値テーブル
５６          調整履歴テーブル
５８          次の試行で用いるべき設定
１００        設定装置
１３０        記憶部
【図１】
0006620422.tif 000017
【図２】
0006620422.tif 000018
【図３】
0006620422.tif 000019
【図４】
0006620422.tif 000020
【図５】
0006620422.tif 000021
【図６】
0006620422.tif 000022
【図７】
0006620422.tif 000023
【図８】
0006620422.tif 000024
【図９】
0006620422.tif 000025
【図１０】
0006620422.tif 000026
【図１１】
0006620422.tif 000027
【図１２】
0006620422.tif 000028
【図１３】
0006620422.tif 000029
【図１４】
0006620422.tif 000030
【図１５】
0006620422.tif 000031
【図１６】
0006620422.tif 000032
【図１７】
0006620422.tif 000033
【図１８】
0006620422.tif 000034
【図１９】
0006620422.tif 000035
【図２０】
0006620422.tif 000036
【図２１】
0006620422.tif 000037
【図２２】
0006620422.tif 000038
【図２３】
0006620422.tif 000039
【図２４】
0006620422.tif 000040
【図２５】
0006620422.tif 000041