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

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

Info

Publication number
JP2018010475A
JP2018010475A JP2016138672A JP2016138672A JP2018010475A JP 2018010475 A JP2018010475 A JP 2018010475A JP 2016138672 A JP2016138672 A JP 2016138672A JP 2016138672 A JP2016138672 A JP 2016138672A JP 2018010475 A JP2018010475 A JP 2018010475A
Authority
JP
Japan
Prior art keywords
machine learning
prediction performance
training data
sample size
estimated
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.)
Granted
Application number
JP2016138672A
Other languages
English (en)
Other versions
JP6697159B2 (ja
Inventor
小林 健一
Kenichi Kobayashi
健一 小林
晃 浦
Akira Ura
晃 浦
晴康 上田
Haruyasu Ueda
晴康 上田
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 JP2016138672A priority Critical patent/JP6697159B2/ja
Priority to US15/639,593 priority patent/US11568300B2/en
Priority to US15/641,287 priority patent/US20180018587A1/en
Publication of JP2018010475A publication Critical patent/JP2018010475A/ja
Application granted granted Critical
Publication of JP6697159B2 publication Critical patent/JP6697159B2/ja
Active 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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N5/00Computing arrangements using knowledge-based models
    • G06N5/04Inference or reasoning models

Landscapes

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

Abstract

【課題】複数の機械学習アルゴリズムを繰り返し実行する機械学習においてモデルの予測性能が上がる速度を向上させる。
【解決手段】複数の機械学習アルゴリズムそれぞれを実行することで生成された複数のモデルに対応する複数の予測性能の中から、最大予測性能14を特定する。最大予測性能14をもつモデルを生成した機械学習アルゴリズム13aについて、最大予測性能14と推定予測性能15a,15bと推定実行時間16a,16bとに基づいて、機械学習アルゴリズム13aを次に実行するときに使用する訓練データサイズ17aを決定する。機械学習アルゴリズム13aと異なる機械学習アルゴリズム13bについて、最大予測性能14と推定予測性能15c,15dと推定実行時間16c,16dとに基づいて、機械学習アルゴリズム13bを次に実行するときに使用する訓練データサイズ17bを決定する。
【選択図】図1

Description

本発明は機械学習管理プログラム、機械学習管理装置および機械学習管理方法に関する。
コンピュータを利用したデータ分析の1つとして、機械学習が行われることがある。機械学習では、幾つかの既知の事例を示す訓練データをコンピュータに入力する。コンピュータは、訓練データを分析して、要因(説明変数や独立変数と言うことがある)と結果(目的変数や従属変数と言うことがある)との間の関係を一般化したモデルを学習する。学習されたモデルを用いることで、未知の事例についての結果を予測することができる。例えば、複数人の生活習慣と病気の有無を調査した訓練データから、任意の人の病気の発症リスクを予測するモデルを学習できる。また、過去の商品・サービスの需要量を示す訓練データから、将来の商品・サービスの需要量を予測するモデルを学習できる。
機械学習では、学習されるモデルの正確さ、すなわち、未知の事例の結果を正確に予測する能力(予測性能と言うことがある)が高いことが好ましい。予測性能は、学習に用いる訓練データのサイズが大きいほど高くなる。一方、訓練データのサイズが大きいほど、モデルの学習時間も長くなる。そこで、実用上十分な予測性能をもつモデルを効率的に得られるようにする方法として、プログレッシブサンプリング法が提案されている。
プログレッシブサンプリング法では、コンピュータは、まず小さなサイズの訓練データを用いてモデルを学習する。コンピュータは、訓練データとは異なる既知の事例を示すテストデータを用いて、モデルによって予測した結果と既知の結果とを比較し、学習されたモデルの予測性能を評価する。予測性能が十分でない場合、コンピュータは、前回よりもサイズが大きい訓練データを用いてモデルを再度学習する。以上を予測性能が十分に高くなるまで繰り返すことで、過度にサイズの大きな訓練データを使用することを抑制でき、モデルの学習時間を短縮することができる。
なお、文書を複数のカテゴリに分類するための分類ルールを、機械学習を用いて生成するデータ処理装置が提案されている。提案のデータ処理装置は、予め複数のカテゴリに分類されたサンプル文書の一部を用いてカテゴリ毎の特徴を学習する。このとき、データ処理装置は、選択したサンプル文書の総数が所定の上限を超えず、かつ、分類間のサンプル文書数の偏りが小さくなるように、機械学習に用いる一部のサンプル文書を選択する。
また、あるカテゴリに属するデータと当該カテゴリに属さないデータとを区分する境界面を学習する学習方法が提案されている。提案の学習方法は、あるサンプル集合を用いて境界面を1回学習した後、当該カテゴリに属するか否か明示されていないラベル無しサンプルをサンプル集合に追加する。境界面上の点であるサポートベクトルに基づいて、追加されたラベル無しサンプルの中から新たなサポートベクトルを選択し、既存のサポートベクトルの幾つかを新たなサポートベクトルに置き換える。
また、オリジナルデータを加工して機械学習の訓練データとして使用するデータ分析装置が提案されている。提案のデータ分析装置は、機械学習時に評価したモデルの予測性能を記憶しておくと共に、新規データをモデルに適用する運用時における予測性能を監視する。データ分析装置は、運用時の予測性能が機械学習当初の予測性能より低下した場合、データの傾向が変化したと判断し、前回とは異なる方法でオリジナルデータを加工することで生成した新たな訓練データを用いてモデルを再学習する。
国際公開第2011/052025号 特開2013−182621号公報 特開2014−71493号公報
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.
上記の非特許文献1に記載されたプログレッシブサンプリング法では、あるサイズの訓練データで機械学習アルゴリズムを実行した後、再度その機械学習アルゴリズムを実行する場合、次に使用する訓練データサイズは予め決まっている。すなわち、予め決められた複数の訓練データサイズを小さい方から順に1つずつ選択していくことになる。
また、機械学習アルゴリズムには、ロジスティック回帰分析、サポートベクタマシン(SVM:Support Vector Machine)、ランダムフォレストなど様々なアルゴリズムが存在する。使用する訓練データが同じでも、使用する機械学習アルゴリズムが異なるとモデルの予測性能が異なることが多い。これについて、非特許文献1に記載されたプログレッシブサンプリング法は1つの機械学習アルゴリズムのみを使用する場合を想定しており、複数の機械学習アルゴリズムを使用する場合について検討していない。
よって、機械学習アルゴリズムの候補が複数あり訓練データサイズの候補が複数ある場合に、どのようにすれば予測性能の高いモデルを効率的に生成できるかが問題となる。
1つの側面では、本発明は、複数の機械学習アルゴリズムを繰り返し実行する機械学習においてモデルの予測性能が上がる速度を向上できる機械学習管理プログラム、機械学習管理装置および機械学習管理方法を提供することを目的とする。
1つの態様では、コンピュータに以下の処理を実行させる機械学習管理プログラムが提供される。複数の機械学習アルゴリズムそれぞれを1以上の訓練データサイズで実行することで生成された複数のモデルに対応する複数の予測性能の中から、最大予測性能を特定する。複数の機械学習アルゴリズムのうち最大予測性能をもつモデルを生成した第1の機械学習アルゴリズムについて、1以上の訓練データサイズの実行結果から、2以上の他の訓練データサイズそれぞれで実行した場合の第1の推定予測性能と第1の推定実行時間とを算出し、最大予測性能と第1の推定予測性能と第1の推定実行時間とに基づいて、第1の機械学習アルゴリズムを次に実行するときに使用する第1の訓練データサイズを決定する。複数の機械学習アルゴリズムのうち第1の機械学習アルゴリズムと異なる第2の機械学習アルゴリズムについて、1以上の訓練データサイズの実行結果から、2以上の他の訓練データサイズそれぞれで実行した場合の第2の推定予測性能と第2の推定実行時間とを算出し、最大予測性能と第2の推定予測性能と第2の推定実行時間とに基づいて、第2の機械学習アルゴリズムを次に実行するときに使用する第2の訓練データサイズを決定する。
また、1つの態様では、記憶部と制御部とを有する機械学習管理装置が提供される。また、1つの態様では、コンピュータが実行する機械学習管理方法が提供される。
1つの側面では、複数の機械学習アルゴリズムを繰り返し実行する機械学習においてモデルの予測性能が上がる速度を向上できる。
機械学習管理装置の例を示す図である。 機械学習装置のハードウェア例を示すブロック図である。 サンプルサイズと予測性能の関係例を示すグラフである。 実行時間と予測性能の関係例を示すグラフである。 複数の機械学習アルゴリズムの使用例を示す図である。 学習ステップの実行順序例を示すグラフである。 サンプルサイズの動的選択例を示す第1のグラフである。 サンプルサイズの動的選択例を示す第2のグラフである。 サンプルサイズの動的選択例を示す第3のグラフである。 サンプルサイズの減少に関するシナリオ例を示す図である。 打ち切り率の算出例を示す図である。 打ち切り率の他の算出例を示す図である。 機械学習進行画面の例を示す図である。 機械学習装置の機能例を示すブロック図である。 履歴テーブルと関数テーブルとスケジュールテーブル例を示す図である。 機械学習の手順例を示すフローチャートである。 機械学習の手順例を示すフローチャート(続き)である。 ステップ実行の手順例を示すフローチャートである。 時間推定の手順例を示すフローチャートである。 性能改善量推定の手順例を示すフローチャートである。
以下、本実施の形態を図面を参照して説明する。
[第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は、複数の機械学習アルゴリズムの現在までの実行結果を記憶する。機械学習に使用可能な機械学習アルゴリズムには、ロジスティック回帰分析、サポートベクタマシン、ランダムフォレストなどの様々なアルゴリズムが含まれる。機械学習アルゴリズムの種類が同じで、当該機械学習アルゴリズムの挙動を制御するためのハイパーパラメータが異なるものを、異なる機械学習アルゴリズムとして取り扱ってもよい。複数の機械学習アルゴリズムを、訓練データサイズを変えながら(例えば、訓練データサイズを段階的に大きくしながら)繰り返し実行することで、十分高い予測性能をもつモデルに効率的に到達することができる。データの母集合から一部のデータをサンプリングして訓練データとして使用する場合、訓練データサイズをサンプルサイズと呼ぶこともできる。
記憶部11に記憶される情報は、少なくとも、現在までに生成された複数のモデルに対応する複数の予測性能を示す。予測性能は、未知の事例の結果を正確に予測する能力であり、モデルの「精度」と言うこともできる。予測性能の指標としては、正答率(Accuracy)、適合率(Precision)、平均二乗誤差(RMSE)など任意の指標を用いることができる。それら複数のモデルは、複数の機械学習アルゴリズムそれぞれを1つの訓練データサイズまたは2以上の異なる訓練データサイズで実行することで生成されたものである。なお、記憶部11は、訓練データを更に記憶してもよい。また、記憶部11は、機械学習アルゴリズムを実装した機械学習プログラムを更に記憶してもよい。
制御部12は、複数の機械学習アルゴリズムおよび複数の訓練データサイズを用いた機械学習を制御し、高い予測性能をもつモデルに短時間で到達することを目指す。制御部12は、記憶部11に記憶された情報を参照して、現在までに生成されたモデルの予測性能の中から、予測性能の最大値である最大予測性能14を特定する。
制御部12は、複数の機械学習アルゴリズムのうち最大予測性能14をもつモデルを生成した機械学習アルゴリズム13aについて、機械学習アルゴリズム13aを次に実行するときに使用する訓練データサイズ17aを決定する。
このとき、制御部12は、機械学習アルゴリズム13aを1以上の訓練データサイズで実行した実行結果から、2以上の他の訓練データサイズそれぞれで実行した場合の推定予測性能15a,15bと推定実行時間16a,16bとを算出する。使用する実行結果は、例えば、1以上の予測性能の測定値と1以上の実行時間とを含む。2以上の他の訓練データサイズは、機械学習アルゴリズム13aでまだ使用していないサイズであり、例えば、既に使用した訓練データサイズより大きい。推定予測性能15a,15bは予測性能の推定値であり、推定実行時間16a,16bは実行時間の推定値である。例えば、制御部12は、機械学習アルゴリズム13aの予測性能の測定値から、回帰分析により推定予測性能15a,15bを算出する。また、例えば、制御部12は、機械学習アルゴリズム13aの実行時間の測定値から、回帰分析により推定実行時間16a,16bを算出する。
そして、制御部12は、最大予測性能14と推定予測性能15a,15bと推定実行時間16a,16bとに基づいて、訓練データサイズ17aを決定する。例えば、制御部12は、2以上の他の訓練データサイズそれぞれについて、単位時間当たりの最大予測性能14の増加量を示す増加速度を算出する。機械学習アルゴリズム13aの増加速度は、例えば、推定予測性能から最大予測性能を引いて推定実行時間で割った値である。
制御部12は、増加速度が最大の訓練データサイズを訓練データサイズ17aとして決定してもよい。また、制御部12は、機械学習アルゴリズム13aの増加速度の最大値が他の機械学習アルゴリズムよりも大きいとき、増加速度が最大の訓練データサイズより大きいサイズを訓練データサイズ17aとして決定してもよい。上記状況においては、増加速度が最大の訓練データサイズで機械学習アルゴリズム13aを実行しても、その後に更に大きい訓練データサイズで機械学習アルゴリズム13aを実行する可能性が高いためである。また、制御部12は、推定予測性能15a,15bや推定実行時間16a,16bなどが所定条件を満たすとき、増加速度が最大の訓練データサイズより小さいサイズを訓練データサイズ17aとして決定してもよい。
一方、制御部12は、複数の機械学習アルゴリズムのうち機械学習アルゴリズム13aと異なる機械学習アルゴリズム13bについて、機械学習アルゴリズム13bを次に実行するときに使用する訓練データサイズ17bを決定する。
このとき、制御部12は、機械学習アルゴリズム13bを1以上の訓練データサイズで実行した実行結果から、2以上の他の訓練データサイズそれぞれで実行した場合の推定予測性能15c,15dと推定実行時間16c,16dとを算出する。既に使用した1以上の訓練データサイズは、機械学習アルゴリズム13a,13bで同じでもよいし異なってもよい。また、未使用の2以上の訓練データサイズは、機械学習アルゴリズム13a,13bで同じでもよいし異なってもよい。推定予測性能15c,15dは予測性能の推定値であり、推定実行時間16c,16dは実行時間の推定値である。例えば、制御部12は、機械学習アルゴリズム13bの予測性能の測定値から、回帰分析により推定予測性能15c,15dを算出する。また、例えば、制御部12は、機械学習アルゴリズム13bの実行時間の測定値から、回帰分析により推定実行時間16c,16dを算出する。
そして、制御部12は、最大予測性能14と推定予測性能15c,15dと推定実行時間16c,16dとに基づいて、訓練データサイズ17bを決定する。例えば、制御部12は、2以上の他の訓練データサイズそれぞれについて増加速度を算出する。
制御部12は、増加速度が最大の訓練データサイズを訓練データサイズ17bとして決定してもよい。また、制御部12は、機械学習アルゴリズム13bの増加速度の最大値が他の機械学習アルゴリズムよりも大きいとき、増加速度が最大の訓練データサイズより大きいサイズを訓練データサイズ17bとして決定してもよい。また、制御部12は、推定予測性能15c,15dや推定実行時間16c,16dなどが所定条件を満たすとき、増加速度が最大の訓練データサイズより小さいサイズを訓練データサイズ17bとして決定してもよい。所定条件は、例えば、増加速度が最大の訓練データサイズで機械学習アルゴリズム13bを実行しても、現在の最大予測性能14を超える予測性能をもつモデルが生成されない可能性が一定水準以上あることなどである。
訓練データサイズ17aと訓練データサイズ17bとは異なってもよい。また、機械学習アルゴリズム13aが最後に使用した訓練データサイズと訓練データサイズ17aとの差または比と、機械学習アルゴリズム13bが最後に使用した訓練データサイズと訓練データサイズ17bとの差または比とが、異なってもよい。すなわち、訓練データサイズの増加量または増加率は固定でなくてよく、次に使用される訓練データサイズは機械学習の進行状況に応じて機械学習アルゴリズム毎に動的に決定される。
なお、制御部12は、複数の機械学習アルゴリズムのうち増加速度の最大値が大きい機械学習アルゴリズムを優先的に選択してもよい。機械学習アルゴリズム13aを選択した場合、制御部12は、訓練データサイズ17aで機械学習アルゴリズム13aを実行させる。機械学習アルゴリズム13bを選択した場合、制御部12は、訓練データサイズ17bで機械学習アルゴリズム13bを実行させる。
第1の実施の形態の機械学習管理装置10によれば、現在までに生成されたモデルの予測性能の中から最大予測性能14が特定される。最大予測性能14をもつモデルを生成した機械学習アルゴリズム13aについて、最大予測性能14と推定予測性能15a,15bと推定実行時間16a,16bとに基づいて、次に使用する訓練データサイズ17aが決定される。また、機械学習アルゴリズム13bについて、機械学習アルゴリズム13aによって達成された最大予測性能14と、推定予測性能15c,15dと推定実行時間16c,16dとに基づいて、次に使用する訓練データサイズ17bが決定される。
これにより、複数の機械学習アルゴリズムを繰り返し実行する機械学習において、モデルの予測性能が上がる速度を向上できる。よって、十分な予測性能をもつモデルに到達するまでの所要時間を短縮できる。例えば、増加速度の推定値が最大になる訓練データサイズを選択することで、最大予測性能14を最も高速に引き上げることができる。また、訓練データサイズの増加量または増加率が過小である場合に生じる途中の無駄な学習ステップを省略できる。また、訓練データサイズの増加量または増加率が過大である場合に生じる多数の機械学習アルゴリズムの無駄な実行を抑制できる。
[第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として、例えば、磁気ディスク、光ディスク、光磁気ディスク(MO:Magneto-Optical disk)、半導体メモリなどを使用できる。磁気ディスクには、フレキシブルディスク(FD:Flexible Disk)やHDDが含まれる。光ディスクには、CD(Compact Disc)やDVD(Digital Versatile Disc)が含まれる。
媒体リーダ106は、例えば、記録媒体113から読み取ったプログラムやデータを、RAM102やHDD103などの他の記録媒体にコピーする。読み取られたプログラムは、例えば、CPU101によって実行される。なお、記録媒体113は、可搬型記録媒体であってもよく、プログラムやデータの配布に用いられることがある。また、記録媒体113やHDD103を、コンピュータ読み取り可能な記録媒体と言うことがある。
通信インタフェース107は、ネットワーク114に接続され、ネットワーク114を介して他の情報処理装置と通信を行うインタフェースである。通信インタフェース107は、スイッチなどの通信装置とケーブルで接続される有線通信インタフェースでもよいし、基地局と無線リンクで接続される無線通信インタフェースでもよい。
次に、機械学習におけるサンプルサイズと予測性能と実行時間の間の関係、および、プログレッシブサンプリング法について説明する。
第2の実施の形態の機械学習では、既知の事例を示す複数の単位データを含むデータを予め収集しておく。機械学習装置100または他の情報処理装置が、センサデバイスなどの各種デバイスからネットワーク114経由でデータを収集してもよい。収集されるデータは、「ビッグデータ」と呼ばれるサイズの大きなデータであってもよい。各単位データは、通常は、1つ以上の説明変数の値と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^)/N)1/2と算出される。
ここで、ある1つの機械学習アルゴリズムを使用する場合、訓練データとしてサンプリングする単位データの数(サンプルサイズ)が大きいほど予測性能は一般的に高くなる。
図3は、サンプルサイズと予測性能の関係例を示すグラフである。
曲線21は、モデルの予測性能とサンプルサイズとの間の関係を示す。サンプルサイズs,s,s,s,sの間の大小関係は、s<s<s<s<sである。例えば、sはsの2倍または4倍、sはsの2倍または4倍、sはsの2倍または4倍、sはsの2倍または4倍である。
曲線21が示すように、サンプルサイズがsの場合の予測性能はsの場合よりも高い。サンプルサイズがsの場合の予測性能はsの場合よりも高い。サンプルサイズがsの場合の予測性能はsの場合よりも高い。サンプルサイズがsの場合の予測性能はsの場合よりも高い。このように、サンプルサイズが大きくなるほど一般的に予測性能も高くなる。ただし、予測性能が低いうちは、サンプルサイズの増加に応じて予測性能が大きく上昇する。一方で、予測性能には上限があり、予測性能が上限に近づくと、サンプルサイズの増加量に対する予測性能の上昇量の比は逓減する。
また、サンプルサイズが大きいほど、機械学習に要する学習時間も大きくなる。このため、サンプルサイズを過度に大きくすると、学習時間の点で機械学習が非効率になる。図3の例の場合、サンプルサイズをsとすると、上限に近い予測性能を短時間で達成できる。一方、サンプルサイズをsとすると、予測性能が不十分であるおそれがある。また、サンプルサイズをsとすると、予測性能は上限に近いものの、単位実行時間当たりの予測性能の上昇量が小さく、機械学習が非効率になる。
このようなサンプルサイズと予測性能との間の関係は、同じ機械学習アルゴリズムを使用する場合であっても、使用するデータの性質(データの種類)によって異なる。このため、予測性能の上限や上限に近い予測性能を達成できる最小のサンプルサイズを、機械学習を行う前に事前に推定することは難しい。そこで、プログレッシブサンプリング法という機械学習方法が提案されている。プログレッシブサンプリング法については、例えば、前述の非特許文献1("Efficient Progressive Sampling")に記載がある。
プログレッシブサンプリング法では、サンプルサイズを小さな値から始めて段階的に大きくしていき、予測性能が所定条件を満たすまで機械学習を繰り返す。例えば、機械学習装置100は、サンプルサイズsで機械学習を行い、学習されたモデルの予測性能を評価する。予測性能が不十分であれば、機械学習装置100は、サンプルサイズsで機械学習を行って予測性能を評価する。このとき、サンプルサイズsの訓練データは、サンプルサイズsの訓練データ(前に使用した訓練データ)の一部または全部を包含していてもよい。同様に、機械学習装置100は、サンプルサイズsで機械学習を行って予測性能を評価し、サンプルサイズsで機械学習を行って予測性能を評価する。サンプルサイズsで予測性能が十分になると、機械学習装置100は、機械学習を停止し、サンプルサイズsで学習したモデルを採用する。このとき、機械学習装置100は、サンプルサイズsの機械学習を行わなくてよい。
上記のように、プログレッシブサンプリング法では、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の値と説明変数x,x,…,xの値をS字曲線にフィッティングする回帰分析である。目的変数yおよび説明変数x,x,…,xは、log(y/(1−y))=a+a+…+a+bの関係を満たすと仮定される。a,a,…,a,bは係数であり、回帰分析によって決定される。
サポートベクタマシンは、N次元空間に配置された単位データの集合を、2つのクラスに最も明確に分割するような境界面を算出する機械学習アルゴリズムである。境界面は、各クラスとの距離(マージン)が最大になるように算出される。
ランダムフォレストは、複数の単位データを適切に分類するためのモデルを生成する機械学習アルゴリズムである。ランダムフォレストでは、母集合から単位データをランダムにサンプリングする。説明変数の一部をランダムに選択し、選択した説明変数の値に応じてサンプリングした単位データを分類する。説明変数の選択と単位データの分類を繰り返すことで、複数の説明変数の値に基づく階層的な決定木を生成する。単位データのサンプリングと決定木の生成を繰り返すことで複数の決定木を取得し、それら複数の決定木を合成することで、単位データを分類するための最終的なモデルを生成する。
なお、機械学習アルゴリズムは、その挙動を制御するための1または2以上のハイパーパラメータをもつことがある。ハイパーパラメータは、モデルに含まれる係数(パラメータ)と異なり機械学習を通じて値が決定されるものではなく、機械学習アルゴリズムの実行前に値が与えられるものである。ハイパーパラメータの例として、ランダムフォレストにおける決定木の生成本数、回帰分析のフィッティング精度、モデルに含まれる多項式の次数などが挙げられる。ハイパーパラメータの値として、固定値が使用されることもあるし、ユーザから指定された値が使用されることもある。生成されるモデルの予測性能は、ハイパーパラメータの値にも依存する。機械学習アルゴリズムとサンプルサイズが同じでも、ハイパーパラメータの値が変わるとモデルの予測性能も変化し得る。
第2の実施の形態では、機械学習アルゴリズムの種類が同じでハイパーパラメータの値が異なる場合、異なる機械学習アルゴリズムを使用したものとして取り扱ってもよい。機械学習アルゴリズムの種類とハイパーパラメータの値の組み合わせを、コンフィギュレーションと言うこともある。すなわち、機械学習装置100は、異なるコンフィギュレーションを異なる機械学習アルゴリズムとして取り扱ってもよい。
図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は、複数の機械学習アルゴリズムの使用例を示す図である。
ここでは説明を簡単にするため、機械学習アルゴリズム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つだけ進める方法である。学習ステップを1つ進める毎に、改善速度の推定値が見直される。このため、最初のうちは複数の機械学習アルゴリズムの学習ステップが混在して実行され、徐々に機械学習アルゴリズムが限定されていく。
改善速度の推定値は、性能改善量の推定値を実行時間の推定値で割ったものである。性能改善量の推定値は、次の学習ステップの予測性能の推定値と、複数の機械学習アルゴリズムを通じて現在までに達成された予測性能の最大値(達成予測性能と言うことがある)との差である。達成予測性能は、第1の実施の形態の最大予測性能14に対応する。次の学習ステップの予測性能は、同じ機械学習アルゴリズムの過去の予測性能と次の学習ステップのサンプルサイズとに基づいて推定される。実行時間の推定値は、次の学習ステップに要する時間の推定値であり、同じ機械学習アルゴリズムの過去の実行時間と次の学習ステップのサンプルサイズとに基づいて推定される。
機械学習装置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は、97.5%分位点を表していると言うこともできる。
ただし、UCBに代えて、機械学習装置100は、推定される予測性能の分布を積分して予測性能が達成予測性能を超える確率(PI:Probability of Improvement)を算出してもよい。また、機械学習装置100は、推定される予測性能の分布を積分して、予測性能が達成予測性能を超える期待値(EI:Expected Improvement)を算出してもよい。
上記の方法では、予測性能の改善に寄与しない学習ステップは実行されず、全体の学習時間を短縮することができる。また、単位時間当たりの性能改善量が最大である機械学習アルゴリズムの学習ステップが優先的に実行される。このため、学習時間に制限があり機械学習を途中で打ち切った場合であっても、終了時刻までに得られたモデルが、制限時間内に得られる最善のモデルとなる。また、少しでも予測性能の改善に寄与する学習ステップは、実行順序が後になる可能性はあるものの実行される余地が残される。このため、予測性能の上限が高い機械学習アルゴリズムを切り捨ててしまうリスクを低減できる。
しかし、上記の方法では各機械学習アルゴリズムのサンプルサイズを固定倍率で1段階ずつ大きくしている。このため、学習効率を更に向上させる余地がある。
第1に、ある機械学習アルゴリズムの大きいサンプルサイズの学習ステップが達成予測性能の向上に成功した場合、結果的に、当該機械学習アルゴリズムの小さいサンプルサイズの学習ステップの実行時間が無駄になってしまう。大きいサンプルサイズの学習ステップが達成予測性を向上させる可能性が高い場合、小さいサンプルサイズの学習ステップをスキップすることで学習時間を短縮できる余地がある。
第2に、予測性能の推定精度が低く予測性能を過大評価したために、実行した学習ステップが達成予測性能の向上に失敗することがある。大きいサンプルサイズの学習ステップが達成予測性能の向上に失敗した場合、結果的に、当該大きいサンプルサイズの学習ステップは実行しない方が好ましかったことになる。これについては、大きいサンプルサイズの学習ステップが達成予測性を向上させる可能性が高くない場合、サンプルサイズの上昇量を抑えた学習ステップを挿入することで予測性能の測定値が増え、推定精度を向上させることができる。その結果、大きいサンプルサイズの学習ステップが達成予測性能の向上に失敗する可能性が高いと判断できれば、当該機械学習アルゴリズムについては大きいサンプルサイズの学習ステップを回避することができる。
第3に、計算量の大きい機械学習アルゴリズムについては、サンプルサイズを固定倍率で増加させることによる非効率性の影響が大きく、その機械学習アルゴリズムの実行時間が膨大になってしまう可能性がある。例えば、計算量がO(N)の機械学習アルゴリズムでは、サンプルサイズの増加に対する実行時間の増加速度が非常に大きい。
第4に、機械学習アルゴリズムの中には、複数のプロセッサに処理を分散化する前処理などのオーバヘッドが大きいものがある。オーバヘッドは、サンプルサイズの影響を受けずに固定であることがある。その場合、サンプルサイズが小さいうちはサンプルサイズを1段階大きくしても実行時間があまり変化しない。オーバヘッドが大きい機械学習アルゴリズムについては、サンプルサイズの増加量が小さいと非効率になる。
図6は、学習ステップの実行順序例を示すグラフである。
ここでは、サンプルサイズを固定倍率で1段階ずつ大きくする場合を考える。
曲線25は、ある機械学習アルゴリズム(機械学習アルゴリズム#1)について、訓練データのサンプルサイズを変化させたときの実行時間と予測性能の関係を示している。曲線26は、別の機械学習アルゴリズム(機械学習アルゴリズム#2)について、訓練データのサンプルサイズを変化させたときの実行時間と予測性能の関係を示している。
この例では、1番目に、機械学習装置100は、機械学習アルゴリズム#1およびサンプルサイズ=1000の学習ステップを実行する。2番目に、機械学習装置100は、機械学習アルゴリズム#2およびサンプルサイズ=1000の学習ステップを実行する。3番目に、機械学習装置100は、機械学習アルゴリズム#1およびサンプルサイズ=2000の学習ステップを実行する。4番目に、機械学習装置100は、機械学習アルゴリズム#2およびサンプルサイズ=2000の学習ステップを実行する。
5番目に、機械学習装置100は、機械学習アルゴリズム#1およびサンプルサイズ=4000の学習ステップを実行する。5番目の学習ステップについて、機械学習装置100は、予測性能が4番目の学習ステップよりも高くなる可能性があると判断して機械学習アルゴリズム#1を実行している。しかし、5番目の学習ステップの予測性能は、結果的に4番目の学習ステップの予測性能(この時点の達成予測性能)よりも低い。
6番目に、機械学習装置100は、機械学習アルゴリズム#2およびサンプルサイズ=4000の学習ステップを実行する。7番目に、機械学習装置100は、機械学習アルゴリズム#2およびサンプルサイズ=8000の学習ステップを実行する。
8番目に、機械学習装置100は、機械学習アルゴリズム#1およびサンプルサイズ=8000の学習ステップを実行する。8番目の学習ステップについて、機械学習装置100は、予測性能が7番目の学習ステップよりも高くなる可能性があると判断して機械学習アルゴリズム#1を実行している。しかし、8番目の学習ステップの予測性能は、結果的に7番目の学習ステップの予測性能(この時点の達成予測性能)よりも低い。
ここで、5番目の学習ステップを実行した後、機械学習アルゴリズム#1およびサンプルサイズ=8000の学習ステップが達成予測性能の向上に成功する可能性が高いと判断できる場合があり得る。その場合、機械学習装置100は、サンプルサイズ=4000の学習ステップをスキップしてサンプルサイズ=8000学習ステップを実行することで、サンプルサイズ=4000の学習ステップの実行時間を節約できる。途中のサンプルサイズをスキップすることは、機械学習アルゴリズムの候補が多いときに特に有効である。達成予測性能が早期に大きくなれば、多くの機械学習アルゴリズムが早期に脱落し、実行する機械学習アルゴリズムを迅速に絞り込めるためである。
一方、7番目の学習ステップを実行した後、1・3・5番目の学習ステップの結果のみからは機械学習アルゴリズム#1の予測性能を高精度で推定できないために、機械学習アルゴリズム#1の予測性能が今後高くなる可能性を捨てられない場合があり得る。その場合、機械学習装置100は、サンプルサイズを4000から8000に増やすのではなく、8000より小さいサンプルサイズ(例えば、5000)で機械学習アルゴリズム#1を実行することが考えられる。その結果として推定精度が向上し、機械学習アルゴリズム#1の予測性能が機械学習アルゴリズム#2を逆転する可能性が低いと判断できれば、サンプルサイズ=8000の学習ステップの実行時間を節約できる。
サンプルサイズの増加量を小さくすることは、機械学習アルゴリズムの候補が多いときに特に有効である。現在の達成予測性能より明らかに低い予測性能しか出力していない機械学習アルゴリズムについて予測性能の推定精度が向上すれば、多くの機械学習アルゴリズムが早期に脱落し、実行する機械学習アルゴリズムを迅速に絞り込めるためである。
このように、複数の機械学習アルゴリズムに対してサンプルサイズの増加倍率または増加量を固定に設定すると、機械学習に非効率性が生じ得る。また、複数の機械学習アルゴリズムを用いた機械学習の進行状況によって、次に実行する学習ステップのサンプルサイズを大きくした方が好ましい場合と小さくした方が好ましい場合とがある。そこで、第2の実施の形態の機械学習装置100は、以下のように学習ステップを制御する。
以下の説明では、次のような記号を用いることがある。
予測性能の測定値をp、予測性能の推定値をp、達成予測性能をP、実行時間の測定値をt、実行時間の推定値をtと表すことがある。また、性能改善量をg、性能改善量を求める関数をfg()、予測性能の確率分布をXpと表すことがある。性能改善量はUCBなどの確率分布から求まる値と達成予測性能とに依存するため、g=fg(Xp,P)と表すことができる。また、改善速度をrと表すことがある。改善速度は性能改善量を実行時間で割ったものであるため、r=g/tと表すことができる。
また、改善速度の閾値をRと表すことがある。Rは機械学習の停止条件に関連する。例えば、R=0.001/3600などと予め決めておく。また、機械学習アルゴリズムをa、機械学習アルゴリズムの集合をA、データ集合をD、データ集合から抽出したサンプルデータをS、サンプルサイズをs、機械学習アルゴリズムの数をNと表すことがある。
また、予測性能の推定値を求める関数をfp()と表すことがある。予測性能の推定値はサンプルサイズに依存するため、p=fp(s)と表すことができる。fp()は上に有界な関数であり、例えば、fp(s)=β−α×s−γである。α,β,γは、sを説明変数としpを目的変数とする回帰分析によって決定される係数である。fp()は機械学習アルゴリズム毎に定義される。機械学習アルゴリズムaの関数であることを、a.fp()と表すことがある。
また、予測性能の確率分布を求める関数をfXp()と表すことがある。予測性能の確率分布はサンプルサイズに依存するため、Xp=fXp(s)と表すことができる。pはXpの期待値である。fXp()は、例えば、sを説明変数としpを目的変数とする回帰分析によって算出される。fp()をfXp()から導出することも可能である。fXp()は機械学習アルゴリズム毎に定義される。機械学習アルゴリズムaの関数であることを、a.fXp()と表すことがある。
また、実行時間の推定値を求める関数をft()と表すことがある。実行時間の推定値はサンプルサイズに依存するため、t=ft(s)と表すことができる。ft()はサンプルサイズについて単調増加の関数であり、例えば、ft(s)=β+α×sである。α,βは、sを説明変数としtを目的変数とする回帰分析によって決定される係数である。ft()は機械学習アルゴリズム毎に定義される。機械学習アルゴリズムaの関数であることを、a.ft()と表すことがある。なお、上記の記号においてアスタリスク(*)は、その値が推定値であることを表している。
図7は、サンプルサイズの動的選択例を示す第1のグラフである。
ここでは、図6の5番目の学習ステップを実行した後、機械学習アルゴリズム#2を実行するときのサンプルサイズを決定する場合を考える。
曲線41は、2番目および4番目の学習ステップの結果から推定される、機械学習アルゴリズム#2の予測性能の期待値と実行時間との関係を示している。曲線42は、機械学習アルゴリズム#2の予測性能のUCBと実行時間との関係を示している。直線43は、実行時間=0かつ予測性能=達成予測性能となる点から曲線42へと伸びる接線である。曲線42上の点と達成予測性能との差は、性能改善量に相当する。直線43の傾きは、改善速度の最大値に相当する。図7の例では、曲線42と直線43の接点における予測性能および実行時間を実現するためのサンプルサイズは6000である。
機械学習装置100は、機械学習アルゴリズム#2を次に実行するときのサンプルサイズとして、4番目の学習ステップより大きいサンプルサイズの中で、改善速度が最大になるサンプルサイズを選択する。最大の改善速度は、直線43の傾きに相当する。よって、図7の例ではサンプルサイズ=6000が選択される。機械学習装置100は、例えば、数値解析により、幾つかのサンプルサイズについて改善速度を試算して、改善速度が最大になるサンプルサイズを探索する。機械学習装置100は、二分探索法などによって、改善速度が最大になるサンプルサイズの存在するサイズ区間を段階的に絞り込んでもよい。なお、機械学習装置100は、選択するサンプルサイズを1000の倍数に限定するなど、選択するサンプルサイズを一定条件を満たす離散的な値に限定してもよい。
ある機械学習アルゴリズムaについて、実行済みのサンプルサイズのうち最大のサンプルサイズをs、そのときの実行時間の測定値をtとする。また、機械学習アルゴリズムaについて、次に選択すべきサンプルサイズをs、そのときの実行時間の推定値をt =a.ft(s)とする。sは、fg(a.fXp(s),P)/a.ft(s)が最大になるようなsである。ただし、sは、s>sかつt ≧k×tという制約を満たす。kは1以上の定数であり、例えば、k=1.2とする。また、制限時間がある場合、t は残り時間以下であることが好ましい。
以上のように、各機械学習アルゴリズムの次のサンプルサイズは、原則として改善速度が最大になるサンプルサイズである。ただし、機械学習装置100は、他の機械学習アルゴリズムの実行結果を考慮して、各機械学習アルゴリズムの次のサンプルサイズを調整することがある。すなわち、機械学習装置100は、次のサンプルサイズを、改善速度が最大になるサンプルサイズより意図的に大きくすることもあるし、改善速度が最大になるサンプルサイズより意図的に小さくすることもある。
まず、サンプルサイズを大きくする場合について説明する。
図8は、サンプルサイズの動的選択例を示す第2のグラフである。
曲線42は、図7と同様に、機械学習アルゴリズム#2の予測性能のUCBと実行時間との関係を示している。直線43は、図7と同様に、実行時間=0かつ予測性能=達成予測性能となる点から曲線42へと伸びる接線である。直線43の傾きは、機械学習アルゴリズム#2の改善速度の最大値を示している。機械学習アルゴリズム#2の改善速度が最大になるサンプルサイズは6000である。なお、図8の縦軸は、達成予測性能からの予測性能の相対値、すなわち、性能改善量になっている。
曲線44は、別の機械学習アルゴリズム(機械学習アルゴリズム#3)の予測性能のUCBと実行時間との関係を示している。直線45は、実行時間=0かつ予測性能=達成予測性能となる点から曲線44へと伸びる接線である。直線45の傾きは、機械学習アルゴリズム#3の改善速度の最大値を示している。機械学習アルゴリズム#3の改善速度が最大になるサンプルサイズは8000である。
ここでは、複数の機械学習アルゴリズムの中で、機械学習アルゴリズム#2の改善速度の最大値(直線43の傾き)が他の機械学習アルゴリズムよりも大きいとする。また、機械学習アルゴリズム#3の改善速度の最大値(直線45の傾き)が、機械学習アルゴリズム#2に次いで2番目に大きいものとする。この場合、機械学習アルゴリズム#2で使用するサンプルサイズを、曲線42と直線45の交点に相当するサンプルサイズまで大きくしても、次の学習ステップで機械学習アルゴリズム#2が実行されることは変わらない。曲線42と直線45の交点に相当するサンプルサイズを12000とすると、もし機械学習アルゴリズム#2をサンプルサイズ=6000で実行しても、その後に機械学習アルゴリズム#2をサンプルサイズ=12000で実行することになる可能性が高いと言える。
そこで、機械学習装置100は、ある機械学習アルゴリズムを実行するとき、当該機械学習アルゴリズムの改善速度が2番目の機械学習アルゴリズムの改善速度の最大値を下回らない範囲で、サンプルサイズを増加させる。これにより、小さなサンプルサイズによる無駄な学習ステップを省略することができる。機械学習装置100は、例えば、数値解析により、幾つかのサンプルサイズについて改善速度を試算して、上記条件を満たすサンプルサイズを探索する。機械学習装置100は、二分探索法などによって、上記条件を満たすサンプルサイズの存在するサイズ区間を段階的に絞り込んでもよい。なお、機械学習装置100は、選択するサンプルサイズを1000の倍数に限定するなど、選択するサンプルサイズを一定条件を満たす離散的な値に限定してもよい。
複数の機械学習アルゴリズムの中で改善速度が最も大きい機械学習アルゴリズムをa、機械学習アルゴリズムaの改善速度を最大化するサンプルサイズをs、そのときの実行時間の推定値をt =a.ft(s)とする。また、複数の機械学習アルゴリズムの中で改善速度が2番目に大きい機械学習アルゴリズムの改善速度をrsec とする。また、機械学習アルゴリズムaの増加後のサンプルサイズをsとする。sは、fg(a.fXp(s),P)/a.ft(s)≧rsec かつs≧sを満たす最大のsである。
ただし、制限時間がある場合、サンプルサイズsにおける実行時間の推定値t =a.ft(s)が残り時間以下であることが好ましい。また、fg(a.fXp(s),P)の傾き、すなわち、fg(a.fXp(s),P)をa.ft(s)で微分した値が、所定の正の定数以上であることを制約条件に加えてもよい。または、a.ft(s)≦k×t を制約条件に加えてもよい。kは1より大きい定数である。これにより、過度にサンプルサイズが大きくなることを抑制できる。
次に、サンプルサイズを小さくする場合について説明する。
図9は、サンプルサイズの動的選択例を示す第3のグラフである。
ここでは、図6の7番目の学習ステップを実行した後、機械学習アルゴリズム#1を実行するときのサンプルサイズを決定する場合を考える。
曲線51は、1番目、3番目および5番目の学習ステップの結果から推定される、機械学習アルゴリズム#1の予測性能の期待値と実行時間との関係を示している。曲線52は、機械学習アルゴリズム#1の予測性能のUCBと実行時間との関係を示している。直線53は、実行時間=0かつ予測性能=達成予測性能となる点から曲線52へと伸びる接線である。曲線52と直線53の接点に相当するサンプルサイズは16000である。すなわち、サンプルサイズ=16000で改善速度が最大になる。
図9の例では、機械学習アルゴリズム#1の予測性能の測定値は3つしか存在しない。このため、予測性能の期待値の推定精度は高くなく、予測性能の分散が大きくなっている。その結果、サンプルサイズ=16000において、予測性能の期待値は現在の達成予測性能を下回っているものの、予測性能のUCBが現在の達成予測性能を超えている。このままでは、機械学習アルゴリズム#1が達成予測性能を向上できる可能性を捨てきれず、サンプルサイズ=16000で機械学習アルゴリズム#1が実行され得る。
しかしながら、機械学習アルゴリズム#1が達成予測性能を向上できない可能性も高いため、実行時間の長い大きなサンプルサイズで機械学習アルゴリズム#1を実行することは、リスクが高いと言える。そこで、機械学習装置100は、改善速度が最大になるサンプルサイズで機械学習アルゴリズムを実行しても、達成予測性能の向上に寄与しない可能性が比較的高い場合には、それより小さいサンプルサイズで当該機械学習アルゴリズムを実行してみる。小さいサンプルサイズで機械学習アルゴリズムを実行すると、予測性能の測定値が増えるため、大きなサンプルサイズの予測性能の推定精度が向上する。推定精度が向上した結果として、予測性能のUCBが現在の達成予測性能を超えないことが明らかになった場合、当該機械学習アルゴリズムは以降実行されなくなる。
例えば、機械学習装置100は、8番目の学習ステップとして、サンプルサイズ=5000で機械学習アルゴリズム#1を実行する。すると、図9に示すような曲線54,55が算出される。曲線54は、1番目、3番目、5番目および8番目の学習ステップの結果から推定される、機械学習アルゴリズム#1の予測性能の期待値と実行時間との関係を示している。曲線55は、機械学習アルゴリズム#1の予測性能のUCBと実行時間との関係を示している。推定精度が向上した結果、曲線54が示す予測性能の期待値は曲線51よりも低くなっている。また、予測性能の分散が小さくなり、曲線55が示す予測性能のUCBは曲線52よりも顕著に低くなっている。この場合、機械学習装置100は、機械学習アルゴリズム#1をサンプルサイズ=16000で実行しなくてよい。
ある機械学習アルゴリズムaについて、実行済みのサンプルサイズのうち最大のサンプルサイズをs、そのときの実行時間の測定値をt、予測性能の測定値をp0、サンプルサイズsの学習ステップが終了した時刻をTとする。また、機械学習アルゴリズムaについて、改善速度が最大になるサンプルサイズをs、そのときの実行時間の推定値をt =a.ft(s)、予測性能の推定値をp =a.fp(s)とする。また、減少後のサンプルサイズをs、そのときの実行時間の推定値をt =a.ft(s)、予測性能の推定値をp =a.fp(s)とする。
機械学習装置100は、以下のようにして、サンプルサイズsの前にサンプルサイズsで機械学習アルゴリズムを実行するか否か判定する。
図10は、サンプルサイズの減少に関するシナリオ例を示す図である。
機械学習装置100は、学習時間の観点から、サンプルサイズsで実行した方が有利か、サンプルサイズsで実行した方が有利かを判定する。このとき、サンプルサイズの選択方法と機械学習アルゴリズムの実行結果から、3通りのシナリオが考えられる。
曲線61は、第1のシナリオにおける予測性能と時刻との関係を示す。第1のシナリオは、時刻Tにおいてサンプルサイズsの学習ステップが終了した後、サンプルサイズsは選択せずにサンプルサイズsを選択した場合である。時刻T+t において、サンプルサイズsの学習ステップが終了して予測性能p が得られる。
曲線62は、第2のシナリオにおける予測性能と時刻との関係を示す。第2のシナリオは、時刻Tにおいてサンプルサイズsの学習ステップが終了した後、サンプルサイズsを選択し、これによって得られた予測性能p が低かった場合である。時刻T+t において、サンプルサイズsの学習ステップが終了し、サンプルサイズsの学習ステップは実行されない。すなわち、機械学習アルゴリズムaの実行は打ち切られる。
曲線63は、第3のシナリオにおける予測性能と時刻との関係を示す。第3のシナリオは、時刻Tにおいてサンプルサイズsの学習ステップが終了した後、サンプルサイズsを選択し、これによって得られた予測性能p が高かった場合である。時刻T+t において、サンプルサイズsの学習ステップが終了した後、更にサンプルサイズsの学習ステップが開始される。そして、時刻T+t +t において、サンプルサイズsの学習ステップが終了して予測性能p が得られる。
機械学習装置100がサンプルサイズsを選択した場合、第1のシナリオが発生する。一方、機械学習装置100がサンプルサイズsを選択した場合、第2のシナリオと第3のシナリオの何れか一方が確率的に発生する。第2のシナリオの累積実行時間は第1のシナリオより短い一方、第3のシナリオの累積実行時間は第1のシナリオより長い。このため、サンプルサイズsとサンプルサイズsの何れを選択した方が累積実行時間が短くなるかは、第2のシナリオの発生確率に依存する。
ここでは、サンプルサイズsを選択した後に第2のシナリオが生じる確率(機械学習アルゴリズムaの打ち切り率)をPstopとし、サンプルサイズsを選択した後に第3のシナリオが生じる確率を1−Pstopとする。Pstopの計算方法については後述する。時刻Tより後に機械学習アルゴリズムaに費やす実行時間の期待値をt12 とすると、t12 =Pstop×t +(1−Pstop)×(t +t )となる。これは、t12 =t +(1−Pstop)×t と変形することができる。
12 <t が成立すれば、サンプルサイズsを選択することで実行時間の短縮が期待される。よって、機械学習装置100がサンプルサイズsを選択する条件は、t <Pstop×t を満たすようなサンプルサイズsが、s<s<sの範囲に存在することである。最適なサンプルサイズsは、t12 を最小にするサイズ、すなわち、a.ft(s)+(1−Pstop)×t を最小にするsである。ただし、s<s<sかつt ≧k×tという制約を満たす。なお、Pstopはサンプルサイズsに応じて変化する。
図11は、打ち切り率の算出例を示す図である。
打ち切り率Pstopは、以下のようにして算出することができる。
機械学習装置100が、時刻Tに機械学習アルゴリズムaをサンプルサイズsで実行し始める場合を考える。時刻Tにおける達成予測性能はPT0である。サンプルサイズsの実行時間の推定値はt =a.ft(s)である。ここでは、推定通りに時刻T+t にサンプルサイズsの学習ステップが終了するものとする。確率分布64は、サンプルサイズsの学習ステップによって得られる予測性能の確率分布a.fXp(s)である。確率分布a.fXp(s)に従う確率変数をpとする。
また、時刻T+t より後である時刻Tに、機械学習アルゴリズムaをサンプルサイズsで実行し始める場合を考える。時刻T+t と時刻Tの間に、他の機械学習アルゴリズムが実行される可能性がある。時刻Tにおける達成予測性能はPT1である。サンプルサイズsの実行時間の推定値はt =a.ft(s)である。ここでは、推定通りに時刻T+t にサンプルサイズsの学習ステップが終了するものとする。
この状況において、機械学習装置100は以下のようなシミュレーションを行う。機械学習装置100は、サンプルサイズsの学習ステップを実行した結果として予測性能pが得られたと仮定する。機械学習装置100は、pとPT0とを比較し、p>PT0である場合には時刻T+t において達成予測性能がpに更新されると判断する。達成予測性能が更新される場合、機械学習装置100は、各機械学習アルゴリズムの改善速度を仮想的に更新する。また、機械学習装置100は、予測性能の測定値pを用いて機械学習アルゴリズムaの予測性能の推定式を仮想的に更新し、サンプルサイズsの予測性能の推定値a.fp(s)および確率分布a.fXp(s)を再計算する。
確率分布65は、pが確率分布64の期待値より大きい1つの予測性能であると仮定した場合に計算される確率分布a.fXp(s)である。確率分布66は、pが確率分布64の期待値より小さい1つの予測性能であると仮定した場合に計算される確率分布a.fXp(s)である。このようにして、機械学習装置100は、サンプルサイズsを選択した後、サンプルサイズsを更に選択しようとする場合における機械学習アルゴリズムaの改善速度を算出する。ここで算出される改善速度をr とする。
機械学習装置100は、時刻T+t において、改善速度r が他の何れの機械学習アルゴリズムの改善速度よりも大きく、r が閾値R以上であり、かつ、t が残り時間を超えないか判断する。この条件を満たす場合、機械学習装置100は、機械学習アルゴリズムaがサンプルサイズsで実行されると判断する。
また、時刻T+t において改善速度がr より大きい他の機械学習アルゴリズムが存在する場合、機械学習装置100は、他の機械学習アルゴリズムが期待値通りの予測性能を達成できると仮定して達成予測性能PT1を算出する。機械学習装置100は、この達成予測性能PT1に基づいて改善速度r を更新する。そして、機械学習装置100は、時刻Tにおいて、更新された改善速度r が閾値R以上であり、かつ、t が残り時間を超えないか判断する。この条件を満たす場合、機械学習装置100は、機械学習アルゴリズムaがサンプルサイズsで実行されると判断する。それ以外の場合、機械学習装置100は、機械学習アルゴリズムaがサンプルサイズsで実行されない(機械学習アルゴリズムaが打ち切られる)と判断する。
機械学習装置100は、モンテカルロ法によって、確率分布64に従う多数のpをランダムに選択して上記の処理を繰り返す。これにより、打ち切り率Pstopは数式(1)のように算出される。数式(1)に含まれるf(x)は、確率分布64の確率密度関数を示す。数式(1)に含まれるh(x)は、機械学習アルゴリズムaがサンプルサイズsで実行される場合に「0」、実行されない場合に「1」をとる関数である。
Figure 2018010475
上記の打ち切り率Pstopは、サンプルサイズsが変わると変化する。図10で説明した方法で最適なサンプルサイズsを探索する場合、機械学習装置100は、図11で説明したシミュレーションを様々なサンプルサイズsについて繰り返すことになる。機械学習装置100は、二分探索法などによって、最適なサンプルサイズsの存在するサイズ区間を段階的に絞り込んでもよい。また、機械学習装置100は、サンプルサイズsの候補を1000の倍数に限定するなど、サンプルサイズsの候補を一定条件を満たす離散的な値に限定してもよい。
なお、打ち切り率Pstopを上記より簡易的な方法で近似することも可能である。
図12は、打ち切り率の他の算出例を示す図である。
図11の場合と同様に、機械学習装置100が、時刻Tに機械学習アルゴリズムaをサンプルサイズsで実行し始めるとする。時刻Tにおける達成予測性能はPT0である。サンプルサイズsの学習ステップは時刻T+t に終了する。確率分布64は、サンプルサイズsの学習ステップによって得られる予測性能の確率分布a.fXp(s)である。サンプルサイズsについての予測性能の期待値はp =a.fp(s)である。時刻T+t における達成予測性能はPT0+t1*である。
その後、図11の場合とは異なり、機械学習装置100が、時刻T+t に機械学習アルゴリズムaをサンプルサイズsで実行し始めるとする。すなわち、他の機械学習アルゴリズムは考慮されない。サンプルサイズsの学習ステップは時刻T+t +t に終了する。確率分布67は、サンプルサイズsの学習ステップによって得られる予測性能の確率分布a.fXp(s)である。確率分布67は、サンプルサイズsの学習ステップで得られる予測性能が期待値p であると仮定して推定される。
打ち切り率Pstopは、数式(2)のように近似計算できる。f(x)は確率分布67の確率密度関数である。達成予測性能PT0+t1*はmax(PT0,p )である。すなわち、サンプルサイズsの予測性能の期待値が時刻Tにおける達成予測性能より大きい場合のみ、達成予測性能が更新されると仮定する。p はサンプルサイズsに依存するため、打ち切り率Pstopはサンプルサイズsに応じて変化する。
Figure 2018010475
確率分布67が示す予測性能の下限が達成予測性能PT0+t1*よりも十分に大きい場合、サンプルサイズsの学習ステップを実行することになる可能性が高いため、打ち切り率Pstopは「0」に近くなる。一方、確率分布67が示す予測性能の上限が達成予測性能PT0+t1*よりも若干大きい程度である場合、サンプルサイズsの予測性能がp より小さいならば、予測性能のUCBがPT0+t1*を超えずサンプルサイズsの学習ステップを実行しないことになる可能性が高い。この場合、打ち切り率Pstopは「0.5」に近くなる。
また、更に簡易的な方法でサンプルサイズsを近似することも可能である。
時刻T+t における達成予測性能PT0+t1*がサンプルサイズsに依存せず一定であると仮定する。例えば、PT0+t1*=PT0であると仮定する。すると、前述のt12 はsに対して単調増加となる。機械学習装置100は、t12 =k×t=a.ft(s)を満たすsを求める。そのsについてs<s<sかつt <Pstop×t が成立するのであれば、機械学習装置100は当該sを選択すればよい。
上記のようにして、機械学習装置100は、学習ステップが1つ終了する毎に次の学習ステップで使用する機械学習アルゴリズムとサンプルサイズを決定する。機械学習装置100は、学習ステップの進行状況をディスプレイ111に表示してもよい。
図13は、機械学習進行画面の例を示す図である。
機械学習装置100は、機械学習の進行中、機械学習進行画面115をディスプレイ111に表示する。機械学習進行画面115は、実行された1以上の学習ステップについて、ステップ番号と機械学習アルゴリズムの識別情報とサンプルサイズと達成予測性能とを列挙する。なお、機械学習装置100は、機械学習進行画面115に相当する情報を、ディスプレイ111以外の出力デバイスから出力してもよい。また、機械学習装置100は、機械学習進行画面115に相当する情報を他の装置に送信してもよい。
次に、機械学習装置100の機能および処理について説明する。
図14は、機械学習装置の機能例を示すブロック図である。
機械学習装置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は、機械学習の進行を管理するテーブルを記憶する。管理テーブル記憶部122に記憶されるテーブルの詳細は後述する。
学習結果記憶部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つの学習ステップが実行される毎に、同じ機械学習アルゴリズムについて次に実行すべきサンプルサイズを決定する。次に実行すべきサンプルサイズは、改善速度が最大になるサンプルサイズである。学習制御部135は、当該機械学習アルゴリズムと当該サンプルサイズの組に対応する実行時間を時間推定部133に推定させると共に性能改善量を性能改善量推定部134に推定させ、当該機械学習アルゴリズムを次に実行した場合の改善速度を算出する。また、学習制御部135は、1つの学習ステップが実行された結果として達成予測性能が上昇した場合、他の機械学習アルゴリズムの改善速度も更新する。
そして、学習制御部135は、複数の機械学習アルゴリズムの中から改善速度が最大のものを選択し、選択した機械学習アルゴリズムをステップ実行部132に実行させる。このとき、学習制御部135は、選択した機械学習アルゴリズムを、予定のサンプルサイズよりも小さいサンプルサイズで実行させることがある。また、学習制御部135は、選択した機械学習アルゴリズムを、予定のサンプルサイズよりも大きいサンプルサイズで実行させることがある。学習制御部135は、改善速度の更新と機械学習アルゴリズムの選択とを、改善速度が十分に小さくなるか学習時間が制限時間を超えるまで繰り返す。
学習制御部135は、機械学習の停止までに得られたモデルのうち予測性能が最大のモデルを学習結果記憶部123に保存する。また、学習制御部135は、予測性能と機械学習アルゴリズムの情報とサンプルサイズの情報を学習結果記憶部123に保存する。なお、学習制御部135は、機械学習の実行中に、機械学習進行画面115をディスプレイ111に表示するなど進行情報を適時出力するようにしてもよい。
図15は、履歴テーブルと関数テーブルとスケジュールテーブル例を示す図である。
履歴テーブル124は、管理テーブル記憶部122に記憶される。履歴テーブル124は、アルゴリズムID、サンプルサイズ、予測性能および実行時間の項目を有する。履歴テーブル124の1つのレコードは、実行された1つの学習ステップに対応する。アルゴリズムIDの項目には、実行された機械学習アルゴリズムの識別子が登録される。サンプルサイズの項目には、学習ステップで使用された訓練データのサンプルサイズが登録される。予測性能の項目には、学習ステップで算出された予測性能の測定値が登録される。実行時間の項目には、学習ステップで算出された実行時間の測定値が登録される。
履歴テーブル124に登録された予測性能のうちの最大値が、現在の達成予測性能に相当する。履歴テーブル124は、例えば、ステップ実行部132が出力した学習ステップの実行結果に基づいて学習制御部135によって更新される。履歴テーブル124の内容は、時間推定部133や性能改善量推定部134によって参照される。
関数テーブル125は、管理テーブル記憶部122に記憶される。関数テーブル125は、アルゴリズムID、予測性能関数、確率分布関数および実行時間関数の項目を有する。関数テーブル125の1つのレコードは、1つの機械学習アルゴリズムに対応する。アルゴリズムIDの項目には、機械学習アルゴリズムの識別子が登録される。予測性能関数の項目には、当該機械学習アルゴリズムについて算出された関数fp()、すなわち、予測性能の推定値を求める関数が登録される。確率分布関数の項目には、当該機械学習アルゴリズムについて算出された関数fXp()、すなわち、予測性能の確率分布を求める関数が登録される。実行時間関数の項目には、当該機械学習アルゴリズムについて算出された関数ft()、すなわち、実行時間の推定値を求める関数が登録される。
ある機械学習アルゴリズムの予測性能関数、確率分布関数および実行時間関数は、当該機械学習アルゴリズムについての予測性能の測定値や実行時間の測定値が増える毎に、すなわち、当該機械学習アルゴリズムの学習ステップが実行される毎に更新される。関数テーブル125は、例えば、時間推定部133や性能改善量推定部134によって更新される。また、関数テーブル125は、時間推定部133や性能改善量推定部134や学習制御部135によって参照される。
スケジュールテーブル126は、管理テーブル記憶部122に記憶される。スケジュールテーブル126は、アルゴリズムID、サンプルサイズおよび改善速度の項目を有する。スケジュールテーブル126の1つのレコードは、1つの機械学習アルゴリズムに対応する。アルゴリズムIDの項目には、機械学習アルゴリズムの識別子が登録される。サンプルサイズの項目には、当該機械学習アルゴリズムについて、次に実行する予定のサンプルサイズが登録される。改善速度の項目には、当該機械学習アルゴリズムを当該サンプルサイズで実行した場合に期待される予測性能の改善速度が登録される。
スケジュールテーブル126から、改善速度が最大の機械学習アルゴリズムが選択されて実行されることになる。スケジュールテーブル126の改善速度は、1つの学習ステップが実行された結果として達成予測性能が上昇する毎に更新される。改善速度の初期値は無限大である。一方、スケジュールテーブル126のサンプルサイズは、当該機械学習アルゴリズムが前回実行されたときに更新され、他の機械学習アルゴリズムによって達成予測性能が上昇しても更新されない。サンプルサイズの初期値は、例えば、データ集合Dのサイズの1/1024である。スケジュールテーブル126は、時間推定部133や性能改善量推定部134が出力した情報に基づいて学習制御部135によって更新される。
図16は、機械学習の手順例を示すフローチャートである。
(S10)学習制御部135は、データ記憶部121を参照して、最小サンプルサイズsinitを算出する。例えば、学習制御部135は、データ記憶部121に記憶されたデータ集合Dのサイズに基づいて、sinit=|D|/210と算出する。
(S11)学習制御部135は、スケジュールテーブル126に記憶された複数の機械学習アルゴリズムそれぞれのサンプルサイズをsinitに初期化し、複数の機械学習アルゴリズムそれぞれの改善速度を無限大(∞)に初期化する。また、学習制御部135は、達成予測性能Pを無限小に初期化する。
(S12)学習制御部135は、スケジュールテーブル126の中から改善速度が最大の機械学習アルゴリズムを選択する。ここで選択した機械学習アルゴリズムをaとする。
(S13)学習制御部135は、機械学習アルゴリズムaの改善速度rが、閾値R未満であるか判断する。閾値Rは、予め学習制御部135に設定されていてもよい。例えば、閾値R=0.001/3600とする。改善速度rが閾値R未満である場合はステップS31に処理が進み、それ以外の場合はステップS14に処理が進む。
(S14)学習制御部135は、スケジュールテーブル126から、機械学習アルゴリズムaに対応するサンプルサイズをサンプルサイズsとして取得する。学習制御部135は、前述の方法によって、サンプルサイズsよりも小さいサンプルサイズsであって、期待実行時間t12 が最小になるsを探索する。
(S15)学習制御部135は、ステップS14に該当するサンプルサイズsが存在するか判断する。該当するサンプルサイズsが存在する場合はステップS16に処理が進み、存在しない場合はステップS17に処理が進む。
(S16)学習制御部135は、機械学習アルゴリズムaおよびサンプルサイズsを用いた学習ステップをステップ実行部132に実行させる。ステップ実行部132の処理については後述する。そして、ステップS19に処理が進む。
(S17)学習制御部135は、スケジュールテーブル126から、機械学習アルゴリズムaの次に改善速度が大きい2番目の機械学習アルゴリズムを検索し、その改善速度を取得する。学習制御部135は、前述の方法によって、2番目の改善速度に基づいてサンプルサイズsをサンプルサイズsに増大させる。すなわち、学習制御部135は、機械学習アルゴリズムaの改善速度が2番目の改善速度を下回らない範囲で、機械学習アルゴリズムaのサンプルサイズを増大させる。
(S18)学習制御部135は、機械学習アルゴリズムaおよびサンプルサイズsを用いた学習ステップをステップ実行部132に実行させる。
(S19)学習制御部135は、ステップ実行部132から、学習されたモデルmと当該モデルの予測性能pと実行時間tとを取得する。学習制御部135は、機械学習アルゴリズムaおよびサンプルサイズs(sまたはs)と対応付けて、予測性能pと実行時間tを履歴テーブル124に保存する。
(S20)学習制御部135は、ステップS19で取得した予測性能pが達成予測性能Pより大きいか判断する。予測性能pが達成予測性能Pより大きい場合、学習制御部135は、達成予測性能Pを予測性能pに更新すると共に、達成予測性能Pが得られた機械学習アルゴリズムaとサンプルサイズs(sまたはs)とを記録しておく。
図17は、機械学習の手順例を示すフローチャート(続き)である。
(S21)学習制御部135は、ステップS20で達成予測性能Pが更新された場合、更新された達成予測性能Pを用いて、スケジュールテーブル126に記憶された機械学習アルゴリズムa以外の機械学習アルゴリズムそれぞれの改善速度を更新する。通常、達成予測性能Pが大きくなると、各機械学習アルゴリズムの改善速度は小さくなる。更新後の改善速度は、前回改善速度の算出に用いたfg(Xp,P)/tという式のPのみを入れ替えることで算出することができる。なお、スケジュールテーブル126に記憶された各機械学習アルゴリズムのサンプルサイズは更新しなくてよい。
(S22)学習制御部135は、時間推定部133および性能改善量推定部134に、機械学習アルゴリズムaについての関数を更新させる。時間推定部133は、ステップS19で取得された実行時間tを含む過去の実行時間の測定値を用いて、回帰分析により関数a.ft()を算出する。性能改善量推定部134は、ステップS19で取得された予測性能pを含む過去の予測性能の測定値を用いて、回帰分析により関数a.fp()およびa.fXp()を算出する。更新された関数a.fp(),a.fXp(),a.ft()は、関数テーブル125に記憶される。
(S23)学習制御部135は、前述の方法により、機械学習アルゴリズムaの改善速度を最大にするサンプルサイズsnewを算出する。学習制御部135は、幾つかのサンプルサイズについて、時間推定部133に実行時間の推定値を算出させ性能改善量推定部134に性能改善量を算出させることで、改善速度を試算してもよい。このとき、ステップS22で更新された関数a.fp(),a.fXp(),a.ft()が使用される。サンプルサイズsnewは、fg(fXp(s),P)/ft(s)を最大にするsである。
(S24)学習制御部135は、サンプルサイズsnewとデータ記憶部121に記憶されたデータ集合Dのサイズとを比較し、前者が後者より大きいか判断する。サンプルサイズsnewがデータ集合Dのサイズよりも大きい場合はステップS25に処理が進み、それ以外の場合はステップS26に処理が進む。
(S25)学習制御部135は、スケジュールテーブル126に記憶された機械学習アルゴリズムaに対応する改善速度を「0」に更新する。これにより、機械学習アルゴリズムaは実行されなくなる。そして、ステップS12に処理が進む。
(S26)学習制御部135は、時間推定部133に、機械学習アルゴリズムaおよびサンプルサイズsnewを用いた学習ステップの実行時間tを推定させる。時間推定部133の処理については後述する。
(S27)学習制御部135は、性能改善量推定部134に、機械学習アルゴリズムaおよびサンプルサイズsnewを用いた学習ステップの性能改善量gを推定させる。性能改善量推定部134の処理については後述する。
(S28)学習制御部135は、ステップS26で推定された実行時間tおよびステップS27で推定された性能改善量gに基づいて、機械学習アルゴリズムaおよびサンプルサイズsnewに対応する改善速度rnew =g/tを算出する。
(S29)学習制御部135は、機械学習を開始してからの経過時間が、制限時間入力部131から指定された制限時間を超えたか判断する。経過時間が制限時間を超えた場合はステップS31に処理が進み、それ以外の場合はステップS30に処理が進む。
(S30)学習制御部135は、スケジュールテーブル126に<a,snew,rnew >の組を保存する。すなわち、学習制御部135は、スケジュールテーブル126に記憶された機械学習アルゴリズムaに対応するサンプルサイズをsnewに更新する。また、学習制御部135は、スケジュールテーブル126に記憶された機械学習アルゴリズムaに対応する改善速度をrnew に更新する。そして、ステップS12に処理が進む。
(S31)学習制御部135は、達成予測性能Pとその予測性能が得られたモデルmとを学習結果記憶部123に保存する。また、学習制御部135は、達成予測性能Pに対応付けられた機械学習アルゴリズムの識別情報と、達成予測性能Pに対応付けられたサンプルサイズとを、学習結果記憶部123に保存する。
図18は、ステップ実行の手順例を示すフローチャートである。
ここでは、バリデーション方法として、データ集合Dのサイズに応じて、ランダムサブサンプリングバリデーションまたはクロスバリデーションを実行する場合を考える。ただし、ステップ実行部132は、他のバリデーション方法を用いてもよい。
(S40)ステップ実行部132は、学習制御部135から指定された機械学習アルゴリズムaとサンプルサイズsとを特定する。また、ステップ実行部132は、データ記憶部121に記憶されているデータ集合Dを特定する。
(S41)ステップ実行部132は、サンプルサイズsが、データ集合Dのサイズの2/3よりも大きいか判断する。サンプルサイズsが2/3×|D|よりも大きい場合、ステップ実行部132は、データ量が不足しているためクロスバリデーションを選択する。そして、ステップS48に処理が進む。サンプルサイズsが2/3×|D|以下である場合、ステップ実行部132は、データ量が十分あるためランダムサブサンプリングバリデーションを選択する。そして、ステップS42に処理が進む。
(S42)ステップ実行部132は、データ集合Dからサンプルサイズsの訓練データDをランダムに抽出する。訓練データの抽出は、非復元抽出サンプリングとして行う。よって、訓練データには、互いに異なるs個の単位データが含まれる。
(S43)ステップ実行部132は、データ集合Dのうち訓練データDを除いた部分から、サイズs/2のテストデータDをランダムに抽出する。テストデータの抽出は、非復元抽出サンプリングとして行う。よって、テストデータには、訓練データDと異なりかつ互いに異なるs/2個の単位データが含まれる。なお、ここでは訓練データDのサイズとテストデータDのサイズの比を2:1としたが、比を変更してもよい。
(S44)ステップ実行部132は、機械学習アルゴリズムaとデータ集合Dから抽出した訓練データDとを用いてモデルを学習する。
(S45)ステップ実行部132は、学習したモデルとデータ集合Dから抽出したテストデータDとを用いて、モデルの予測性能を算出する。予測性能を表す指標として、正答率、適合率、RMSEなど任意の指標を用いることができる。予測性能を表す指標が、予めステップ実行部132に設定されてもよい。
(S46)ステップ実行部132は、上記ステップS42〜S45の繰り返し回数と閾値Kとを比較し、前者が後者未満であるか判断する。閾値Kは、予めステップ実行部132に設定されていてもよい。例えば、閾値K=10とする。繰り返し回数が閾値K未満の場合はステップS42に処理が進み、それ以外の場合はステップS47に処理が進む。
(S47)ステップ実行部132は、ステップS45で算出されたK個の予測性能の平均値を算出し、予測性能pとして出力する。また、ステップ実行部132は、ステップS40が開始されてからステップS42〜S46の繰り返しが終了するまでの実行時間tを算出して出力する。また、ステップ実行部132は、ステップS44で学習されたK個のモデルのうち予測性能が最大のモデルmを出力する。そして、ランダムサブサンプリングバリデーションによる1つの学習ステップが終了する。
(S48)ステップ実行部132は、上記のランダムサブサンプリングバリデーションに代えて、前述したクロスバリデーションを実行する。例えば、ステップ実行部132は、データ集合Dからサンプルサイズsのサンプルデータをランダムに抽出し、抽出したサンプルデータをK個のブロックに均等に分割する。ステップ実行部132は、K−1個のブロックを訓練データとして使用し1個のブロックをテストデータとして使用することを、テストデータのブロックを変えながらK回繰り返す。ステップ実行部132は、K個の予測性能の平均である予測性能pと実行時間tと予測性能が最大のモデルmを出力する。
図19は、時間推定の手順例を示すフローチャートである。
(S50)時間推定部133は、学習制御部135から指定された機械学習アルゴリズムaとサンプルサイズsとを特定する。
(S51)時間推定部133は、機械学習アルゴリズムaが2以上のサンプルサイズで実行済みであるか判断する。機械学習アルゴリズムaが2以上のサンプルサイズで実行済みである場合はステップS52に処理が進み、1つのサンプルサイズでのみ実行されている場合はステップS55に処理が進む。
(S52)時間推定部133は、履歴テーブル124から、機械学習アルゴリズムaに対応する2組以上のサンプルサイズと実行時間tを検索する。
(S53)時間推定部133は、サンプルサイズを説明変数とし実行時間tを目的変数とする回帰分析により、関数a.ft()を算出する。例えば、時間推定部133は、線形回帰分析によりa.ft(s)=β+α×sの係数α,βを決定する。別の例としては、時間推定部133は、線形回帰分析によりa.ft(s)=β+α×log(s)の係数α,βを決定することにしてもよい。時間推定部133は、関数テーブル125の関数a.ft()を更新する。ただし、関数a.ft()を前回算出してから機械学習アルゴリズムaについての履歴が増えていない場合、時間推定部133は関数a.ft()を更新しなくてもよい。その場合、時間推定部133は、関数テーブル125から最新の関数a.ft()を取得できる。
(S54)時間推定部133は、ステップS53で算出した関数a.ft()とステップS50で特定したサンプルサイズsを用いて、機械学習アルゴリズムaおよびサンプルサイズsに対応する実行時間t=a.ft(s)を推定する。時間推定部133は、推定した実行時間tを出力する。そして、時間推定が終了する。
(S55)時間推定部133は、履歴テーブル124から、機械学習アルゴリズムaに対応する1組のサンプルサイズと実行時間tを検索する。
(S56)時間推定部133は、検索されたサンプルサイズをsとし実行時間をtとすると、機械学習アルゴリズムaおよびサンプルサイズsに対応する実行時間t=t×s/sを推定する。時間推定部133は、推定した実行時間tを出力する。
図20は、性能改善量推定の手順例を示すフローチャートである。
(S60)性能改善量推定部134は、学習制御部135から指定された機械学習アルゴリズムaとサンプルサイズsとを特定する。
(S61)性能改善量推定部134は、履歴テーブル124から、機械学習アルゴリズムaに対応する1組以上のサンプルサイズと予測性能pを検索する。
(S62)性能改善量推定部134は、サンプルサイズを説明変数とし予測性能pを目的変数とする回帰分析により、関数a.fp()と関数a.fXp()を算出する。例えば、性能改善量推定部134は、非線形回帰分析によりa.fp(s)=β−α×s−γの係数α,β,γを決定する。各サンプルサイズにおける予測性能の確率分布を示す関数a.fXp()は、回帰分析を通じて求めることができる。ただし、a.fXp()からa.fp()を導出することも可能である。
性能改善量推定部134は、関数テーブル125の関数a.fp(),a.fXp()を更新する。ただし、関数a.fp(),a.fXp()を前回算出してから機械学習アルゴリズムaについての履歴が増えていない場合、性能改善量推定部134は関数a.fp(),a.fXp()を更新しなくてもよい。その場合、性能改善量推定部134は、関数テーブル125から最新の関数a.fp(),a.fXp()を取得できる。
(S63)性能改善量推定部134は、ステップS62で算出した関数a.fXp()とステップS60で特定したサンプルサイズsを用いて、機械学習アルゴリズムaおよびサンプルサイズsに対応する確率分布Xp=a.fXp(s)を算出する。性能改善量推定部134は、サンプルサイズsにおける確率分布Xpに基づいて、95%予測区間の上限値uを算出する。この上限値uを、UCBや97.5%分位点と呼ぶこともある。ただし、UCBに代えて、予測性能が達成予測性能Pを超える期待値(EI)などを確率分布Xpの積分によって算出し、上限値uとして用いてもよい。
(S64)性能改善量推定部134は、現在の達成予測性能Pと上限値uを比較して性能改善量g=Max(0,u−P)を推定し、推定した性能改善量gを出力する。性能改善量gは、u>Pであればu−Pであり、u≦Pであれば0である。
第2の実施の形態の機械学習装置100によれば、複数の機械学習アルゴリズムそれぞれについて、次に使用する予定のサンプルサイズが選択され、そのサンプルサイズにおける改善速度が推定される。そして、複数の機械学習アルゴリズムの中から改善速度が最大の機械学習アルゴリズムが選択され、選択された機械学習アルゴリズムが1つのサンプルサイズで実行される。以上の学習ステップが1つずつ進められる。
これにより、達成予測性能の向上に寄与しなくなった機械学習アルゴリズムは実行されなくなり、全体の機械学習時間を短縮することができる。また、改善速度が最大の機械学習アルゴリズムが選択されるため、機械学習時間に制限があり機械学習を途中で打ち切った場合であっても、終了時刻までに得られたモデルが、制限時間内に得られる最良のモデルとなる。また、少しでも達成予測性能の向上に寄与する機械学習アルゴリズムは、実行順序が後になっても実行される余地が残される。このため、予測性能の上限が高い機械学習アルゴリズムをサンプルサイズが小さいうちに打ち切ってしまうリスクを低減できる。
また、複数の機械学習アルゴリズムそれぞれのサンプルサイズの増加量は固定でなく、当該機械学習アルゴリズムや他の機械学習アルゴリズムの実行状況を考慮して調整される。すなわち、次に使用するサンプルサイズは、予測性能の改善速度が最大になるサンプルサイズを基準にして選択される。よって、達成予測性能の上昇速度が向上する。
また、大きいサンプルサイズの学習ステップの実行される可能性が高い機械学習アルゴリズムについては、小さなサンプルサイズがスキップされて大きなサンプルサイズが選択される。よって、サンプルサイズを大きくする過程で生じる途中の無駄な学習ステップを削減することができる。また、大きいサンプルサイズの学習ステップの実行される可能性が高くない機械学習アルゴリズムについては、より小さなサンプルサイズが選択される。よって、大きなサンプルサイズを用いずに予測性能の推定精度を向上させることができ、予測性能の上限の低い機械学習アルゴリズムを早期に打ち切ることができる。
このように、複数の機械学習アルゴリズムおよび複数のサンプルサイズを用いた機械学習を効率化でき、機械学習時間を短縮することができる。
10 機械学習管理装置
11 記憶部
12 制御部
13a,13b 機械学習アルゴリズム
14 最大予測性能
15a,15b,15c,15d 推定予測性能
16a,16b,16c,16d 推定実行時間
17a,17b 訓練データサイズ

Claims (6)

  1. コンピュータに、
    複数の機械学習アルゴリズムそれぞれを1以上の訓練データサイズで実行することで生成された複数のモデルに対応する複数の予測性能の中から、最大予測性能を特定し、
    前記複数の機械学習アルゴリズムのうち前記最大予測性能をもつモデルを生成した第1の機械学習アルゴリズムについて、前記1以上の訓練データサイズの実行結果から、2以上の他の訓練データサイズそれぞれで実行した場合の第1の推定予測性能と第1の推定実行時間とを算出し、前記最大予測性能と前記第1の推定予測性能と前記第1の推定実行時間とに基づいて、前記第1の機械学習アルゴリズムを次に実行するときに使用する第1の訓練データサイズを決定し、
    前記複数の機械学習アルゴリズムのうち前記第1の機械学習アルゴリズムと異なる第2の機械学習アルゴリズムについて、前記1以上の訓練データサイズの実行結果から、2以上の他の訓練データサイズそれぞれで実行した場合の第2の推定予測性能と第2の推定実行時間とを算出し、前記最大予測性能と前記第2の推定予測性能と前記第2の推定実行時間とに基づいて、前記第2の機械学習アルゴリズムを次に実行するときに使用する第2の訓練データサイズを決定する、
    処理を実行させる機械学習管理プログラム。
  2. 前記第1の訓練データサイズの決定では、前記最大予測性能と前記第1の推定予測性能と前記第1の推定実行時間とから、単位実行時間当たりの前記最大予測性能の増加量を示す第1の増加速度を算出し、前記2以上の他の訓練データサイズそれぞれの前記第1の増加速度に基づいて前記第1の訓練データサイズを決定し、
    前記第2の訓練データサイズの決定では、前記最大予測性能と前記第2の推定予測性能と前記第2の推定実行時間とから、単位実行時間当たりの前記最大予測性能の増加量を示す第2の増加速度を算出し、前記2以上の他の訓練データサイズそれぞれの前記第2の増加速度に基づいて前記第2の訓練データサイズを決定する、
    請求項1記載の機械学習管理プログラム。
  3. 前記第1の訓練データサイズの決定では、前記第1の増加速度の最大値が前記第2の増加速度の最大値より大きい場合に、前記第1の増加速度が最大になる訓練データサイズよりも前記第1の訓練データサイズを大きくする、
    請求項2記載の機械学習管理プログラム。
  4. 前記第2の訓練データサイズの決定では、前記第2の推定予測性能と前記第2の推定実行時間とが所定条件を満たす場合に、前記第2の増加速度が最大になる訓練データサイズよりも前記第2の訓練データサイズを小さくする、
    請求項2記載の機械学習管理プログラム。
  5. 複数の機械学習アルゴリズムそれぞれを1以上の訓練データサイズで実行することで生成された複数のモデルに対応する複数の予測性能の情報を記憶する記憶部と、
    前記複数の予測性能の中から最大予測性能を特定し、
    前記複数の機械学習アルゴリズムのうち前記最大予測性能をもつモデルを生成した第1の機械学習アルゴリズムについて、前記1以上の訓練データサイズの実行結果から、2以上の他の訓練データサイズそれぞれで実行した場合の第1の推定予測性能と第1の推定実行時間とを算出し、前記最大予測性能と前記第1の推定予測性能と前記第1の推定実行時間とに基づいて、前記第1の機械学習アルゴリズムを次に実行するときに使用する第1の訓練データサイズを決定し、
    前記複数の機械学習アルゴリズムのうち前記第1の機械学習アルゴリズムと異なる第2の機械学習アルゴリズムについて、前記1以上の訓練データサイズの実行結果から、2以上の他の訓練データサイズそれぞれで実行した場合の第2の推定予測性能と第2の推定実行時間とを算出し、前記最大予測性能と前記第2の推定予測性能と前記第2の推定実行時間とに基づいて、前記第2の機械学習アルゴリズムを次に実行するときに使用する第2の訓練データサイズを決定する制御部と、
    を有する機械学習管理装置。
  6. コンピュータが実行する機械学習管理方法であって、
    複数の機械学習アルゴリズムそれぞれを1以上の訓練データサイズで実行することで生成された複数のモデルに対応する複数の予測性能の中から、最大予測性能を特定し、
    前記複数の機械学習アルゴリズムのうち前記最大予測性能をもつモデルを生成した第1の機械学習アルゴリズムについて、前記1以上の訓練データサイズの実行結果から、2以上の他の訓練データサイズそれぞれで実行した場合の第1の推定予測性能と第1の推定実行時間とを算出し、前記最大予測性能と前記第1の推定予測性能と前記第1の推定実行時間とに基づいて、前記第1の機械学習アルゴリズムを次に実行するときに使用する第1の訓練データサイズを決定し、
    前記複数の機械学習アルゴリズムのうち前記第1の機械学習アルゴリズムと異なる第2の機械学習アルゴリズムについて、前記1以上の訓練データサイズの実行結果から、2以上の他の訓練データサイズそれぞれで実行した場合の第2の推定予測性能と第2の推定実行時間とを算出し、前記最大予測性能と前記第2の推定予測性能と前記第2の推定実行時間とに基づいて、前記第2の機械学習アルゴリズムを次に実行するときに使用する第2の訓練データサイズを決定する、
    機械学習管理方法。
JP2016138672A 2016-07-13 2016-07-13 機械学習管理プログラム、機械学習管理装置および機械学習管理方法 Active JP6697159B2 (ja)

Priority Applications (3)

Application Number Priority Date Filing Date Title
JP2016138672A JP6697159B2 (ja) 2016-07-13 2016-07-13 機械学習管理プログラム、機械学習管理装置および機械学習管理方法
US15/639,593 US11568300B2 (en) 2016-07-13 2017-06-30 Apparatus and method for managing machine learning with plurality of learning algorithms and plurality of training dataset sizes
US15/641,287 US20180018587A1 (en) 2016-07-13 2017-07-04 Apparatus and method for managing machine learning

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2016138672A JP6697159B2 (ja) 2016-07-13 2016-07-13 機械学習管理プログラム、機械学習管理装置および機械学習管理方法

Publications (2)

Publication Number Publication Date
JP2018010475A true JP2018010475A (ja) 2018-01-18
JP6697159B2 JP6697159B2 (ja) 2020-05-20

Family

ID=60940611

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2016138672A Active JP6697159B2 (ja) 2016-07-13 2016-07-13 機械学習管理プログラム、機械学習管理装置および機械学習管理方法

Country Status (2)

Country Link
US (2) US11568300B2 (ja)
JP (1) JP6697159B2 (ja)

Cited By (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2019163823A1 (ja) * 2018-02-20 2019-08-29 株式会社Abeja 情報処理システム
JP2019148876A (ja) * 2018-02-26 2019-09-05 日本電信電話株式会社 制御装置、データ処理制御方法、及びプログラム
JP2019159769A (ja) * 2018-03-13 2019-09-19 富士通株式会社 探索プログラム、探索方法および探索装置
WO2019187372A1 (ja) * 2018-03-30 2019-10-03 Necソリューションイノベータ株式会社 予測システム、モデル生成システム、方法およびプログラム
JP2020052514A (ja) * 2018-09-25 2020-04-02 日本電気株式会社 AI(artificial intelligence)実行支援装置、方法、及びプログラム
WO2020100894A1 (ja) * 2018-11-16 2020-05-22 日本電信電話株式会社 学習装置、方法、及びプログラム
JPWO2020004049A1 (ja) * 2018-06-27 2021-07-08 ソニーグループ株式会社 情報処理装置、情報処理方法、およびプログラム
WO2022113175A1 (ja) * 2020-11-24 2022-06-02 日本電信電話株式会社 処理方法、処理システム及び処理プログラム
KR102616968B1 (ko) * 2023-07-13 2023-12-27 주식회사 마키나락스 이상 탐지 모델의 추가 학습 여부 및 학습 데이터 적절성 판단 방법
JP7492865B2 (ja) 2019-06-14 2024-05-30 ワン テック,インク. 産業機器モータ挙動を予測するためのシステムおよび方法

Families Citing this family (23)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11341138B2 (en) * 2017-12-06 2022-05-24 International Business Machines Corporation Method and system for query performance prediction
US11494633B2 (en) * 2017-12-30 2022-11-08 Intel Corporation Techniques to manage training or trained models for deep learning applications
US11915151B2 (en) * 2018-08-27 2024-02-27 Zoe Limited Accuracy of test data outside the clinic
JP6955702B2 (ja) * 2018-03-06 2021-10-27 オムロン株式会社 情報処理装置、情報処理方法、及びプログラム
CN110389816B (zh) * 2018-04-20 2023-05-23 伊姆西Ip控股有限责任公司 用于资源调度的方法、装置以及计算机可读介质
US11010308B2 (en) 2018-08-10 2021-05-18 Lg Electronics Inc. Optimizing data partitioning and replacement strategy for convolutional neural networks
US11573962B2 (en) * 2018-10-19 2023-02-07 Oracle International Corporation Dynamic performance tuning based on implied data characteristics
US11568179B2 (en) 2018-10-19 2023-01-31 Oracle International Corporation Selecting an algorithm for analyzing a data set based on the distribution of the data set
US11593655B2 (en) * 2018-11-30 2023-02-28 Baidu Usa Llc Predicting deep learning scaling
US11693373B2 (en) * 2018-12-10 2023-07-04 California Institute Of Technology Systems and methods for robust learning-based control during forward and landing flight under uncertain conditions
US11030484B2 (en) * 2019-03-22 2021-06-08 Capital One Services, Llc System and method for efficient generation of machine-learning models
US11394732B1 (en) * 2019-09-10 2022-07-19 NortonLifeLock Inc. Systems and methods for adaptively managing data drift in a classifier
US11681931B2 (en) 2019-09-24 2023-06-20 International Business Machines Corporation Methods for automatically configuring performance evaluation schemes for machine learning algorithms
US11734582B2 (en) * 2019-10-31 2023-08-22 Sap Se Automated rule generation framework using machine learning for classification problems
US11301226B2 (en) * 2019-11-05 2022-04-12 Dell Products L.P. Enterprise deployment framework with artificial intelligence/machine learning
US11694077B2 (en) * 2019-12-23 2023-07-04 Intel Corporation Methods, systems, and articles of manufacture to autonomously select data structures
US11386357B1 (en) * 2020-03-12 2022-07-12 Digital.Ai Software, Inc. System and method of training machine learning models to generate intuitive probabilities
US11768945B2 (en) * 2020-04-07 2023-09-26 Allstate Insurance Company Machine learning system for determining a security vulnerability in computer software
US20220171662A1 (en) * 2020-11-27 2022-06-02 Kyndryl, Inc. Transitioning of computer-related services based on performance criteria
US11354597B1 (en) * 2020-12-30 2022-06-07 Hyland Uk Operations Limited Techniques for intuitive machine learning development and optimization
US11526606B1 (en) * 2022-06-30 2022-12-13 Intuit Inc. Configuring machine learning model thresholds in models using imbalanced data sets
CN115456202B (zh) * 2022-11-08 2023-04-07 苏州浪潮智能科技有限公司 一种提高工作机学习性能的方法、装置、设备及介质
FR3147406A1 (fr) * 2023-04-03 2024-10-04 Stmicroelectronics International N.V. Procédé de recherche d’une combinaison optimale d’hyperparamètres pour un modèle d’apprentissage automatique

Family Cites Families (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7849032B1 (en) * 2002-05-24 2010-12-07 Oracle International Corporation Intelligent sampling for neural network data mining models
US20050125434A1 (en) * 2003-12-03 2005-06-09 International Business Machines Corporation System and method for scalable cost-sensitive learning
US20060074828A1 (en) * 2004-09-14 2006-04-06 Heumann John M Methods and apparatus for detecting temporal process variation and for managing and predicting performance of automatic classifiers
US7373332B2 (en) * 2004-09-14 2008-05-13 Agilent Technologies, Inc. Methods and apparatus for detecting temporal process variation and for managing and predicting performance of automatic classifiers
US20060074826A1 (en) * 2004-09-14 2006-04-06 Heumann John M Methods and apparatus for detecting temporal process variation and for managing and predicting performance of automatic classifiers
US20060074827A1 (en) * 2004-09-14 2006-04-06 Heumann John M Methods and apparatus for detecting temporal process variation and for managing and predicting performance of automatic classifiers
JP5220202B2 (ja) 2009-10-26 2013-06-26 三菱電機株式会社 データ処理装置及びデータ処理方法及びプログラム
CN103294716B (zh) 2012-02-29 2016-08-10 佳能株式会社 用于分类器的在线半监督学习方法和装置及处理设备
JP5656946B2 (ja) 2012-09-27 2015-01-21 株式会社東芝 データ分析装置及びプログラム

Cited By (20)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2020113319A (ja) * 2018-02-20 2020-07-27 株式会社Abeja 情報処理システム
WO2019163823A1 (ja) * 2018-02-20 2019-08-29 株式会社Abeja 情報処理システム
JPWO2019163823A1 (ja) * 2018-02-20 2020-04-09 株式会社Abeja 情報処理システム
JP2019148876A (ja) * 2018-02-26 2019-09-05 日本電信電話株式会社 制御装置、データ処理制御方法、及びプログラム
JP2019159769A (ja) * 2018-03-13 2019-09-19 富士通株式会社 探索プログラム、探索方法および探索装置
JP7071624B2 (ja) 2018-03-13 2022-05-19 富士通株式会社 探索プログラム、探索方法および探索装置
JPWO2019187372A1 (ja) * 2018-03-30 2021-02-12 Necソリューションイノベータ株式会社 予測システム、モデル生成システム、方法およびプログラム
JP7007027B2 (ja) 2018-03-30 2022-01-24 Necソリューションイノベータ株式会社 予測システム、モデル生成システム、方法およびプログラム
CN111937084A (zh) * 2018-03-30 2020-11-13 日本电气方案创新株式会社 预测系统、模型生成系统、方法和程序
WO2019187372A1 (ja) * 2018-03-30 2019-10-03 Necソリューションイノベータ株式会社 予測システム、モデル生成システム、方法およびプログラム
JP7318646B2 (ja) 2018-06-27 2023-08-01 ソニーグループ株式会社 情報処理装置、情報処理方法、およびプログラム
JPWO2020004049A1 (ja) * 2018-06-27 2021-07-08 ソニーグループ株式会社 情報処理装置、情報処理方法、およびプログラム
JP7172356B2 (ja) 2018-09-25 2022-11-16 日本電気株式会社 AI(artificial intelligence)実行支援装置、方法、及びプログラム
JP2020052514A (ja) * 2018-09-25 2020-04-02 日本電気株式会社 AI(artificial intelligence)実行支援装置、方法、及びプログラム
JP7024692B2 (ja) 2018-11-16 2022-02-24 日本電信電話株式会社 学習装置、方法、及びプログラム
JP2020086605A (ja) * 2018-11-16 2020-06-04 日本電信電話株式会社 学習装置、方法、及びプログラム
WO2020100894A1 (ja) * 2018-11-16 2020-05-22 日本電信電話株式会社 学習装置、方法、及びプログラム
JP7492865B2 (ja) 2019-06-14 2024-05-30 ワン テック,インク. 産業機器モータ挙動を予測するためのシステムおよび方法
WO2022113175A1 (ja) * 2020-11-24 2022-06-02 日本電信電話株式会社 処理方法、処理システム及び処理プログラム
KR102616968B1 (ko) * 2023-07-13 2023-12-27 주식회사 마키나락스 이상 탐지 모델의 추가 학습 여부 및 학습 데이터 적절성 판단 방법

Also Published As

Publication number Publication date
JP6697159B2 (ja) 2020-05-20
US11568300B2 (en) 2023-01-31
US20180018586A1 (en) 2018-01-18
US20180018587A1 (en) 2018-01-18

Similar Documents

Publication Publication Date Title
JP6697159B2 (ja) 機械学習管理プログラム、機械学習管理装置および機械学習管理方法
JP6555015B2 (ja) 機械学習管理プログラム、機械学習管理装置および機械学習管理方法
JP6974712B2 (ja) 探索方法、探索装置および探索プログラム
JP6703264B2 (ja) 機械学習管理プログラム、機械学習管理方法および機械学習管理装置
JP6849915B2 (ja) 比較プログラム、比較方法および比較装置
JP6536295B2 (ja) 予測性能曲線推定プログラム、予測性能曲線推定装置および予測性能曲線推定方法
JP6947981B2 (ja) 推定方法、推定装置および推定プログラム
US9129228B1 (en) Robust and fast model fitting by adaptive sampling
Zliobaite et al. Adaptive preprocessing for streaming data
JP2017228086A (ja) 機械学習管理プログラム、機械学習管理方法、および機械学習管理装置
JP7071624B2 (ja) 探索プログラム、探索方法および探索装置
JP7040319B2 (ja) 運用管理装置、移動先推奨方法及び移動先推奨プログラム
JP6821614B2 (ja) モデル学習装置、モデル学習方法、プログラム
US20170017655A1 (en) Candidate services for an application
JP6658507B2 (ja) 負荷推定システム、情報処理装置、負荷推定方法、及び、コンピュータ・プログラム
JP7481902B2 (ja) 管理計算機、管理プログラム、及び管理方法
JP2022007168A (ja) 学習プログラム、学習方法および情報処理装置
JP2020052459A (ja) 故障予知方法、故障予知装置および故障予知プログラム
JP2020187417A (ja) 物性予測装置及び物性予測方法
EP4170558A1 (en) Program, data processing method, and data processing device
JP2020149230A (ja) 機械学習プログラム、機械学習方法および機械学習システム
US20170262905A1 (en) Computer-readable recording medium, data accumulation determination method, and data accumulation determination apparatus
US20210319259A1 (en) Method and apparatus for extracting a pattern of time series data
KR101382078B1 (ko) 개발자 동작에 기반한 문맥적인 코드 목록 추천 방법 및 이를 이용하는 코드 목록 추천 장치
US20220222555A1 (en) Parameter estimation apparatus, congestion estimation apparatus, parameter estimation method, congestion estimation method and program

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20190409

RD02 Notification of acceptance of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7422

Effective date: 20190416

RD04 Notification of resignation of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7424

Effective date: 20190416

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20200225

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20200324

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20200406

R150 Certificate of patent or registration of utility model

Ref document number: 6697159

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150