図面 (/)

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

出願人 富士通株式会社
発明者 小林健一浦晃上田晴康
出願日 2016年7月13日 (4年5ヶ月経過) 出願番号 2016-138672
公開日 2018年1月18日 (2年11ヶ月経過) 公開番号 2018-010475
状態 特許登録済
技術分野 学習型計算機
主要キーワード 二分探索法 各説明変数 母集合 フィッティング精度 予測区間 推定実行 データ分析装置 上昇カーブ
関連する未来課題
重要な関連分野

この項目の情報は公開日時点(2018年1月18日)のものです。
また、この項目は機械的に抽出しているため、正しく解析できていない場合があります

図面 (20)

課題

複数の機械学習アルゴリズムを繰り返し実行する機械学習においてモデル予測性能が上がる速度を向上させる。

解決手段

複数の機械学習アルゴリズムそれぞれを実行することで生成された複数のモデルに対応する複数の予測性能の中から、最大予測性能14を特定する。最大予測性能14をもつモデルを生成した機械学習アルゴリズム13aについて、最大予測性能14と推定予測性能15a,15bと推定実行時間16a,16bとに基づいて、機械学習アルゴリズム13aを次に実行するときに使用する訓練データサイズ17aを決定する。機械学習アルゴリズム13aと異なる機械学習アルゴリズム13bについて、最大予測性能14と推定予測性能15c,15dと推定実行時間16c,16dとに基づいて、機械学習アルゴリズム13bを次に実行するときに使用する訓練データサイズ17bを決定する。

概要

背景

コンピュータを利用したデータ分析の1つとして、機械学習が行われることがある。機械学習では、幾つかの既知の事例を示す訓練データをコンピュータに入力する。コンピュータは、訓練データを分析して、要因説明変数独立変数と言うことがある)と結果(目的変数従属変数と言うことがある)との間の関係を一般化したモデルを学習する。学習されたモデルを用いることで、未知の事例についての結果を予測することができる。例えば、複数人生活習慣病気の有無を調査した訓練データから、任意の人の病気の発症リスクを予測するモデルを学習できる。また、過去の商品サービス需要量を示す訓練データから、将来の商品・サービスの需要量を予測するモデルを学習できる。

機械学習では、学習されるモデルの正確さ、すなわち、未知の事例の結果を正確に予測する能力予測性能と言うことがある)が高いことが好ましい。予測性能は、学習に用いる訓練データのサイズが大きいほど高くなる。一方、訓練データのサイズが大きいほど、モデルの学習時間も長くなる。そこで、実用上十分な予測性能をもつモデルを効率的に得られるようにする方法として、プログレッシブサンプリング法が提案されている。

プログレッシブサンプリング法では、コンピュータは、まず小さなサイズの訓練データを用いてモデルを学習する。コンピュータは、訓練データとは異なる既知の事例を示すテストデータを用いて、モデルによって予測した結果と既知の結果とを比較し、学習されたモデルの予測性能を評価する。予測性能が十分でない場合、コンピュータは、前回よりもサイズが大きい訓練データを用いてモデルを再度学習する。以上を予測性能が十分に高くなるまで繰り返すことで、過度にサイズの大きな訓練データを使用することを抑制でき、モデルの学習時間を短縮することができる。

なお、文書を複数のカテゴリ分類するための分類ルールを、機械学習を用いて生成するデータ処理装置が提案されている。提案のデータ処理装置は、予め複数のカテゴリに分類されたサンプル文書の一部を用いてカテゴリ毎の特徴を学習する。このとき、データ処理装置は、選択したサンプル文書の総数が所定の上限を超えず、かつ、分類間のサンプル文書数の偏りが小さくなるように、機械学習に用いる一部のサンプル文書を選択する。

また、あるカテゴリに属するデータと当該カテゴリに属さないデータとを区分する境界面を学習する学習方法が提案されている。提案の学習方法は、あるサンプル集合を用いて境界面を1回学習した後、当該カテゴリに属するか否か明示されていないラベル無しサンプルをサンプル集合に追加する。境界面上の点であるサポートベクトルに基づいて、追加されたラベル無しサンプルの中から新たなサポートベクトルを選択し、既存のサポートベクトルの幾つかを新たなサポートベクトルに置き換える。

また、オリジナルデータを加工して機械学習の訓練データとして使用するデータ分析装置が提案されている。提案のデータ分析装置は、機械学習時に評価したモデルの予測性能を記憶しておくと共に、新規データをモデルに適用する運用時における予測性能を監視する。データ分析装置は、運用時の予測性能が機械学習当初の予測性能より低下した場合、データの傾向が変化したと判断し、前回とは異なる方法でオリジナルデータを加工することで生成した新たな訓練データを用いてモデルを再学習する。

概要

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

目的

本発明は、複数の機械学習アルゴリズムを繰り返し実行する機械学習においてモデルの予測性能が上がる速度を向上できる機械学習管理プログラム、機械学習管理装置および機械学習管理方法を提供する

効果

実績

技術文献被引用数
1件
牽制数
0件

この技術が所属する分野

(分野番号表示ON)※整理標準化データをもとに当社作成

ライセンス契約や譲渡などの可能性がある特許掲載中! 開放特許随時追加・更新中 詳しくはこちら

請求項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の訓練データサイズを決定する、機械学習管理方法。

技術分野

0001

本発明は機械学習管理プログラム、機械学習管理装置および機械学習管理方法に関する。

背景技術

0002

コンピュータを利用したデータ分析の1つとして、機械学習が行われることがある。機械学習では、幾つかの既知の事例を示す訓練データをコンピュータに入力する。コンピュータは、訓練データを分析して、要因説明変数独立変数と言うことがある)と結果(目的変数従属変数と言うことがある)との間の関係を一般化したモデルを学習する。学習されたモデルを用いることで、未知の事例についての結果を予測することができる。例えば、複数人生活習慣病気の有無を調査した訓練データから、任意の人の病気の発症リスクを予測するモデルを学習できる。また、過去の商品サービス需要量を示す訓練データから、将来の商品・サービスの需要量を予測するモデルを学習できる。

0003

機械学習では、学習されるモデルの正確さ、すなわち、未知の事例の結果を正確に予測する能力予測性能と言うことがある)が高いことが好ましい。予測性能は、学習に用いる訓練データのサイズが大きいほど高くなる。一方、訓練データのサイズが大きいほど、モデルの学習時間も長くなる。そこで、実用上十分な予測性能をもつモデルを効率的に得られるようにする方法として、プログレッシブサンプリング法が提案されている。

0004

プログレッシブサンプリング法では、コンピュータは、まず小さなサイズの訓練データを用いてモデルを学習する。コンピュータは、訓練データとは異なる既知の事例を示すテストデータを用いて、モデルによって予測した結果と既知の結果とを比較し、学習されたモデルの予測性能を評価する。予測性能が十分でない場合、コンピュータは、前回よりもサイズが大きい訓練データを用いてモデルを再度学習する。以上を予測性能が十分に高くなるまで繰り返すことで、過度にサイズの大きな訓練データを使用することを抑制でき、モデルの学習時間を短縮することができる。

0005

なお、文書を複数のカテゴリ分類するための分類ルールを、機械学習を用いて生成するデータ処理装置が提案されている。提案のデータ処理装置は、予め複数のカテゴリに分類されたサンプル文書の一部を用いてカテゴリ毎の特徴を学習する。このとき、データ処理装置は、選択したサンプル文書の総数が所定の上限を超えず、かつ、分類間のサンプル文書数の偏りが小さくなるように、機械学習に用いる一部のサンプル文書を選択する。

0006

また、あるカテゴリに属するデータと当該カテゴリに属さないデータとを区分する境界面を学習する学習方法が提案されている。提案の学習方法は、あるサンプル集合を用いて境界面を1回学習した後、当該カテゴリに属するか否か明示されていないラベル無しサンプルをサンプル集合に追加する。境界面上の点であるサポートベクトルに基づいて、追加されたラベル無しサンプルの中から新たなサポートベクトルを選択し、既存のサポートベクトルの幾つかを新たなサポートベクトルに置き換える。

0007

また、オリジナルデータを加工して機械学習の訓練データとして使用するデータ分析装置が提案されている。提案のデータ分析装置は、機械学習時に評価したモデルの予測性能を記憶しておくと共に、新規データをモデルに適用する運用時における予測性能を監視する。データ分析装置は、運用時の予測性能が機械学習当初の予測性能より低下した場合、データの傾向が変化したと判断し、前回とは異なる方法でオリジナルデータを加工することで生成した新たな訓練データを用いてモデルを再学習する。

0008

国際公開第2011/052025号
特開2013−182621号公報
特開2014−71493号公報

先行技術

0009

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.

発明が解決しようとする課題

0010

上記の非特許文献1に記載されたプログレッシブサンプリング法では、あるサイズの訓練データで機械学習アルゴリズムを実行した後、再度その機械学習アルゴリズムを実行する場合、次に使用する訓練データサイズは予め決まっている。すなわち、予め決められた複数の訓練データサイズを小さい方から順に1つずつ選択していくことになる。

0011

また、機械学習アルゴリズムには、ロジスティック回帰分析サポートベクタマシンSVM:Support Vector Machine)、ランダムフォレストなど様々なアルゴリズムが存在する。使用する訓練データが同じでも、使用する機械学習アルゴリズムが異なるとモデルの予測性能が異なることが多い。これについて、非特許文献1に記載されたプログレッシブサンプリング法は1つの機械学習アルゴリズムのみを使用する場合を想定しており、複数の機械学習アルゴリズムを使用する場合について検討していない。

0012

よって、機械学習アルゴリズムの候補が複数あり訓練データサイズの候補が複数ある場合に、どのようにすれば予測性能の高いモデルを効率的に生成できるかが問題となる。
1つの側面では、本発明は、複数の機械学習アルゴリズムを繰り返し実行する機械学習においてモデルの予測性能が上がる速度を向上できる機械学習管理プログラム、機械学習管理装置および機械学習管理方法を提供することを目的とする。

課題を解決するための手段

0013

1つの態様では、コンピュータに以下の処理を実行させる機械学習管理プログラムが提供される。複数の機械学習アルゴリズムそれぞれを1以上の訓練データサイズで実行することで生成された複数のモデルに対応する複数の予測性能の中から、最大予測性能を特定する。複数の機械学習アルゴリズムのうち最大予測性能をもつモデルを生成した第1の機械学習アルゴリズムについて、1以上の訓練データサイズの実行結果から、2以上の他の訓練データサイズそれぞれで実行した場合の第1の推定予測性能と第1の推定実行時間とを算出し、最大予測性能と第1の推定予測性能と第1の推定実行時間とに基づいて、第1の機械学習アルゴリズムを次に実行するときに使用する第1の訓練データサイズを決定する。複数の機械学習アルゴリズムのうち第1の機械学習アルゴリズムと異なる第2の機械学習アルゴリズムについて、1以上の訓練データサイズの実行結果から、2以上の他の訓練データサイズそれぞれで実行した場合の第2の推定予測性能と第2の推定実行時間とを算出し、最大予測性能と第2の推定予測性能と第2の推定実行時間とに基づいて、第2の機械学習アルゴリズムを次に実行するときに使用する第2の訓練データサイズを決定する。

0014

また、1つの態様では、記憶部と制御部とを有する機械学習管理装置が提供される。また、1つの態様では、コンピュータが実行する機械学習管理方法が提供される。

発明の効果

0015

1つの側面では、複数の機械学習アルゴリズムを繰り返し実行する機械学習においてモデルの予測性能が上がる速度を向上できる。

図面の簡単な説明

0016

機械学習管理装置の例を示す図である。
機械学習装置ハードウェア例を示すブロック図である。
サンプルサイズと予測性能の関係例を示すグラフである。
実行時間と予測性能の関係例を示すグラフである。
複数の機械学習アルゴリズムの使用例を示す図である。
学習ステップ実行順序例を示すグラフである。
サンプルサイズの動的選択例を示す第1のグラフである。
サンプルサイズの動的選択例を示す第2のグラフである。
サンプルサイズの動的選択例を示す第3のグラフである。
サンプルサイズの減少に関するシナリオ例を示す図である。
打ち切り率の算出例を示す図である。
打ち切り率の他の算出例を示す図である。
機械学習進行画面の例を示す図である。
機械学習装置の機能例を示すブロック図である。
履歴テーブル関数テーブルスケジュールテーブル例を示す図である。
機械学習の手順例を示すフローチャートである。
機械学習の手順例を示すフローチャート(続き)である。
ステップ実行の手順例を示すフローチャートである。
時間推定の手順例を示すフローチャートである。
性能改善量推定の手順例を示すフローチャートである。

実施例

0017

以下、本実施の形態を図面を参照して説明する。
[第1の実施の形態]
第1の実施の形態を説明する。

0018

図1は、機械学習管理装置の例を示す図である。
第1の実施の形態の機械学習管理装置10は、未知の事例の結果を予測するためのモデルを訓練データから生成する機械学習を管理する。訓練データからモデルを生成する機械学習自体は、機械学習管理装置10が行ってもよいし他の装置が行ってもよい。機械学習管理装置10は、ユーザが操作するクライアントコンピュータでもよいし、クライアントコンピュータからネットワーク経由でアクセスされるサーバコンピュータでもよい。

0019

機械学習管理装置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 IntegratedCircuit)やFPGA(Field Programmable Gate Array)などの特定用途電子回路を含んでもよい。プロセッサは、RAMなどのメモリ(記憶部11でもよい)に記憶されたプログラムを実行する。プログラムには、機械学習管理プログラムが含まれる。複数のプロセッサの集合マルチプロセッサ)を「プロセッサ」と呼ぶこともある。

0020

記憶部11は、複数の機械学習アルゴリズムの現在までの実行結果を記憶する。機械学習に使用可能な機械学習アルゴリズムには、ロジスティック回帰分析、サポートベクタマシン、ランダムフォレストなどの様々なアルゴリズムが含まれる。機械学習アルゴリズムの種類が同じで、当該機械学習アルゴリズムの挙動を制御するためのハイパーパラメータが異なるものを、異なる機械学習アルゴリズムとして取り扱ってもよい。複数の機械学習アルゴリズムを、訓練データサイズを変えながら(例えば、訓練データサイズを段階的に大きくしながら)繰り返し実行することで、十分高い予測性能をもつモデルに効率的に到達することができる。データの母集合から一部のデータをサンプリングして訓練データとして使用する場合、訓練データサイズをサンプルサイズと呼ぶこともできる。

0021

記憶部11に記憶される情報は、少なくとも、現在までに生成された複数のモデルに対応する複数の予測性能を示す。予測性能は、未知の事例の結果を正確に予測する能力であり、モデルの「精度」と言うこともできる。予測性能の指標としては、正答率(Accuracy)、適合率(Precision)、平均二乗誤差(RMSE)など任意の指標を用いることができる。それら複数のモデルは、複数の機械学習アルゴリズムそれぞれを1つの訓練データサイズまたは2以上の異なる訓練データサイズで実行することで生成されたものである。なお、記憶部11は、訓練データを更に記憶してもよい。また、記憶部11は、機械学習アルゴリズムを実装した機械学習プログラムを更に記憶してもよい。

0022

制御部12は、複数の機械学習アルゴリズムおよび複数の訓練データサイズを用いた機械学習を制御し、高い予測性能をもつモデルに短時間で到達することを目指す。制御部12は、記憶部11に記憶された情報を参照して、現在までに生成されたモデルの予測性能の中から、予測性能の最大値である最大予測性能14を特定する。

0023

制御部12は、複数の機械学習アルゴリズムのうち最大予測性能14をもつモデルを生成した機械学習アルゴリズム13aについて、機械学習アルゴリズム13aを次に実行するときに使用する訓練データサイズ17aを決定する。

0024

このとき、制御部12は、機械学習アルゴリズム13aを1以上の訓練データサイズで実行した実行結果から、2以上の他の訓練データサイズそれぞれで実行した場合の推定予測性能15a,15bと推定実行時間16a,16bとを算出する。使用する実行結果は、例えば、1以上の予測性能の測定値と1以上の実行時間とを含む。2以上の他の訓練データサイズは、機械学習アルゴリズム13aでまだ使用していないサイズであり、例えば、既に使用した訓練データサイズより大きい。推定予測性能15a,15bは予測性能の推定値であり、推定実行時間16a,16bは実行時間の推定値である。例えば、制御部12は、機械学習アルゴリズム13aの予測性能の測定値から、回帰分析により推定予測性能15a,15bを算出する。また、例えば、制御部12は、機械学習アルゴリズム13aの実行時間の測定値から、回帰分析により推定実行時間16a,16bを算出する。

0025

そして、制御部12は、最大予測性能14と推定予測性能15a,15bと推定実行時間16a,16bとに基づいて、訓練データサイズ17aを決定する。例えば、制御部12は、2以上の他の訓練データサイズそれぞれについて、単位時間当たりの最大予測性能14の増加量を示す増加速度を算出する。機械学習アルゴリズム13aの増加速度は、例えば、推定予測性能から最大予測性能を引いて推定実行時間で割った値である。

0026

制御部12は、増加速度が最大の訓練データサイズを訓練データサイズ17aとして決定してもよい。また、制御部12は、機械学習アルゴリズム13aの増加速度の最大値が他の機械学習アルゴリズムよりも大きいとき、増加速度が最大の訓練データサイズより大きいサイズを訓練データサイズ17aとして決定してもよい。上記状況においては、増加速度が最大の訓練データサイズで機械学習アルゴリズム13aを実行しても、その後に更に大きい訓練データサイズで機械学習アルゴリズム13aを実行する可能性が高いためである。また、制御部12は、推定予測性能15a,15bや推定実行時間16a,16bなどが所定条件を満たすとき、増加速度が最大の訓練データサイズより小さいサイズを訓練データサイズ17aとして決定してもよい。

0027

一方、制御部12は、複数の機械学習アルゴリズムのうち機械学習アルゴリズム13aと異なる機械学習アルゴリズム13bについて、機械学習アルゴリズム13bを次に実行するときに使用する訓練データサイズ17bを決定する。

0028

このとき、制御部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を算出する。

0029

そして、制御部12は、最大予測性能14と推定予測性能15c,15dと推定実行時間16c,16dとに基づいて、訓練データサイズ17bを決定する。例えば、制御部12は、2以上の他の訓練データサイズそれぞれについて増加速度を算出する。

0030

制御部12は、増加速度が最大の訓練データサイズを訓練データサイズ17bとして決定してもよい。また、制御部12は、機械学習アルゴリズム13bの増加速度の最大値が他の機械学習アルゴリズムよりも大きいとき、増加速度が最大の訓練データサイズより大きいサイズを訓練データサイズ17bとして決定してもよい。また、制御部12は、推定予測性能15c,15dや推定実行時間16c,16dなどが所定条件を満たすとき、増加速度が最大の訓練データサイズより小さいサイズを訓練データサイズ17bとして決定してもよい。所定条件は、例えば、増加速度が最大の訓練データサイズで機械学習アルゴリズム13bを実行しても、現在の最大予測性能14を超える予測性能をもつモデルが生成されない可能性が一定水準以上あることなどである。

0031

訓練データサイズ17aと訓練データサイズ17bとは異なってもよい。また、機械学習アルゴリズム13aが最後に使用した訓練データサイズと訓練データサイズ17aとの差または比と、機械学習アルゴリズム13bが最後に使用した訓練データサイズと訓練データサイズ17bとの差または比とが、異なってもよい。すなわち、訓練データサイズの増加量または増加率は固定でなくてよく、次に使用される訓練データサイズは機械学習の進行状況に応じて機械学習アルゴリズム毎に動的に決定される。

0032

なお、制御部12は、複数の機械学習アルゴリズムのうち増加速度の最大値が大きい機械学習アルゴリズムを優先的に選択してもよい。機械学習アルゴリズム13aを選択した場合、制御部12は、訓練データサイズ17aで機械学習アルゴリズム13aを実行させる。機械学習アルゴリズム13bを選択した場合、制御部12は、訓練データサイズ17bで機械学習アルゴリズム13bを実行させる。

0033

第1の実施の形態の機械学習管理装置10によれば、現在までに生成されたモデルの予測性能の中から最大予測性能14が特定される。最大予測性能14をもつモデルを生成した機械学習アルゴリズム13aについて、最大予測性能14と推定予測性能15a,15bと推定実行時間16a,16bとに基づいて、次に使用する訓練データサイズ17aが決定される。また、機械学習アルゴリズム13bについて、機械学習アルゴリズム13aによって達成された最大予測性能14と、推定予測性能15c,15dと推定実行時間16c,16dとに基づいて、次に使用する訓練データサイズ17bが決定される。

0034

これにより、複数の機械学習アルゴリズムを繰り返し実行する機械学習において、モデルの予測性能が上がる速度を向上できる。よって、十分な予測性能をもつモデルに到達するまでの所要時間を短縮できる。例えば、増加速度の推定値が最大になる訓練データサイズを選択することで、最大予測性能14を最も高速引き上げることができる。また、訓練データサイズの増加量または増加率が過小である場合に生じる途中の無駄な学習ステップを省略できる。また、訓練データサイズの増加量または増加率が過大である場合に生じる多数の機械学習アルゴリズムの無駄な実行を抑制できる。

0035

[第2の実施の形態]
次に、第2の実施の形態を説明する。
図2は、機械学習装置のハードウェア例を示すブロック図である。

0036

機械学習装置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に対応する。

0037

CPU101は、プログラムの命令を実行する演算回路を含むプロセッサである。CPU101は、HDD103に記憶されたプログラムやデータの少なくとも一部をRAM102にロードし、プログラムを実行する。なお、CPU101は複数のプロセッサコアを備えてもよく、機械学習装置100は複数のプロセッサを備えてもよく、以下で説明する処理を複数のプロセッサまたはプロセッサコアを用いて並列に実行してもよい。また、複数のプロセッサの集合(マルチプロセッサ)を「プロセッサ」と呼ぶこともある。

0038

RAM102は、CPU101が実行するプログラムやCPU101が演算に用いるデータを一時的に記憶する揮発性の半導体メモリである。なお、機械学習装置100は、RAM以外の種類のメモリを備えてもよく、複数個のメモリを備えてもよい。

0039

HDD103は、OS(Operating System)やミドルウェアアプリケーションソフトウェアなどのソフトウェアのプログラム、および、データを記憶する不揮発性の記憶装置である。プログラムには、機械学習管理プログラムが含まれる。なお、機械学習装置100は、フラッシュメモリやSSD(Solid State Drive)などの他の種類の記憶装置を備えてもよく、複数の不揮発性の記憶装置を備えてもよい。

0040

画像信号処理部104は、CPU101からの命令に従って、機械学習装置100に接続されたディスプレイ111に画像を出力する。ディスプレイ111としては、CRT(Cathode Ray Tube)ディスプレイ、液晶ディスプレイ(LCD:Liquid Crystal Display)、プラズマディスプレイ(PDP:Plasma Display Panel)、有機EL(OEL:Organic Electro-Luminescence)ディスプレイなどを用いることができる。

0041

入力信号処理部105は、機械学習装置100に接続された入力デバイス112から入力信号を取得し、CPU101に出力する。入力デバイス112としては、マウスタッチパネルタッチパッドトラックボールなどのポインティングデバイスキーボードリモートコントローラ、ボタンスイッチなどを用いることができる。また、機械学習装置100に、複数の種類の入力デバイスが接続されていてもよい。

0042

媒体リーダ106は、記録媒体113に記録されたプログラムやデータを読み取る読み取り装置である。記録媒体113として、例えば、磁気ディスク光ディスク光磁気ディスク(MO:Magneto-Optical disk)、半導体メモリなどを使用できる。磁気ディスクには、フレキシブルディスクFD:Flexible Disk)やHDDが含まれる。光ディスクには、CD(Compact Disc)やDVD(Digital Versatile Disc)が含まれる。

0043

媒体リーダ106は、例えば、記録媒体113から読み取ったプログラムやデータを、RAM102やHDD103などの他の記録媒体にコピーする。読み取られたプログラムは、例えば、CPU101によって実行される。なお、記録媒体113は、可搬型記録媒体であってもよく、プログラムやデータの配布に用いられることがある。また、記録媒体113やHDD103を、コンピュータ読み取り可能な記録媒体と言うことがある。

0044

通信インタフェース107は、ネットワーク114に接続され、ネットワーク114を介して他の情報処理装置通信を行うインタフェースである。通信インタフェース107は、スイッチなどの通信装置ケーブルで接続される有線通信インタフェースでもよいし、基地局と無線リンクで接続される無線通信インタフェースでもよい。

0045

次に、機械学習におけるサンプルサイズと予測性能と実行時間の間の関係、および、プログレッシブサンプリング法について説明する。
第2の実施の形態の機械学習では、既知の事例を示す複数の単位データを含むデータを予め収集しておく。機械学習装置100または他の情報処理装置が、センサデバイスなどの各種デバイスからネットワーク114経由でデータを収集してもよい。収集されるデータは、「ビッグデータ」と呼ばれるサイズの大きなデータであってもよい。各単位データは、通常は、1つ以上の説明変数の値と1つの目的変数の値とを含む。例えば、商品の需要予測を行う機械学習では、気温湿度など商品需要に影響を与える要因を説明変数とし、商品需要量を目的変数とした実績データを収集する。

0046

機械学習装置100は、収集されたデータの中から一部の単位データを訓練データとしてサンプリングし、訓練データを用いてモデルを学習する。モデルは、説明変数と目的変数との間の関係を示し、通常は、2以上の説明変数と2以上の係数と1つの目的変数とを含む。モデルは、例えば、線形式、二次以上の多項式指数関数対数関数などの各種数式によって表されてもよい。数式の形は、機械学習の前にユーザによって指定されてもよい。係数は、機械学習によって訓練データに基づいて決定される。

0047

学習されたモデルを用いることで、未知の事例の説明変数の値(要因)から、未知の事例の目的変数の値(結果)を予測することができる。例えば、来期気象予報から来期の商品需要量を予測できる。モデルによって予測される結果は、0以上1以下の確率値などの連続値であってもよいし、YES/NOの2値などの離散値であってもよい。

0048

学習されたモデルに対しては「予測性能」を算出することができる。予測性能は、未知の事例の結果を正確に予測する能力であり、「精度」と言うこともできる。機械学習装置100は、収集されたデータの中から訓練データ以外の単位データをテストデータとしてサンプリングし、テストデータを用いて予測性能を算出する。テストデータのサイズは、例えば、訓練データのサイズの1/2程度とする。機械学習装置100は、テストデータに含まれる説明変数の値をモデルに入力し、モデルが出力する目的変数の値(予測値)とテストデータに含まれる目的変数の値(実績値)とを比較する。なお、学習したモデルの予測性能を検証することを「バリデーション」と言うことがある。

0049

予測性能の指標としては、正答率(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と算出される。

0050

ここで、ある1つの機械学習アルゴリズムを使用する場合、訓練データとしてサンプリングする単位データの数(サンプルサイズ)が大きいほど予測性能は一般的に高くなる。
図3は、サンプルサイズと予測性能の関係例を示すグラフである。

0051

曲線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倍である。

0052

曲線21が示すように、サンプルサイズがs2の場合の予測性能はs1の場合よりも高い。サンプルサイズがs3の場合の予測性能はs2の場合よりも高い。サンプルサイズがs4の場合の予測性能はs3の場合よりも高い。サンプルサイズがs5の場合の予測性能はs4の場合よりも高い。このように、サンプルサイズが大きくなるほど一般的に予測性能も高くなる。ただし、予測性能が低いうちは、サンプルサイズの増加に応じて予測性能が大きく上昇する。一方で、予測性能には上限があり、予測性能が上限に近づくと、サンプルサイズの増加量に対する予測性能の上昇量の比は逓減する。

0053

また、サンプルサイズが大きいほど、機械学習に要する学習時間も大きくなる。このため、サンプルサイズを過度に大きくすると、学習時間の点で機械学習が非効率になる。図3の例の場合、サンプルサイズをs4とすると、上限に近い予測性能を短時間で達成できる。一方、サンプルサイズをs3とすると、予測性能が不十分であるおそれがある。また、サンプルサイズをs5とすると、予測性能は上限に近いものの、単位実行時間当たりの予測性能の上昇量が小さく、機械学習が非効率になる。

0054

このようなサンプルサイズと予測性能との間の関係は、同じ機械学習アルゴリズムを使用する場合であっても、使用するデータの性質(データの種類)によって異なる。このため、予測性能の上限や上限に近い予測性能を達成できる最小のサンプルサイズを、機械学習を行う前に事前に推定することは難しい。そこで、プログレッシブサンプリング法という機械学習方法が提案されている。プログレッシブサンプリング法については、例えば、前述の非特許文献1("Efficient Progressive Sampling")に記載がある。

0055

プログレッシブサンプリング法では、サンプルサイズを小さな値から始めて段階的に大きくしていき、予測性能が所定条件を満たすまで機械学習を繰り返す。例えば、機械学習装置100は、サンプルサイズs1で機械学習を行い、学習されたモデルの予測性能を評価する。予測性能が不十分であれば、機械学習装置100は、サンプルサイズs2で機械学習を行って予測性能を評価する。このとき、サンプルサイズs2の訓練データは、サンプルサイズs1の訓練データ(前に使用した訓練データ)の一部または全部を包含していてもよい。同様に、機械学習装置100は、サンプルサイズs3で機械学習を行って予測性能を評価し、サンプルサイズs4で機械学習を行って予測性能を評価する。サンプルサイズs4で予測性能が十分になると、機械学習装置100は、機械学習を停止し、サンプルサイズs4で学習したモデルを採用する。このとき、機械学習装置100は、サンプルサイズs5の機械学習を行わなくてよい。

0056

上記のように、プログレッシブサンプリング法では、1つのサンプルサイズに対する処理(1つの学習ステップ)毎に、モデルの学習と当該モデルの予測性能の評価とを行う。各学習ステップ内の手順(バリデーション方法)としては、例えば、クロスバリデーションランダムサブサンプリングバリデーションなどを用いることができる。

0057

クロスバリデーションでは、機械学習装置100は、サンプリングしたデータをK個(Kは2以上の整数)のブロックに分割し、このうちK−1個のブロックを訓練データとして使用して1個のブロックをテストデータとして使用する。機械学習装置100は、テストデータとして使用するブロックを変えながらモデルの学習と予測性能の評価をK回繰り返す。1つの学習ステップの結果として、例えば、K個のモデルのうち最も予測性能の高いモデルと、K回の予測性能の平均値とが出力される。クロスバリデーションは、限定された量のデータを活用して予測性能の評価を可能とする。

0058

ランダムサブサンプリングバリデーションでは、機械学習装置100は、データの母集合から訓練データとテストデータをランダムにサンプリングし、訓練データを用いてモデルを学習し、テストデータを用いてモデルの予測性能を算出する。機械学習装置100は、サンプリングとモデルの学習と予測性能の評価をK回繰り返す。

0059

各サンプリングは、非復元抽出サンプリングである。すなわち、1回のサンプリングの中で、訓練データ内に同じ単位データは重複して含まれず、テストデータ内に同じ単位データは重複して含まれない。また、1回のサンプリングの中で、訓練データとテストデータに同じ単位データは重複して含まれない。ただし、K回のサンプリングの間で、同じ単位データが選択されることはあり得る。1つの学習ステップの結果として、例えば、K個のモデルのうち最も予測性能の高いモデルと、K回の予測性能の平均値とが出力される。

0060

ところで、訓練データからモデルを学習する手順(機械学習アルゴリズム)には様々なものが存在する。機械学習装置100は、複数の機械学習アルゴリズムを使用することができる。機械学習装置100が使用できる機械学習アルゴリズムの数は、数十〜数百程度であってもよい。機械学習アルゴリズムの一例として、ロジスティック回帰分析、サポートベクタマシン、ランダムフォレストなどを挙げることができる。

0061

ロジスティック回帰分析は、目的変数yの値と説明変数x1,x2,…,xkの値をS字曲線フィッティングする回帰分析である。目的変数yおよび説明変数x1,x2,…,xkは、log(y/(1−y))=a1x1+a2x2+…+akxk+bの関係を満たすと仮定される。a1,a2,…,ak,bは係数であり、回帰分析によって決定される。

0062

サポートベクタマシンは、N次元空間に配置された単位データの集合を、2つのクラスに最も明確に分割するような境界面を算出する機械学習アルゴリズムである。境界面は、各クラスとの距離(マージン)が最大になるように算出される。

0063

ランダムフォレストは、複数の単位データを適切に分類するためのモデルを生成する機械学習アルゴリズムである。ランダムフォレストでは、母集合から単位データをランダムにサンプリングする。説明変数の一部をランダムに選択し、選択した説明変数の値に応じてサンプリングした単位データを分類する。説明変数の選択と単位データの分類を繰り返すことで、複数の説明変数の値に基づく階層的な決定木を生成する。単位データのサンプリングと決定木の生成を繰り返すことで複数の決定木を取得し、それら複数の決定木を合成することで、単位データを分類するための最終的なモデルを生成する。

0064

なお、機械学習アルゴリズムは、その挙動を制御するための1または2以上のハイパーパラメータをもつことがある。ハイパーパラメータは、モデルに含まれる係数(パラメータ)と異なり機械学習を通じて値が決定されるものではなく、機械学習アルゴリズムの実行前に値が与えられるものである。ハイパーパラメータの例として、ランダムフォレストにおける決定木の生成本数、回帰分析のフィッティング精度、モデルに含まれる多項式の次数などが挙げられる。ハイパーパラメータの値として、固定値が使用されることもあるし、ユーザから指定された値が使用されることもある。生成されるモデルの予測性能は、ハイパーパラメータの値にも依存する。機械学習アルゴリズムとサンプルサイズが同じでも、ハイパーパラメータの値が変わるとモデルの予測性能も変化し得る。

0065

第2の実施の形態では、機械学習アルゴリズムの種類が同じでハイパーパラメータの値が異なる場合、異なる機械学習アルゴリズムを使用したものとして取り扱ってもよい。機械学習アルゴリズムの種類とハイパーパラメータの値の組み合わせを、コンフィギュレーションと言うこともある。すなわち、機械学習装置100は、異なるコンフィギュレーションを異なる機械学習アルゴリズムとして取り扱ってもよい。

0066

図4は、実行時間と予測性能の関係例を示すグラフである。
曲線22〜24は、著名なデータ集合(CoverType)を用いて測定された実行時間と予測性能の間の関係を示している。予測性能の指標として、ここでは正答率を用いている。曲線22は、機械学習アルゴリズムとしてロジスティック回帰を用いた場合の実行時間と予測性能の間の関係を示す。曲線23は、機械学習アルゴリズムとしてサポートベクタマシンを用いた場合の実行時間と予測性能の間の関係を示す。曲線24は、機械学習アルゴリズムとしてランダムフォレストを用いた場合の実行時間と予測性能の間の関係を示す。なお、図4横軸は、実行時間について対数目盛になっている。

0067

曲線22が示すように、ロジスティック回帰を使用した場合、サンプルサイズ=800における予測性能は約0.71、実行時間は約0.2秒である。サンプルサイズ=3200における予測性能は約0.75、実行時間は約0.5秒である。サンプルサイズ=12800における予測性能は約0.755、実行時間は1.5秒である。サンプルサイズ=51200における予測性能は約0.76、実行時間は約6秒である。

0068

曲線23が示すように、サポートベクタマシンを使用した場合、サンプルサイズ=800における予測性能は約0.70、実行時間は約0.2秒である。サンプルサイズ=3200における予測性能は約0.77、実行時間は約2秒である。サンプルサイズ=12800に対応する予測性能は約0.785、実行時間は約20秒である。

0069

曲線24が示すように、ランダムフォレストを使用した場合、サンプルサイズ=800における予測性能は約0.74、実行時間は約2.5秒である。サンプルサイズ=3200における予測性能は約0.79、実行時間は約15秒である。サンプルサイズ=12800に対応する予測性能は約0.82、実行時間は約200秒である。

0070

このように、上記のデータ集合に対しては、ロジスティック回帰は、全体的に実行時間が短く予測性能が低い。サポートベクタマシンは、全体的にロジスティック回帰よりも実行時間が長く予測性能が高い。ランダムフォレストは、全体的にサポートベクタマシンよりも更に実行時間が長く予測性能が高い。ただし、図4の例では、サンプルサイズが小さいときのサポートベクタマシンの予測性能は、ロジスティック回帰の予測性能よりも低くなっている。すなわち、プログレッシブサンプリング法における初期段階の予測性能の上昇カーブも、機械学習アルゴリズムによって異なる。

0071

また、前述のように、個々の機械学習アルゴリズムの予測性能の上限や予測性能の上昇カーブは、使用するデータの性質にも依存する。そのため、複数の機械学習アルゴリズムのうち、予測性能の上限が最も高い機械学習アルゴリズムや上限に近い予測性能を最も短時間で達成できる機械学習アルゴリズムを事前に特定することは難しい。そこで、以下では、複数の機械学習アルゴリズムを使用しかつ複数のサンプルサイズを使用する場合に、予測性能の高いモデルを効率的に得られるようにする方法を検討する。

0072

図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でそれぞれ停止条件が満たされるものと仮定する。

0073

学習ステップ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万である。

0074

機械学習アルゴリズムA,B,Cとプログレッシブサンプリング法を組み合わせる方法としては、例えば、次のような方法が考えられる。各機械学習アルゴリズムについて、サンプルサイズが1段階大きい学習ステップを実行した場合の予測性能の改善速度を推定し、改善速度が最大の機械学習アルゴリズムを選択して学習ステップを1つだけ進める方法である。学習ステップを1つ進める毎に、改善速度の推定値が見直される。このため、最初のうちは複数の機械学習アルゴリズムの学習ステップが混在して実行され、徐々に機械学習アルゴリズムが限定されていく。

0075

改善速度の推定値は、性能改善量の推定値を実行時間の推定値で割ったものである。性能改善量の推定値は、次の学習ステップの予測性能の推定値と、複数の機械学習アルゴリズムを通じて現在までに達成された予測性能の最大値(達成予測性能と言うことがある)との差である。達成予測性能は、第1の実施の形態の最大予測性能14に対応する。次の学習ステップの予測性能は、同じ機械学習アルゴリズムの過去の予測性能と次の学習ステップのサンプルサイズとに基づいて推定される。実行時間の推定値は、次の学習ステップに要する時間の推定値であり、同じ機械学習アルゴリズムの過去の実行時間と次の学習ステップのサンプルサイズとに基づいて推定される。

0076

機械学習装置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を実行する。

0077

学習ステップ32が実行されると、機械学習装置100は、機械学習アルゴリズムA,B,Cの改善速度を更新する。ここでは、機械学習アルゴリズムAの改善速度=0.73、機械学習アルゴリズムBの改善速度=1.0、機械学習アルゴリズムCの改善速度=0.5と推定されたとする。学習ステップ32によって達成予測性能が上昇したため、機械学習アルゴリズムB,Cの改善速度も低下している。機械学習装置100は、改善速度が最大の機械学習アルゴリズムBを選択し、学習ステップ35を実行する。

0078

学習ステップ35が実行されると、機械学習装置100は、機械学習アルゴリズムA,B,Cの改善速度を更新する。ここでは、機械学習アルゴリズムAの改善速度=0.0、機械学習アルゴリズムBの改善速度=0.8、機械学習アルゴリズムCの改善速度=0.0と推定されたとする。機械学習装置100は、改善速度が最大の機械学習アルゴリズムBを選択し、学習ステップ36を実行する。学習ステップ36によって予測性能が十分に上昇したと判定されると、機械学習は終了する。この場合、機械学習アルゴリズムAの学習ステップ33や機械学習アルゴリズムCの学習ステップ38,39は実行されない。

0079

なお、次の学習ステップの予測性能を推定するにあたっては、統計誤差を考慮し、予測性能が今後上昇する可能性のある機械学習アルゴリズムを早期に切り捨ててしまうリスクを低減することが好ましい。例えば、機械学習装置100は、回帰分析によって予測性能の期待値とその95%予測区間を算出し、95%予測区間の上限値(UCB:Upper Confidence Bound)を、改善速度を算出する際の予測性能を推定値として使用することが考えられる。95%予測区間は、測定される予測性能(測定値)のばらつきを示すものであり、新たな予測性能が95%の確率でこの区間に収まると予想されることを示す。すなわち、統計上の期待値よりも統計誤差に応じた幅だけ大きい値を使用する。UCBは、97.5%分位点を表していると言うこともできる。

0080

ただし、UCBに代えて、機械学習装置100は、推定される予測性能の分布を積分して予測性能が達成予測性能を超える確率(PI:Probability of Improvement)を算出してもよい。また、機械学習装置100は、推定される予測性能の分布を積分して、予測性能が達成予測性能を超える期待値(EI:Expected Improvement)を算出してもよい。

0081

上記の方法では、予測性能の改善に寄与しない学習ステップは実行されず、全体の学習時間を短縮することができる。また、単位時間当たりの性能改善量が最大である機械学習アルゴリズムの学習ステップが優先的に実行される。このため、学習時間に制限があり機械学習を途中で打ち切った場合であっても、終了時刻までに得られたモデルが、制限時間内に得られる最善のモデルとなる。また、少しでも予測性能の改善に寄与する学習ステップは、実行順序が後になる可能性はあるものの実行される余地が残される。このため、予測性能の上限が高い機械学習アルゴリズムを切り捨ててしまうリスクを低減できる。

0082

しかし、上記の方法では各機械学習アルゴリズムのサンプルサイズを固定倍率で1段階ずつ大きくしている。このため、学習効率を更に向上させる余地がある。
第1に、ある機械学習アルゴリズムの大きいサンプルサイズの学習ステップが達成予測性能の向上に成功した場合、結果的に、当該機械学習アルゴリズムの小さいサンプルサイズの学習ステップの実行時間が無駄になってしまう。大きいサンプルサイズの学習ステップが達成予測性を向上させる可能性が高い場合、小さいサンプルサイズの学習ステップをスキップすることで学習時間を短縮できる余地がある。

0083

第2に、予測性能の推定精度が低く予測性能を過大評価したために、実行した学習ステップが達成予測性能の向上に失敗することがある。大きいサンプルサイズの学習ステップが達成予測性能の向上に失敗した場合、結果的に、当該大きいサンプルサイズの学習ステップは実行しない方が好ましかったことになる。これについては、大きいサンプルサイズの学習ステップが達成予測性を向上させる可能性が高くない場合、サンプルサイズの上昇量を抑えた学習ステップを挿入することで予測性能の測定値が増え、推定精度を向上させることができる。その結果、大きいサンプルサイズの学習ステップが達成予測性能の向上に失敗する可能性が高いと判断できれば、当該機械学習アルゴリズムについては大きいサンプルサイズの学習ステップを回避することができる。

0084

第3に、計算量の大きい機械学習アルゴリズムについては、サンプルサイズを固定倍率で増加させることによる非効率性の影響が大きく、その機械学習アルゴリズムの実行時間が膨大になってしまう可能性がある。例えば、計算量がO(N3)の機械学習アルゴリズムでは、サンプルサイズの増加に対する実行時間の増加速度が非常に大きい。

0085

第4に、機械学習アルゴリズムの中には、複数のプロセッサに処理を分散化する前処理などのオーバヘッドが大きいものがある。オーバヘッドは、サンプルサイズの影響を受けずに固定であることがある。その場合、サンプルサイズが小さいうちはサンプルサイズを1段階大きくしても実行時間があまり変化しない。オーバヘッドが大きい機械学習アルゴリズムについては、サンプルサイズの増加量が小さいと非効率になる。

0086

図6は、学習ステップの実行順序例を示すグラフである。
ここでは、サンプルサイズを固定倍率で1段階ずつ大きくする場合を考える。
曲線25は、ある機械学習アルゴリズム(機械学習アルゴリズム#1)について、訓練データのサンプルサイズを変化させたときの実行時間と予測性能の関係を示している。曲線26は、別の機械学習アルゴリズム(機械学習アルゴリズム#2)について、訓練データのサンプルサイズを変化させたときの実行時間と予測性能の関係を示している。

0087

この例では、1番目に、機械学習装置100は、機械学習アルゴリズム#1およびサンプルサイズ=1000の学習ステップを実行する。2番目に、機械学習装置100は、機械学習アルゴリズム#2およびサンプルサイズ=1000の学習ステップを実行する。3番目に、機械学習装置100は、機械学習アルゴリズム#1およびサンプルサイズ=2000の学習ステップを実行する。4番目に、機械学習装置100は、機械学習アルゴリズム#2およびサンプルサイズ=2000の学習ステップを実行する。

0088

5番目に、機械学習装置100は、機械学習アルゴリズム#1およびサンプルサイズ=4000の学習ステップを実行する。5番目の学習ステップについて、機械学習装置100は、予測性能が4番目の学習ステップよりも高くなる可能性があると判断して機械学習アルゴリズム#1を実行している。しかし、5番目の学習ステップの予測性能は、結果的に4番目の学習ステップの予測性能(この時点の達成予測性能)よりも低い。

0089

6番目に、機械学習装置100は、機械学習アルゴリズム#2およびサンプルサイズ=4000の学習ステップを実行する。7番目に、機械学習装置100は、機械学習アルゴリズム#2およびサンプルサイズ=8000の学習ステップを実行する。

0090

8番目に、機械学習装置100は、機械学習アルゴリズム#1およびサンプルサイズ=8000の学習ステップを実行する。8番目の学習ステップについて、機械学習装置100は、予測性能が7番目の学習ステップよりも高くなる可能性があると判断して機械学習アルゴリズム#1を実行している。しかし、8番目の学習ステップの予測性能は、結果的に7番目の学習ステップの予測性能(この時点の達成予測性能)よりも低い。

0091

ここで、5番目の学習ステップを実行した後、機械学習アルゴリズム#1およびサンプルサイズ=8000の学習ステップが達成予測性能の向上に成功する可能性が高いと判断できる場合があり得る。その場合、機械学習装置100は、サンプルサイズ=4000の学習ステップをスキップしてサンプルサイズ=8000学習ステップを実行することで、サンプルサイズ=4000の学習ステップの実行時間を節約できる。途中のサンプルサイズをスキップすることは、機械学習アルゴリズムの候補が多いときに特に有効である。達成予測性能が早期に大きくなれば、多くの機械学習アルゴリズムが早期に脱落し、実行する機械学習アルゴリズムを迅速に絞り込めるためである。

0092

一方、7番目の学習ステップを実行した後、1・3・5番目の学習ステップの結果のみからは機械学習アルゴリズム#1の予測性能を高精度で推定できないために、機械学習アルゴリズム#1の予測性能が今後高くなる可能性を捨てられない場合があり得る。その場合、機械学習装置100は、サンプルサイズを4000から8000に増やすのではなく、8000より小さいサンプルサイズ(例えば、5000)で機械学習アルゴリズム#1を実行することが考えられる。その結果として推定精度が向上し、機械学習アルゴリズム#1の予測性能が機械学習アルゴリズム#2を逆転する可能性が低いと判断できれば、サンプルサイズ=8000の学習ステップの実行時間を節約できる。

0093

サンプルサイズの増加量を小さくすることは、機械学習アルゴリズムの候補が多いときに特に有効である。現在の達成予測性能より明らかに低い予測性能しか出力していない機械学習アルゴリズムについて予測性能の推定精度が向上すれば、多くの機械学習アルゴリズムが早期に脱落し、実行する機械学習アルゴリズムを迅速に絞り込めるためである。

0094

このように、複数の機械学習アルゴリズムに対してサンプルサイズの増加倍率または増加量を固定に設定すると、機械学習に非効率性が生じ得る。また、複数の機械学習アルゴリズムを用いた機械学習の進行状況によって、次に実行する学習ステップのサンプルサイズを大きくした方が好ましい場合と小さくした方が好ましい場合とがある。そこで、第2の実施の形態の機械学習装置100は、以下のように学習ステップを制御する。

0095

以下の説明では、次のような記号を用いることがある。
予測性能の測定値をp、予測性能の推定値をp*、達成予測性能をP、実行時間の測定値をt、実行時間の推定値をt*と表すことがある。また、性能改善量をg*、性能改善量を求める関数をfg()、予測性能の確率分布をXpと表すことがある。性能改善量はUCBなどの確率分布から求まる値と達成予測性能とに依存するため、g*=fg(Xp,P)と表すことができる。また、改善速度をr*と表すことがある。改善速度は性能改善量を実行時間で割ったものであるため、r*=g*/t*と表すことができる。

0096

また、改善速度の閾値をRと表すことがある。Rは機械学習の停止条件に関連する。例えば、R=0.001/3600などと予め決めておく。また、機械学習アルゴリズムをa、機械学習アルゴリズムの集合をA、データ集合をD、データ集合から抽出したサンプルデータをS、サンプルサイズをs、機械学習アルゴリズムの数をNと表すことがある。

0097

また、予測性能の推定値を求める関数をfp()と表すことがある。予測性能の推定値はサンプルサイズに依存するため、p*=fp(s)と表すことができる。fp()は上に有界な関数であり、例えば、fp(s)=β1−α1×s−γである。α1,β1,γは、sを説明変数としpを目的変数とする回帰分析によって決定される係数である。fp()は機械学習アルゴリズム毎に定義される。機械学習アルゴリズムaの関数であることを、a.fp()と表すことがある。

0098

また、予測性能の確率分布を求める関数をfXp()と表すことがある。予測性能の確率分布はサンプルサイズに依存するため、Xp=fXp(s)と表すことができる。p*はXpの期待値である。fXp()は、例えば、sを説明変数としpを目的変数とする回帰分析によって算出される。fp()をfXp()から導出することも可能である。fXp()は機械学習アルゴリズム毎に定義される。機械学習アルゴリズムaの関数であることを、a.fXp()と表すことがある。

0099

また、実行時間の推定値を求める関数をft()と表すことがある。実行時間の推定値はサンプルサイズに依存するため、t*=ft(s)と表すことができる。ft()はサンプルサイズについて単調増加の関数であり、例えば、ft(s)=β2+α2×sである。α2,β2は、sを説明変数としtを目的変数とする回帰分析によって決定される係数である。ft()は機械学習アルゴリズム毎に定義される。機械学習アルゴリズムaの関数であることを、a.ft()と表すことがある。なお、上記の記号においてアスタリスク(*)は、その値が推定値であることを表している。

0100

図7は、サンプルサイズの動的選択例を示す第1のグラフである。
ここでは、図6の5番目の学習ステップを実行した後、機械学習アルゴリズム#2を実行するときのサンプルサイズを決定する場合を考える。

0101

曲線41は、2番目および4番目の学習ステップの結果から推定される、機械学習アルゴリズム#2の予測性能の期待値と実行時間との関係を示している。曲線42は、機械学習アルゴリズム#2の予測性能のUCBと実行時間との関係を示している。直線43は、実行時間=0かつ予測性能=達成予測性能となる点から曲線42へと伸びる接線である。曲線42上の点と達成予測性能との差は、性能改善量に相当する。直線43の傾きは、改善速度の最大値に相当する。図7の例では、曲線42と直線43の接点における予測性能および実行時間を実現するためのサンプルサイズは6000である。

0102

機械学習装置100は、機械学習アルゴリズム#2を次に実行するときのサンプルサイズとして、4番目の学習ステップより大きいサンプルサイズの中で、改善速度が最大になるサンプルサイズを選択する。最大の改善速度は、直線43の傾きに相当する。よって、図7の例ではサンプルサイズ=6000が選択される。機械学習装置100は、例えば、数値解析により、幾つかのサンプルサイズについて改善速度を試算して、改善速度が最大になるサンプルサイズを探索する。機械学習装置100は、二分探索法などによって、改善速度が最大になるサンプルサイズの存在するサイズ区間を段階的に絞り込んでもよい。なお、機械学習装置100は、選択するサンプルサイズを1000の倍数に限定するなど、選択するサンプルサイズを一定条件を満たす離散的な値に限定してもよい。

0103

ある機械学習アルゴリズムaについて、実行済みのサンプルサイズのうち最大のサンプルサイズをs0、そのときの実行時間の測定値をt0とする。また、機械学習アルゴリズムaについて、次に選択すべきサンプルサイズをs2、そのときの実行時間の推定値をt2*=a.ft(s2)とする。s2は、fg(a.fXp(s),P)/a.ft(s)が最大になるようなsである。ただし、s2は、s2>s0かつt2*≧k1×t0という制約を満たす。k1は1以上の定数であり、例えば、k1=1.2とする。また、制限時間がある場合、t2*は残り時間以下であることが好ましい。

0104

以上のように、各機械学習アルゴリズムの次のサンプルサイズは、原則として改善速度が最大になるサンプルサイズである。ただし、機械学習装置100は、他の機械学習アルゴリズムの実行結果を考慮して、各機械学習アルゴリズムの次のサンプルサイズを調整することがある。すなわち、機械学習装置100は、次のサンプルサイズを、改善速度が最大になるサンプルサイズより意図的に大きくすることもあるし、改善速度が最大になるサンプルサイズより意図的に小さくすることもある。

0105

まず、サンプルサイズを大きくする場合について説明する。
図8は、サンプルサイズの動的選択例を示す第2のグラフである。
曲線42は、図7と同様に、機械学習アルゴリズム#2の予測性能のUCBと実行時間との関係を示している。直線43は、図7と同様に、実行時間=0かつ予測性能=達成予測性能となる点から曲線42へと伸びる接線である。直線43の傾きは、機械学習アルゴリズム#2の改善速度の最大値を示している。機械学習アルゴリズム#2の改善速度が最大になるサンプルサイズは6000である。なお、図8縦軸は、達成予測性能からの予測性能の相対値、すなわち、性能改善量になっている。

0106

曲線44は、別の機械学習アルゴリズム(機械学習アルゴリズム#3)の予測性能のUCBと実行時間との関係を示している。直線45は、実行時間=0かつ予測性能=達成予測性能となる点から曲線44へと伸びる接線である。直線45の傾きは、機械学習アルゴリズム#3の改善速度の最大値を示している。機械学習アルゴリズム#3の改善速度が最大になるサンプルサイズは8000である。

0107

ここでは、複数の機械学習アルゴリズムの中で、機械学習アルゴリズム#2の改善速度の最大値(直線43の傾き)が他の機械学習アルゴリズムよりも大きいとする。また、機械学習アルゴリズム#3の改善速度の最大値(直線45の傾き)が、機械学習アルゴリズム#2に次いで2番目に大きいものとする。この場合、機械学習アルゴリズム#2で使用するサンプルサイズを、曲線42と直線45の交点に相当するサンプルサイズまで大きくしても、次の学習ステップで機械学習アルゴリズム#2が実行されることは変わらない。曲線42と直線45の交点に相当するサンプルサイズを12000とすると、もし機械学習アルゴリズム#2をサンプルサイズ=6000で実行しても、その後に機械学習アルゴリズム#2をサンプルサイズ=12000で実行することになる可能性が高いと言える。

0108

そこで、機械学習装置100は、ある機械学習アルゴリズムを実行するとき、当該機械学習アルゴリズムの改善速度が2番目の機械学習アルゴリズムの改善速度の最大値を下回らない範囲で、サンプルサイズを増加させる。これにより、小さなサンプルサイズによる無駄な学習ステップを省略することができる。機械学習装置100は、例えば、数値解析により、幾つかのサンプルサイズについて改善速度を試算して、上記条件を満たすサンプルサイズを探索する。機械学習装置100は、二分探索法などによって、上記条件を満たすサンプルサイズの存在するサイズ区間を段階的に絞り込んでもよい。なお、機械学習装置100は、選択するサンプルサイズを1000の倍数に限定するなど、選択するサンプルサイズを一定条件を満たす離散的な値に限定してもよい。

0109

複数の機械学習アルゴリズムの中で改善速度が最も大きい機械学習アルゴリズムをa、機械学習アルゴリズムaの改善速度を最大化するサンプルサイズをs2、そのときの実行時間の推定値をt2*=a.ft(s2)とする。また、複数の機械学習アルゴリズムの中で改善速度が2番目に大きい機械学習アルゴリズムの改善速度をrsec*とする。また、機械学習アルゴリズムaの増加後のサンプルサイズをs3とする。s3は、fg(a.fXp(s),P)/a.ft(s)≧rsec*かつs≧s2を満たす最大のsである。

0110

ただし、制限時間がある場合、サンプルサイズs3における実行時間の推定値t3*=a.ft(s3)が残り時間以下であることが好ましい。また、fg(a.fXp(s),P)の傾き、すなわち、fg(a.fXp(s),P)をa.ft(s)で微分した値が、所定の正の定数以上であることを制約条件に加えてもよい。または、a.ft(s)≦k2×t2*を制約条件に加えてもよい。k2は1より大きい定数である。これにより、過度にサンプルサイズが大きくなることを抑制できる。

0111

次に、サンプルサイズを小さくする場合について説明する。
図9は、サンプルサイズの動的選択例を示す第3のグラフである。
ここでは、図6の7番目の学習ステップを実行した後、機械学習アルゴリズム#1を実行するときのサンプルサイズを決定する場合を考える。

0112

曲線51は、1番目、3番目および5番目の学習ステップの結果から推定される、機械学習アルゴリズム#1の予測性能の期待値と実行時間との関係を示している。曲線52は、機械学習アルゴリズム#1の予測性能のUCBと実行時間との関係を示している。直線53は、実行時間=0かつ予測性能=達成予測性能となる点から曲線52へと伸びる接線である。曲線52と直線53の接点に相当するサンプルサイズは16000である。すなわち、サンプルサイズ=16000で改善速度が最大になる。

0113

図9の例では、機械学習アルゴリズム#1の予測性能の測定値は3つしか存在しない。このため、予測性能の期待値の推定精度は高くなく、予測性能の分散が大きくなっている。その結果、サンプルサイズ=16000において、予測性能の期待値は現在の達成予測性能を下回っているものの、予測性能のUCBが現在の達成予測性能を超えている。このままでは、機械学習アルゴリズム#1が達成予測性能を向上できる可能性を捨てきれず、サンプルサイズ=16000で機械学習アルゴリズム#1が実行され得る。

0114

しかしながら、機械学習アルゴリズム#1が達成予測性能を向上できない可能性も高いため、実行時間の長い大きなサンプルサイズで機械学習アルゴリズム#1を実行することは、リスクが高いと言える。そこで、機械学習装置100は、改善速度が最大になるサンプルサイズで機械学習アルゴリズムを実行しても、達成予測性能の向上に寄与しない可能性が比較的高い場合には、それより小さいサンプルサイズで当該機械学習アルゴリズムを実行してみる。小さいサンプルサイズで機械学習アルゴリズムを実行すると、予測性能の測定値が増えるため、大きなサンプルサイズの予測性能の推定精度が向上する。推定精度が向上した結果として、予測性能のUCBが現在の達成予測性能を超えないことが明らかになった場合、当該機械学習アルゴリズムは以降実行されなくなる。

0115

例えば、機械学習装置100は、8番目の学習ステップとして、サンプルサイズ=5000で機械学習アルゴリズム#1を実行する。すると、図9に示すような曲線54,55が算出される。曲線54は、1番目、3番目、5番目および8番目の学習ステップの結果から推定される、機械学習アルゴリズム#1の予測性能の期待値と実行時間との関係を示している。曲線55は、機械学習アルゴリズム#1の予測性能のUCBと実行時間との関係を示している。推定精度が向上した結果、曲線54が示す予測性能の期待値は曲線51よりも低くなっている。また、予測性能の分散が小さくなり、曲線55が示す予測性能のUCBは曲線52よりも顕著に低くなっている。この場合、機械学習装置100は、機械学習アルゴリズム#1をサンプルサイズ=16000で実行しなくてよい。

0116

ある機械学習アルゴリズムaについて、実行済みのサンプルサイズのうち最大のサンプルサイズをs0、そのときの実行時間の測定値をt0、予測性能の測定値をp0、サンプルサイズs0の学習ステップが終了した時刻をTとする。また、機械学習アルゴリズムaについて、改善速度が最大になるサンプルサイズをs2、そのときの実行時間の推定値をt2*=a.ft(s2)、予測性能の推定値をp2*=a.fp(s2)とする。また、減少後のサンプルサイズをs1、そのときの実行時間の推定値をt1*=a.ft(s1)、予測性能の推定値をp1*=a.fp(s1)とする。

0117

機械学習装置100は、以下のようにして、サンプルサイズs2の前にサンプルサイズs1で機械学習アルゴリズムを実行するか否か判定する。
図10は、サンプルサイズの減少に関するシナリオ例を示す図である。

0118

機械学習装置100は、学習時間の観点から、サンプルサイズs1で実行した方が有利か、サンプルサイズs2で実行した方が有利かを判定する。このとき、サンプルサイズの選択方法と機械学習アルゴリズムの実行結果から、3通りのシナリオが考えられる。

0119

曲線61は、第1のシナリオにおける予測性能と時刻との関係を示す。第1のシナリオは、時刻Tにおいてサンプルサイズs0の学習ステップが終了した後、サンプルサイズs1は選択せずにサンプルサイズs2を選択した場合である。時刻T+t2*において、サンプルサイズs2の学習ステップが終了して予測性能p2*が得られる。

0120

曲線62は、第2のシナリオにおける予測性能と時刻との関係を示す。第2のシナリオは、時刻Tにおいてサンプルサイズs0の学習ステップが終了した後、サンプルサイズs1を選択し、これによって得られた予測性能p1*が低かった場合である。時刻T+t1*において、サンプルサイズs1の学習ステップが終了し、サンプルサイズs2の学習ステップは実行されない。すなわち、機械学習アルゴリズムaの実行は打ち切られる。

0121

曲線63は、第3のシナリオにおける予測性能と時刻との関係を示す。第3のシナリオは、時刻Tにおいてサンプルサイズs0の学習ステップが終了した後、サンプルサイズs1を選択し、これによって得られた予測性能p1*が高かった場合である。時刻T+t1*において、サンプルサイズs1の学習ステップが終了した後、更にサンプルサイズs2の学習ステップが開始される。そして、時刻T+t1*+t2*において、サンプルサイズs2の学習ステップが終了して予測性能p2*が得られる。

0122

機械学習装置100がサンプルサイズs2を選択した場合、第1のシナリオが発生する。一方、機械学習装置100がサンプルサイズs1を選択した場合、第2のシナリオと第3のシナリオの何れか一方が確率的に発生する。第2のシナリオの累積実行時間は第1のシナリオより短い一方、第3のシナリオの累積実行時間は第1のシナリオより長い。このため、サンプルサイズs1とサンプルサイズs2の何れを選択した方が累積実行時間が短くなるかは、第2のシナリオの発生確率に依存する。

0123

ここでは、サンプルサイズs1を選択した後に第2のシナリオが生じる確率(機械学習アルゴリズムaの打ち切り率)をPstopとし、サンプルサイズs1を選択した後に第3のシナリオが生じる確率を1−Pstopとする。Pstopの計算方法については後述する。時刻Tより後に機械学習アルゴリズムaに費やす実行時間の期待値をt12*とすると、t12*=Pstop×t1*+(1−Pstop)×(t1*+t2*)となる。これは、t12*=t1*+(1−Pstop)×t2*と変形することができる。

0124

t12*<t2*が成立すれば、サンプルサイズs1を選択することで実行時間の短縮が期待される。よって、機械学習装置100がサンプルサイズs1を選択する条件は、t1*<Pstop×t2*を満たすようなサンプルサイズs1が、s0<s1<s2の範囲に存在することである。最適なサンプルサイズs1は、t12*を最小にするサイズ、すなわち、a.ft(s)+(1−Pstop)×t2*を最小にするsである。ただし、s0<s1<s2かつt1*≧k1×t0という制約を満たす。なお、Pstopはサンプルサイズs1に応じて変化する。

0125

図11は、打ち切り率の算出例を示す図である。
打ち切り率Pstopは、以下のようにして算出することができる。
機械学習装置100が、時刻T0に機械学習アルゴリズムaをサンプルサイズs1で実行し始める場合を考える。時刻T0における達成予測性能はPT0である。サンプルサイズs1の実行時間の推定値はt1*=a.ft(s1)である。ここでは、推定通りに時刻T0+t1*にサンプルサイズs1の学習ステップが終了するものとする。確率分布64は、サンプルサイズs1の学習ステップによって得られる予測性能の確率分布a.fXp(s1)である。確率分布a.fXp(s1)に従う確率変数をpxとする。

0126

また、時刻T0+t1*より後である時刻T1に、機械学習アルゴリズムaをサンプルサイズs2で実行し始める場合を考える。時刻T0+t1*と時刻T1の間に、他の機械学習アルゴリズムが実行される可能性がある。時刻T1における達成予測性能はPT1である。サンプルサイズs2の実行時間の推定値はt2*=a.ft(s2)である。ここでは、推定通りに時刻T1+t2*にサンプルサイズs2の学習ステップが終了するものとする。

0127

この状況において、機械学習装置100は以下のようなシミュレーションを行う。機械学習装置100は、サンプルサイズs1の学習ステップを実行した結果として予測性能pxが得られたと仮定する。機械学習装置100は、pxとPT0とを比較し、px>PT0である場合には時刻T0+t1*において達成予測性能がpxに更新されると判断する。達成予測性能が更新される場合、機械学習装置100は、各機械学習アルゴリズムの改善速度を仮想的に更新する。また、機械学習装置100は、予測性能の測定値pxを用いて機械学習アルゴリズムaの予測性能の推定式を仮想的に更新し、サンプルサイズs2の予測性能の推定値a.fp(s2)および確率分布a.fXp(s2)を再計算する。

0128

確率分布65は、pxが確率分布64の期待値より大きい1つの予測性能であると仮定した場合に計算される確率分布a.fXp(s2)である。確率分布66は、pxが確率分布64の期待値より小さい1つの予測性能であると仮定した場合に計算される確率分布a.fXp(s2)である。このようにして、機械学習装置100は、サンプルサイズs1を選択した後、サンプルサイズs2を更に選択しようとする場合における機械学習アルゴリズムaの改善速度を算出する。ここで算出される改善速度をr2*とする。

0129

機械学習装置100は、時刻T0+t1*において、改善速度r2*が他の何れの機械学習アルゴリズムの改善速度よりも大きく、r2*が閾値R以上であり、かつ、t2*が残り時間を超えないか判断する。この条件を満たす場合、機械学習装置100は、機械学習アルゴリズムaがサンプルサイズs2で実行されると判断する。

0130

また、時刻T0+t1*において改善速度がr2*より大きい他の機械学習アルゴリズムが存在する場合、機械学習装置100は、他の機械学習アルゴリズムが期待値通りの予測性能を達成できると仮定して達成予測性能PT1を算出する。機械学習装置100は、この達成予測性能PT1に基づいて改善速度r2*を更新する。そして、機械学習装置100は、時刻T1において、更新された改善速度r2*が閾値R以上であり、かつ、t2*が残り時間を超えないか判断する。この条件を満たす場合、機械学習装置100は、機械学習アルゴリズムaがサンプルサイズs2で実行されると判断する。それ以外の場合、機械学習装置100は、機械学習アルゴリズムaがサンプルサイズs2で実行されない(機械学習アルゴリズムaが打ち切られる)と判断する。

0131

機械学習装置100は、モンテカルロ法によって、確率分布64に従う多数のpxをランダムに選択して上記の処理を繰り返す。これにより、打ち切り率Pstopは数式(1)のように算出される。数式(1)に含まれるf(x)は、確率分布64の確率密度関数を示す。数式(1)に含まれるh(x)は、機械学習アルゴリズムaがサンプルサイズs2で実行される場合に「0」、実行されない場合に「1」をとる関数である。

0132

0133

上記の打ち切り率Pstopは、サンプルサイズs1が変わると変化する。図10で説明した方法で最適なサンプルサイズs1を探索する場合、機械学習装置100は、図11で説明したシミュレーションを様々なサンプルサイズs1について繰り返すことになる。機械学習装置100は、二分探索法などによって、最適なサンプルサイズs1の存在するサイズ区間を段階的に絞り込んでもよい。また、機械学習装置100は、サンプルサイズs1の候補を1000の倍数に限定するなど、サンプルサイズs1の候補を一定条件を満たす離散的な値に限定してもよい。

0134

なお、打ち切り率Pstopを上記より簡易的な方法で近似することも可能である。
図12は、打ち切り率の他の算出例を示す図である。
図11の場合と同様に、機械学習装置100が、時刻T0に機械学習アルゴリズムaをサンプルサイズs1で実行し始めるとする。時刻T0における達成予測性能はPT0である。サンプルサイズs1の学習ステップは時刻T0+t1*に終了する。確率分布64は、サンプルサイズs1の学習ステップによって得られる予測性能の確率分布a.fXp(s1)である。サンプルサイズs1についての予測性能の期待値はp1*=a.fp(s1)である。時刻T0+t1*における達成予測性能はPT0+t1*である。

0135

その後、図11の場合とは異なり、機械学習装置100が、時刻T0+t1*に機械学習アルゴリズムaをサンプルサイズs2で実行し始めるとする。すなわち、他の機械学習アルゴリズムは考慮されない。サンプルサイズs2の学習ステップは時刻T0+t1*+t2*に終了する。確率分布67は、サンプルサイズs2の学習ステップによって得られる予測性能の確率分布a.fXp(s2)である。確率分布67は、サンプルサイズs1の学習ステップで得られる予測性能が期待値p1*であると仮定して推定される。

0136

打ち切り率Pstopは、数式(2)のように近似計算できる。f(x)は確率分布67の確率密度関数である。達成予測性能PT0+t1*はmax(PT0,p1*)である。すなわち、サンプルサイズs1の予測性能の期待値が時刻T0における達成予測性能より大きい場合のみ、達成予測性能が更新されると仮定する。p1*はサンプルサイズs1に依存するため、打ち切り率Pstopはサンプルサイズs1に応じて変化する。

0137

0138

確率分布67が示す予測性能の下限が達成予測性能PT0+t1*よりも十分に大きい場合、サンプルサイズs2の学習ステップを実行することになる可能性が高いため、打ち切り率Pstopは「0」に近くなる。一方、確率分布67が示す予測性能の上限が達成予測性能PT0+t1*よりも若干大きい程度である場合、サンプルサイズs1の予測性能がp1*より小さいならば、予測性能のUCBがPT0+t1*を超えずサンプルサイズs2の学習ステップを実行しないことになる可能性が高い。この場合、打ち切り率Pstopは「0.5」に近くなる。

0139

また、更に簡易的な方法でサンプルサイズs1を近似することも可能である。
時刻T0+t1*における達成予測性能PT0+t1*がサンプルサイズs1に依存せず一定であると仮定する。例えば、PT0+t1*=PT0であると仮定する。すると、前述のt12*はs1に対して単調増加となる。機械学習装置100は、t12*=k1×t0=a.ft(s1)を満たすs1を求める。そのs1についてs0<s1<s2かつt1*<Pstop×t2*が成立するのであれば、機械学習装置100は当該s1を選択すればよい。

0140

上記のようにして、機械学習装置100は、学習ステップが1つ終了する毎に次の学習ステップで使用する機械学習アルゴリズムとサンプルサイズを決定する。機械学習装置100は、学習ステップの進行状況をディスプレイ111に表示してもよい。

0141

図13は、機械学習進行画面の例を示す図である。
機械学習装置100は、機械学習の進行中、機械学習進行画面115をディスプレイ111に表示する。機械学習進行画面115は、実行された1以上の学習ステップについて、ステップ番号と機械学習アルゴリズムの識別情報とサンプルサイズと達成予測性能とを列挙する。なお、機械学習装置100は、機械学習進行画面115に相当する情報を、ディスプレイ111以外の出力デバイスから出力してもよい。また、機械学習装置100は、機械学習進行画面115に相当する情報を他の装置に送信してもよい。

0142

次に、機械学習装置100の機能および処理について説明する。
図14は、機械学習装置の機能例を示すブロック図である。
機械学習装置100は、データ記憶部121、管理テーブル記憶部122、学習結果記憶部123、制限時間入力部131、ステップ実行部132、時間推定部133、性能改善量推定部134および学習制御部135を有する。データ記憶部121、管理テーブル記憶部122および学習結果記憶部123は、例えば、RAM102またはHDD103に確保した記憶領域を用いて実現できる。制限時間入力部131、ステップ実行部132、時間推定部133、性能改善量推定部134および学習制御部135は、例えば、CPU101が実行するプログラムモジュールを用いて実現できる。

0143

データ記憶部121は、機械学習に使用できるデータ集合を記憶する。データ集合は、それぞれが目的変数の値(結果)と1または2以上の説明変数の値(要因)とを含む単位データの集合である。データ記憶部121に記憶されたデータは、機械学習装置100または他の情報処理装置が各種デバイスから収集したものでもよいし、機械学習装置100または他の情報処理装置に対してユーザが入力したものでもよい。

0144

管理テーブル記憶部122は、機械学習の進行を管理するテーブルを記憶する。管理テーブル記憶部122に記憶されるテーブルの詳細は後述する。
学習結果記憶部123は、機械学習の最終結果を記憶する。機械学習の最終結果には、目的変数と1または2以上の説明変数との間の関係を示すモデルが含まれる。例えば、各説明変数の重みを示す係数が機械学習によって決定される。また、機械学習の最終結果には、学習されたモデルの予測性能が含まれる。また、機械学習の最終結果には、モデルの学習に用いた機械学習アルゴリズムとサンプルサイズの情報が含まれる。

0145

制限時間入力部131は、機械学習の制限時間の情報を取得し、制限時間を学習制御部135に通知する。制限時間の情報は、入力デバイス112を通じてユーザから入力されてもよい。また、制限時間の情報は、RAM102またはHDD103に記憶された設定ファイルから読み出すようにしてもよい。また、制限時間の情報は、ネットワーク114を介して他の情報処理装置から受信してもよい。

0146

ステップ実行部132は、複数の機械学習アルゴリズムを実行することができる。ステップ実行部132は、学習制御部135から、機械学習アルゴリズムとサンプルサイズの指定を受け付ける。すると、ステップ実行部132は、データ記憶部121に記憶されたデータを用いて、指定された機械学習アルゴリズムおよび指定されたサンプルサイズについての学習ステップを実行する。すなわち、ステップ実行部132は、指定されたサンプルサイズに基づいて、データ記憶部121から訓練データとテストデータを抽出する。ステップ実行部132は、訓練データと指定された機械学習アルゴリズムを用いてモデルを学習し、テストデータを用いて予測性能を算出する。

0147

モデルの学習と予測性能の算出について、ステップ実行部132は、クロスバリデーションやランダムサブサンプリングバリデーションなどの各種のバリデーション方法を使用できる。使用するバリデーション方法は、ステップ実行部132に予め設定されてもよい。また、ステップ実行部132は、1つの学習ステップに要した実行時間を測定する。ステップ実行部132は、モデルと予測性能と実行時間を学習制御部135に出力する。

0148

時間推定部133は、ある機械学習アルゴリズムとサンプルサイズの組に対する実行時間を推定する。時間推定部133は、学習制御部135から、機械学習アルゴリズムとサンプルサイズの指定を受け付ける。すると、時間推定部133は、指定された機械学習アルゴリズムについてこれまで測定された実行時間と、指定されたサンプルサイズと、所定の推定式とから、指定されたサンプルサイズの実行時間を推定する。時間推定部133は、推定した実行時間を学習制御部135に出力する。

0149

性能改善量推定部134は、ある機械学習アルゴリズムとサンプルサイズの組に対する性能改善量を推定する。性能改善量推定部134は、学習制御部135から、機械学習アルゴリズムとサンプルサイズの指定を受け付ける。すると、性能改善量推定部134は、指定された機械学習アルゴリズムについてこれまで測定された予測性能と、指定されたサンプルサイズと、所定の推定式とから、指定されたサンプルサイズの予測性能を推定する。このとき、性能改善量推定部134は、統計誤差を考慮して、UCBなど予測性能の期待値よりも大きい値を用いる。性能改善量推定部134は、現在の達成予測性能からの性能改善量を算出し、学習制御部135に出力する。

0150

学習制御部135は、複数の機械学習アルゴリズムを用いた機械学習を制御する。学習制御部135は、複数の機械学習アルゴリズムそれぞれを小さなサンプルサイズでステップ実行部132に実行させる。学習制御部135は、1つの学習ステップが実行される毎に、同じ機械学習アルゴリズムについて次に実行すべきサンプルサイズを決定する。次に実行すべきサンプルサイズは、改善速度が最大になるサンプルサイズである。学習制御部135は、当該機械学習アルゴリズムと当該サンプルサイズの組に対応する実行時間を時間推定部133に推定させると共に性能改善量を性能改善量推定部134に推定させ、当該機械学習アルゴリズムを次に実行した場合の改善速度を算出する。また、学習制御部135は、1つの学習ステップが実行された結果として達成予測性能が上昇した場合、他の機械学習アルゴリズムの改善速度も更新する。

0151

そして、学習制御部135は、複数の機械学習アルゴリズムの中から改善速度が最大のものを選択し、選択した機械学習アルゴリズムをステップ実行部132に実行させる。このとき、学習制御部135は、選択した機械学習アルゴリズムを、予定のサンプルサイズよりも小さいサンプルサイズで実行させることがある。また、学習制御部135は、選択した機械学習アルゴリズムを、予定のサンプルサイズよりも大きいサンプルサイズで実行させることがある。学習制御部135は、改善速度の更新と機械学習アルゴリズムの選択とを、改善速度が十分に小さくなるか学習時間が制限時間を超えるまで繰り返す。

0152

学習制御部135は、機械学習の停止までに得られたモデルのうち予測性能が最大のモデルを学習結果記憶部123に保存する。また、学習制御部135は、予測性能と機械学習アルゴリズムの情報とサンプルサイズの情報を学習結果記憶部123に保存する。なお、学習制御部135は、機械学習の実行中に、機械学習進行画面115をディスプレイ111に表示するなど進行情報を適時出力するようにしてもよい。

0153

図15は、履歴テーブルと関数テーブルとスケジュールテーブル例を示す図である。
履歴テーブル124は、管理テーブル記憶部122に記憶される。履歴テーブル124は、アルゴリズムID、サンプルサイズ、予測性能および実行時間の項目を有する。履歴テーブル124の1つのレコードは、実行された1つの学習ステップに対応する。アルゴリズムIDの項目には、実行された機械学習アルゴリズムの識別子が登録される。サンプルサイズの項目には、学習ステップで使用された訓練データのサンプルサイズが登録される。予測性能の項目には、学習ステップで算出された予測性能の測定値が登録される。実行時間の項目には、学習ステップで算出された実行時間の測定値が登録される。

0154

履歴テーブル124に登録された予測性能のうちの最大値が、現在の達成予測性能に相当する。履歴テーブル124は、例えば、ステップ実行部132が出力した学習ステップの実行結果に基づいて学習制御部135によって更新される。履歴テーブル124の内容は、時間推定部133や性能改善量推定部134によって参照される。

0155

関数テーブル125は、管理テーブル記憶部122に記憶される。関数テーブル125は、アルゴリズムID、予測性能関数、確率分布関数および実行時間関数の項目を有する。関数テーブル125の1つのレコードは、1つの機械学習アルゴリズムに対応する。アルゴリズムIDの項目には、機械学習アルゴリズムの識別子が登録される。予測性能関数の項目には、当該機械学習アルゴリズムについて算出された関数fp()、すなわち、予測性能の推定値を求める関数が登録される。確率分布関数の項目には、当該機械学習アルゴリズムについて算出された関数fXp()、すなわち、予測性能の確率分布を求める関数が登録される。実行時間関数の項目には、当該機械学習アルゴリズムについて算出された関数ft()、すなわち、実行時間の推定値を求める関数が登録される。

0156

ある機械学習アルゴリズムの予測性能関数、確率分布関数および実行時間関数は、当該機械学習アルゴリズムについての予測性能の測定値や実行時間の測定値が増える毎に、すなわち、当該機械学習アルゴリズムの学習ステップが実行される毎に更新される。関数テーブル125は、例えば、時間推定部133や性能改善量推定部134によって更新される。また、関数テーブル125は、時間推定部133や性能改善量推定部134や学習制御部135によって参照される。

0157

スケジュールテーブル126は、管理テーブル記憶部122に記憶される。スケジュールテーブル126は、アルゴリズムID、サンプルサイズおよび改善速度の項目を有する。スケジュールテーブル126の1つのレコードは、1つの機械学習アルゴリズムに対応する。アルゴリズムIDの項目には、機械学習アルゴリズムの識別子が登録される。サンプルサイズの項目には、当該機械学習アルゴリズムについて、次に実行する予定のサンプルサイズが登録される。改善速度の項目には、当該機械学習アルゴリズムを当該サンプルサイズで実行した場合に期待される予測性能の改善速度が登録される。

0158

スケジュールテーブル126から、改善速度が最大の機械学習アルゴリズムが選択されて実行されることになる。スケジュールテーブル126の改善速度は、1つの学習ステップが実行された結果として達成予測性能が上昇する毎に更新される。改善速度の初期値無限大である。一方、スケジュールテーブル126のサンプルサイズは、当該機械学習アルゴリズムが前回実行されたときに更新され、他の機械学習アルゴリズムによって達成予測性能が上昇しても更新されない。サンプルサイズの初期値は、例えば、データ集合Dのサイズの1/1024である。スケジュールテーブル126は、時間推定部133や性能改善量推定部134が出力した情報に基づいて学習制御部135によって更新される。

0159

図16は、機械学習の手順例を示すフローチャートである。
(S10)学習制御部135は、データ記憶部121を参照して、最小サンプルサイズsinitを算出する。例えば、学習制御部135は、データ記憶部121に記憶されたデータ集合Dのサイズに基づいて、sinit=|D|/210と算出する。

0160

(S11)学習制御部135は、スケジュールテーブル126に記憶された複数の機械学習アルゴリズムそれぞれのサンプルサイズをsinitに初期化し、複数の機械学習アルゴリズムそれぞれの改善速度を無限大(∞)に初期化する。また、学習制御部135は、達成予測性能Pを無限小に初期化する。

0161

(S12)学習制御部135は、スケジュールテーブル126の中から改善速度が最大の機械学習アルゴリズムを選択する。ここで選択した機械学習アルゴリズムをaとする。
(S13)学習制御部135は、機械学習アルゴリズムaの改善速度r*が、閾値R未満であるか判断する。閾値Rは、予め学習制御部135に設定されていてもよい。例えば、閾値R=0.001/3600とする。改善速度r*が閾値R未満である場合はステップS31に処理が進み、それ以外の場合はステップS14に処理が進む。

0162

(S14)学習制御部135は、スケジュールテーブル126から、機械学習アルゴリズムaに対応するサンプルサイズをサンプルサイズs2として取得する。学習制御部135は、前述の方法によって、サンプルサイズs2よりも小さいサンプルサイズs1であって、期待実行時間t12*が最小になるs1を探索する。

0163

(S15)学習制御部135は、ステップS14に該当するサンプルサイズs1が存在するか判断する。該当するサンプルサイズs1が存在する場合はステップS16に処理が進み、存在しない場合はステップS17に処理が進む。

0164

(S16)学習制御部135は、機械学習アルゴリズムaおよびサンプルサイズs1を用いた学習ステップをステップ実行部132に実行させる。ステップ実行部132の処理については後述する。そして、ステップS19に処理が進む。

0165

(S17)学習制御部135は、スケジュールテーブル126から、機械学習アルゴリズムaの次に改善速度が大きい2番目の機械学習アルゴリズムを検索し、その改善速度を取得する。学習制御部135は、前述の方法によって、2番目の改善速度に基づいてサンプルサイズs2をサンプルサイズs3に増大させる。すなわち、学習制御部135は、機械学習アルゴリズムaの改善速度が2番目の改善速度を下回らない範囲で、機械学習アルゴリズムaのサンプルサイズを増大させる。

0166

(S18)学習制御部135は、機械学習アルゴリズムaおよびサンプルサイズs3を用いた学習ステップをステップ実行部132に実行させる。
(S19)学習制御部135は、ステップ実行部132から、学習されたモデルmと当該モデルの予測性能pと実行時間tとを取得する。学習制御部135は、機械学習アルゴリズムaおよびサンプルサイズs(s1またはs3)と対応付けて、予測性能pと実行時間tを履歴テーブル124に保存する。

0167

(S20)学習制御部135は、ステップS19で取得した予測性能pが達成予測性能Pより大きいか判断する。予測性能pが達成予測性能Pより大きい場合、学習制御部135は、達成予測性能Pを予測性能pに更新すると共に、達成予測性能Pが得られた機械学習アルゴリズムaとサンプルサイズs(s1またはs3)とを記録しておく。

0168

図17は、機械学習の手順例を示すフローチャート(続き)である。
(S21)学習制御部135は、ステップS20で達成予測性能Pが更新された場合、更新された達成予測性能Pを用いて、スケジュールテーブル126に記憶された機械学習アルゴリズムa以外の機械学習アルゴリズムそれぞれの改善速度を更新する。通常、達成予測性能Pが大きくなると、各機械学習アルゴリズムの改善速度は小さくなる。更新後の改善速度は、前回改善速度の算出に用いたfg(Xp,P)/t*という式のPのみを入れ替えることで算出することができる。なお、スケジュールテーブル126に記憶された各機械学習アルゴリズムのサンプルサイズは更新しなくてよい。

0169

(S22)学習制御部135は、時間推定部133および性能改善量推定部134に、機械学習アルゴリズムaについての関数を更新させる。時間推定部133は、ステップS19で取得された実行時間tを含む過去の実行時間の測定値を用いて、回帰分析により関数a.ft()を算出する。性能改善量推定部134は、ステップS19で取得された予測性能pを含む過去の予測性能の測定値を用いて、回帰分析により関数a.fp()およびa.fXp()を算出する。更新された関数a.fp(),a.fXp(),a.ft()は、関数テーブル125に記憶される。

0170

(S23)学習制御部135は、前述の方法により、機械学習アルゴリズムaの改善速度を最大にするサンプルサイズsnewを算出する。学習制御部135は、幾つかのサンプルサイズについて、時間推定部133に実行時間の推定値を算出させ性能改善量推定部134に性能改善量を算出させることで、改善速度を試算してもよい。このとき、ステップS22で更新された関数a.fp(),a.fXp(),a.ft()が使用される。サンプルサイズsnewは、fg(fXp(s),P)/ft(s)を最大にするsである。

0171

(S24)学習制御部135は、サンプルサイズsnewとデータ記憶部121に記憶されたデータ集合Dのサイズとを比較し、前者が後者より大きいか判断する。サンプルサイズsnewがデータ集合Dのサイズよりも大きい場合はステップS25に処理が進み、それ以外の場合はステップS26に処理が進む。

0172

(S25)学習制御部135は、スケジュールテーブル126に記憶された機械学習アルゴリズムaに対応する改善速度を「0」に更新する。これにより、機械学習アルゴリズムaは実行されなくなる。そして、ステップS12に処理が進む。

0173

(S26)学習制御部135は、時間推定部133に、機械学習アルゴリズムaおよびサンプルサイズsnewを用いた学習ステップの実行時間t*を推定させる。時間推定部133の処理については後述する。

0174

(S27)学習制御部135は、性能改善量推定部134に、機械学習アルゴリズムaおよびサンプルサイズsnewを用いた学習ステップの性能改善量g*を推定させる。性能改善量推定部134の処理については後述する。

0175

(S28)学習制御部135は、ステップS26で推定された実行時間t*およびステップS27で推定された性能改善量g*に基づいて、機械学習アルゴリズムaおよびサンプルサイズsnewに対応する改善速度rnew*=g*/t*を算出する。

0176

(S29)学習制御部135は、機械学習を開始してからの経過時間が、制限時間入力部131から指定された制限時間を超えたか判断する。経過時間が制限時間を超えた場合はステップS31に処理が進み、それ以外の場合はステップS30に処理が進む。

0177

(S30)学習制御部135は、スケジュールテーブル126に<a,snew,rnew*>の組を保存する。すなわち、学習制御部135は、スケジュールテーブル126に記憶された機械学習アルゴリズムaに対応するサンプルサイズをsnewに更新する。また、学習制御部135は、スケジュールテーブル126に記憶された機械学習アルゴリズムaに対応する改善速度をrnew*に更新する。そして、ステップS12に処理が進む。

0178

(S31)学習制御部135は、達成予測性能Pとその予測性能が得られたモデルmとを学習結果記憶部123に保存する。また、学習制御部135は、達成予測性能Pに対応付けられた機械学習アルゴリズムの識別情報と、達成予測性能Pに対応付けられたサンプルサイズとを、学習結果記憶部123に保存する。

0179

図18は、ステップ実行の手順例を示すフローチャートである。
ここでは、バリデーション方法として、データ集合Dのサイズに応じて、ランダムサブサンプリングバリデーションまたはクロスバリデーションを実行する場合を考える。ただし、ステップ実行部132は、他のバリデーション方法を用いてもよい。

0180

(S40)ステップ実行部132は、学習制御部135から指定された機械学習アルゴリズムaとサンプルサイズsとを特定する。また、ステップ実行部132は、データ記憶部121に記憶されているデータ集合Dを特定する。

0181

(S41)ステップ実行部132は、サンプルサイズsが、データ集合Dのサイズの2/3よりも大きいか判断する。サンプルサイズsが2/3×|D|よりも大きい場合、ステップ実行部132は、データ量が不足しているためクロスバリデーションを選択する。そして、ステップS48に処理が進む。サンプルサイズsが2/3×|D|以下である場合、ステップ実行部132は、データ量が十分あるためランダムサブサンプリングバリデーションを選択する。そして、ステップS42に処理が進む。

0182

(S42)ステップ実行部132は、データ集合Dからサンプルサイズsの訓練データDtをランダムに抽出する。訓練データの抽出は、非復元抽出サンプリングとして行う。よって、訓練データには、互いに異なるs個の単位データが含まれる。

0183

(S43)ステップ実行部132は、データ集合Dのうち訓練データDtを除いた部分から、サイズs/2のテストデータDsをランダムに抽出する。テストデータの抽出は、非復元抽出サンプリングとして行う。よって、テストデータには、訓練データDtと異なりかつ互いに異なるs/2個の単位データが含まれる。なお、ここでは訓練データDtのサイズとテストデータDsのサイズの比を2:1としたが、比を変更してもよい。

0184

(S44)ステップ実行部132は、機械学習アルゴリズムaとデータ集合Dから抽出した訓練データDtとを用いてモデルを学習する。
(S45)ステップ実行部132は、学習したモデルとデータ集合Dから抽出したテストデータDsとを用いて、モデルの予測性能を算出する。予測性能を表す指標として、正答率、適合率、RMSEなど任意の指標を用いることができる。予測性能を表す指標が、予めステップ実行部132に設定されてもよい。

0185

(S46)ステップ実行部132は、上記ステップS42〜S45の繰り返し回数と閾値Kとを比較し、前者が後者未満であるか判断する。閾値Kは、予めステップ実行部132に設定されていてもよい。例えば、閾値K=10とする。繰り返し回数が閾値K未満の場合はステップS42に処理が進み、それ以外の場合はステップS47に処理が進む。

0186

(S47)ステップ実行部132は、ステップS45で算出されたK個の予測性能の平均値を算出し、予測性能pとして出力する。また、ステップ実行部132は、ステップS40が開始されてからステップS42〜S46の繰り返しが終了するまでの実行時間tを算出して出力する。また、ステップ実行部132は、ステップS44で学習されたK個のモデルのうち予測性能が最大のモデルmを出力する。そして、ランダムサブサンプリングバリデーションによる1つの学習ステップが終了する。

0187

(S48)ステップ実行部132は、上記のランダムサブサンプリングバリデーションに代えて、前述したクロスバリデーションを実行する。例えば、ステップ実行部132は、データ集合Dからサンプルサイズsのサンプルデータをランダムに抽出し、抽出したサンプルデータをK個のブロックに均等に分割する。ステップ実行部132は、K−1個のブロックを訓練データとして使用し1個のブロックをテストデータとして使用することを、テストデータのブロックを変えながらK回繰り返す。ステップ実行部132は、K個の予測性能の平均である予測性能pと実行時間tと予測性能が最大のモデルmを出力する。

0188

図19は、時間推定の手順例を示すフローチャートである。
(S50)時間推定部133は、学習制御部135から指定された機械学習アルゴリズムaとサンプルサイズsとを特定する。

0189

(S51)時間推定部133は、機械学習アルゴリズムaが2以上のサンプルサイズで実行済みであるか判断する。機械学習アルゴリズムaが2以上のサンプルサイズで実行済みである場合はステップS52に処理が進み、1つのサンプルサイズでのみ実行されている場合はステップS55に処理が進む。

0190

(S52)時間推定部133は、履歴テーブル124から、機械学習アルゴリズムaに対応する2組以上のサンプルサイズと実行時間tを検索する。
(S53)時間推定部133は、サンプルサイズを説明変数とし実行時間tを目的変数とする回帰分析により、関数a.ft()を算出する。例えば、時間推定部133は、線形回帰分析によりa.ft(s)=β2+α2×sの係数α2,β2を決定する。別の例としては、時間推定部133は、線形回帰分析によりa.ft(s)=β2+α2×log(s)の係数α2,β2を決定することにしてもよい。時間推定部133は、関数テーブル125の関数a.ft()を更新する。ただし、関数a.ft()を前回算出してから機械学習アルゴリズムaについての履歴が増えていない場合、時間推定部133は関数a.ft()を更新しなくてもよい。その場合、時間推定部133は、関数テーブル125から最新の関数a.ft()を取得できる。

0191

(S54)時間推定部133は、ステップS53で算出した関数a.ft()とステップS50で特定したサンプルサイズsを用いて、機械学習アルゴリズムaおよびサンプルサイズsに対応する実行時間t*=a.ft(s)を推定する。時間推定部133は、推定した実行時間t*を出力する。そして、時間推定が終了する。

0192

(S55)時間推定部133は、履歴テーブル124から、機械学習アルゴリズムaに対応する1組のサンプルサイズと実行時間tを検索する。
(S56)時間推定部133は、検索されたサンプルサイズをs1とし実行時間をt1とすると、機械学習アルゴリズムaおよびサンプルサイズsに対応する実行時間t*=t1×s/s1を推定する。時間推定部133は、推定した実行時間t*を出力する。

0193

図20は、性能改善量推定の手順例を示すフローチャートである。
(S60)性能改善量推定部134は、学習制御部135から指定された機械学習アルゴリズムaとサンプルサイズsとを特定する。

0194

(S61)性能改善量推定部134は、履歴テーブル124から、機械学習アルゴリズムaに対応する1組以上のサンプルサイズと予測性能pを検索する。
(S62)性能改善量推定部134は、サンプルサイズを説明変数とし予測性能pを目的変数とする回帰分析により、関数a.fp()と関数a.fXp()を算出する。例えば、性能改善量推定部134は、非線形回帰分析によりa.fp(s)=β1−α1×s−γの係数α1,β1,γを決定する。各サンプルサイズにおける予測性能の確率分布を示す関数a.fXp()は、回帰分析を通じて求めることができる。ただし、a.fXp()からa.fp()を導出することも可能である。

0195

性能改善量推定部134は、関数テーブル125の関数a.fp(),a.fXp()を更新する。ただし、関数a.fp(),a.fXp()を前回算出してから機械学習アルゴリズムaについての履歴が増えていない場合、性能改善量推定部134は関数a.fp(),a.fXp()を更新しなくてもよい。その場合、性能改善量推定部134は、関数テーブル125から最新の関数a.fp(),a.fXp()を取得できる。

0196

(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として用いてもよい。

0197

(S64)性能改善量推定部134は、現在の達成予測性能Pと上限値uを比較して性能改善量g*=Max(0,u−P)を推定し、推定した性能改善量g*を出力する。性能改善量g*は、u>Pであればu−Pであり、u≦Pであれば0である。

0198

第2の実施の形態の機械学習装置100によれば、複数の機械学習アルゴリズムそれぞれについて、次に使用する予定のサンプルサイズが選択され、そのサンプルサイズにおける改善速度が推定される。そして、複数の機械学習アルゴリズムの中から改善速度が最大の機械学習アルゴリズムが選択され、選択された機械学習アルゴリズムが1つのサンプルサイズで実行される。以上の学習ステップが1つずつ進められる。

0199

これにより、達成予測性能の向上に寄与しなくなった機械学習アルゴリズムは実行されなくなり、全体の機械学習時間を短縮することができる。また、改善速度が最大の機械学習アルゴリズムが選択されるため、機械学習時間に制限があり機械学習を途中で打ち切った場合であっても、終了時刻までに得られたモデルが、制限時間内に得られる最良のモデルとなる。また、少しでも達成予測性能の向上に寄与する機械学習アルゴリズムは、実行順序が後になっても実行される余地が残される。このため、予測性能の上限が高い機械学習アルゴリズムをサンプルサイズが小さいうちに打ち切ってしまうリスクを低減できる。

0200

また、複数の機械学習アルゴリズムそれぞれのサンプルサイズの増加量は固定でなく、当該機械学習アルゴリズムや他の機械学習アルゴリズムの実行状況を考慮して調整される。すなわち、次に使用するサンプルサイズは、予測性能の改善速度が最大になるサンプルサイズを基準にして選択される。よって、達成予測性能の上昇速度が向上する。

0201

また、大きいサンプルサイズの学習ステップの実行される可能性が高い機械学習アルゴリズムについては、小さなサンプルサイズがスキップされて大きなサンプルサイズが選択される。よって、サンプルサイズを大きくする過程で生じる途中の無駄な学習ステップを削減することができる。また、大きいサンプルサイズの学習ステップの実行される可能性が高くない機械学習アルゴリズムについては、より小さなサンプルサイズが選択される。よって、大きなサンプルサイズを用いずに予測性能の推定精度を向上させることができ、予測性能の上限の低い機械学習アルゴリズムを早期に打ち切ることができる。

0202

このように、複数の機械学習アルゴリズムおよび複数のサンプルサイズを用いた機械学習を効率化でき、機械学習時間を短縮することができる。

0203

10機械学習管理装置
11 記憶部
12 制御部
13a,13b機械学習アルゴリズム
14 最大予測性能
15a,15b,15c,15d推定予測性能
16a,16b,16c,16d推定実行時間
17a,17b訓練データサイズ

ページトップへ

この技術を出願した法人

この技術を発明した人物

ページトップへ

関連する挑戦したい社会課題

関連する公募課題

ページトップへ

技術視点だけで見ていませんか?

この技術の活用可能性がある分野

分野別動向を把握したい方- 事業化視点で見る -

(分野番号表示ON)※整理標準化データをもとに当社作成

ページトップへ

おススメ サービス

おススメ astavisionコンテンツ

新着 最近 公開された関連が強い技術

この 技術と関連性が強い技術

関連性が強い 技術一覧

この 技術と関連性が強い人物

関連性が強い人物一覧

この 技術と関連する社会課題

関連する挑戦したい社会課題一覧

この 技術と関連する公募課題

関連する公募課題一覧

astavision 新着記事

サイト情報について

本サービスは、国が公開している情報(公開特許公報、特許整理標準化データ等)を元に構成されています。出典元のデータには一部間違いやノイズがあり、情報の正確さについては保証致しかねます。また一時的に、各データの収録範囲や更新周期によって、一部の情報が正しく表示されないことがございます。当サイトの情報を元にした諸問題、不利益等について当方は何ら責任を負いかねることを予めご承知おきのほど宜しくお願い申し上げます。

主たる情報の出典

特許情報…特許整理標準化データ(XML編)、公開特許公報、特許公報、審決公報、Patent Map Guidance System データ