JP6555015B2 - 機械学習管理プログラム、機械学習管理装置および機械学習管理方法 - Google Patents

機械学習管理プログラム、機械学習管理装置および機械学習管理方法 Download PDF

Info

Publication number
JP6555015B2
JP6555015B2 JP2015170881A JP2015170881A JP6555015B2 JP 6555015 B2 JP6555015 B2 JP 6555015B2 JP 2015170881 A JP2015170881 A JP 2015170881A JP 2015170881 A JP2015170881 A JP 2015170881A JP 6555015 B2 JP6555015 B2 JP 6555015B2
Authority
JP
Japan
Prior art keywords
machine learning
learning
time
algorithm
prediction performance
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Fee Related
Application number
JP2015170881A
Other languages
English (en)
Other versions
JP2017049677A (ja
Inventor
小林 健一
健一 小林
晃 浦
晃 浦
晴康 上田
晴康 上田
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Fujitsu Ltd
Original Assignee
Fujitsu Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Fujitsu Ltd filed Critical Fujitsu Ltd
Priority to JP2015170881A priority Critical patent/JP6555015B2/ja
Priority to US15/224,702 priority patent/US20170061329A1/en
Publication of JP2017049677A publication Critical patent/JP2017049677A/ja
Application granted granted Critical
Publication of JP6555015B2 publication Critical patent/JP6555015B2/ja
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N20/00Machine learning

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Software Systems (AREA)
  • Data Mining & Analysis (AREA)
  • Evolutionary Computation (AREA)
  • Medical Informatics (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Physics & Mathematics (AREA)
  • Computing Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Mathematical Physics (AREA)
  • Artificial Intelligence (AREA)
  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)

Description

本発明は機械学習管理プログラム、機械学習管理装置および機械学習管理方法に関する。
コンピュータを利用したデータ分析の1つとして、機械学習が行われることがある。機械学習では、幾つかの既知の事例を示す訓練データをコンピュータに入力する。コンピュータは、訓練データを分析して、要因(説明変数や独立変数と言うことがある)と結果(目的変数や従属変数と言うことがある)との間の関係を一般化したモデルを学習する。学習されたモデルを用いることで、未知の事例についての結果を予測することができる。例えば、複数人の生活習慣と病気の有無を調査した訓練データから、任意の人の病気の発症リスクを予測するモデルを学習できる。また、過去の商品・サービスの需要量を示す訓練データから、将来の商品・サービスの需要量を予測するモデルを学習できる。
機械学習では、学習されるモデルの正確さ、すなわち、未知の事例の結果を正確に予測する能力(予測性能と言うことがある)が高いことが好ましい。予測性能は、学習に用いる訓練データのサイズが大きいほど高くなる。一方、訓練データのサイズが大きいほど、モデルの学習時間も長くなる。そこで、実用上十分な予測性能をもつモデルを効率的に得られるようにする方法として、プログレッシブサンプリング法が提案されている。
プログレッシブサンプリング法では、コンピュータは、まず小さなサイズの訓練データを用いてモデルを学習する。コンピュータは、訓練データとは異なる既知の事例を示すテストデータを用いて、モデルによって予測した結果と既知の結果とを比較し、学習されたモデルの予測性能を評価する。予測性能が十分でない場合、コンピュータは、前回よりもサイズが大きい訓練データを用いてモデルを再度学習する。以上を予測性能が十分に高くなるまで繰り返すことで、過度にサイズの大きな訓練データを使用することを抑制でき、モデルの学習時間を短縮することができる。
プログレッシブサンプリング法において、予測性能が十分高くなったと判定する基準として、最新のモデルと1つ前のモデルとの間の予測性能の差(予測性能の上昇量)が所定の閾値未満になったことを基準とする方法が提案されている。また、予測性能が十分高くなったと判定する基準として、単位学習時間当たりの予測性能の上昇量が所定の閾値未満になったことを基準とする方法も提案されている。
なお、ニューラルネットワークを用いて商品需要を予測する需要予測システムが提案されている。提案の需要予測システムは、複数の予測モデルそれぞれを用いて、第1の時期の販売実績データから第2の時期の需要予測データを生成する。需要予測システムは、第2の時期の需要予測データと第2の時期の販売実績データとを比較し、複数の予測モデルのうち販売実績データに最も近い需要予測データを出力した予測モデルを選択する。需要予測システムは、選択した予測モデルを用いて以降の商品需要を予測する。
また、上水道施設における需要水量を予測する配水量予測装置が提案されている。提案の配水量予測装置は、配水実績データの中から機械学習に用いる訓練データを選択する。配水量予測装置は、選択した訓練データとニューラルネットワークとを用いて需要水量を予測し、また、選択した訓練データと重回帰分析とを用いて需要水量を予測する。配水量予測装置は、ニューラルネットワークによる予測結果と重回帰分析による予測結果とを統合し、統合された需要水量の予測結果を出力する。
また、将来の電力需要を予測する時系列予測システムが提案されている。提案の時系列予測システムは、誤差を拡大する要因に対する感応度が異なる複数の予測モデルを用いて複数の予測値を算出し、複数の予測値を組み合わせて最終的な予測値を算出する。時系列予測システムは、複数の予測モデルそれぞれの予測値と実績値との間の予測誤差を監視し、予測誤差の変化に応じて複数の予測モデルの組み合わせ方を変更する。
特開平10−143490号公報 特開2000−305606号公報 特開2007−108809号公報
Foster Provost, David Jensen and Tim Oates, "Efficient Progressive Sampling", Proc. of the 5th International Conference on Knowledge Discovery and Data Mining, pp. 23-32, Association for Computing Machinery (ACM), 1999. Christopher Meek, Bo Thiesson and David Heckerman, "The Learning-Curve Sampling Method Applied to Model-Based Clustering", Journal of Machine Learning Research, Volume 2 (Feb), pp. 397-418, 2002.
ところで、訓練データからモデルを学習する手順として、回帰分析、サポートベクタマシン(SVM)、ランダムフォレストなどの様々な機械学習アルゴリズムが提案されている。使用する機械学習アルゴリズムが異なると、学習されたモデルの予測性能も異なることが多い。そのため、複数の機械学習アルゴリズムを使用可能である場合の方が、1つの機械学習アルゴリズムのみを使用する場合よりも予測性能を向上できる余地がある。
ただし、同じ機械学習アルゴリズムを使用しても、訓練データを変更したときの予測性能の変化や学習時間の変化は、学習内容の性質によって異なる。例えば、ある機械学習アルゴリズムを使用して商品の需要量を予測するモデルを学習する場合、訓練データのサイズを増加したときの予測性能の上昇量が大きい可能性がある。一方、同じ機械学習アルゴリズムを使用して病気の発症リスクを予測するモデルを学習する場合には、訓練データのサイズを増加したときの予測性能の上昇量が小さい可能性がある。このため、複数の機械学習アルゴリズムの中で、高い予測性能に到達できるものや短い学習時間で所望の予測性能に到達できるものを事前に知ることは難しい。
そこで、1つの機械学習方法として、複数の機械学習アルゴリズムを互いに独立に実行して複数のモデルを取得し、最も予測性能の高いモデルを採用する方法が考えられる。上記のプログレッシブサンプリング法のように、訓練データを変えながらモデルの学習を繰り返す方法を採用した場合、複数の機械学習アルゴリズムそれぞれについて当該繰り返しを実行する機械学習方法も考えられる。
しかし、複数の機械学習アルゴリズムそれぞれについて訓練データを変えながらモデルの学習を繰り返すと、最終的に採用するモデルの予測性能の向上に寄与しない無駄な学習が多く発生し、学習時間が過度に長くなってしまうという問題がある。また、上記の機械学習方法では、複数の機械学習アルゴリズム全ての実行が完了しないと、高い予測性能に到達できる機械学習アルゴリズムが判明しないという問題がある。
1つの側面では、本発明は、機械学習によって得られるモデルの予測性能を効率的に向上させることができる機械学習管理プログラム、機械学習管理装置および機械学習管理方法を提供することを目的とする。
1つの態様では、コンピュータに以下の処理を実行させる機械学習プログラムが提供される。複数の機械学習アルゴリズムそれぞれを訓練データを用いて実行する。複数の機械学習アルゴリズムの実行結果に基づいて、複数の機械学習アルゴリズムによって生成される複数のモデルそれぞれの予測性能の増加速度を算出する。増加速度に基づいて、複数の機械学習アルゴリズムの中から一の機械学習アルゴリズムを選択し、他の訓練データを用いて一の機械学習アルゴリズムを実行する。
また、1つの態様では、記憶部と演算部とを有する機械学習管理装置が提供される。また、1つの態様では、コンピュータが実行する機械学習管理方法が提供される。
1つの側面では、機械学習によって得られるモデルの予測性能を効率的に向上できる。
第1の実施の形態の機械学習管理装置を示す図である。 機械学習装置のハードウェア例を示すブロック図である。 サンプリングサイズと予測性能の関係例を示すグラフである。 学習時間と予測性能の関係例を示すグラフである。 複数の機械学習アルゴリズムの第1の使用例を示す図である。 複数の機械学習アルゴリズムの第2の使用例を示す図である。 複数の機械学習アルゴリズムの第3の使用例を示す図である。 第2の実施の形態の機械学習装置の機能例を示すブロック図である。 管理テーブルの例を示す図である。 第2の実施の形態の機械学習の手順例を示すフローチャートである。 第2の実施の形態の機械学習の手順例を示すフローチャート(続き)である。 第2の実施の形態のステップ実行の手順例を示すフローチャートである。 時間推定の手順例を示すフローチャートである。 性能改善量推定の手順例を示すフローチャートである。 第3の実施の形態の機械学習装置の機能例を示すブロック図である。 推定式テーブルの例を示す図である。 時間推定の他の手順例を示すフローチャートである。 第4の実施の形態の機械学習装置の機能例を示すブロック図である。 第4の実施の形態のステップ実行の手順例を示すフローチャートである。 ハイパーパラメータベクトル空間の例を示す図である。 ハイパーパラメータベクトル集合の分割例を示す第1の図である。 ハイパーパラメータベクトル集合の分割例を示す第2の図である。 第5の実施の形態の機械学習装置の機能例を示すブロック図である。 第5の実施の形態の機械学習の手順例を示すフローチャートである。 第5の実施の形態の機械学習の手順例を示すフローチャート(続き)である。
以下、本実施の形態を図面を参照して説明する。
[第1の実施の形態]
第1の実施の形態を説明する。
図1は、第1の実施の形態の機械学習管理装置を示す図である。
第1の実施の形態の機械学習管理装置10は、既知の事例から機械学習によって、未知の事例の結果を予測するモデルを生成する。機械学習管理装置10が行う機械学習は、病気の発症リスクの予測、将来の商品・サービスの需要量の予測、工場における新製品の歩留まりの予測など、様々な用途に用いることができる。機械学習管理装置10は、ユーザが操作するクライアントコンピュータでもよいし、クライアントコンピュータからネットワーク経由でアクセスされるサーバコンピュータでもよい。
機械学習管理装置10は、記憶部11および演算部12を有する。記憶部11は、RAM(Random Access Memory)などの揮発性の半導体メモリでもよいし、HDD(Hard Disk Drive)やフラッシュメモリなどの不揮発性のストレージでもよい。演算部12は、例えば、CPU(Central Processing Unit)やDSP(Digital Signal Processor)などのプロセッサである。ただし、演算部12は、ASIC(Application Specific Integrated Circuit)やFPGA(Field Programmable Gate Array)などの特定用途の電子回路を含んでもよい。プロセッサは、RAMなどのメモリ(記憶部11でもよい)に記憶されたプログラムを実行する。プログラムには、機械学習管理プログラムが含まれる。複数のプロセッサの集合(マルチプロセッサ)を「プロセッサ」と呼ぶこともある。
記憶部11は、機械学習に用いるデータ11aを記憶する。データ11aは、既知の事例を示すものであり、センサなどのデバイスを用いて実世界から収集されたものでもよいし、ユーザが作成したものでもよい。データ11aは、複数の単位データ(レコードやエントリと言うこともある)を含む。1つの単位データは、1つの事例を示すものであり、例えば、要因を示す1または2以上の変数(説明変数や独立変数と言うことがある)の値と、結果を示す変数(目的変数や従属変数と言うことがある)の値とを含む。
演算部12は、複数の機械学習アルゴリズムを実行することができる。実行可能な機械学習アルゴリズムには、ロジスティック回帰分析、サポートベクタマシン、ランダムフォレストなど、様々な機械学習アルゴリズムが含まれ得る。実行可能な機械学習アルゴリズムの数は、数十個〜数百個になることもある。ただし、第1の実施の形態では説明を簡単にするため、機械学習アルゴリズムA,B,Cの3つを一例として挙げることがある。
また、演算部12は、機械学習アルゴリズムの使用方法として、モデルの学習に用いる訓練データを変更しながら同じ機械学習アルゴリズムを繰り返し実行する方法を採用する。例えば、演算部12は、訓練データのサイズを増加しながら同じ機械学習アルゴリズムを繰り返し実行するプログレッシブサンプリング法を採用する。プログレッシブサンプリング法によれば、過度に大きなサイズの訓練データを使用することを抑制でき、所望の予測性能をもつモデルを短時間で学習することができる。複数の機械学習アルゴリズムを使用し、かつ、訓練データを変更しながら同じ機械学習アルゴリズムを繰り返し実行する方法を採用する場合に、演算部12は、以下のような手順で機械学習を進める。
まず、演算部12は、記憶部11に記憶されたデータ11aの一部分を訓練データとして用いて、複数の機械学習アルゴリズムそれぞれを実行し、機械学習アルゴリズム毎にモデルを生成する。モデルは、例えば、要因を示す1または2以上の変数の値を引数として取得し、結果を示す変数の値(結果の予測値)を出力する関数である。機械学習によって、要因を示す変数それぞれの重み(係数)が決定される。
例えば、演算部12は、データ11aから抽出した訓練データ14aを用いて、機械学習アルゴリズム13a(機械学習アルゴリズムA)を実行する。また、演算部12は、データ11aから抽出した訓練データ14bを用いて、機械学習アルゴリズム13b(機械学習アルゴリズムB)を実行する。また、演算部12は、データ11aから抽出した訓練データ14cを用いて、機械学習アルゴリズム13c(機械学習アルゴリズムC)を実行する。訓練データ14a,14b,14cは、同じ単位データの集合でもよいし、異なる単位データの集合でもよい。後者の場合、訓練データ14a,14b,14cはそれぞれ、データ11aからランダムにサンプリングされたものでもよい。
複数の機械学習アルゴリズムがそれぞれ実行されると、演算部12は、その実行結果に基づいて、機械学習アルゴリズム毎にモデルの予測性能の増加速度を算出する。モデルの予測性能は、モデルの正確さ、すなわち、未知の事例の結果を正確に予測する能力を示す。予測性能を表す指標値として、例えば、正答率(Accuracy)、適合率(Precision)、平均二乗誤差(RMSE:Root Mean Squared Error)などを用いることができる。予測性能は、データ11aの一部分であって訓練データとは異なる部分をテストデータとして用いて算出することができる。テストデータは、データ11aからランダムにサンプリングされたものでもよい。モデルから予測される結果と既知の結果とを比較することで、予測性能を算出できる。テストデータのサイズは、例えば、訓練データの半分程度でよい。
増加速度は、例えば、単位学習時間当たりの予測性能の上昇量を示す。次に訓練データを変更した場合の学習時間は、例えば、前回までの学習時間の実績から推定することができる。次に訓練データを変更した場合の予測性能の上昇量は、例えば、前回までに生成されたモデルの予測性能の実績から推定することができる。
例えば、演算部12は、機械学習アルゴリズム13aの実行結果から、機械学習アルゴリズム13aに対応する増加速度15aを算出する。また、演算部12は、機械学習アルゴリズム13bの実行結果から、機械学習アルゴリズム13bに対応する増加速度15bを算出する。また、演算部12は、機械学習アルゴリズム13cの実行結果から、機械学習アルゴリズム13cに対応する増加速度15cを算出する。一例として、増加速度15a=2.0、増加速度15b=2.5、増加速度15c=1.0と算出される。この場合、機械学習アルゴリズム13bの増加速度15bが最も大きいことになる。
各機械学習アルゴリズムの増加速度が算出されると、演算部12は、それら増加速度に基づいて、複数の機械学習アルゴリズムの中から何れか1つの機械学習アルゴリズムを選択する。例えば、演算部12は、増加速度が最も大きい機械学習アルゴリズムを選択する。そして、演算部12は、記憶部11に記憶されたデータ11aの他の一部分を訓練データとして用いて、選択した機械学習アルゴリズムを実行する。次に使用する訓練データのサイズは、好ましくは、前回使用した訓練データのサイズよりも大きい。次に使用する訓練データは、前回使用した訓練データの一部または全部を包含していてもよい。
例えば、演算部12は、増加速度15a,15b,15cのうち最も大きい増加速度15bを特定し、増加速度15bに対応する機械学習アルゴリズム13bを選択する。そして、演算部12は、データ11aから抽出した訓練データ14dを用いて、機械学習アルゴリズム13bを実行する。訓練データ14dは、少なくとも、機械学習アルゴリズム13bが前回使用した訓練データ14bと異なる集合である。訓練データ14dのサイズは、例えば、訓練データ14bの2倍または4倍程度とする。
なお、演算部12は、訓練データ14dを用いて機械学習アルゴリズム13bを実行した後、その実行結果に基づいて増加速度を更新してもよい。そして、演算部12は、更新した増加速度に基づいて、機械学習アルゴリズム13a,13b,13cの中から次に実行する機械学習アルゴリズムを選択してもよい。演算部12は、増加速度に基づいて機械学習アルゴリズムを1つずつ選択する処理を、モデルの予測性能が所定条件を満たすまで繰り返してもよい。このとき、機械学習アルゴリズム13a,13b,13cのうち一部の機械学習アルゴリズムが、最初の1回実行されて以降実行されない可能性もある。
第1の実施の形態の機械学習管理装置10によれば、複数の機械学習アルゴリズムそれぞれが訓練データを用いて実行され、その実行結果に基づいて、機械学習アルゴリズム毎の予測性能の増加速度が算出される。そして、算出された増加速度に基づいて、次に異なる訓練データを用いて実行する機械学習アルゴリズムが選択される。
これにより、1つの機械学習アルゴリズムのみを使用する場合と比べて、高い予測性能をもつモデルを学習することができる。また、複数の機械学習アルゴリズムの全てを訓練データを変えながら繰り返し実行する場合と比べて、最終的に採用するモデルの予測性能の向上に寄与しない無駄な学習を削減でき、総合的な学習時間を短縮することができる。また、許容できる学習時間に制限がある場合であっても、増加速度が大きい機械学習アルゴリズムを優先的に選択することで、その制限のもとで最善の機械学習を行うことができる。また、ユーザが途中で機械学習を打ち切った場合でも、その時点までに得られたモデルが制限時間の範囲内で得られる最善のモデルとなる。このように、機械学習によって得られるモデルの予測性能を効率的に向上させることが可能となる。
[第2の実施の形態]
次に、第2の実施の形態を説明する。
図2は、機械学習装置のハードウェア例を示すブロック図である。
機械学習装置100は、CPU101、RAM102、HDD103、画像信号処理部104、入力信号処理部105、媒体リーダ106および通信インタフェース107を有する。CPU101、RAM102、HDD103、画像信号処理部104、入力信号処理部105、媒体リーダ106および通信インタフェース107は、バス108に接続されている。なお、機械学習装置100は、第1の実施の形態の機械学習管理装置10に対応する。CPU101は、第1の実施の形態の演算部12に対応する。RAM102またはHDD103は、第1の実施の形態の記憶部11に対応する。
CPU101は、プログラムの命令を実行する演算回路を含むプロセッサである。CPU101は、HDD103に記憶されたプログラムやデータの少なくとも一部をRAM102にロードし、プログラムを実行する。なお、CPU101は複数のプロセッサコアを備えてもよく、機械学習装置100は複数のプロセッサを備えてもよく、以下で説明する処理を複数のプロセッサまたはプロセッサコアを用いて並列に実行してもよい。また、複数のプロセッサの集合(マルチプロセッサ)を「プロセッサ」と呼んでもよい。
RAM102は、CPU101が実行するプログラムやCPU101が演算に用いるデータを一時的に記憶する揮発性の半導体メモリである。なお、機械学習装置100は、RAM以外の種類のメモリを備えてもよく、複数個のメモリを備えてもよい。
HDD103は、OS(Operating System)やミドルウェアやアプリケーションソフトウェアなどのソフトウェアのプログラム、および、データを記憶する不揮発性の記憶装置である。プログラムには、機械学習管理プログラムが含まれる。なお、機械学習装置100は、フラッシュメモリやSSD(Solid State Drive)などの他の種類の記憶装置を備えてもよく、複数の不揮発性の記憶装置を備えてもよい。
画像信号処理部104は、CPU101からの命令に従って、機械学習装置100に接続されたディスプレイ111に画像を出力する。ディスプレイ111としては、CRT(Cathode Ray Tube)ディスプレイ、液晶ディスプレイ(LCD:Liquid Crystal Display)、プラズマディスプレイ(PDP:Plasma Display Panel)、有機EL(OEL:Organic Electro-Luminescence)ディスプレイなどを用いることができる。
入力信号処理部105は、機械学習装置100に接続された入力デバイス112から入力信号を取得し、CPU101に出力する。入力デバイス112としては、マウスやタッチパネルやタッチパッドやトラックボールなどのポインティングデバイス、キーボード、リモートコントローラ、ボタンスイッチなどを用いることができる。また、機械学習装置100に、複数の種類の入力デバイスが接続されていてもよい。
媒体リーダ106は、記録媒体113に記録されたプログラムやデータを読み取る読み取り装置である。記録媒体113として、例えば、フレキシブルディスク(FD:Flexible Disk)やHDDなどの磁気ディスク、CD(Compact Disc)やDVD(Digital Versatile Disc)などの光ディスク、光磁気ディスク(MO:Magneto-Optical disk)、半導体メモリなどを使用できる。媒体リーダ106は、例えば、記録媒体113から読み取ったプログラムやデータをRAM102またはHDD103に格納する。
通信インタフェース107は、ネットワーク114に接続され、ネットワーク114を介して他の情報処理装置と通信を行うインタフェースである。通信インタフェース107は、スイッチなどの通信装置とケーブルで接続される有線通信インタフェースでもよいし、基地局と無線リンクで接続される無線通信インタフェースでもよい。
なお、機械学習装置100は、媒体リーダ106を備えていなくてもよく、ユーザが操作する端末装置から制御可能である場合には画像信号処理部104や入力信号処理部105を備えていなくてもよい。また、ディスプレイ111や入力デバイス112が、機械学習装置100の筐体と一体に形成されていてもよい。
次に、機械学習におけるサンプリングサイズと予測性能と学習時間の間の関係、および、プログレッシブサンプリング法について説明する。
第2の実施の形態の機械学習では、既知の事例を示す複数の単位データを含むデータを予め収集しておく。機械学習装置100または他の情報処理装置が、センサデバイスなどの各種デバイスからネットワーク114経由でデータを収集してもよい。収集されるデータは、「ビッグデータ」と呼ばれるサイズの大きなデータであってもよい。各単位データは、通常は、2以上の説明変数の値と1つの目的変数の値とを含む。例えば、商品の需要予測を行う機械学習では、気温や湿度など商品需要に影響を与える要因を説明変数とし、商品需要量を目的変数とした実績データを収集する。
機械学習装置100は、収集されたデータの中から一部の単位データを訓練データとしてサンプリングし、訓練データを用いてモデルを学習する。モデルは、説明変数と目的変数との間の関係を示し、通常は、2以上の説明変数と2以上の係数と1つの目的変数とを含む。モデルは、例えば、線形式、二次以上の多項式、指数関数、対数関数などの各種数式によって表されてもよい。数式の形は、機械学習の前にユーザによって指定されてもよい。係数は、機械学習によって訓練データに基づいて決定される。
学習されたモデルを用いることで、未知の事例の説明変数の値(要因)から、未知の事例の目的変数の値(結果)を予測することができる。例えば、来期の気象予報から来期の商品需要量を予測できる。モデルによって予測される結果は、0以上1以下の確率値などの連続値であってもよいし、YES/NOの2値などの離散値であってもよい。
学習されたモデルに対しては「予測性能」を算出することができる。予測性能は、未知の事例の結果を正確に予測する能力であり、「精度」と言うこともできる。機械学習装置100は、収集されたデータの中から訓練データ以外の単位データをテストデータとしてサンプリングし、テストデータを用いて予測性能を算出する。テストデータのサイズは、例えば、訓練データのサイズの1/2程度とする。機械学習装置100は、テストデータに含まれる説明変数の値をモデルに入力し、モデルが出力する目的変数の値(予測値)とテストデータに含まれる目的変数の値(実績値)とを比較する。なお、学習したモデルの予測性能を検証することを「バリデーション」と言うことがある。
予測性能の指標としては、正答率(Accuracy)、適合率(Precision)、平均二乗誤差(RMSE)などが挙げられる。例えば、結果がYES/NOの2値で表されるとする。また、N件のテストデータの事例のうち、予測値=YES・実績値=YESの件数をTp、予測値=YES・実績値=NOの件数をFp、予測値=NO・実績値=YESの件数をFn、予測値=NO・実績値=NOの件数をTnとする。この場合、正答率は予測が当たった割合であり、(Tp+Tn)/Nと算出される。適合率は「YES」の予測を間違えない確率であり、Tp/(Tp+Fp)と算出される。平均二乗誤差は、各事例の実績値をyと表し予測値をy^と表すと、(sum(y−y^)2/N)1/2と算出される。
ここで、ある1つの機械学習アルゴリズムを使用する場合、訓練データとしてサンプリングする単位データの数(サンプリングサイズ)が大きいほど予測性能は高くなる。
図3は、サンプリングサイズと予測性能の関係例を示すグラフである。
曲線21は、モデルの予測性能とサンプリングサイズとの間の関係を示す。サンプリングサイズs1,s2,s3,s4,s5の間の大小関係は、s1<s2<s3<s4<s5である。例えば、s2はs1の2倍または4倍、s3はs2の2倍または4倍、s4はs3の2倍または4倍、s5はs4の2倍または4倍である。
曲線21が示すように、サンプリングサイズがs2の場合の予測性能はs1の場合よりも高い。サンプリングサイズがs3の場合の予測性能はs2の場合よりも高い。サンプリングサイズがs4の場合の予測性能はs3の場合よりも高い。サンプリングサイズがs5の場合の予測性能はs4の場合よりも高い。このように、サンプリングサイズが大きくなるほど予測性能も高くなる。ただし、予測性能が低いうちは、サンプリングサイズの増加に応じて予測性能が大きく上昇する。一方で、予測性能には上限があり、予測性能が上限に近づくと、サンプリングサイズの増加量に対する予測性能の上昇量の比は逓減する。
また、サンプリングサイズが大きいほど、機械学習に要する学習時間も大きくなる。このため、サンプリングサイズを過度に大きくすると、学習時間の点で機械学習が非効率になる。図3の例の場合、サンプリングサイズをs4とすると、上限に近い予測性能を短時間で達成できる。一方、サンプリングサイズをs3とすると、予測性能が不十分であるおそれがある。また、サンプリングサイズをs5とすると、予測性能は上限に近いものの、単位学習時間当たりの予測性能の上昇量が小さく、機械学習が非効率になる。
このようなサンプリングサイズと予測性能との間の関係は、同じ機械学習アルゴリズムを使用する場合であっても、使用するデータの性質(データの種類)によって異なる。このため、予測性能の上限や上限に近い予測性能を達成できる最小のサンプリングサイズを、機械学習を行う前に事前に推定することは難しい。そこで、プログレッシブサンプリング法という機械学習方法が提案されている。プログレッシブサンプリング法については、例えば、前述の非特許文献1("Efficient Progressive Sampling")に記載がある。
プログレッシブサンプリング法では、サンプリングサイズを小さな値から始めて段階的に大きくしていき、予測性能が所定条件を満たすまで機械学習を繰り返す。例えば、機械学習装置100は、サンプリングサイズs1で機械学習を行い、学習されたモデルの予測性能を評価する。予測性能が不十分であれば、機械学習装置100は、サンプリングサイズs2で機械学習を行って予測性能を評価する。このとき、サンプリングサイズs2の訓練データは、サンプリングサイズs1の訓練データ(前に使用した訓練データ)の一部または全部を包含していてもよい。同様に、機械学習装置100は、サンプリングサイズs3で機械学習を行って予測性能を評価し、サンプリングサイズs4で機械学習を行って予測性能を評価する。サンプリングサイズs4で予測性能が十分になると、機械学習装置100は、機械学習を停止し、サンプリングサイズs4で学習したモデルを採用する。このとき、機械学習装置100は、サンプリングサイズs5の機械学習を行わなくてよい。
プログレッシブサンプリング法の停止条件として、例えば、1つ前のモデルと今回のモデルとの間の予測性能の差(上昇量)が閾値未満になったことを停止条件とすることが考えられる。また、例えば、単位学習時間当たりの予測性能の上昇量が閾値未満になったことを停止条件とすることも考えられる。前者については、例えば、前述の非特許文献1に記載がある。後者については、例えば、前述の非特許文献2("The Learning-Curve Sampling Method Applied to Model-Based Clustering")に記載がある。
上記のように、プログレッシブサンプリング法では、1つのサンプリングサイズに対する処理(1つの学習ステップ)毎に、モデルの学習と当該モデルの予測性能の評価とを行う。各学習ステップ内の手順(バリデーション方法)としては、例えば、クロスバリデーションやランダムサブサンプリングバリデーションなどを用いることができる。
クロスバリデーションでは、機械学習装置100は、サンプリングしたデータをk個(kは2以上の整数)のブロックに分割し、このうちk−1個のブロックを訓練データとして使用して1個のブロックをテストデータとして使用する。機械学習装置100は、テストデータとして使用するブロックを変えながらモデルの学習と予測性能の評価をK回繰り返す。1つの学習ステップの結果として、例えば、K個のモデルのうち最も予測性能の高いモデルと、K回の予測性能の平均値とが出力される。クロスバリデーションは、限定された量のデータを活用して予測性能の評価を可能とする。
ランダムサブサンプリングバリデーションでは、機械学習装置100は、データの母集合から訓練データとテストデータをランダムにサンプリングし、訓練データを用いてモデルを学習し、テストデータを用いてモデルの予測性能を算出する。機械学習装置100は、サンプリングとモデルの学習と予測性能の評価をK回繰り返す。
各サンプリングは、非復元抽出サンプリングである。すなわち、1回のサンプリングの中で、訓練データ内に同じ単位データは重複して含まれず、テストデータ内に同じ単位データは重複して含まれない。また、1回のサンプリングの中で、訓練データとテストデータに同じ単位データは重複して含まれない。ただし、K回のサンプリングの間で、同じ単位データが選択されることはあり得る。1つの学習ステップの結果として、例えば、k個のモデルのうち最も予測性能の高いモデルと、K回の予測性能の平均値とが出力される。
ところで、訓練データからモデルを学習する手順(機械学習アルゴリズム)には様々なものが存在する。機械学習装置100は、複数の機械学習アルゴリズムを使用することができる。機械学習装置100が使用できる機械学習アルゴリズムの数は、数十〜数百程度であってもよい。機械学習アルゴリズムの一例として、ロジスティック回帰分析、サポートベクタマシン、ランダムフォレストなどを挙げることができる。
ロジスティック回帰分析は、目的変数yの値と説明変数x1,x2,…,xkの値をS字曲線にフィッティングする回帰分析である。目的変数yおよび説明変数x1,x2,…,xkは、log(y/(1−y))=a11+a22+…+akk+bの関係を満たすと仮定される。a1,a2,…,ak,bは係数であり、回帰分析によって決定される。
サポートベクタマシンは、N次元空間に配置された単位データの集合を、2つのクラスに最も明確に分割するような境界面を算出する機械学習アルゴリズムである。境界面は、各クラスとの距離(マージン)が最大になるように算出される。
ランダムフォレストは、複数の単位データを適切に分類するためのモデルを生成する機械学習アルゴリズムである。ランダムフォレストでは、母集合から単位データをランダムにサンプリングする。説明変数の一部をランダムに選択し、選択した説明変数の値に応じてサンプリングした単位データを分類する。説明変数の選択と単位データの分類を繰り返すことで、複数の説明変数の値に基づく階層的な決定木を生成する。単位データのサンプリングと決定木の生成を繰り返すことで複数の決定木を取得し、それら複数の決定木を合成することで、単位データを分類するための最終的なモデルを生成する。
図4は、学習時間と予測性能の関係例を示すグラフである。
曲線22〜24は、著名なデータ集合(CoverType)を用いて測定された学習時間と予測性能の間の関係を示している。予測性能の指標として、ここでは正答率を用いている。曲線22は、機械学習アルゴリズムとしてロジスティック回帰を用いた場合の学習時間と予測性能の間の関係を示す。曲線23は、機械学習アルゴリズムとしてサポートベクタマシンを用いた場合の学習時間と予測性能の間の関係を示す。曲線24は、機械学習アルゴリズムとしてランダムフォレストを用いた場合の学習時間と予測性能の間の関係を示す。なお、図4の横軸は、学習時間について対数目盛になっている。
曲線22が示すように、ロジスティック回帰を使用した場合、サンプリングサイズ=800における予測性能は約0.71、学習時間は約0.2秒である。サンプリングサイズ=3200における予測性能は約0.75、学習時間は約0.5秒である。サンプリングサイズ=12800における予測性能は約0.755、学習時間は1.5秒である。サンプリングサイズ=51200における予測性能は約0.76、学習時間は約6秒である。
曲線23が示すように、サポートベクタマシンを使用した場合、サンプリングサイズ=800における予測性能は約0.70、学習時間は約0.2秒である。サンプリングサイズ=3200における予測性能は約0.77、学習時間は約2秒である。サンプリングサイズ=12800に対応する予測性能は約0.785、学習時間は約20秒である。
曲線24が示すように、ランダムフォレストを使用した場合、サンプリングサイズ=800における予測性能は約0.74、学習時間は約2.5秒である。サンプリングサイズ=3200における予測性能は約0.79、学習時間は約15秒である。サンプリングサイズ=12800に対応する予測性能は約0.82、学習時間は約200秒である。
このように、上記のデータ集合に対しては、ロジスティック回帰は、全体的に学習時間が短く予測性能が低い。サポートベクタマシンは、全体的にロジスティック回帰よりも学習時間が長く予測性能が高い。ランダムフォレストは、全体的にサポートベクタマシンよりも更に学習時間が長く予測性能が高い。ただし、図4の例では、サンプリングサイズが小さい場合のサポートベクタマシンの予測性能は、ロジスティック回帰の予測性能よりも低くなっている。すなわち、プログレッシブサンプリング法における初期段階の予測性能の上昇カーブも、機械学習アルゴリズムによって異なる。
また、前述のように、個々の機械学習アルゴリズムの予測性能の上限や予測性能の上昇カーブは、使用するデータの性質にも依存する。そのため、複数の機械学習アルゴリズムのうち、予測性の上限が最も高い機械学習アルゴリズムや上限に近い予測性能を最も短時間で達成できる機械学習アルゴリズムを事前に特定することは難しい。そこで、以下では、複数の機械学習アルゴリズムを使用し、かつ、プログレッシブサンプリング法を使用する場合に、予測性能の高いモデルを効率的に得られるようにする方法を検討する。
図5は、複数の機械学習アルゴリズムの第1の使用例を示す図である。
ここでは説明を簡単にするため、機械学習アルゴリズムA,B,Cの3つの機械学習アルゴリズムが存在する場合を考える。機械学習アルゴリズムAのみを使用してプログレッシブサンプリング法を行う場合、機械学習装置100は、学習ステップ31,32,33(A1,A2,A3)を順に実行する。機械学習アルゴリズムBのみを使用してプログレッシブサンプリング法を行う場合、機械学習装置100は、学習ステップ34,35,36(B1,B2,B3)を順に実行する。機械学習アルゴリズムCのみを使用してプログレッシブサンプリング法を行う場合、機械学習装置100は、学習ステップ37,38,39(C1,C2,C3)を順に実行する。なお、ここでは、学習ステップ33,36,39でそれぞれ停止条件が満たされるものと仮定する。
学習ステップ31,34,37のサンプリングサイズは同じである。例えば、学習ステップ31,34,37の単位データ数はそれぞれ1万である。学習ステップ32,35,38のサンプリングサイズは同じであり、学習ステップ31,34,37のサンプリングサイズの2倍または4倍程度である。例えば、学習ステップ32,35,38の単位データ数はそれぞれ4万である。学習ステップ33,36,39のサンプリングサイズは同じであり、学習ステップ32,35,38のサンプリングサイズの2倍または4倍程度である。例えば、学習ステップ33,36,39の単位データ数はそれぞれ16万である。
機械学習アルゴリズムA,B,Cとプログレッシブサンプリング法を組み合わせる方法としては、次のような第1の方法が考えられる。第1の方法は、機械学習アルゴリズムA,B,Cをそれぞれ独立に実行する方法である。機械学習装置100は、機械学習アルゴリズムAについて学習ステップ31,32,33を実行する。次に、機械学習装置100は、機械学習アルゴリズムBについて学習ステップ34,35,36を実行する。次に、機械学習装置100は、機械学習アルゴリズムCについて学習ステップ37,38,39を実行する。そして、機械学習装置100は、学習ステップ31〜39によって出力された全てのモデルの中から、最も予測性能の高いモデルを選択する。
しかし、第1の方法では、最終的に採用するモデルの予測性能の向上に寄与しない無駄な学習ステップが多く発生する。このため、全体の学習時間が長くなってしまうという問題がある。また、第1の方法では、機械学習アルゴリズムA,B,Cの全てが完了するまで最大の予測性能を達成できる機械学習アルゴリズムが判明しない。このため、学習時間に制限があり機械学習を途中で打ち切った場合に、終了時刻までに得られたモデルが、制限時間内に得られる最善のモデルであることを保証できないという問題がある。
図6は、複数の機械学習アルゴリズムの第2の使用例を示す図である。
機械学習アルゴリズムA,B,Cとプログレッシブサンプリング法を組み合わせる方法としては、次のような第2の方法も考えられる。第2の方法は、機械学習アルゴリズムA,B,Cの学習ステップを1つずつ実行し、以降は、最初の学習ステップで算出された予測性能が最大の機械学習アルゴリズムのみを実行する方法である。
機械学習装置100は、機械学習アルゴリズムAの学習ステップ31と、機械学習アルゴリズムBの学習ステップ34と、機械学習アルゴリズムCの学習ステップ37とを実行する。機械学習装置100は、学習ステップ31,34,37によって算出された予測性能の中で最大の予測性能を判定し、最大の予測性能が算出された学習ステップ37が属する機械学習アルゴリズムCを選択する。機械学習装置100は、選択した機械学習アルゴリズムCについて学習ステップ38,39を実行する。このとき、機械学習装置100は、選択しなかった機械学習アルゴリズムAについての学習ステップ32,33と、選択しなかった機械学習アルゴリズムBについての学習ステップ35,36とは実行しない。
しかし、図4について説明したように、複数の機械学習アルゴリズムの間で、サンプリングサイズが小さい場合の予測性能の大小とサンプリングサイズが大きい場合の予測性能の大小とが一致するとは限らない。このため、第2の方法では、選択した機械学習アルゴリズムによって最高の予測性能が達成できるとは限らないという問題がある。
図7は、複数の機械学習アルゴリズムの第3の使用例を示す図である。
機械学習アルゴリズムA,B,Cとプログレッシブサンプリング法を組み合わせる方法としては、次のような第3の方法も考えられる。第3の方法は、各機械学習アルゴリズムについて、サンプリングサイズが1段階大きい学習ステップを実行した場合の予測性能の改善速度を推定し、改善速度が最大の機械学習アルゴリズムを選択して学習ステップを1つだけ進める方法である。学習ステップを1つ進める毎に、改善速度の推定値が見直される。このため、第3の方法では、最初のうちは複数の機械学習アルゴリズムの学習ステップが混在して実行され、徐々に機械学習アルゴリズムが限定されていく。
改善速度の推定値は、性能改善量の推定値を実行時間の推定値で割ったものである。性能改善量の推定値は、次の学習ステップの予測性能の推定値と、複数の機械学習アルゴリズムを通じて現在までに達成された予測性能の最大値(以下では達成予測性能と言うことがある)との差である。次の学習ステップの予測性能は、同じ機械学習アルゴリズムの過去の予測性能と次の学習ステップのサンプリングサイズとに基づいて推定される。実行時間の推定値は、次の学習ステップに要する時間の推定値であり、同じ機械学習アルゴリズムの過去の実行時間と次の学習ステップのサンプリングサイズとに基づいて推定される。
機械学習装置100は、機械学習アルゴリズムAの学習ステップ31と、機械学習アルゴリズムBの学習ステップ34と、機械学習アルゴリズムCの学習ステップ37とを実行する。機械学習装置100は、学習ステップ31,34,37の実行結果に基づいて、機械学習アルゴリズムA,B,Cの改善速度をそれぞれ推定する。ここでは、機械学習アルゴリズムAの改善速度=2.5、機械学習アルゴリズムBの改善速度=2.0、機械学習アルゴリズムCの改善速度=1.0と推定されたとする。すると、機械学習装置100は、改善速度が最大の機械学習アルゴリズムAを選択し、学習ステップ32を実行する。
学習ステップ32が実行されると、機械学習装置100は、機械学習アルゴリズムA,B,Cの改善速度を更新する。ここでは、機械学習アルゴリズムAの改善速度=0.73、機械学習アルゴリズムBの改善速度=1.0、機械学習アルゴリズムCの改善速度=0.5と推定されたとする。学習ステップ32によって達成予測性能が上昇したため、機械学習アルゴリズムB,Cの改善速度も低下している。機械学習装置100は、改善速度が最大の機械学習アルゴリズムBを選択し、学習ステップ35を実行する。
学習ステップ35が実行されると、機械学習装置100は、機械学習アルゴリズムA,B,Cの改善速度を更新する。ここでは、機械学習アルゴリズムAの改善速度=0.0、機械学習アルゴリズムBの改善速度=0.8、機械学習アルゴリズムCの改善速度=0.0と推定されたとする。機械学習装置100は、改善速度が最大の機械学習アルゴリズムBを選択し、学習ステップ36を実行する。学習ステップ36によって予測性能が十分に上昇したと判定されると、機械学習は終了する。この場合、機械学習アルゴリズムAの学習ステップ33や機械学習アルゴリズムCの学習ステップ38,39は実行されない。
なお、次の学習ステップの予測性能を推定するにあたっては、統計誤差を考慮し、予測性能が今後上昇する可能性のある機械学習アルゴリズムを早期に切り捨ててしまうリスクを低減することが好ましい。例えば、機械学習装置100は、回帰分析によって予測性能の期待値とその95%予測区間を算出し、95%予測区間の上限値(UCB:Upper Confidence Bound)を、改善速度を算出する際の予測性能を推定値として使用することが考えられる。95%予測区間は、測定される予測性能(測定値)のばらつきを示すものであり、新たな予測性能が95%の確率でこの区間に収まると予想されることを示す。すなわち、統計上の期待値よりも統計誤差に応じた幅だけ大きい値を使用する。
ただし、UCBに代えて、機械学習装置100は、推定される予測性能の分布を積分して、予測性能が達成予測性能を超える確率(PI:Probability of Improvement)を算出してもよい。また、機械学習装置100は、推定される予測性能の分布を積分して、予測性能が達成予測性能を超える期待値(EI:Expected Improvement)を算出してもよい。統計誤差に関するリスクについては、例えば、次の非特許文献にも記載がある:Peter Auer, Nicolo Cesa-Bianchi and Paul Fischer, "Finite-time Analysis of the Multiarmed Bandit Problem", Machine Learning vol. 47, pp. 235-256, 2002。
第3の方法では、予測性能の改善に寄与しない学習ステップは実行されず、全体の学習時間を短縮することができる。また、単位時間当たりの性能改善量が最大である機械学習アルゴリズムの学習ステップが優先的に実行される。このため、学習時間に制限があり機械学習を途中で打ち切った場合であっても、終了時刻までに得られたモデルが、制限時間内に得られる最善のモデルとなる。また、少しでも予測性能の改善に寄与する学習ステップは、実行順序が後になる可能性はあるものの実行される余地が残される。このため、予測性能の上限が高い機械学習アルゴリズムを切り捨ててしまうリスクを低減できる。
以下では、機械学習装置100が上記の第3の方法で機械学習を行う場合を説明する。
図8は、第2の実施の形態の機械学習装置の機能例を示すブロック図である。
機械学習装置100は、データ記憶部121、管理テーブル記憶部122、学習結果記憶部123、制限時間入力部131、ステップ実行部132、時間推定部133、性能改善量推定部134および学習制御部135を有する。データ記憶部121、管理テーブル記憶部122および学習結果記憶部123は、例えば、RAM102またはHDD103に確保した記憶領域を用いて実現できる。制限時間入力部131、ステップ実行部132、時間推定部133、性能改善量推定部134および学習制御部135は、例えば、CPU101が実行するプログラムモジュールを用いて実現できる。
データ記憶部121は、機械学習に使用できるデータの集合を記憶する。データの集合は、それぞれが目的変数の値(結果)と1または2以上の説明変数の値(要因)とを含む単位データの集合である。データ記憶部121に記憶されたデータは、機械学習装置100または他の情報処理装置が各種デバイスから収集したものでもよいし、機械学習装置100または他の情報処理装置に対してユーザが入力したものでもよい。
管理テーブル記憶部122は、機械学習の進行を管理する管理テーブルを記憶する。管理テーブルは、学習制御部135によって更新される。管理テーブルの詳細は後述する。
学習結果記憶部123は、機械学習の結果を記憶する。機械学習の結果には、目的変数と1または2以上の説明変数との間の関係を示すモデルが含まれる。例えば、各説明変数の重みを示す係数が、機械学習によって決定される。また、機械学習の結果には、学習されたモデルの予測性能が含まれる。また、機械学習の結果には、モデルの学習に用いた機械学習アルゴリズムとサンプリングサイズの情報が含まれる。
制限時間入力部131は、機械学習の制限時間の情報を取得し、制限時間を学習制御部135に通知する。制限時間の情報は、入力デバイス112を通じてユーザから入力されてもよい。また、制限時間の情報は、RAM102またはHDD103に記憶された設定ファイルから読み出すようにしてもよい。また、制限時間の情報は、ネットワーク114を介して他の情報処理装置から受信してもよい。
ステップ実行部132は、複数の機械学習アルゴリズムを実行することができる。ステップ実行部132は、学習制御部135から、機械学習アルゴリズムとサンプリングサイズの指定を受け付ける。すると、ステップ実行部132は、データ記憶部121に記憶されたデータを用いて、指定された機械学習アルゴリズムおよび指定されたサンプリングサイズについての学習ステップを実行する。すなわち、ステップ実行部132は、指定されたサンプリングサイズに基づいて、データ記憶部121から訓練データとテストデータを抽出する。ステップ実行部132は、訓練データと指定された機械学習アルゴリズムを用いてモデルを学習し、テストデータを用いて予測性能を算出する。
モデルの学習と予測性能の算出について、ステップ実行部132は、クロスバリデーションやランダムサブサンプリングバリデーションなどの各種のバリデーション方法を使用できる。使用するバリデーション方法は、ステップ実行部132に予め設定されてもよい。また、ステップ実行部132は、1つの学習ステップに要した実行時間を測定する。ステップ実行部132は、モデルと予測性能と実行時間を学習制御部135に出力する。
時間推定部133は、ある機械学習アルゴリズムの次の学習ステップの実行時間を推定する。時間推定部133は、学習制御部135から、機械学習アルゴリズムと、当該機械学習アルゴリズムの何番目の学習ステップであるかを示すステップ番号の指定を受け付ける。すると、時間推定部133は、指定された機械学習アルゴリズムに属する実行済みの学習ステップの実行時間と、指定されたステップ番号に対応するサンプリングサイズと、所定の推定式とから、指定されたステップ番号の学習ステップの実行時間を推定する。時間推定部133は、推定した実行時間を学習制御部135に出力する。
性能改善量推定部134は、ある機械学習アルゴリズムの次の学習ステップの性能改善量を推定する。性能改善量推定部134は、学習制御部135から、機械学習アルゴリズムとステップ番号の指定を受け付ける。すると、性能改善量推定部134は、指定された機械学習アルゴリズムに属する実行済みの学習ステップの予測性能と、指定されたステップ番号に対応するサンプリングサイズと、所定の推定式とから、指定されたステップ番号の学習ステップの予測性能を推定する。このとき、性能改善量推定部134は、統計誤差を考慮して、UCBなど予測性能の期待値よりも大きい値を用いる。性能改善量推定部134は、現在の達成予測性能からの改善量を算出し、学習制御部135に出力する。
学習制御部135は、複数の機械学習アルゴリズムを用いた機械学習を制御する。学習制御部135は、複数の機械学習アルゴリズムそれぞれの最初の学習ステップをステップ実行部132に実行させる。学習制御部135は、1つの学習ステップが実行される毎に、同じ機械学習アルゴリズムの次の学習ステップの実行時間を時間推定部133に推定させ、次の学習ステップの性能改善量を性能改善量推定部134に推定させる。学習制御部135は、性能改善量を実行時間で割った改善速度を算出する。
そして、学習制御部135は、複数の機械学習アルゴリズムの中から改善速度が最大のものを選択し、選択した機械学習アルゴリズムの次の学習ステップをステップ実行部132に実行させる。学習制御部135は、改善速度の更新と機械学習アルゴリズムの選択とを、予測性能が所定の停止条件を満たすか、学習時間が制限時間を超えるまで繰り返す。学習制御部135は、機械学習の停止までに得られたモデルのうち予測性能が最大のモデルを学習結果記憶部123に保存する。また、学習制御部135は、予測性能と機械学習アルゴリズムの情報とサンプリングサイズの情報を学習結果記憶部123に保存する。
図9は、管理テーブルの例を示す図である。
管理テーブル122aは、学習制御部135によって生成されて管理テーブル記憶部122に記憶される。管理テーブル122aは、アルゴリズムID、ステップ番号、改善速度、予測性能および実行時間の項目を含む。
アルゴリズムIDは、機械学習アルゴリズムを識別する識別情報である。以下の説明では、i番目(i=1,2,3,…)の機械学習アルゴリズムのアルゴリズムIDをaiと表記することがある。ステップ番号は、プログレッシブサンプリング法の学習ステップを示す番号である。管理テーブル122aには、機械学習アルゴリズム毎に、次に実行される学習ステップのステップ番号が登録される。以下の説明では、i番目の機械学習アルゴリズムに対応するステップ番号をkiと表記することがある。
また、ステップ番号からはサンプリングサイズを一意に特定することができる。以下の説明では、j番目の学習ステップのサンプリングサイズをsjと表記することがある。データ記憶部121に記憶されたデータ集合をDとし、Dのサイズ(単位データの数)を|D|とすると、例えば、s1=|D|/210,sj=s1×2j-1と決定される。
改善速度の項目には、機械学習アルゴリズム毎に、次に実行される学習ステップの改善速度の推定値が登録される。改善速度の単位は、例えば、[秒-1]である。以下の説明では、i番目の機械学習アルゴリズムに対応する改善速度をriと表記することがある。予測性能の項目には、機械学習アルゴリズム毎に、既に実行された学習ステップの予測性能が列挙される。以下の説明では、i番目の機械学習アルゴリズムのj番目の学習ステップで算出された予測性能をpi,jと表記することがある。実行時間の項目には、機械学習アルゴリズム毎に、既に実行された学習ステップの実行時間が列挙される。実行時間の単位は、例えば、[秒]である。以下の説明では、i番目の機械学習アルゴリズムのj番目の学習ステップの実行時間をTi,jと表記することがある。
図10は、第2の実施の形態の機械学習の手順例を示すフローチャートである。
(S10)学習制御部135は、データ記憶部121を参照して、プログレッシブサンプリング法における学習ステップのサンプリングサイズs1,s2,s3,…を決定する。例えば、学習制御部135は、データ記憶部121に記憶されたデータ集合Dのサイズに基づいて、s1=|D|/210,sj=s1×2j-1と決定する。
(S11)学習制御部135は、管理テーブル122aの各機械学習アルゴリズムのステップ番号を1に初期化する。また、学習制御部135は、各機械学習アルゴリズムの改善速度を、改善速度が取り得る最大値に初期化する。また、学習制御部135は、達成予測性能Pを、達成予測性能Pが取り得る最小値(例えば、0)に初期化する。
(S12)学習制御部135は、管理テーブル122aの中から、改善速度が最大の機械学習アルゴリズムを選択する。ここで選択した機械学習アルゴリズムをaiとする。
(S13)学習制御部135は、機械学習アルゴリズムaiの改善速度riが、閾値R未満であるか判断する。閾値Rは、予め学習制御部135に設定されていてもよい。例えば、閾値R=0.001/3600[秒-1]とする。改善速度riが閾値R未満である場合はステップS28に処理が進み、それ以外の場合はステップS14に処理が進む。
(S14)学習制御部135は、管理テーブル122aから、機械学習アルゴリズムaiに対応するステップ番号kiを検索する。ここでは、ki=jであるとする。
(S15)学習制御部135は、ステップ番号jに対応するサンプリングサイズsjを算出し、ステップ実行部132に対して機械学習アルゴリズムaiとサンプリングサイズsjを指定する。ステップ実行部132は、機械学習アルゴリズムaiについてj番目の学習ステップを実行する。ステップ実行部132の処理の詳細は後述する。
(S16)学習制御部135は、ステップ実行部132から、学習されたモデルと当該モデルの予測性能pi,jと実行時間Ti,jとを取得する。
(S17)学習制御部135は、ステップS16で取得した予測性能pi,jと、達成予測性能P(現在までに達成された最大の予測性能)とを比較し、前者が後者より大きいか判断する。予測性能pi,jが達成予測性能Pよりも大きい場合はステップS18に処理が進み、それ以外の場合はステップS19に処理が進む。
(S18)学習制御部135は、達成予測性能Pを予測性能pi,jに更新する。また、学習制御部135は、達成予測性能Pと対応付けて、その予測性能が得られた機械学習アルゴリズムaiとステップ番号jとを記憶しておく。
(S19)学習制御部135は、管理テーブル122aに記憶されたステップ番号のうち、機械学習アルゴリズムaiに対応するステップ番号kiをj+1に更新する。すなわち、ステップ番号kiをインクリメント(1だけ加算)する。また、学習制御部135は、合計時間tsum=0に初期化する。
図11は、第2の実施の形態の機械学習の手順例を示すフローチャート(続き)である。
(S20)学習制御部135は、機械学習アルゴリズムaiの次の学習ステップのサンプリングサイズsj+1を算出する。学習制御部135は、サンプリングサイズsj+1とデータ記憶部121に記憶されたデータ集合Dのサイズとを比較し、前者が後者より大きいか判断する。サンプリングサイズsj+1がデータ集合Dのサイズよりも大きい場合はステップS21に処理が進み、それ以外の場合はステップS22に処理が進む。
(S21)学習制御部135は、管理テーブル122aに記憶された改善速度のうち、機械学習アルゴリズムaiに対応する改善速度riを0に更新する。これにより、機械学習アルゴリズムaiは実行されなくなる。そして、前述のステップS12に処理が進む。
(S22)学習制御部135は、時間推定部133に対して機械学習アルゴリズムaiとステップ番号j+1を指定する。時間推定部133は、機械学習アルゴリズムaiについて次の学習ステップ(j+1番目の学習ステップ)を実行した場合の実行時間ti,j+1を推定する。時間推定部133の処理の詳細は後述する。
(S23)学習制御部135は、性能改善量推定部134に対して機械学習アルゴリズムaiとステップ番号j+1を指定する。性能改善量推定部134は、機械学習アルゴリズムaiについて次の学習ステップ(j+1番目の学習ステップ)を実行した場合の性能改善量gi,j+1を推定する。性能改善量推定部134の処理の詳細は後述する。
(S24)学習制御部135は、時間推定部133から取得した実行時間ti,j+1に基づいて、合計時間tsum=tsum+ti,j+1に更新する。また、学習制御部135は、更新した合計時間tsumと性能改善量推定部134から取得した性能改善量gi,j+1とに基づいて、改善速度ri=gi,j+1/tsumを算出する。学習制御部135は、管理テーブル122aに記憶された改善速度riを上記の値に更新する。
(S25)学習制御部135は、改善速度riが閾値R未満であるか判断する。改善速度riが閾値R未満の場合はステップS26に処理が進み、改善速度riが閾値R以上の場合はステップS27に処理が進む。
(S26)学習制御部135は、j=j+1に更新する。そして、ステップS20に処理が進む。
(S27)学習制御部135は、機械学習を開始してからの経過時間が、制限時間入力部131から指定された制限時間を超えたか判断する。経過時間が制限時間を超えた場合はステップS28に処理が進み、それ以外の場合はステップS12に処理が進む。
(S28)学習制御部135は、達成予測性能Pと当該予測性能が得られたモデルとを学習結果記憶部123に保存する。また、学習制御部135は、達成予測性能Pに対応付けられた機械学習アルゴリズムのアルゴリズムIDと、達成予測性能Pに対応付けられたステップ番号に相当するサンプリングサイズとを、学習結果記憶部123に保存する。
図12は、第2の実施の形態のステップ実行の手順例を示すフローチャートである。
ここでは、バリデーション方法として、データ集合Dのサイズに応じて、ランダムサブサンプリングバリデーションまたはクロスバリデーションを実行する場合を考える。ただし、ステップ実行部132は、他のバリデーション方法を用いてもよい。
(S30)ステップ実行部132は、学習制御部135から指定された機械学習アルゴリズムaiとサンプリングサイズsjとを特定する。また、ステップ実行部132は、データ記憶部121に記憶されているデータ集合Dを特定する。
(S31)ステップ実行部132は、サンプリングサイズsjが、データ集合Dのサイズの2/3よりも大きいか判断する。サンプリングサイズsjが2/3×|D|よりも大きい場合、ステップ実行部132は、データ量が不足しているためクロスバリデーションを選択する。そして、ステップS38に処理が進む。サンプリングサイズsjが2/3×|D|以下である場合、ステップ実行部132は、データ量が十分あるためランダムサブサンプリングバリデーションを選択する。そして、ステップS32に処理が進む。
(S32)ステップ実行部132は、データ集合Dからサンプリングサイズsjの訓練データDtをランダムに抽出する。訓練データの抽出は、非復元抽出サンプリングとして行う。よって、訓練データには、互いに異なるsj個の単位データが含まれる。
(S33)ステップ実行部132は、データ集合Dのうち訓練データDtを除いた部分から、サイズsj/2のテストデータDsをランダムに抽出する。テストデータの抽出は、非復元抽出サンプリングとして行う。よって、テストデータには、訓練データDtと異なりかつ互いに異なるsj/2個の単位データが含まれる。なお、ここでは訓練データDtのサイズとテストデータDsのサイズの比を2:1としたが、比を変更してもよい。
(S34)ステップ実行部132は、機械学習アルゴリズムaiとデータ集合Dから抽出した訓練データDtとを用いてモデルmを学習する。
(S35)ステップ実行部132は、学習したモデルmとデータ集合Dから抽出したテストデータDsとを用いて、モデルmの予測性能pを算出する。予測性能pを表す指標として、正答率、適合率、RMSEなど任意の指標を用いることができる。予測性能pを表す指標が、予めステップ実行部132に設定されてもよい。
(S36)ステップ実行部132は、上記ステップS32〜S35の繰り返し回数と閾値Kとを比較し、前者が後者未満であるか判断する。閾値Kは、予めステップ実行部132に設定されていてもよい。例えば、閾値K=10とする。繰り返し回数が閾値K未満の場合はステップS32に処理が進み、それ以外の場合はステップS37に処理が進む。
(S37)ステップ実行部132は、ステップS35で算出されたK個の予測性能pの平均値を算出し、予測性能pi,jとして出力する。また、ステップ実行部132は、ステップS30が開始されてからステップS32〜S36の繰り返しが終了するまでの実行時間Ti,jを算出して出力する。また、ステップ実行部132は、ステップS34で学習されたK個のモデルmのうち予測性能pが最大のモデルを出力する。そして、ランダムサブサンプリングバリデーションによる1つの学習ステップが終了する。
(S38)ステップ実行部132は、上記のランダムサブサンプリングバリデーションに代えて、前述したクロスバリデーションを実行する。例えば、ステップ実行部132は、データ集合Dからサンプリングサイズsjのサンプルデータをランダムに抽出し、抽出したサンプルデータをK個のブロックに均等に分割する。ステップ実行部132は、K−1個のブロックを訓練データとして使用し1個のブロックをテストデータとして使用することを、テストデータのブロックを変えながらK回繰り返す。ステップ実行部132は、K個の予測性能の平均値と、実行時間と、予測性能が最大のモデルを出力する。
図13は、時間推定の手順例を示すフローチャートである。
(S40)時間推定部133は、学習制御部135から指定された機械学習アルゴリズムaiとステップ番号j+1とを特定する。
(S41)時間推定部133は、機械学習アルゴリズムaiの学習ステップが2つ以上実行済みか、すなわち、ステップ番号j+1が2より大きいか判断する。j+1>2の場合はステップS42に処理が進み、それ以外の場合はステップS45に処理が進む。
(S42)時間推定部133は、管理テーブル122aから機械学習アルゴリズムaiに対応する実行時間Ti,1,Ti,2を検索する。
(S43)時間推定部133は、サンプリングサイズs1,s2と実行時間Ti,1,Ti,2を用いて、サンプリングサイズsから実行時間tを推定する推定式t=α×s+βの係数α,βを決定する。係数α,βは、Ti,1およびs1をtおよびsにそれぞれ代入した式と、Ti,2およびs2をtおよびsにそれぞれ代入した式からなる連立方程式を解くことで決定できる。ただし、機械学習アルゴリズムaiの学習ステップが3つ以上実行済みである場合、時間推定部133は、それら学習ステップの実行時間から回帰分析によって係数α,βを決定してもよい。実行時間をサンプリングサイズの一次式と仮定することは、前述の非特許文献2("The Learning-Curve Sampling Method Applied to Model-Based Clustering")にも記載がある。
(S44)時間推定部133は、上記の推定式とサンプリングサイズsj+1を用いて(sj+1を推定式のsに代入して)、j+1番目の学習ステップの実行時間ti,j+1を推定する。時間推定部133は、推定した実行時間ti,j+1を出力する。
(S45)時間推定部133は、管理テーブル122aから機械学習アルゴリズムaiに対応する実行時間Ti,1を検索する。
(S46)時間推定部133は、サンプリングサイズs1,s2と実行時間Ti,1を用いて、2番目の学習ステップの実行時間ti,2=s2/s1×Ti,1と推定する。時間推定部133は、推定した実行時間ti,2を出力する。
図14は、性能改善量推定の手順例を示すフローチャートである。
(S50)性能改善量推定部134は、学習制御部135から指定された機械学習アルゴリズムaiとステップ番号j+1とを特定する。
(S51)性能改善量推定部134は、管理テーブル122aから機械学習アルゴリズムaiに対応する全ての予測性能pi,1,pi,2,…を検索する。
(S52)性能改善量推定部134は、サンプリングサイズs1,s2,…と予測性能pi,1,pi,2,…を用いて、サンプリングサイズsから予測性能pを推定する推定式p=β−α×s-rの係数α,β,γを決定する。係数α,β,γは、非線形回帰分析によってサンプリングサイズs1,s2,…と予測性能pi,1,pi,2,…を上記の曲線にフィッティングすることで決定できる。また、性能改善量推定部134は、上記の曲線の95%予測区間を算出する。なお、上記の曲線については、次の文献にも記載がある:Prasanth Kolachina, Nicola Cancedda, Marc Dymetman and Sriram Venkatapathy, "Prediction of Learning Curves in Machine Translation", Proc. of the 50th Annual Meeting of the Association for Computational Linguistics, pp. 22-30, 2012。
(S53)性能改善量推定部134は、上記の推定式の95%予測区間とサンプリングサイズsj+1を用いて、j+1番目の学習ステップの予測性能について95%予測区間の上限値(UCB)を算出し、推定上限値uとする。
(S54)性能改善量推定部134は、現在の達成予測性能Pと推定上限値uを比較して性能改善量gi,j+1を推定し、推定した性能改善量gi,j+1を出力する。性能改善量gi,j+1は、u>Pであればu−Pであり、u≦Pであれば0である。
第2の実施の形態の機械学習装置100によれば、複数の機械学習アルゴリズムそれぞれについて、次の学習ステップを実行した場合の単位時間当たりの予測性能の改善量(改善速度)が推定される。そして、改善速度が最大の機械学習アルゴリズムが選択され、選択された機械学習アルゴリズムの学習ステップが1つだけ進められる。改善速度の推定と機械学習アルゴリズムの選択が繰り返され、最終的に1つのモデルが選択される。
これにより、予測性能の改善に寄与しない学習ステップは実行されず、全体の学習時間を短縮することができる。また、改善速度の推定値が最大の機械学習アルゴリズムが選択されるため、学習時間に制限があり機械学習を途中で打ち切った場合であっても、終了時刻までに得られたモデルが、制限時間内に得られる最善のモデルとなる。また、少しでも予測性能の改善に寄与する学習ステップは、実行順序が後になる可能性はあるものの実行される余地が残される。このため、予測性能の上限が高い機械学習アルゴリズムをサンプリングサイズが小さいうちに切り捨ててしまうリスクを低減できる。このように、複数の機械学習アルゴリズムを利用してモデルの予測性能を効率的に向上させることができる。
[第3の実施の形態]
次に、第3の実施の形態を説明する。第2の実施の形態との違いを中心に説明し、第2の実施の形態と同様の事項については説明を省略することがある。
第2の実施の形態の機械学習装置100は、サンプリングサイズsと学習ステップの実行時間tとの間の関係を、一次式を用いて表した。これに対し、サンプリングサイズsと実行時間tとの間の関係は、機械学習アルゴリズムによって大きく異なる可能性がある。例えば、機械学習アルゴリズムの中には、サンプリングサイズsの増加に対して、実行時間tが直線的ではなく曲線的に増加するものもある。そこで、第3の実施の形態の機械学習装置は、機械学習アルゴリズムによって異なる推定式を用いて実行時間tを推定する。
図15は、第3の実施の形態の機械学習装置の機能例を示すブロック図である。
機械学習装置100aは、データ記憶部121、管理テーブル記憶部122、学習結果記憶部123、推定式記憶部124、制限時間入力部131、ステップ実行部132、性能改善量推定部134、学習制御部135および時間推定部136を有する。機械学習装置100aは、第2の実施の形態の時間推定部133に代えて時間推定部136を有している。推定式記憶部124は、例えば、RAMまたはHDDに確保した記憶領域を用いて実現できる。時間推定部136は、例えば、CPUが実行するプログラムモジュールを用いて実現できる。なお、機械学習装置100aは、図2に示した第2の実施の形態の機械学習装置100と同様のハードウェアを用いて実現できる。
推定式記憶部124は、推定式テーブルを記憶する。推定式テーブルは、機械学習アルゴリズム毎に、サンプリングサイズsと実行時間tとの間の関係を示す推定式を記憶する。機械学習アルゴリズム毎の推定式は、予めユーザによって決定されている。例えば、ユーザが事前に、幾つかの異なるサイズの訓練データを用いて各機械学習アルゴリズムを試行して、実行時間を計測しておく。そして、ユーザが事前に、非線形回帰などの統計処理によって、サンプリングサイズと実行時間から推定式を決定する。
時間推定部136は、推定式記憶部124に記憶された推定式テーブルを参照して、ある機械学習アルゴリズムの次の学習ステップの実行時間を推定する。時間推定部136は、学習制御部135から、機械学習アルゴリズムとステップ番号の指定を受け付ける。すると、時間推定部136は、推定式テーブルから、指定された機械学習アルゴリズムに対応する推定式を検索する。時間推定部136は、指定されたステップ番号に対応するサンプリングサイズと検索した推定式とから、指定されたステップ番号の学習ステップの実行時間を推定し、推定した実行時間を学習制御部135に出力する。
ここで、実行時間の増加曲線は、機械学習アルゴリズムに加えて、プロセッサ能力・メモリ容量・キャッシュ容量などのハードウェア性能、機械学習を行うプログラムの実装方法、機械学習に用いるデータの性質など、各種の実行環境にも依存する。そこで、時間推定部136は、推定式テーブルに記憶された推定式をそのまま使用するのではなく、その推定式に対して補正係数を適用することとする。すなわち、時間推定部136は、実行済みの学習ステップについて、実行時間の実績と推定式によって算出される推定値とを比較することで、推定式に対して適用する補正係数を算出する。
図16は、推定式テーブルの例を示す図である。
推定式テーブル124aは、推定式記憶部124に記憶されている。推定式テーブル124aは、アルゴリズムIDと推定式の項目を有する。
アルゴリズムIDは、機械学習アルゴリズムを識別する。推定式の項目には、機械学習アルゴリズム毎の推定式が登録される。各推定式は、サンプリングサイズsを引数として使用する。前述のように、時間推定部136によって後で補正係数が算出されるため、推定式は推定式全体に係る係数を含まなくてよい。以下の説明では、機械学習アルゴリズムaiに対応する推定式をfi(s)と表記することがある。
一例として、機械学習アルゴリズムAに対応する推定式はf1(s)=s×log s、機械学習アルゴリズムBに対応する推定式はf2(s)=s2、機械学習アルゴリズムCに対応する推定式はf3(s)=s3となる。このように、機械学習アルゴリズムの中には、実行時間の増加曲線が直線(一次式)よりも著しく急峻になるものがある。
図17は、時間推定の他の手順例を示すフローチャートである。
(S60)時間推定部136は、学習制御部135から指定された機械学習アルゴリズムaiとステップ番号j+1とを特定する。
(S61)時間推定部136は、推定式テーブル124aから機械学習アルゴリズムaiに対応する推定式fi(s)を検索する。
(S62)時間推定部136は、管理テーブル122aから機械学習アルゴリズムaiに対応する全ての実行時間Ti,1,Ti,2,…を検索する。
(S63)時間推定部136は、サンプリングサイズs1,s2,…と実行時間Ti,1,Ti,2,…と推定式fi(s)を用いて、推定式fi(s)に乗算する補正係数cを算出する。例えば、時間推定部136は、c=sum(Ti)/sum(fi(s))とする。sum(Ti)は、実行時間の実績値であるTi,1,Ti,2,…を合計した値である。sum(fi(s))は、補正前の推定値であるfi(s1),fi(s2),…を合計した値である。補正前の推定値は、推定式にサンプリングサイズを代入することで算出できる。すなわち、補正係数cは、補正前の推定値に対する実績値の比を表す。
(S64)時間推定部136は、推定式fi(s)と補正係数cとサンプリングサイズsj+1を用いて、j+1番目の学習ステップの実行時間ti,j+1を推定する。具体的には、ti,j+1=c×fi(sj+1)のように算出する。時間推定部136は、推定した実行時間ti,j+1を出力する。
第3の実施の形態の機械学習装置100aによれば、第2の実施の形態の機械学習装置100と同様の効果が得られる。更に、第3の実施の形態では、次の学習ステップの実行時間の推定精度が向上する。その結果、予測性能の改善速度の推定精度が向上し、改善速度の小さい機械学習アルゴリズムを誤って選択するリスクが低減する。よって、予測性能の高いモデルを一層短い学習時間で取得することができる。
[第4の実施の形態]
次に、第4の実施の形態を説明する。第2の実施の形態との違いを中心に説明し、第2の実施の形態と同様の事項については説明を省略することがある。
各機械学習アルゴリズムは、その動作を制御するための1または2以上のハイパーパラメータをもつことが多い。ハイパーパラメータは、モデルに含まれる係数(パラメータ)と異なり、機械学習を通じて値が決定されるものではなく、機械学習アルゴリズムの実行前に値が与えられるものである。ハイパーパラメータの例として、ランダムフォレストにおける決定木の生成本数、回帰分析のフィッティング精度、モデルに含まれる多項式の次数などが挙げられる。ハイパーパラメータの値として、固定値が使用されることもあるし、ユーザから指定された値が使用されることもある。
ただし、モデルの予測性能は、ハイパーパラメータの値にも依存する。機械学習アルゴリズムとサンプリングサイズが同じでも、ハイパーパラメータの値が変わるとモデルの予測性能も変化し得る。予測性能が最大化になるハイパーパラメータの値が、事前にはわからないことも多い。そこで、第4の実施の形態では、機械学習全体を通じてハイパーバラメータを自動的に調整できるようにする。以下では、一の機械学習アルゴリズムに適用するハイパーパラメータの集合を「ハイパーパラメータベクトル」と言うことがある。
図18は、第4の実施の形態の機械学習装置の機能例を示すブロック図である。
機械学習装置100bは、データ記憶部121、管理テーブル記憶部122、学習結果記憶部123、制限時間入力部131、時間推定部133、性能改善量推定部134、学習制御部135、ハイパーパラメータ調整部137およびステップ実行部138を有する。機械学習装置100bは、第2の実施の形態のステップ実行部132に代えてステップ実行部138を有している。ハイパーパラメータ調整部137およびステップ実行部138は、例えば、CPUが実行するプログラムモジュールを用いて実現できる。なお、機械学習装置100bは、図2に示した第2の実施の形態の機械学習装置100と同様のハードウェアを用いて実現できる。
ハイパーパラメータ調整部137は、ステップ実行部138からの要求に応じて、ステップ実行部138が実行しようとする機械学習アルゴリズムに適用するハイパーパラメータベクトルを生成する。ハイパーパラメータベクトルの生成方法として、グリッドサーチやランダムサーチを利用することができる。また、ハイパーパラメータベクトルの生成方法として、ガウス過程を用いる方法やSMAC、TPEを利用することもできる。
ガウス過程を用いる方法については、例えば、次の非特許文献に記載されている。Jasper Snoek, Hugo Larochelle and Ryan P. Adams, "Practical Bayesian Optimization of Machine Learning Algorithms", In Advances in Neural Information Processing Systems 25 (NIPS '12), pp. 2951-2959, 2012。SMACについては、例えば、次の非特許文献に記載されている。Frank Hutter, Holger H. Hoos and Kevin Leyton-Brown, "Sequential Model-Based Optimization for General Algorithm Configuration", In Lecture Notes in Computer Science, Vol. 6683 of Learning and Intelligent Optimization, pp. 507-523. Springer, 2011。TPEについては、例えば、次の非特許文献に記載されている。James Bergstra, Remi Bardenet, Yoshua Bengio and Balazs Kegl, "Algorithms for Hyper-Parameter Optimization", In Advances in Neural Information Processing Systems 24 (NIPS '11), pp. 2546-2554, 2011。
また、ハイパーパラメータ調整部137は、同じ機械学習アルゴリズムの前の学習ステップで使用したハイパーパラメータベクトルを参照して、好ましいハイパーパラメータベクトルの探索を効率化することもできる。例えば、ハイパーパラメータ調整部137は、1つ前の学習ステップで最良の予測性能が得られたハイパーパラメータベクトルθj-1から始めて、探索を行うことが考えられる。この方法については、例えば、次の非特許文献に記載されている。Matthias Feurer, Jost Tobias Springenberg and Frank Hutter, "Initializing Bayesian Hyperparameter Optimization via Meta-Learning", In Twenty-Ninth AAAI Conference on Artificial Intelligence (AAAI-15), pp. 1128-1135, 2015。
また、1つ前の学習ステップで最良の予測性能が得られたハイパーパラメータベクトルをθj-1、2つ前の学習ステップで最良の予測性能が得られたハイパーパラメータベクトルをθj-2とする。ハイパーパラメータ調整部137は、2θj-1−θj-2を、今回使用するハイパーパラメータベクトルとして生成することも考えられる。これは、最良の予測性能が得られるハイパーパラメータベクトルは、サンプリングサイズの変化に合わせて変化していると仮定したものである。また、ハイパーパラメータ調整部137は、1つ前のステップで平均以上の予測性能が得られたハイパーパラメータベクトルとその近傍のハイパーパラメータベクトルを、今回使用するものとして生成することも考えられる。
ステップ実行部138は、学習制御部135から、機械学習アルゴリズムとサンプリングサイズの指定を受け付ける。すると、ステップ実行部138は、ハイパーパラメータ調整部137に要求してハイパーパラメータベクトルを取得する。ステップ実行部138は、データ記憶部121に記憶されたデータと取得したハイパーパラメータベクトルを用いて、指定された機械学習アルゴリズムおよび指定されたサンプリングサイズについての学習ステップを実行する。ステップ実行部138は、1つの学習ステップの中で、異なる複数のハイパーパラメータベクトルを用いた機械学習を繰り返す。
そして、ステップ実行部138は、複数のハイパーパラメータベクトルに対応する複数のモデルの中から、予測性能が最良のモデルを選択する。ステップ実行部138は、選択したモデルと、そのモデルについての予測性能と、そのモデルの生成に使用したハイパーパラメータベクトルと、実行時間を出力する。実行時間は、1つの学習ステップ全体の時間(複数のハイパーパラメータベクトルについての総時間)でもよいし、選択したモデルの学習に要した時間(1つのハイパーパラメータベクトルについての時間)でもよい。なお、学習結果記憶部123に記憶される学習結果には、モデル、予測性能、機械学習アルゴリズムおよびサンプリングサイズに加えて、ハイパーパラメータベクトルが含まれる。
図19は、第4の実施の形態のステップ実行の手順例を示すフローチャートである。
(S70)ステップ実行部138は、学習制御部135から指定された機械学習アルゴリズムaiとサンプリングサイズsjとを特定する。また、ステップ実行部138は、データ記憶部121に記憶されているデータ集合Dを特定する。
(S71)ステップ実行部138は、次に使用するハイパーパラメータベクトルをハイパーパラメータ調整部137に要求する。ハイパーパラメータ調整部137は、前述のような方法によってハイパーパラメータベクトルθhを決定する。
(S72)ステップ実行部138は、サンプリングサイズsjが、データ集合Dのサイズの2/3よりも大きいか判断する。サンプリングサイズsjが2/3×|D|よりも大きい場合、ステップS79に処理が進む。サンプリングサイズsjが2/3×|D|以下である場合、ステップS73に処理が進む。
(S73)ステップ実行部138は、データ集合Dからサンプリングサイズsjの訓練データDtをランダムに抽出する。
(S74)ステップ実行部138は、データ集合Dのうち訓練データDtを除いた部分から、サイズsj/2のテストデータDsをランダムに抽出する。
(S75)ステップ実行部138は、機械学習アルゴリズムaiとハイパーパラメータベクトルθhと訓練データDtとを用いてモデルmを学習する。
(S76)ステップ実行部138は、学習したモデルmとテストデータDsとを用いて、モデルmの予測性能pを算出する。
(S77)ステップ実行部138は、上記ステップS73〜S76の繰り返し回数と閾値Kとを比較し、前者が後者未満であるか判断する。例えば、閾値K=10とする。繰り返し回数が閾値K未満の場合はステップS73に処理が進み、繰り返し回数が閾値Kに達した場合はステップS78に処理が進む。
(S78)ステップ実行部138は、ステップS76で算出されたK個の予測性能pの平均値を、ハイパーパラメータベクトルθhに対応する予測性能phとして算出する。また、ステップ実行部138は、ステップS75で学習されたK個のモデルmのうち予測性能pが最大のモデルを、ハイパーパラメータベクトルθhに対応するモデルmhと判定する。そして、ステップS80に処理が進む。
(S79)ステップ実行部138は、上記のランダムサブサンプリングバリデーションに代えて、クロスバリデーションを実行する。そして、ステップS80に処理が進む。
(S80)ステップ実行部138は、ステップS71〜S79の繰り返し回数と閾値Hとを比較し、前者が後者未満であるか判断する。繰り返し回数が閾値H未満の場合はステップS71に処理が進み、繰り返し回数が閾値Hに達した場合はステップS81に処理が進む。なお、h=1,2,…,Hである。Hは所定数であり、例えば、H=30とする。
(S81)ステップ実行部138は、予測性能p1,p2,…,pHの中から、最大のものを予測性能pi,jとして出力する。また、ステップ実行部138は、モデルm1,m2,…,mHの中から、予測性能pi,jに対応するモデルを出力する。また、ステップ実行部138は、ハイパーパラメータベクトルθ1,θ2,…,θHの中から、予測性能pi,jに対応するハイパーパラメータベクトルを出力する。また、ステップ実行部138は、実行時間を算出して出力する。実行時間は、ステップS70〜S81までの1つの学習ステップ全体の時間でもよいし、出力したモデルが得られたときのステップS72〜S79の時間でもよい。そして、1つの学習ステップが終了する。
第4の実施の形態の機械学習装置100bによれば、第2の実施の形態の機械学習装置100と同様の効果が得られる。更に、第4の実施の形態では、ハイパーパラメータベクトルも可変とし、機械学習を通じてハイパーパラメータベクトルを最適化できる。これにより、モデルの予測性能を向上させることができる。
[第5の実施の形態]
次に、第5の実施の形態を説明する。第2および第4の実施の形態との違いを中心に説明し、第2および第4の実施の形態と同様の事項については説明を省略することがある。
1つの学習ステップにつき、多数のハイパーパラメータベクトルを使用して機械学習を繰り返すと、全体の実行時間が長くなってしまう。一方で、同じ機械学習アルゴリズムを実行しても、適用するハイパーパラメータベクトルによって実行時間が変わることがあるため、時間がかかる実行は制限時間を設けて打ち切りたい。しかし、実行時間が長くなるハイパーパラメータベクトルほど、モデルの予測性能が高くなる可能性がある。よって、ハイパーパラメータベクトル1つ当たりの機械学習に対して一律の打ち切り時間を設けると、高い予測性能をもつモデルを得る機会を見逃すリスクがある。
そこで、第5の実施の形態では、ハイパーパラメータベクトルの集合を学習時間レベル(モデルを学習し終えるまでに要する時間のレベル)に応じて分割する。そして、学習時間レベルの異なるハイパーパラメータベクトルを使用した機械学習を、仮想的に異なる機械学習アルゴリズムとして取り扱うようにする。すなわち、機械学習アルゴリズムと学習時間レベルの組を、仮想アルゴリズムとして取り扱う。これにより、同じ機械学習アルゴリズムの中でも、学習時間レベルの大きいハイパーパラメータベクトルを使用した機械学習は実行の優先順位が低くなり、その完了を待たずに同一または異なる機械学習アルゴリズムの次の学習ステップに進むことができる。一方、学習時間レベルの大きいハイパーパラメータベクトルを使用した機械学習も、優先順位は低くなるものの後で実行される可能性があり、予測性能の向上に寄与する機会が残される。
図20は、ハイパーパラメータベクトル空間の例を示す図である。
ハイパーパラメータベクトルに含まれる2以上のハイパーパラメータそれぞれが取り得る値の範囲によって、ハイパーパラメータベクトル空間が形成される。図20の例では、ハイパーパラメータベクトルに含まれるハイパーパラメータθ1,θ2によって、2次元のハイパーパラメータベクトル空間40が形成されている。図20の例では、ハイパーパラメータベクトル空間40が、領域41〜44に分割されている。
ここで、機械学習アルゴリズムaiとサンプリングサイズsjと学習時間レベルqに対して、打ち切り時間φq i,jとハイパーパラメータベクトル集合ΔΦq i,jが定義される。打ち切り時間φq i,jは、学習時間レベルqが大きいほど大きくなる。ΔΦq i,jに属するハイパーパラメータベクトルは、サンプリングサイズsjの訓練データを用いて機械学習アルゴリズムaiを実行した場合に、打ち切り時間φq i,j未満でモデル学習が終了したもの(ただし、それより小さい学習時間レベルに属するものを除く)である。
領域41〜44は、サンプリングサイズs1の訓練データを用いて機械学習アルゴリズムa1を実行した場合のハイパーパラメータベクトル空間40の分割例である。領域41は、ハイパーパラメータベクトル集合ΔΦ1 1,1、すなわち、学習時間レベル#1に対応する。領域41に属するハイパーパラメータベクトルは、例えば、0.01秒未満でモデル学習が終了したものである。領域42は、ハイパーパラメータベクトル集合ΔΦ2 1,1、すなわち、学習時間レベル#2に対応する。領域42に属するハイパーパラメータベクトルは、例えば、0.01秒以上0.1秒未満でモデル学習が終了したものである。領域43は、ハイパーパラメータベクトル集合ΔΦ3 1,1、すなわち、学習時間レベル#3に対応する。領域43に属するハイパーパラメータベクトルは、例えば、0.1秒以上1秒未満でモデル学習が終了したものである。領域44は、ハイパーパラメータベクトル集合ΔΦ4 1,1、すなわち、学習時間レベル#4に対応する。領域44に属するハイパーパラメータベクトルは、例えば、1秒以上10秒未満でモデル学習が終了したものである。
図21は、ハイパーパラメータベクトル集合の分割例を示す第1の図である。
テーブル50は、サンプリングサイズsjと学習時間レベルqの組に対して、機械学習アルゴリズムa1によって使用されるハイパーパラメータベクトルを示している。
サンプリングサイズs1の学習時間レベル#1では、ハイパーパラメータベクトル集合Φ1 1,1が使用される。Φ1 1,1は、ハイパーパラメータベクトル空間40全体から領域の制限なしに抽出されたハイパーパラメータベクトルの集合である。Φ1 1,1のうち打ち切り時間φ1 1,1未満で終了したハイパーパラメータベクトルが、ΔΦ1 1,1に属する。サンプリングサイズs1の学習時間レベル#2では、ハイパーパラメータベクトル集合Φ2 1,1が使用される。Φ2 1,1は、Φ1 1,1からΔΦ1 1,1を除いたもの、すなわち、サンプリングサイズs1の学習時間レベル#1で打ち切られたハイパーパラメータベクトルの集合である。Φ2 1,1のうち打ち切り時間φ2 1,1未満で終了したハイパーパラメータベクトルが、ΔΦ2 1,1に属する。サンプリングサイズs1の学習時間レベル#3では、ハイパーパラメータベクトル集合Φ3 1,1が使用される。Φ3 1,1は、Φ2 1,1からΔΦ2 1,1を除いたもの、すなわち、サンプリングサイズs1の学習時間レベル#2で打ち切られたハイパーパラメータベクトルの集合である。
サンプリングサイズs2の学習時間レベル#1では、ハイパーパラメータベクトル集合Φ1 1,2が使用される。Φ1 1,2は、ΔΦ1 1,1、すなわち、サンプリングサイズs1の学習時間レベル#1で打ち切られなかったハイパーパラメータベクトルの集合である。Φ1 1,2のうち打ち切り時間φ1 1,2未満で終了したハイパーパラメータベクトルが、ΔΦ1 1,2に属する。サンプリングサイズs2の学習時間レベル#2では、ハイパーパラメータベクトル集合Φ2 1,2が使用される。Φ2 1,2は、Φ1 1,2からΔΦ1 1,2を除いたもの、すなわち、サンプリングサイズs2の学習時間レベル#1で打ち切られたハイパーパラメータベクトルを含む。また、Φ2 1,2は、ΔΦ2 1,1、すなわち、サンプリングサイズs1の学習時間レベル#2で打ち切られなかったハイパーパラメータベクトルを含む。Φ2 1,2のうち打ち切り時間φ2 1,2未満で終了したハイパーパラメータベクトルが、ΔΦ2 1,2に属する。サンプリングサイズs2の学習時間レベル#3では、ハイパーパラメータベクトル集合Φ3 1,2が使用される。Φ3 1,2は、Φ2 1,2からΔΦ2 1,2を除いたもの、すなわち、サンプリングサイズs2の学習時間レベル#2で打ち切られたハイパーパラメータベクトルを含む。また、Φ3 1,2は、ΔΦ3 1,1、すなわち、サンプリングサイズs1の学習時間レベル#3で打ち切られなかったハイパーパラメータベクトルを含む。
サンプリングサイズs3の学習時間レベル#1では、ハイパーパラメータベクトル集合Φ1 1,3が使用される。Φ1 1,3は、ΔΦ1 1,2、すなわち、サンプリングサイズs2の学習時間レベル#1で打ち切られなかったハイパーパラメータベクトルの集合である。Φ1 1,3のうち打ち切り時間φ1 1,3未満で終了したハイパーパラメータベクトルが、ΔΦ1 1,3に属する。サンプリングサイズs3の学習時間レベル#2では、ハイパーパラメータベクトル集合Φ2 1,3が使用される。Φ2 1,3は、Φ1 1,3からΔΦ1 1,3を除いたもの、すなわち、サンプリングサイズs3の学習時間レベル#1で打ち切られたハイパーパラメータベクトルを含む。また、Φ2 1,3は、ΔΦ2 1,2、すなわち、サンプリングサイズs2の学習時間レベル#2で打ち切られなかったハイパーパラメータベクトルを含む。Φ2 1,3のうち打ち切り時間φ2 1,3未満で終了したハイパーパラメータベクトルが、ΔΦ2 1,3に属する。サンプリングサイズs3の学習時間レベル#3では、ハイパーパラメータベクトル集合Φ3 1,3が使用される。Φ3 1,3は、Φ2 1,3からΔΦ2 1,3を除いたもの、すなわち、サンプリングサイズs3の学習時間レベル#2で打ち切られたハイパーパラメータベクトルを含む。また、Φ3 1,3は、ΔΦ3 1,2、すなわち、サンプリングサイズs2の学習時間レベル#3で打ち切られなかったハイパーパラメータベクトルを含む。
このように、サンプリングサイズsjの学習時間レベルqで使用したハイパーパラメータベクトルのうち、打ち切り時間φq 1,j未満でモデル学習が終了したものは、サンプリングサイズsj+1の学習時間レベルqに引き継がれる。一方、サンプリングサイズsjの学習時間レベルqで使用したハイパーパラメータベクトルのうち実行が打ち切られたものは、サンプリングサイズsjの学習時間レベルq+1に引き継がれる。
図22は、ハイパーパラメータベクトル集合の分割例を示す第2の図である。
テーブル51は、Φ1 1,1に属するハイパーパラメータベクトル(θ1,θ2)とその実行結果(実行時間tおよび予測性能p)の例を示している。テーブル52は、Φ2 1,1に属するハイパーパラメータベクトル(θ1,θ2)とその実行結果の例を示している。テーブル53は、Φ1 1,2に属するハイパーパラメータベクトル(θ1,θ2)とその実行結果の例を示している。テーブル54は、Φ2 1,2に属するハイパーパラメータベクトル(θ1,θ2)とその実行結果の例を示している。
テーブル51(Φ1 1,1)は、ハイパーパラメータベクトルとして(0,3)、(4,2)、(1,5)、(−5,−1)、(2,3)、(−3,−2)、(−1,1)および(1.4,4.5)を含む。サンプリングサイズs1の学習時間レベル#1では、(0,3)、(−5,−1)、(−3,−2)、(−1,1)および(1.4,4.5)が打ち切り時間内に終了し、(4,2)、(1,5)および(2,3)が終了せずに打ち切られている。そこで、打ち切られた(4,2)、(1,5)および(2,3)は、Φ2 1,1に引き継がれる。一方、打ち切られなかった(0,3)、(−5,−1)、(−3,−2)、(−1,1)および(1.4,4.5)は、Φ1 1,2に引き継がれる。
テーブル52に示すように、サンプリングサイズs1の学習時間レベル#2では、(4,2)、(1,5)および(2,3)の全てが打ち切り時間内に終了している。そこで、打ち切られなかった(4,2)、(1,5)および(2,3)は、Φ2 1,2に引き継がれる。また、テーブル53に示すように、サンプリングサイズs2の学習時間レベル#1では、(0,3)、(−5,−1)、(−3,−2)および(−1,1)が打ち切り時間内に終了し、(1.4,4.5)が終了せずに打ち切られている。そこで、打ち切られた(1.4,4.5)は、Φ2 1,2に引き継がれる。
テーブル54に示すように、サンプリングサイズs2の学習時間レベル#2では、(4,2)、(1,5)、(2,3)および(1.4,4.5)が使用される。このうち、(1,5)、(2,3)および(1.4,4.5)が打ち切り時間内に終了し、(4,2)が終了せずに打ち切られている。
図23は、第5の実施の形態の機械学習装置の機能例を示すブロック図である。
機械学習装置100cは、データ記憶部121、管理テーブル記憶部122、学習結果記憶部123、制限時間入力部131、時間推定部133c、性能改善量推定部134、学習制御部135c、ハイパーパラメータ調整部137c、ステップ実行部138cおよび探索領域決定部139を有する。探索領域決定部139は、例えば、CPUが実行するプログラムモジュールを用いて実現できる。なお、機械学習装置100cは、図2に示した第2の実施の形態の機械学習装置100と同様のハードウェアを用いて実現できる。
探索領域決定部139は、学習制御部135cからの要求に応じて、次の学習ステップにおいて使用するハイパーパラメータベクトルの集合(探索領域)を決定する。探索領域決定部139は、学習制御部135cから、機械学習アルゴリズムaiとサンプリングサイズsjと学習時間レベルqの指定を受け付ける。探索領域決定部139は、前述のようにしてΦq i,jを決定する。すなわち、探索領域決定部139は、Φq i,j-1に含まれるハイパーパラメータベクトルのうちモデル学習が終了したものを、Φq i,jに追加する。また、探索領域決定部139は、サンプリングサイズsjの学習時間レベルq−1が実行済みである場合、Φq-1 i,jに含まれるハイパーパラメータベクトルのうちモデル学習が打ち切られて終了しなかったものを、Φq i,jに追加する。
ただし、j=1かつq=1である場合、探索領域決定部139は、ハイパーパラメータベクトル空間の中から、ランダムサーチやグリッドサーチなどによってできる限り多くのハイパーパラメータベクトルを選択し、Φ1 i,1に追加する。
管理テーブル記憶部122は、図9に示した管理テーブル122aを記憶する。ただし、第5の実施の形態では、機械学習アルゴリズムと学習時間レベルの組を仮想アルゴリズムとして取り扱う。そこで、管理テーブル122aには、機械学習アルゴリズムと学習時間レベルの組に対して、1つのレコードが登録される。
時間推定部133cは、第2の実施の形態と同様に、学習制御部135cからの要求に応じて、一の機械学習アルゴリズムおよび一の学習時間レベルについて次の学習ステップ(次のサンプリングサイズ)の実行時間を推定する。更に、時間推定部133cは、一の機械学習アルゴリズムおよび一の学習時間レベルについて次のサンプリングサイズの打ち切り時間を推定する。機械学習アルゴリズムai、サンプリングサイズsj+1、学習時間レベルqの打ち切り時間は、例えば、φq i,j+1=γ×φq i,jによって算出できる。
上記式の係数γは、第2の実施の形態で説明した実行時間を推定する式の係数αと同様の方法(回帰分析など)によって決定することができる。ただし、実行時間が短くなるハイパーパラメータベクトルを使用すると、モデルの予測性能が低くなる傾向にあり、実行時間が長くなるハイパーパラメータベクトルを使用すると、モデルの予測性能が高くなる傾向にある。そのため、モデル学習が終了したハイパーパラメータベクトルについての実行時間をそのまま回帰分析に用いると、打ち切り時間が過小に設定されて、予測性能の低いモデルが生成されやすくなるおそれがある。そこで、例えば、時間推定部133cは、モデル学習が終了したハイパーパラメータベクトルの実行時間のうち、予測性能が平均以上のものを抽出して回帰分析に使用することもできる。また、抽出した実行時間の最大値、平均値、中央値などを用いて回帰分析に使用することも考えられる。
学習制御部135cは、機械学習アルゴリズムaiと学習時間レベルqの組を、仮想アルゴリズムaq iと定義する。学習制御部135cは、次に実行する学習ステップの仮想アルゴリズムとサンプリングサイズを、第2の実施の形態と同様の方法で選択していく。また、学習制御部135cは、機械学習アルゴリズムaiのサンプリングサイズs1について、打ち切り時間φ1 i,1,φ2 i,1,…,φQ i,1を決定する。Qは、学習時間レベルの最大値である。例えば、Q=5とする。この打ち切り時間は、複数の機械学習アルゴリズムの間で共通であってもよい。例えば、φ1 i,1=0.01秒、φ2 i,1=0.1秒、φ3 i,1=1秒、φ4 i,1=10秒、φ5 i,1=100秒とする。サンプリングサイズs2以降の打ち切り時間は、時間推定部133cによって算出される。学習制御部135cは、機械学習アルゴリズムai、サンプリングサイズsj、探索領域決定部139が決定した探索領域(Φq i,j)および打ち切り時間φq i,jを、ステップ実行部138cに指定する。
ハイパーパラメータ調整部137cは、ステップ実行部138cからの要求に応じて、学習制御部135cから指定された探索領域に含まれるハイパーパラメータベクトルまたは探索領域の近傍のハイパーパラメータベクトルを選択する。
ステップ実行部138cは、第4の実施の形態と同様の方法で学習ステップを1つずつ実行する。ただし、あるハイパーパラメータベクトルを用いた機械学習を開始してから打ち切り時間φq i,jが経過した場合、ステップ実行部138cは、その機械学習が終了するのを待たずにその機械学習を打ち切る。この場合、当該ハイパーパラメータベクトルに対応するモデルは生成されない。また、当該ハイパーパラメータベクトルに対応する予測性能は、予測性能の指標値が取り得る最小値であるとみなされる。なお、1つの学習ステップにおいて使用するハイパーパラメータベクトルの数(閾値H)は、サンプリングサイズがs1以外の場合、例えば、H=30とする。サンプリングサイズがs1である場合、例えば、H=Max(10000/10q-1,30)とする。
図24は、第5の実施の形態の機械学習の手順例を示すフローチャートである。
(S110)学習制御部135cは、プログレッシブサンプリング法における学習ステップのサンプリングサイズs1,s2,s3,…を決定する。
(S111)学習制御部135cは、学習時間レベルの最大値Q(例えば、Q=5)を決定する。そして、学習制御部135cは、使用可能な機械学習アルゴリズムと学習時間レベルの組を、仮想アルゴリズムとして決定する。
(S112)学習制御部135cは、サンプリングサイズs1に対する各仮想アルゴリズムの打ち切り時間を決定する。例えば、全ての機械学習アルゴリズムについて共通の値として、学習時間レベル#1は0.01秒、学習時間レベル#2は0.1秒、学習時間レベル#3は1秒、学習時間レベル#4は10秒、学習時間レベル#5は100秒とする。
(S113)学習制御部135cは、各仮想アルゴリズムのステップ番号を1に初期化する。また、学習制御部135cは、各仮想アルゴリズムの改善速度を、改善速度が取り得る最大値に初期化する。また、学習制御部135cは、達成予測性能Pを、達成予測性能Pが取り得る最小値(例えば、0)に初期化する。
(S114)学習制御部135cは、管理テーブル122aの中から、改善速度が最大の仮想アルゴリズムを選択する。ここで選択した仮想アルゴリズムをaq iとする。
(S115)学習制御部135cは、仮想アルゴリズムaq iの改善速度rq iが、閾値R未満であるか判断する。例えば、閾値R=0.001/3600[秒-1]とする。改善速度rq iが閾値R未満である場合はステップS132に処理が進み、それ以外の場合はステップS116に処理が進む。
(S116)学習制御部135cは、管理テーブル122aから、仮想アルゴリズムaq iに対応するステップ番号kq iを検索する。ここでは、kq i=jであるとする。
(S117)探索領域決定部139は、仮想アルゴリズムaq i(機械学習アルゴリズムaiとが学習時間レベルqの組)およびサンプリングサイズsjに対応する探索領域を決定する。すなわち、探索領域決定部139は、前述の方法により、ハイパーパラメータベクトル集合Φq i,jを決定する。
(S118)ステップ実行部138cは、仮想アルゴリズムaq iについてj番目の学習ステップを実行する。すなわち、ハイパーパラメータ調整部137cは、ステップS117で決定された探索領域に含まれるハイパーパラメータベクトルまたはその近傍のハイパーパラメータベクトルを選択する。ステップ実行部138cは、選択されたハイパーパラメータベクトルを機械学習アルゴリズムaiに適用し、サンプリングサイズsjの訓練データを用いてモデルを学習する。ただし、モデル学習を開始してから打ち切り時間φq i,jを経過すると、ステップ実行部138cは、そのハイパーパラメータベクトルについてのモデル学習を打ち切る。ステップ実行部138cは、以上を複数のハイパーパラメータベクトルについて繰り返す。ステップ実行部138cは、打ち切られなかった学習の結果から、モデルと予測性能pq i,jと実行時間Tq i,jとを決定する。
(S119)学習制御部135cは、ステップ実行部138cから、学習されたモデルと当該モデルの予測性能pq i,jと実行時間Tq i,jとを取得する。
(S120)学習制御部135cは、ステップS119で取得した予測性能pq i,jと、達成予測性能P(現在までに達成された最大の予測性能)とを比較し、前者が後者より大きいか判断する。予測性能pq i,jが達成予測性能Pよりも大きい場合はステップS121に処理が進み、それ以外の場合はステップS122に処理が進む。
(S121)学習制御部135cは、達成予測性能Pを予測性能pq i,jに更新する。また、学習制御部135cは、達成予測性能Pと対応付けて、その予測性能が得られた仮想アルゴリズムaq iとステップ番号jとを記憶しておく。
図25は、第5の実施の形態の機械学習の手順例を示すフローチャート(続き)である。
(S122)学習制御部135cは、管理テーブル122aに記憶されたステップ番号のうち、仮想アルゴリズムaq iに対応するステップ番号kq iをj+1に更新する。また、学習制御部135cは、合計時間tsum=0に初期化する。
(S123)学習制御部135cは、仮想アルゴリズムaq iの次の学習ステップのサンプリングサイズsj+1を算出する。学習制御部135cは、サンプリングサイズsj+1とデータ記憶部121に記憶されたデータ集合Dのサイズとを比較し、前者が後者より大きいか判断する。サンプリングサイズsj+1がデータ集合Dのサイズよりも大きい場合はステップS124に処理が進み、それ以外の場合はステップS125に処理が進む。
(S124)学習制御部135cは、管理テーブル122aに記憶された改善速度のうち、仮想アルゴリズムaq iに対応する改善速度rq iを0に更新する。そして、前述のステップS114に処理が進む。
(S125)学習制御部135cは、時間推定部133cに対して仮想アルゴリズムaq iとステップ番号j+1を指定する。時間推定部133cは、仮想アルゴリズムaq iについて次の学習ステップ(j+1番目の学習ステップ)を実行した場合の実行時間tq i,j+1を推定する。
(S126)学習制御部135cは、仮想アルゴリズムaq iについて次の学習ステップ(j+1番目の学習ステップ)の打ち切り時間φq i,j+1を決定する。
(S127)学習制御部135cは、性能改善量推定部134に対して仮想アルゴリズムaq iとステップ番号j+1を指定する。性能改善量推定部134は、仮想アルゴリズムaq iについて次の学習ステップ(j+1番目の学習ステップ)を実行した場合の性能改善量gq i,j+1を推定する。
(S128)学習制御部135cは、時間推定部133cから取得した実行時間tq i,j+1に基づいて、合計時間tsum=tsum+tq i,j+1に更新する。また、学習制御部135cは、更新した合計時間tsumと性能改善量推定部134から取得した性能改善量gq i,j+1とに基づいて、改善速度rq i=gq i,j+1/tsumを算出する。学習制御部135cは、管理テーブル122aに記憶された改善速度rq iを上記の値に更新する。
(S129)学習制御部135cは、改善速度rq iが閾値R未満であるか判断する。改善速度rq iが閾値R未満の場合はステップS130に処理が進み、改善速度rq iが閾値R以上の場合はステップS131に処理が進む。
(S130)学習制御部135cは、j=j+1に更新する。そして、ステップS123に処理が進む。
(S131)学習制御部135cは、機械学習を開始してからの経過時間が、制限時間入力部131から指定された制限時間を超えたか判断する。経過時間が制限時間を超えた場合はステップS132に処理が進み、それ以外の場合はステップS114に処理が進む。
(S132)学習制御部135cは、達成予測性能Pと当該予測性能が得られたモデルとを学習結果記憶部123に保存する。また、学習制御部135cは、達成予測性能Pに対応付けられた機械学習アルゴリズムのアルゴリズムIDと、達成予測性能Pに対応付けられたステップ番号に相当するサンプリングサイズとを、学習結果記憶部123に保存する。また、学習制御部135cは、上記モデルの学習に用いたハイパーパラメータベクトルθを学習結果記憶部123に保存する。
第5の実施の形態の機械学習装置100cによれば、第2および第4の実施の形態と同様の効果が得られる。更に、第5の実施の形態では、学習時間レベルの大きいハイパーパラメータベクトルについては、機械学習が途中で打ち切られてその優先順位が低くなる。よって、全てのハイパーパラメータベクトルの機械学習が終了するのを待たずに、同一または異なる機械学習アルゴリズムの次の学習ステップに進むことができる。よって、学習ステップ1つ当たりの実行時間を短縮できる。また、学習時間レベルの大きいハイパーパラメータベクトルを使用した機械学習も後で実行される可能性がある。よって、予測性能の向上に寄与するハイパーパラメータベクトルを見逃すリスクを低減できる。
なお、前述のように、第1の実施の形態の情報処理は、機械学習管理装置10にプログラムを実行させることで実現できる。第2の実施の形態の情報処理は、機械学習装置100にプログラムを実行させることで実現できる。第3の実施の形態の情報処理は、機械学習装置100aにプログラムを実行させることで実現できる。第4の実施の形態の情報処理は、機械学習装置100bにプログラムを実行させることで実現できる。第5の実施の形態の情報処理は、機械学習装置100cにプログラムを実行させることで実現できる。
プログラムは、コンピュータ読み取り可能な記録媒体(例えば、記録媒体113)に記録しておくことができる。記録媒体として、例えば、磁気ディスク、光ディスク、光磁気ディスク、半導体メモリなどを使用できる。磁気ディスクには、FDおよびHDDが含まれる。光ディスクには、CD、CD−R(Recordable)/RW(Rewritable)、DVDおよびDVD−R/RWが含まれる。プログラムは、可搬型の記録媒体に記録されて配布されることがある。その場合、可搬型の記録媒体から他の記録媒体(例えば、HDD103)にプログラムをコピーして実行してもよい。
10 機械学習管理装置
11 記憶部
12 演算部
13a,13b,13c 機械学習アルゴリズム
14a,14b,14c,14d 訓練データ
15a,15b,15c 増加速度

Claims (10)

  1. コンピュータに、
    複数の機械学習アルゴリズムそれぞれを訓練データを用いて実行し、
    前記複数の機械学習アルゴリズムの実行結果に基づいて、前記複数の機械学習アルゴリズムによって生成される複数のモデルそれぞれの予測性能の増加速度を算出し、
    前記増加速度に基づいて、前記複数の機械学習アルゴリズムの中から一の機械学習アルゴリズムを選択し、他の訓練データを用いて前記一の機械学習アルゴリズムを実行する、
    処理を実行させる機械学習管理プログラム。
  2. 前記他の訓練データは、前記訓練データよりもサイズが大きい、
    請求項1記載の機械学習管理プログラム。
  3. 前記一の機械学習アルゴリズムの実行結果に基づいて、前記一の機械学習アルゴリズムによって生成されるモデルの予測性能の増加速度を更新し、
    前記更新された増加速度に基づいて、前記複数の機械学習アルゴリズムの中から次に実行する機械学習アルゴリズムを選択する、
    処理を更に実行させる請求項1記載の機械学習管理プログラム。
  4. 前記増加速度の算出では、前記複数の機械学習アルゴリズムそれぞれについて、訓練データサイズを増加した場合の予測性能の増加量と実行時間とを算出し、前記予測性能の増加量および前記実行時間に基づいて前記増加速度を算出する、
    請求項1記載の機械学習管理プログラム。
  5. 前記予測性能の増加量は、各機械学習アルゴリズムの実行結果を統計処理して算出される推定値よりも、所定量または統計誤差を示す量だけ大きい値とする、
    請求項4記載の機械学習管理プログラム。
  6. 前記実行時間は、機械学習アルゴリズムに応じて異なる計算式を用いて算出する、
    請求項4記載の機械学習管理プログラム。
  7. 前記複数の機械学習アルゴリズムそれぞれの実行は、当該機械学習アルゴリズムに適用可能な複数のパラメータ値を用いて2以上のモデルを生成し、当該機械学習アルゴリズムの実行結果として前記2以上のモデルの予測性能のうち最大の予測性能を判定することを含む、
    請求項1記載の機械学習管理プログラム。
  8. 前記複数の機械学習アルゴリズムそれぞれの実行は、一のパラメータ値について経過時間が閾値を超えた場合に、当該一のパラメータ値を用いたモデルの生成を停止することを含み、
    前記一の機械学習アルゴリズムの選択は、前記増加速度に基づいて、前記他の訓練データを用いて実行するか、または、前記閾値を大きくして前記一のパラメータ値を用いて再実行するか選択することを含む、
    請求項7記載の機械学習管理プログラム。
  9. 機械学習に用いるデータを記憶する記憶部と、
    複数の機械学習アルゴリズムそれぞれを前記データに含まれる訓練データを用いて実行し、前記複数の機械学習アルゴリズムの実行結果に基づいて、前記複数の機械学習アルゴリズムによって生成される複数のモデルそれぞれの予測性能の増加速度を算出し、前記増加速度に基づいて、前記複数の機械学習アルゴリズムの中から一の機械学習アルゴリズムを選択し、前記データに含まれる他の訓練データを用いて前記一の機械学習アルゴリズムを実行する演算部と、
    を有する機械学習管理装置。
  10. コンピュータが実行する機械学習管理方法であって、
    複数の機械学習アルゴリズムそれぞれを訓練データを用いて実行し、
    前記複数の機械学習アルゴリズムの実行結果に基づいて、前記複数の機械学習アルゴリズムによって生成される複数のモデルそれぞれの予測性能の増加速度を算出し、
    前記増加速度に基づいて、前記複数の機械学習アルゴリズムの中から一の機械学習アルゴリズムを選択し、他の訓練データを用いて前記一の機械学習アルゴリズムを実行する、
    機械学習管理方法。
JP2015170881A 2015-08-31 2015-08-31 機械学習管理プログラム、機械学習管理装置および機械学習管理方法 Expired - Fee Related JP6555015B2 (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP2015170881A JP6555015B2 (ja) 2015-08-31 2015-08-31 機械学習管理プログラム、機械学習管理装置および機械学習管理方法
US15/224,702 US20170061329A1 (en) 2015-08-31 2016-08-01 Machine learning management apparatus and method

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2015170881A JP6555015B2 (ja) 2015-08-31 2015-08-31 機械学習管理プログラム、機械学習管理装置および機械学習管理方法

Publications (2)

Publication Number Publication Date
JP2017049677A JP2017049677A (ja) 2017-03-09
JP6555015B2 true JP6555015B2 (ja) 2019-08-07

Family

ID=58095836

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2015170881A Expired - Fee Related JP6555015B2 (ja) 2015-08-31 2015-08-31 機械学習管理プログラム、機械学習管理装置および機械学習管理方法

Country Status (2)

Country Link
US (1) US20170061329A1 (ja)
JP (1) JP6555015B2 (ja)

Families Citing this family (66)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10475123B2 (en) 2014-03-17 2019-11-12 Chicago Mercantile Exchange Inc. Coupon blending of swap portfolio
US10319032B2 (en) 2014-05-09 2019-06-11 Chicago Mercantile Exchange Inc. Coupon blending of a swap portfolio
US10810671B2 (en) * 2014-06-27 2020-10-20 Chicago Mercantile Exchange Inc. Interest rate swap compression
EP3016058A1 (en) 2014-10-31 2016-05-04 Chicago Mercantile Exchange, Inc. Generating a blended fx portfolio
US10855550B2 (en) * 2016-11-16 2020-12-01 Cisco Technology, Inc. Network traffic prediction using long short term memory neural networks
EP3577570A4 (en) * 2017-01-31 2020-12-02 Mocsy Inc. INFORMATION EXTRACTION FROM DOCUMENTS
US11151472B2 (en) 2017-03-31 2021-10-19 At&T Intellectual Property I, L.P. Dynamic updating of machine learning models
JP6849915B2 (ja) * 2017-03-31 2021-03-31 富士通株式会社 比較プログラム、比較方法および比較装置
JP6897266B2 (ja) 2017-04-17 2021-06-30 富士通株式会社 学習プログラム、学習方法および学習装置
EP3617691A4 (en) * 2017-04-24 2020-05-13 Sony Corporation INFORMATION PROCESSING DEVICE, PARTICLE FRACTIONATION SYSTEM, PROGRAM AND PARTICLE FRACTIONATION METHOD
US10609172B1 (en) 2017-04-27 2020-03-31 Chicago Mercantile Exchange Inc. Adaptive compression of stored data
JP6577516B2 (ja) * 2017-05-01 2019-09-18 日本電信電話株式会社 判定装置、分析システム、判定方法および判定プログラム
JP6577515B2 (ja) * 2017-05-01 2019-09-18 日本電信電話株式会社 分析装置、分析方法及び分析プログラム
JP6911498B2 (ja) * 2017-05-01 2021-07-28 オムロン株式会社 学習装置、学習方法、及び学習プログラム
JP6659618B2 (ja) * 2017-05-01 2020-03-04 日本電信電話株式会社 分析装置、分析方法及び分析プログラム
US11610151B2 (en) * 2017-06-06 2023-03-21 Nec Corporation Distribution system, data management apparatus, data management method, and computer-readable recording medium
JP6886869B2 (ja) * 2017-06-09 2021-06-16 川崎重工業株式会社 動作予測システム及び動作予測方法
JP6889835B2 (ja) * 2017-07-14 2021-06-18 コニカミノルタ株式会社 ファクシミリ通信装置およびプログラム
US20180365575A1 (en) * 2017-07-31 2018-12-20 Seematics Systems Ltd System and method for employing inference models based on available processing resources
US11176487B2 (en) * 2017-09-28 2021-11-16 Oracle International Corporation Gradient-based auto-tuning for machine learning and deep learning models
US11544494B2 (en) 2017-09-28 2023-01-03 Oracle International Corporation Algorithm-specific neural network architectures for automatic machine learning model selection
JP6974712B2 (ja) * 2017-10-24 2021-12-01 富士通株式会社 探索方法、探索装置および探索プログラム
JP7067895B2 (ja) * 2017-10-25 2022-05-16 株式会社東芝 末端圧力制御支援装置、末端圧力制御支援方法及びコンピュータプログラム
US11004012B2 (en) 2017-11-29 2021-05-11 International Business Machines Corporation Assessment of machine learning performance with limited test data
US11341138B2 (en) * 2017-12-06 2022-05-24 International Business Machines Corporation Method and system for query performance prediction
KR102045639B1 (ko) * 2017-12-21 2019-11-15 주식회사 포스코 압연장치 최적 부하배분 제공 장치 및 방법이 기록된 컴퓨터 판독가능 기록 매체
US10592145B2 (en) * 2018-02-14 2020-03-17 Commvault Systems, Inc. Machine learning-based data object storage
WO2019187341A1 (ja) * 2018-03-30 2019-10-03 Necソリューションイノベータ株式会社 指標算出装置、予測システム、経過予測評価方法およびプログラム
KR102116264B1 (ko) * 2018-04-02 2020-06-05 카페24 주식회사 대표이미지 추천 방법 및 장치, 및 시스템
US11514354B2 (en) * 2018-04-20 2022-11-29 Accenture Global Solutions Limited Artificial intelligence based performance prediction system
US11531310B2 (en) 2018-06-15 2022-12-20 Johnson Controls Tyco IP Holdings LLP Adaptive selection of machine learning/deep learning model with optimal hyper-parameters for anomaly detection of connected chillers
US11859846B2 (en) 2018-06-15 2024-01-02 Johnson Controls Tyco IP Holdings LLP Cost savings from fault prediction and diagnosis
US20190294984A1 (en) * 2018-06-16 2019-09-26 Moshe Guttmann Selecting images for manual annotation
CN110717597A (zh) * 2018-06-26 2020-01-21 第四范式(北京)技术有限公司 利用机器学习模型获取时序特征的方法和装置
US11526799B2 (en) * 2018-08-15 2022-12-13 Salesforce, Inc. Identification and application of hyperparameters for machine learning
US11270227B2 (en) 2018-10-01 2022-03-08 Nxp B.V. Method for managing a machine learning model
JP7301801B2 (ja) * 2018-10-09 2023-07-03 株式会社Preferred Networks ハイパーパラメータチューニング方法、装置及びプログラム
JP6892424B2 (ja) * 2018-10-09 2021-06-23 株式会社Preferred Networks ハイパーパラメータチューニング方法、装置及びプログラム
US11790242B2 (en) * 2018-10-19 2023-10-17 Oracle International Corporation Mini-machine learning
JP7196542B2 (ja) * 2018-11-05 2022-12-27 株式会社リコー 学習装置および学習方法
JP7218856B2 (ja) * 2018-11-05 2023-02-07 株式会社アイ・アール・ディー 学習器生成装置、学習器の生産方法、およびプログラム
US11481665B2 (en) * 2018-11-09 2022-10-25 Hewlett Packard Enterprise Development Lp Systems and methods for determining machine learning training approaches based on identified impacts of one or more types of concept drift
KR102102418B1 (ko) * 2018-12-10 2020-04-20 주식회사 티포러스 인공지능 솔루션을 테스트하는 장치 및 방법
JP7117237B2 (ja) * 2018-12-27 2022-08-12 川崎重工業株式会社 ロボット制御装置、ロボットシステム及びロボット制御方法
US11521132B2 (en) * 2019-02-12 2022-12-06 Nec Corporation Method and system for adaptive online meta learning from data streams
JP7310171B2 (ja) * 2019-02-28 2023-07-19 富士通株式会社 配分方法、抽出方法、配分プログラム、抽出プログラム、配分装置及び抽出装置
US11429895B2 (en) * 2019-04-15 2022-08-30 Oracle International Corporation Predicting machine learning or deep learning model training time
US11620568B2 (en) 2019-04-18 2023-04-04 Oracle International Corporation Using hyperparameter predictors to improve accuracy of automatic machine learning model selection
US11868854B2 (en) 2019-05-30 2024-01-09 Oracle International Corporation Using metamodeling for fast and accurate hyperparameter optimization of machine learning and deep learning models
KR20200142374A (ko) 2019-06-12 2020-12-22 삼성전자주식회사 입력 데이터에 근거한 ai 모델 선택 방법 및 그에 따른 방법을 수행하는 디스플레이 장치
US20200410367A1 (en) * 2019-06-30 2020-12-31 Td Ameritrade Ip Company, Inc. Scalable Predictive Analytic System
US20230401592A1 (en) * 2019-10-11 2023-12-14 Kinaxis Inc. Systems and methods for dynamic demand sensing and forecast adjustment
US11526899B2 (en) 2019-10-11 2022-12-13 Kinaxis Inc. Systems and methods for dynamic demand sensing
US11886514B2 (en) 2019-10-11 2024-01-30 Kinaxis Inc. Machine learning segmentation methods and systems
EP3809341A1 (en) * 2019-10-18 2021-04-21 Fujitsu Limited Inference verification of machine learning algorithms
US11429813B1 (en) * 2019-11-27 2022-08-30 Amazon Technologies, Inc. Automated model selection for network-based image recognition service
JP7409080B2 (ja) * 2019-12-27 2024-01-09 富士通株式会社 学習データ生成方法、学習データ生成プログラムおよび情報処理装置
JP2021177266A (ja) * 2020-04-17 2021-11-11 株式会社鈴康 プログラム、情報処理装置、情報処理方法及び学習モデルの生成方法
US11688111B2 (en) * 2020-07-29 2023-06-27 International Business Machines Corporation Visualization of a model selection process in an automated model selection system
US11620582B2 (en) 2020-07-29 2023-04-04 International Business Machines Corporation Automated machine learning pipeline generation
US20220083913A1 (en) * 2020-09-11 2022-03-17 Actapio, Inc. Learning apparatus, learning method, and a non-transitory computer-readable storage medium
US11989657B2 (en) 2020-10-15 2024-05-21 Oracle International Corporation Automated machine learning pipeline for timeseries datasets utilizing point-based algorithms
CN112270376A (zh) * 2020-11-10 2021-01-26 北京百度网讯科技有限公司 模型训练方法、装置、电子设备、存储介质和开发***
US11561978B2 (en) 2021-06-29 2023-01-24 Commvault Systems, Inc. Intelligent cache management for mounted snapshots based on a behavior model
US11526817B1 (en) 2021-09-24 2022-12-13 Laytrip Inc. Artificial intelligence learning engine configured to predict resource states
US11907207B1 (en) 2021-10-12 2024-02-20 Chicago Mercantile Exchange Inc. Compression of fluctuating data

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0660050A (ja) * 1992-08-11 1994-03-04 Hitachi Ltd ニューラルネットワークの学習支援装置
JP5244438B2 (ja) * 2008-04-03 2013-07-24 オリンパス株式会社 データ分類装置、データ分類方法、データ分類プログラムおよび電子機器
US8533224B2 (en) * 2011-05-04 2013-09-10 Google Inc. Assessing accuracy of trained predictive models

Also Published As

Publication number Publication date
US20170061329A1 (en) 2017-03-02
JP2017049677A (ja) 2017-03-09

Similar Documents

Publication Publication Date Title
JP6555015B2 (ja) 機械学習管理プログラム、機械学習管理装置および機械学習管理方法
US11334813B2 (en) Method and apparatus for managing machine learning process
US11568300B2 (en) Apparatus and method for managing machine learning with plurality of learning algorithms and plurality of training dataset sizes
JP6974712B2 (ja) 探索方法、探索装置および探索プログラム
US11423263B2 (en) Comparison method and comparison apparatus
JP2017049674A (ja) 予測性能曲線推定プログラム、予測性能曲線推定装置および予測性能曲線推定方法
JP6839342B2 (ja) 情報処理装置、情報処理方法およびプログラム
JP6947981B2 (ja) 推定方法、推定装置および推定プログラム
JP7071624B2 (ja) 探索プログラム、探索方法および探索装置
WO2018205881A1 (en) Estimating the number of samples satisfying a query
EP3038018A1 (en) Clustering database queries for runtime prediction
JP2017228086A (ja) 機械学習管理プログラム、機械学習管理方法、および機械学習管理装置
US20090228472A1 (en) Optimization of Discontinuous Rank Metrics
KR102251807B1 (ko) 하이퍼파라미터 최적화 알고리즘 추천 방법 및 최적화 알고리즘 추천 시스템
US11537893B2 (en) Method and electronic device for selecting deep neural network hyperparameters
JP2014160457A (ja) 対話的変数選択装置、対話的変数選択方法および対話的変数選択プログラム
JP7481902B2 (ja) 管理計算機、管理プログラム、及び管理方法
CN111160459A (zh) 超参数的优化装置和方法
JP2014160456A (ja) 疎変数最適化装置、疎変数最適化方法および疎変数最適化プログラム
US20200142951A1 (en) Polymer design device, polymer design method, and non-transitory recording medium
He et al. Dynamic Embedding Size Search with Minimum Regret for Streaming Recommender System
KR102221263B1 (ko) 뇌기능 지식 베이스 자가 성장 시스템 및 방법
KR102559605B1 (ko) 함수 최적화 방법 및 장치
Brazdil et al. Metalearning in ensemble methods
JP6193428B1 (ja) 特徴選択装置、特徴選択方法およびプログラム

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20180514

TRDD Decision of grant or rejection written
A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20190531

A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20190611

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20190624

R150 Certificate of patent or registration of utility model

Ref document number: 6555015

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

LAPS Cancellation because of no payment of annual fees