【文献】
浦 晃, 他,サブサンプリングを利用した探索領域の限定による機械学習のハイパーパラメータ調整,信学技報,PRMU2015-74,日本,電気情報通信学会,2015年09月
(58)【調査した分野】(Int.Cl.,DB名)
【発明を実施するための形態】
【0015】
以下、本実施の形態を図面を参照して説明する。
[第1の実施の形態]
第1の実施の形態を説明する。
【0016】
図1は、探索装置を説明する図である。
第1の実施の形態の探索装置10は機械学習の進行を管理する。機械学習では、既知の事例を示す訓練データを分析することで、未知の事例の結果を予測するモデル(学習モデルと言うことがある)を生成する。探索装置10が自ら機械学習を行ってもよいし、探索装置10が他の装置に機械学習を行わせてもよい。探索装置10は、ユーザが操作するクライアントコンピュータでもよいし、クライアントコンピュータからネットワーク経由でアクセスされるサーバコンピュータでもよい。
【0017】
探索装置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でもよい)に記憶されたプログラムを実行する。プログラムには探索プログラムが含まれる。複数のプロセッサの集合を「マルチプロセッサ」または単に「プロセッサ」と言うことがある。
【0018】
機械学習によって生成されるモデルに対しては、既知の事例を示すテストデータを用いることで、未知の事例の結果を予測する精度を示す予測性能を算出することができる。予測性能を示す指標としては、例えば、正答率(Accuracy)、適合率(Precision)、F値、平均二乗誤差(MSE:Mean Squared Error)、平均二乗誤差平方根(RMSE:Root Mean Squared Error)などが用いられる。機械学習では予測性能の高いモデルが生成されることが好ましい。モデルの予測性能は、訓練データとして使用するデータセット(データ母集合)に依存する。また、生成されるモデルの予測性能は、機械学習の挙動を調整する設定項目であるハイパーパラメータの値にも依存する。
【0019】
ハイパーパラメータは、モデルに含まれるモデル係数のように機械学習を通じて値が決定されるものではなく、モデル生成の開始前に値が設定されるものである。ハイパーパラメータ値を変えると、生成されるモデルが変わって予測性能が変わる。ハイパーパラメータは、機械学習アルゴリズムの指定や訓練データに対する前処理方法の指定を含んでもよい。探索装置10は、あるデータセットに対して好適なハイパーパラメータ値を探索する。ハイパーパラメータ探索では、十分に大きなサンプルサイズの訓練データを使用したときの予測性能が高いハイパーパラメータ値を発見することが目的となる。ただし、最初から大きなサンプルサイズの訓練データを使用して様々なハイパーパラメータ値を試行することは非効率である。そこで、探索装置10は、小さなサンプルサイズから始めて、サンプルサイズを大きくしていく過程でハイパーパラメータ値を絞り込む。
【0020】
記憶部11は、探索履歴13を記憶する。探索履歴13は、1つのサンプルサイズの訓練データと1つのハイパーパラメータ値とを用いてモデルを生成する学習処理の履歴を示す。探索履歴13は、どの様なサンプルサイズとハイパーパラメータ値の組が試行されたかを示している。ここでは、サンプルサイズs1の訓練データとハイパーパラメータ値θ1とを用いる学習処理14aが実行済みである。また、サンプルサイズs1の訓練データとハイパーパラメータ値θ2とを用いる学習処理14bが実行済みである。一方、サンプルサイズs2の訓練データとハイパーパラメータ値θ1とを用いてモデルを生成する学習処理14cが未実行である。また、サンプルサイズs1以下の訓練データとハイパーパラメータ値θ3とを用いる学習処理14dが未実行である。
【0021】
処理部12は、記憶部11に記憶された探索履歴13を参照して、次に実行する学習処理を選択し、選択した学習処理を探索装置10または他の情報処理装置に実行させる。処理部12は、学習処理14a,14bを既に実行させており、学習処理14c,14dをまだ実行させていない。この場合、処理部12は、学習処理14aで使用されたリソースおよび学習処理14bで使用されたリソースに基づいて、サンプルサイズs1に対応する合計リソース15を算出し、合計リソース15と閾値16を比較する。
【0022】
「リソース」は、学習処理の負荷を反映した指標であればよい。例えば、リソースとして、学習処理で使用する訓練データのサイズ(サンプルサイズ)を用いてもよいし、学習処理の実行時間を用いてもよいし、学習処理の中で行われる機械学習アルゴリズムの繰り返し回数(イテレーション数)を用いてもよい。合計リソース15は、例えば、サンプルサイズs1の訓練データを使用した複数の学習処理のリソースの合計である。閾値16は、例えば、サンプルサイズs2に応じて決まる閾値である。処理部12は、学習処理14cで使用されるリソースの推定値を用いて閾値16を算出してもよい。また、処理部12は、複数のサンプルサイズに対応して予め設定された複数のリソース係数のうち、サンプルサイズs2に対応するリソース係数を用いて閾値16を算出してもよい。処理部12は、サンプルサイズs1に対応するリソース係数を更に用いて閾値16を算出してもよい。
【0023】
処理部12は、合計リソース15が閾値16を超える場合、学習処理14cの実行を許容する。この場合、次に学習処理14cが学習処理14dより優先的に実行されることが好ましい。すなわち、試行済みのハイパーパラメータ値のサンプルサイズを大きくすることが優先される。一方、処理部12は、合計リソース15が閾値16以下である場合、学習処理14cの実行を制限し、学習処理14dの実行を許容する。この場合、次に学習処理14dが学習処理14cより優先的に実行されることが好ましい。すなわち、試行したハイパーパラメータ値を増やすことが優先される。
【0024】
第1の実施の形態の探索装置10によれば、サンプルサイズs1について実行済みの学習処理14a,14bで使用されたリソースから、合計リソース15が算出され、合計リソース15と閾値16とが比較される。合計リソース15が閾値16を超えれば、サンプルサイズs1より大きなサンプルサイズs2について学習処理14cが許容される。合計リソース15が閾値16以下であれば、学習処理14cが制限され、サンプルサイズs1以下のサンプルサイズについて学習処理14dが許容される。
【0025】
これにより、次に試行するハイパーパラメータ値とサンプルサイズの組を選択するにあたり、試行したハイパーパラメータ値を増やすこととサンプルサイズを大きくすることのバランスを図ることができる。その結果、小さいサンプルサイズの試行を優先し過ぎることによって大きいサンプルサイズで得られる予測性能の向上が遅れてしまうリスクや、大きいサンプルサイズの試行を優先し過ぎることによる無駄な試行発生のリスクを低減することができる。よって、ハイパーパラメータ値の探索を効率化することができる。
【0026】
[第2の実施の形態]
次に、第2の実施の形態を説明する。
図2は、機械学習装置のハードウェア例を示すブロック図である。
【0027】
機械学習装置100は、CPU101、RAM102、HDD103、画像信号処理部104、入力信号処理部105、媒体リーダ106および通信インタフェース107を有する。上記ユニットはバスに接続されている。機械学習装置100は、第1の実施の形態の探索装置10に対応する。CPU101は、第1の実施の形態の処理部12に対応する。RAM102またはHDD103は、第1の実施の形態の記憶部11に対応する。
【0028】
CPU101は、プログラムの命令を実行するプロセッサである。CPU101は、HDD103に記憶されたプログラムやデータの少なくとも一部をRAM102にロードし、プログラムを実行する。なお、CPU101は複数のプロセッサコアを含んでもよく、機械学習装置100は複数のプロセッサを有してもよく、以下で説明する処理を複数のプロセッサまたはプロセッサコアを用いて並列に実行してもよい。また、複数のプロセッサの集合を「マルチプロセッサ」または単に「プロセッサ」と言うことがある。
【0029】
RAM102は、CPU101が実行するプログラムやCPU101が演算に用いるデータを一時的に記憶する揮発性の半導体メモリである。なお、機械学習装置100は、RAM以外の種類のメモリを備えてもよく、複数個のメモリを備えてもよい。
【0030】
HDD103は、オペレーティングシステム(OS:Operating System)やミドルウェアやアプリケーションソフトウェアなどのソフトウェアのプログラム、および、データを記憶する不揮発性の記憶装置である。プログラムには探索プログラムが含まれる。なお、機械学習装置100は、フラッシュメモリやSSD(Solid State Drive)などの他の種類の記憶装置を備えてもよく、複数の不揮発性の記憶装置を備えてもよい。
【0031】
画像信号処理部104は、CPU101からの命令に従って、機械学習装置100に接続されたディスプレイ111に画像を出力する。ディスプレイ111としては、CRT(Cathode Ray Tube)ディスプレイ、液晶ディスプレイ(LCD:Liquid Crystal Display)、プラズマディスプレイ、有機EL(OEL:Organic Electro-Luminescence)ディスプレイなど、任意の種類のディスプレイを用いることができる。
【0032】
入力信号処理部105は、機械学習装置100に接続された入力デバイス112から入力信号を取得し、CPU101に出力する。入力デバイス112としては、マウスやタッチパネルやタッチパッドやトラックボールなどのポインティングデバイス、キーボード、リモートコントローラ、ボタンスイッチなどを用いることができる。また、機械学習装置100に、複数の種類の入力デバイスが接続されていてもよい。
【0033】
媒体リーダ106は、記録媒体113に記録されたプログラムやデータを読み取る読み取り装置である。記録媒体113として、例えば、磁気ディスク、光ディスク、光磁気ディスク(MO:Magneto-Optical disk)、半導体メモリなどを使用できる。磁気ディスクには、フレキシブルディスク(FD:Flexible Disk)やHDDが含まれる。光ディスクには、CD(Compact Disc)やDVD(Digital Versatile Disc)が含まれる。
【0034】
媒体リーダ106は、例えば、記録媒体113から読み取ったプログラムやデータを、RAM102やHDD103などの他の記録媒体にコピーする。読み取られたプログラムは、例えば、CPU101によって実行される。なお、記録媒体113は可搬型記録媒体であってもよく、プログラムやデータの配布に用いられることがある。また、記録媒体113やHDD103を、コンピュータ読み取り可能な記録媒体と言うことがある。
【0035】
通信インタフェース107は、ネットワーク114に接続され、ネットワーク114を介して他の装置と通信を行うインタフェースである。通信インタフェース107は、例えば、スイッチやルータなどの通信装置とケーブルで接続される。
【0036】
次に、機械学習で生成されるモデルと予測性能について説明する。
第2の実施の形態の機械学習では、既知の事例を示す複数のデータ単位(レコードやインスタンスと言うことがある)を含むデータセットを予め用意しておく。機械学習装置100または他の情報処理装置が、センサデバイスなどの各種デバイスからネットワーク114経由でレコードを収集してもよい。データセットは「ビッグデータ」と言われるサイズの大きなデータセットであってもよい。各レコードは、1以上の説明変数の値と目的変数の値とを含む。説明変数および目的変数それぞれを属性と言うことがあり、説明変数の値および目的変数の値それぞれを属性値と言うことがある。
【0037】
機械学習装置100は、データセットの中から一部のレコードを訓練データとしてサンプリングし、訓練データを用いてモデルを生成する。モデルは、説明変数と目的変数との間の関係を示し、1以上の説明変数と1以上のモデル係数と目的変数とを含む。モデルは、線形式、二次以上の多項式、指数関数、対数関数などの各種数式によって表されることがある。数式の形は、機械学習の前にユーザによって指定されてもよい。モデル係数は、機械学習を通じて訓練データに基づいて決定される。生成されたモデルを用いることで、未知の事例の説明変数の値(要因)から、未知の事例の目的変数の値(結果)を予測することができる。モデルによって予測される結果は、0以上1以下の確率値などの連続値であってもよいし、YES/NOの2値などの離散値であってもよい。
【0038】
生成されたモデルに対しては予測性能を算出することができる。予測性能は、未知の事例の結果を正確に予測する能力であり、精度と言うこともできる。機械学習装置100は、データセットの中から訓練データ以外のレコードをテストデータとしてサンプリングし、テストデータを用いて予測性能を算出する。テストデータのサイズは、例えば、訓練データのサイズの1/2程度とする。機械学習装置100は、テストデータに含まれる説明変数の値をモデルに入力し、モデルが出力する目的変数の値(予測値)とテストデータに含まれる目的変数の値(実績値)とを比較する。なお、生成したモデルの予測性能を検証することを「バリデーション」と言うことがある。
【0039】
予測性能の指標として、正答率、適合率、F値、平均二乗誤差、平均二乗誤差平方根などが挙げられる。例えば、結果がYES/NOの2値で表されるとする。また、N件のテストデータの事例のうち、予測値=YESかつ実績値=YESの件数をTp、予測値=YESかつ実績値=NOの件数をFp、予測値=NOかつ実績値=YESの件数をFn、予測値=NOかつ実績値=NOの件数をTnとする。この場合、正答率は予測が当たった割合であり、(Tp+Tn)/Nと算出される。適合率は「YES」の予測を間違えない確率であり、Tp/(Tp+Fp)と算出される。F値は、(2×再現率×適合率)/(再現率+適合率)と算出される。再現率は、Tp/(Tp+Fn)と算出される。各事例の実績値をyと表し予測値をy
*と表すと、平均二乗誤差はsum(y−y
*)
2/Nと算出され、平均二乗誤差平方根は(sum(y−y
*)
2/N)
1/2と算出される。
【0040】
次に、モデルを生成する学習ステップについて説明する。
図3は、機械学習のパイプラインの例を示す図である。
第2の実施の形態では1つのモデルを生成する1回の学習ステップは、パイプラインと言われる一連の処理手順として定義される。パイプラインはワークフローと言うこともできる。パイプラインは、処理に対応するノードと処理間のデータの引き継ぎに対応する有向エッジとを含む有向非循環グラフ(DAG:Directed Acyclic Graph)として表現することができる。パイプラインの入力はデータセット全体またはそこからサンプリングされたデータ(まとめて以下サンプルデータと呼ぶ)であり、パイプラインの出力はモデルとその予測性能である。パイプラインの最終段の処理は、1つの機械学習アルゴリズムを用いてモデルを生成し当該モデルの予測性能を測定する処理である。最終段以外の処理は、例えば、サンプルデータに対する前処理である。
【0041】
ここでは一例として、処理31〜33を含むパイプラインを説明する。
処理31は、第1段階の前処理であり、サンプルデータに含まれるレコードの値を正規化する。処理31は、サンプルデータを受け取り、正規化したレコードの集合を第1段階の中間データとして処理32に引き渡す。正規化は、レコードに含まれる値の分布を所定範囲の分布に変換することで、サンプルデータによって値の上限や下限が異なることによる機械学習の精度への影響を低減するものである。
【0042】
処理32は、第2段階の前処理であり、第1段階の中間データに含まれるレコードの次元(説明変数の数)を削減する。処理32は、処理31から第1段階の中間データを受け取り、次元を減らしたレコードの集合を第2段階の中間データとして処理33に引き渡す。次元削減は、レコードから冗長な説明変数の値を除去することで、予測性能の高いモデルを生成しやすくするものである。これは、全ての説明変数が目的変数と強い相関関係をもつとは限らず、目的変数の値を予測する上で有用であるとは限らないためである。
【0043】
処理33は、最終段の処理であり、モデルを生成して評価する。処理33は、処理32から第2段階の中間データを受け取り、モデルとその予測性能を出力する。モデル生成評価は、第2段階の中間データに含まれる一部のレコードを訓練データとして抽出し、抽出した訓練データと1つの機械学習アルゴリズムを用いてモデルを生成することを含む。また、モデル生成評価は、第2段階の中間データに含まれる他のレコードをテストデータとして抽出し、抽出したテストデータに含まれる説明変数の値をモデルに入力して目的変数の値を予測し、実績値と比較することで予測性能を測定することを含む。
【0044】
ここで、機械学習の挙動を調整するハイパーパラメータについて説明する。ハイパーパラメータは、モデルに含まれるモデル係数のように機械学習を通じて値が決定されるものではなく、モデル生成の前に値が指定されるものである。ハイパーパラメータ値を変えると、生成されるモデルが変わり予測性能が変わる。ハイパーパラメータは、カテゴリカルハイパーパラメータと連続量ハイパーパラメータを含む。
【0045】
カテゴリカルハイパーパラメータは、異なる値の間に大小関係が定義されないハイパーパラメータである。カテゴリカルハイパーパラメータは名義尺度に相当すると言うこともできる。異なるカテゴリカルハイパーパラメータ値を比較しても、大小関係に意味が無く差や比にも意味が無い。よって、近いカテゴリカルパラメータ値を用いて生成されたモデルは近い予測性能をもつという仮定が成立しない。カテゴリカルハイパーパラメータには、前処理方法や機械学習アルゴリズムが含まれる。また、カテゴリカルハイパーパラメータには、機械学習アルゴリズムの挙動を調整する非数値変数が含まれる。
【0046】
連続量ハイパーパラメータは、カテゴリカルハイパーパラメータ以外のハイパーパラメータであり、異なる値の間に大小関係が定義されるハイパーパラメータである。連続量ハイパーパラメータは順序尺度、間隔尺度または比例尺度に相当すると言うこともできる。異なる連続量ハイパーパラメータ値の間で、大小関係は判定可能であるものの差や比に意味が無いことがある(順序尺度)。また、異なる連続量ハイパーパラメータ値の間で、差(距離)は定義されるものの比に意味が無いことがある(間隔尺度)。また、異なる連続量ハイパーパラメータ値の間で、差だけでなく比も定義されることがある(比例尺度)。
【0047】
近い連続量ハイパーパラメータ値を用いて生成されたモデルは近い予測性能をもつという仮定が成立する。連続量ハイパーパラメータ値は、実数のような連続値でもよいし整数のような離散値でもよい。連続量ハイパーパラメータには、前処理の挙動を調整する数値変数や機械学習アルゴリズムの挙動を調整する数値変数が含まれる。
【0048】
なお、ハイパーパラメータは複数の変数を列挙したベクトルであることもある。これを明確にするため、個々の変数をハイパーパラメータ要素と言い、ハイパーパラメータ要素に代入する値をハイパーパラメータ要素値と言うことがある。また、ハイパーパラメータ要素の集合をハイパーパラメータと言い、ハイパーパラメータ要素値の集合をハイパーパラメータ値またはハイパーパラメータ点と言うことがある。
【0049】
上記のように、カテゴリカルハイパーパラメータでは機械学習アルゴリズムを指定することができる。機械学習装置100が実行可能な機械学習アルゴリズムの例として、ロジスティック回帰分析、SVM、ランダムフォレストなどが挙げられる。
【0050】
ロジスティック回帰分析は、目的変数yの値と説明変数x
1,x
2,…,x
kの値をS字曲線にフィッティングする回帰分析である。目的変数yおよび説明変数x
1,x
2,…,x
kは、log(y/(1−y))=a
1x
1+a
2x
2+…+a
kx
k+bの関係を満たすと仮定される。a
1,a
2,…,a
k,bは係数であり、回帰分析によって決定される。
【0051】
サポートベクタマシンは、N次元空間に配置されたレコードの集合を、2つのクラスに最も明確に分割するような境界面を算出する機械学習アルゴリズムである。境界面は、各クラスとの距離(マージン)が最大になるように算出される。
【0052】
ランダムフォレストは、複数のレコードを分類するためのモデルを生成する機械学習アルゴリズムである。ランダムフォレストでは、データセットからレコードをランダムに抽出し、説明変数の一部をランダムに選択し、選択した説明変数の値に応じて抽出したレコードを分類する。説明変数の選択とレコードの分類を繰り返すことで、複数の説明変数に基づく階層的な決定木を生成する。レコードの抽出と決定木の生成を繰り返すことで複数の決定木を求め、それら決定木を合成することで最終的なモデルを生成する。
【0053】
上記の処理31〜33を含むパイプラインは様々なハイパーパラメータ要素をもつ。処理31は正規化方法を示すハイパーパラメータ要素をもつ。正規化方法はカテゴリカルハイパーパラメータ要素であり、最大値を1、最小値を0に正規化する方法と、平均を0、標準偏差を1に正規化する方法(Z変換)とをハイパーパラメータ要素値としてもつ。処理32は次元削減方法を示すハイパーパラメータ要素をもつ。次元削減方法はカテゴリカルハイパーパラメータ要素であり、主成分分析法とカーネル主成分分析法をハイパーパラメータ要素値としてもつ。処理33は機械学習アルゴリズムを示すハイパーパラメータ要素をカテゴリカルハイパーパラメータ要素としてもつ。
【0054】
次元削減方法として主成分分析法を選択した場合、処理32は更に特徴数を示すハイパーパラメータ要素をもつ。特徴数は連続量ハイパーパラメータ要素であり、2以上30以下の整数をとる。次元削減方法としてカーネル主成分分析法を選択した場合、処理32は更に特徴数を示すハイパーパラメータ要素と変数γを示すハイパーパラメータ要素をもつ。特徴数は連続量ハイパーパラメータ要素であり、2以上50以下の整数をとる。変数γは連続量ハイパーパラメータ要素であり、0.01以上100.0以下の実数をとる。
【0055】
機械学習アルゴリズムとしてサポートベクタマシンを選択した場合、処理33は更に変数Cを示すハイパーパラメータ要素と変数γを示すハイパーパラメータ要素をもつ。変数Cは連続量ハイパーパラメータ要素であり、0.01以上100.0以下の実数をとる。変数γは連続量ハイパーパラメータ要素であり、0.01以上100.0以下の実数をとる。機械学習アルゴリズムとしてランダムフォレストを選択した場合、処理33は更にツリー数を示すハイパーパラメータ要素と深さを示すハイパーパラメータ要素とクラス分類方法を示すハイパーパラメータ要素をもつ。ツリー数は連続量ハイパーパラメータ要素であり、2以上100以下の整数をとる。深さは連続量ハイパーパラメータ要素であり、2以上8以下の整数をとる。クラス分類方法はカテゴリカルハイパーパラメータ要素であり、ジニ係数とエントロピーをハイパーパラメータ要素値としてもつ。
【0056】
図4は、ハイパーパラメータ値の選択例を示す図である。
機械学習装置100は、1つのハイパーパラメータ値、すなわち、1組のハイパーパラメータ要素値の集合を指定することで、
図3のパイプラインに従って1つのモデルを生成し当該モデルの予測性能を測定することができる。ハイパーパラメータ値を変えることで、生成されるモデルや予測性能が変化する。
【0057】
例えば、機械学習装置100は、ハイパーパラメータ値41を指定して1回の学習ステップを実行する。ハイパーパラメータ値41は、正規化方法を最大値と最小値で正規化する方法に設定する。また、ハイパーパラメータ値41は、次元削減方法をカーネル主成分分析法に設定し、その特徴数を15に設定し、その変数γを0.25に設定する。また、ハイパーパラメータ値41は、機械学習アルゴリズムをサポートベクタマシンに設定し、その変数Cを50.0に設定し、その変数γを0.05に設定する。あるサンプルデータとハイパーパラメータ値41から、例えば、予測性能が0.84のモデルが生成される。
【0058】
また、例えば、機械学習装置100は、ハイパーパラメータ値42を指定して1回の学習ステップを実行する。ハイパーパラメータ値42は、正規化方法を平均と標準偏差で正規化する方法に設定する。また、ハイパーパラメータ値42は、次元削減方法を主成分分析法に設定し、その特徴数を25に設定する。また、ハイパーパラメータ値42は、機械学習アルゴリズムをランダムフォレストに設定し、そのツリー数を73に設定し、その深さを4に設定し、そのクラス分類方法をエントロピーに設定する。あるサンプルデータとハイパーパラメータ値42から、例えば、予測性能が0.93のモデルが生成される。
【0059】
次に、使用する訓練データのサイズであるサンプルサイズについて説明する。上記ではハイパーパラメータ値によってモデルの予測性能が変わることを説明したが、サンプルサイズによってもモデルの予測性能が変わる。ハイパーパラメータ値が同じ場合、サンプルサイズが大きいほど予測性能の高いモデルが生成されることが多い。
【0060】
図5は、サンプルサイズと予測性能の関係例を示すグラフである。
曲線51は、ハイパーパラメータθの値がθ
1である場合のサンプルサイズsと予測性能の関係を示す。曲線52は、ハイパーパラメータθの値がθ
2である場合のサンプルサイズsと予測性能の関係を示す。曲線53は、ハイパーパラメータθの値がθ
3である場合のサンプルサイズsと予測性能の関係を示す。サンプルサイズsは、訓練データに含まれるレコードの数であり、例えば、100,200,400,800,…のように所定の倍数で指数関数的に増加させる。所定の倍数は、例えば、2倍または4倍である。
【0061】
曲線51〜53が示すように、各ハイパーパラメータ値について、サンプルサイズが大きいほどモデルの予測性能が高くなる。予測性能が低いうちはサンプルサイズの増加に応じて予測性能が大きく上昇する。一方、予測性能には上限があり、予測性能が上限に近づくとサンプルサイズの増加量に対する予測性能の上昇量の比は逓減する。また、サンプルサイズが大きいほど、モデル生成に要する実行時間も長くなる。
【0062】
予測性能の上限はハイパーパラメータ値によって異なる。
図5の例では、θ=θ
2の場合の予測性能の上限はθ=θ
3の場合よりも高く、θ=θ
1の場合の予測性能の上限はθ=θ
2の場合よりも更に高い。ただし、予測性能の上昇曲線は、ハイパーパラメータ値が同じであっても使用するデータセットの特性(データセットの種類)によって変わる。このため、機械学習を開始する前に、予測性能が最大になるハイパーパラメータ値を特定することは難しい。そこで、第2の実施の形態では、あるデータセットに対して予測性能の上限が最大となるハイパーパラメータ値を、機械学習装置100に探索させる。
【0063】
図6は、ハイパーパラメータ探索の進行例を示す図である。
ハイパーパラメータ探索では最終的に、十分に大きなサンプルサイズにおける予測性能の上限が高いハイパーパラメータ値を発見したい。一方、様々なハイパーパラメータ値について最初から大きなサンプルサイズの訓練データを用いて学習ステップを実行することは、多大な実行時間を要することになり現実的でない。また、ハイパーパラメータの中に複数のカテゴリカルハイパーパラメータ要素が含まれている場合、近似するハイパーパラメータ値から生成されたモデルが近似する予測性能をもつとは限らない。
【0064】
そこで、機械学習装置100は、小さいサンプルサイズで様々なハイパーパラメータ値を試行し、その際に測定された予測性能から大きいサンプルサイズの予測性能を推定する。機械学習装置100は、他のハイパーパラメータ値と比べて予測性能の上昇が相対的に大きいと期待できるハイパーパラメータ値に絞り込んで、サンプルサイズを大きくする。機械学習装置100は、サンプルサイズを多段階で大きくしていく。
【0065】
このとき、様々なハイパーパラメータ値についてどの様な順序でサンプルサイズを大きくしていけば、ハイパーパラメータ探索が効率的になるかが問題となる。
1つのシンプルな方法として、小さいサンプルサイズでできる限り多くのハイパーパラメータ値を試行することを優先する方法が考えられる。しかし、サンプルサイズを大きくすると予測性能も大きくなることも多いため、大きいサンプルサイズでの実行が遅れることにより、それにより得られる予測性能の向上も遅れてしまう。この場合、先に幾つかのハイパーパラメータ値についてある程度大きいサンプルサイズを試行した方が、結果的にハイパーパラメータ値の絞り込みを効率化できることがある。
【0066】
また、他の1つのシンプルな方法として、少数のハイパーパラメータ値を仮選択し、仮選択したハイパーパラメータ値について予測性能の上昇曲線を確定できる程度までサンプルサイズを大きくすることを優先する方法が考えられる。しかし、仮選択したハイパーパラメータ値の予測性能の上限が未選択の他のハイパーパラメータ値よりも低いことがあり、大きなサンプルサイズの試行が結果的に無駄になってしまうことがある。この場合、先に幾つかの他のハイパーパラメータ値についても試行していれば、仮選択したハイパーパラメータ値の試行を途中で打ち切ることができた可能性がある。
【0067】
そこで、機械学習装置100は、様々なハイパーパラメータ値について小さいサンプルサイズの試行量と大きいサンプルサイズの試行量とが所定のバランスを保つように、次にサンプルサイズを1段階大きくするハイパーパラメータ値を選択していく。これにより、小さいサンプルサイズの試行を優先し過ぎることによる絞り込みの失敗を抑制し、大きいサンプルサイズの試行を優先し過ぎることによる打ち切りの失敗を抑制する。
【0068】
ハイパーパラメータ値の試行量を示す指標として、機械学習装置100は合計消費リソースを使用する。「リソース」は、1つのハイパーパラメータ値と1つのサンプルサイズを指定した1回の学習ステップの負荷を表す。リソースの例としてサンプルサイズ、すなわち、使用した訓練データに含まれるレコードの数が挙げられる。また、リソースの例として実行時間、すなわち、訓練データからモデルを生成しモデルとテストデータから予測性能を測定するのに要した時間が挙げられる。また、機械学習アルゴリズムが繰り返し処理を含んでおり繰り返し回数(イテレーション数)を増やすほど予測性能の高いモデルを生成できる場合、リソースの例としてイテレーション数が挙げられる。以下では、リソースとしてサンプルサイズを用いる場合を想定する。
【0069】
機械学習装置100は、複数のハイパーパラメータ値を小さいサンプルサイズで試行することで消費したリソースの合計(合計消費リソース)が閾値を超えた場合、それら複数のハイパーパラメータ値の1つを大きいサンプルサイズで試行することを優先する。一方、機械学習装置100は、合計消費リソース量が閾値以下である場合、他のハイパーパラメータ値を小さいサンプルサイズで試行することを優先する。合計消費リソース量に基づいて、試行済みのハイパーパラメータ値のサンプルサイズを大きくすることを優先するか、新規のハイパーパラメータ値を試行することを優先するかが選択される。
【0070】
あるハイパーパラメータ値をあるサンプルサイズ(対象サンプルサイズ)で試行することを許可するか否か判定することを考える。機械学習装置100は、対象サンプルサイズより小さいサンプルサイズ(要比較サンプルサイズ)を1つ選択する。機械学習装置100は、選択した要比較サンプルサイズについて試行済みのハイパーパラメータ値の消費リソースを合計した合計消費リソースを算出する。また、機械学習装置100は、対象サンプルサイズに応じた閾値を算出する。閾値は、対象サンプルサイズの合計消費リソースと要比較サンプルサイズのリソース係数と対象サンプルサイズのリソース係数に依存する。
【0071】
対象サンプルサイズの合計消費リソースは、対象サンプルサイズについて試行済みのハイパーパラメータ値の消費リソースに、上記ハイパーパラメータ値の試行を許可した場合の消費リソースの推定値を加算したものである。よって、算出する対象サンプルサイズの合計消費リソースは、試行を許可した後の合計消費リソースの推定値である。リソース係数は、小さいサンプルサイズと大きいサンプルサイズの間の合計消費リソースの傾斜を調整する係数であり、複数のサンプルサイズそれぞれに対して予め設定されている。
【0072】
要比較サンプルサイズのリソース係数と対象サンプルサイズのリソース係数との比によって閾値が調整される。例えば、対象サンプルサイズの合計消費リソースをr(s
i)、要比較サンプルサイズのリソース係数をq(s
j)、対象サンプルサイズのリソース係数をq(s
i)とすると、r(s
i)×q(s
j)/q(s
i)を閾値として使用する。要比較サンプルサイズの合計消費リソースをr(s
j)とすると、r(s
j)>r(s
i)×q(s
j)/q(s
i)の場合は対象サンプルサイズの試行が許可され、r(s
j)≦r(s
i)×q(s
j)/q(s
i)の場合は対象サンプルサイズの試行が拒否される。
【0073】
一例として、ハイパーパラメータ値θ=θ
1,θ
2,θ
3とサンプルサイズs=100,200,400が存在するものとする。また、サンプルサイズs=100のリソース係数が1であり、サンプルサイズs=200のリソース係数が1.4であるものとする。その場合、例えば、グラフ61のような順序で学習ステップが進行する。
【0074】
まず、1番目にθ=θ
1,s=100の学習ステップを実行する。すると、s=100の合計消費リソースは100であり、θ=θ
1,s=200の学習ステップを実行した場合のs=200の合計消費リソースは200になる。よって、100≦200×1/1.4=143であるため、θ=θ
1,s=200の学習ステップの実行は拒否される。
【0075】
そこで、2番目にθ=θ
2,s=100の学習ステップを実行する。すると、s=100の合計消費リソースは200であり、θ=θ
1,s=200の学習ステップを実行した場合のs=200の合計消費リソースは200になる。よって、200>200×1/1.4=143であるため、θ=θ
1,s=200の学習ステップの実行は許可される。
【0076】
そこで、3番目にθ=θ
1,s=200の学習ステップを実行する。同様にして、θ=θ
1,s=400の学習ステップの実行は拒否される。また、s=100の合計消費リソースは200であり、θ=θ
2,s=200の学習ステップを実行した場合のs=200の合計消費リソースは400になる。よって、200≦400×1/1.4=286であるため、θ=θ
2,s=200の学習ステップの実行も拒否される。
【0077】
そこで、4番目にθ=θ
3,s=100の学習ステップを実行する。すると、s=100の合計消費リソースは300であり、θ=θ
2,s=200の学習ステップを実行した場合のs=200の合計消費リソースは400になる。よって、300>400×1/1.4=286であるため、θ=θ
2,s=200の学習ステップの実行は許可される。そこで、5番目にθ=θ
2,s=200の学習ステップを実行する。その後、θ=θ
1,s=400の学習ステップの実行が許可され、6番目にこの学習ステップを実行する。
【0078】
このように、学習ステップを進行する過程で、小さいサンプルサイズから大きいサンプルサイズに向かってハイパーパラメータ値が段階的に絞り込まれる形状が維持される。このために、試行済みの最大のサンプルサイズを大きくすることと、試行済みのハイパーパラメータ値を増やすことが、学習ステップを進行する過程で混ぜて実行される。
【0079】
なお、対象サンプルサイズより小さいサンプルサイズが複数存在する場合、第2の実施の形態では、それら複数のサンプルサイズの全てを要比較サンプルサイズとする。複数の要比較サンプルサイズの全てについて、各要比較サンプルサイズの合計消費リソースが閾値を超える場合、対象サンプルサイズの試行が許可される。一方、複数の要比較サンプルサイズの少なくとも1つについて、当該要比較サンプルの合計消費リソースが閾値以下である場合、対象サンプルサイズの試行が拒否される。
【0080】
ただし、対象サンプルサイズより小さいサンプルサイズの一部のみを要比較サンプルサイズとしてもよい。例えば、対象サンプルサイズより一段階小さいサンプルサイズのみを要比較サンプルサイズとしてもよい。また、s=100,200,400など、小さい方から所定個のサンプルサイズを要比較サンプルサイズから除外してもよい。また、サンプルサイズが十分に小さいうちは測定される予測性能の精度が低く予測性能の上昇曲線の推定が難しいことから、新規に試行するハイパーパラメータ値については小さい方から所定個のサンプルサイズを連続で実行することがある。小さい方から所定個のサンプルサイズの連続実行はウォームアップと言うことがあり、1回の学習ステップとしてまとめて実行される。その場合、ウォームアップ区間の最後のサンプルサイズを要比較サンプルサイズとし、それより小さいサンプルサイズを要比較サンプルサイズから除外してもよい。
【0081】
また、第2の実施の形態では1つの要比較サンプルサイズの合計消費リソースと対象サンプルサイズに応じた閾値とを比較している。これに対し、複数の要比較サンプルサイズの合計消費リソースを合算した合算値と対象サンプルサイズに応じた閾値とを比較してもよい。例えば、対象サンプルサイズより小さい全てのサンプルサイズの合計消費リソースを合算した合算値と対象サンプルサイズに応じた閾値とを比較してもよい。その場合、各サンプルサイズのリソース係数を合算値用に適切に設定しておくことが好ましい。
【0082】
次に、好ましいリソース係数について説明する。
図7は、リソース係数テーブルの例を示す図である。
ここでは、まずシンプルなリソース係数の設定方法を示すリソース係数テーブル131a,131bを説明し、その後に好ましいリソース係数の設定方法を示すリソース係数テーブル131を説明する。リソース係数テーブル131,131a,131bは同じ構造を有しており、複数のサンプルサイズと複数のリソース係数とを対応付ける。
図7では、リソース係数テーブル131,131a,131bはサンプルサイズに対応する試行回数比を含んでいる。試行回数比は、試行されたハイパーパラメータ値の数である。ただし、試行回数比はリソース係数の意味の理解を容易にするために記載された情報であり、機械学習装置100が使用するリソース係数テーブルに含まれていなくてもよい。
【0083】
リソース係数テーブル131aは、全てのサンプルサイズに対応するリソース係数を1に統一している。すなわち、サンプルサイズs=100,200,400,800,1600に対して1:1:1:1:1のリソース係数を対応付けている。この場合、サンプルサイズs=100,200,400,800,1600の試行回数比は16:8:4:2:1となる。すなわち、あるサンプルサイズを2回試行する毎に、1段階大きいサンプルサイズを1回試行することが許可される。サンプルサイズの増加倍率がn倍である場合、試行回数の減少倍率は1/n倍になる。リソース係数テーブル131aの設定方法は、小さいサンプルサイズの試行を重視するものである。
【0084】
リソース係数テーブル131bは、サンプルサイズの比とリソース係数の比を同一に設定している。すなわち、サンプルサイズs=100,200,400,800,1600に対して1:2:4:8:16のリソース係数を対応付けている。この場合、サンプルサイズs=100,200,400,800,1600の試行回数比は1:1:1:1:1となる。よって、1つのハイパーパラメータ値を選択すると、選択したハイパーパラメータ値のサンプルサイズを連続で大きくしていくことが許可され、合計消費リソースに基づくサンプルサイズの制限(リソース制約)が実質的に機能しない。リソース係数テーブル131bの設定方法は、リソース係数の比の上限を示唆している。
【0085】
リソース係数テーブル131は、リソース係数の比をリソース係数テーブル131aとリソース係数テーブル131bの中間に設定している(ただし、s=200を除く)。リソース係数テーブル131のリソース係数は、次の文献に記載された方法によって算出することができる。Lisha Li, Kevin Jamieson, Giulia DeSalvo, Afshin Rostamizadeh and Ameet Talwalkar, "Hyperband: A Novel Bandit-Based Approach to Hyperparameter Optimization", arXiv:1603.06560v3, 2016-11-23.
この方法では、サンプルサイズがN段階存在するとき、小さい方からm番目のリソース係数をN/N+N/(N−1)+…+N/(N−m+1)と算出する。N=5と仮定すると、s=100のリソース係数は5/5=1である。s=200のリソース係数は5/5+5/4=2.25である。s=400のリソース係数は5/5+5/4+5/3=3.92である。s=800のリソース係数は5/5+5/4+5/3+5/2=6.42である。s=1600のリソース係数は5/5+5/4+5/3+5/2+5/1=11.42である。この場合、サンプルサイズs=100,200,400,800,1600の試行回数比は3.53:3.83:3.14:2.35:1.69となる。
【0086】
次に、機械学習装置100の機能について説明する。
図8は、機械学習装置の機能例を示すブロック図である。
機械学習装置100は、データ記憶部121、探索履歴記憶部122およびリソース係数記憶部123を有する。また、機械学習装置100は、制御部124、学習部125、既存ハイパーパラメータ値選択部126、改善速度推定部127および新規ハイパーパラメータ値選択部128を有する。データ記憶部121、探索履歴記憶部122およびリソース係数記憶部123は、例えば、RAM102またはHDD103の記憶領域を用いて実装される。制御部124、学習部125、既存ハイパーパラメータ値選択部126、改善速度推定部127および新規ハイパーパラメータ値選択部128は、例えば、CPU101が実行するプログラムを用いて実装される。
【0087】
データ記憶部121は、機械学習に使用できるレコードの母集合であるデータセットを記憶する。データセットは、それぞれが目的変数の値と1以上の説明変数の値とを含むレコードの集合である。データ記憶部121に記憶されたデータは、機械学習装置100または他の情報処理装置が各種デバイスから収集したものでもよいし、機械学習装置100または他の情報処理装置に対してユーザが入力したものでもよい。
【0088】
探索履歴記憶部122は、データ記憶部121に記憶されたデータセットに対するハイパーパラメータ探索の途中経過を示す探索履歴を記憶する。探索履歴は、試行したハイパーパラメータ値とサンプルサイズの組に対して、測定された予測性能(予測性能の実績値)および測定された実行時間(実行時間の実績値)を対応付ける。リソース係数記憶部123は、前述のリソース係数テーブル131を記憶する。リソース係数テーブル131は、例えば、ハイパーパラメータ探索の開始前にユーザによって入力される。
【0089】
制御部124は、機械学習を制御する。制御部124は、機械学習の開始時に、データセットとハイパーパラメータの探索範囲と制限時間の指定を受け付ける。データセットはデータ記憶部121に格納される。ハイパーパラメータの探索範囲は、ハイパーパラメータに含まれるハイパーパラメータ要素とその取り得る値を示し、多次元のハイパーパラメータ空間を示している。制御部124は、指定されたデータセットに対する機械学習を開始してから、指定された制限時間が経過すると、強制的に機械学習を打ち切る。
【0090】
機械学習の中では、指定されたデータセットに適したハイパーパラメータ値が探索される。制御部124は、既存ハイパーパラメータ値選択部126および新規ハイパーパラメータ値選択部128を利用して次に試行するハイパーパラメータ値を決定し、そのハイパーパラメータ値にとって次に試行すべきサンプルサイズを特定する。制御部124は、ハイパーパラメータ値とサンプルサイズを学習部125に指定して1回の学習ステップを学習部125に実行させる。制御部124は、その学習ステップで生成されたモデルと測定された予測性能と測定された実行時間を学習部125から取得し、探索履歴記憶部122に記憶された探索履歴に予測性能と実行時間を記録する。
【0091】
制御部124は、以上の手順を経過時間が制限時間を超えるまで繰り返す。経過時間が制限時間を超えると、制御部124は、それまでに生成されたモデルのうち最大の予測性能をもつモデルを出力する。また、制御部124は、そのモデルの生成に用いられたハイパーパラメータ値とそのモデルの予測性能を併せて出力する。出力情報は、機械学習装置100のHDD103に格納してもよい。また、出力情報は、ディスプレイ111に表示するなど、機械学習装置100が有する出力デバイスから出力してもよい。また、出力情報は、ネットワーク114を介して他の情報処理装置に送信してもよい。
【0092】
学習部125は、制御部124からハイパーパラメータ値とサンプルサイズの指定を受け付け、データ記憶部121に記憶されたデータセットを用いて1回の学習ステップを実行する。通常、学習部125は1回に1つのハイパーパラメータ値と1つのサンプルサイズの指定を受け付ける。ただし、ウォームアップ区間については1回に複数のサンプルサイズの指定を受け付けることがある。その場合、学習部125は、指定されたハイパーパラメータ値について複数のサンプルサイズの試行を連続で実行する。
【0093】
1回の学習ステップでは、学習部125は、指定されたサンプルサイズに相当する数のレコード(例えば、s=100の場合は100個のレコード)を訓練データとしてデータセットの中から抽出する。また、学習部125は、サンプルサイズに応じた適切な数のレコード(例えば、サンプルサイズの半分の数のレコード)をテストデータとしてデータセットの中から抽出する。訓練データとテストデータの抽出は、例えば、ランダムに行う。
【0094】
学習部125は、抽出した訓練データと指定されたハイパーパラメータ値を用いてモデルを生成する。学習部125は、抽出したテストデータと生成したモデルを用いて当該モデルの予測性能を測定する。また、学習部125は、モデルの生成と予測性能の測定に要した実行時間を測定する(例えば、実行時間の単位は「秒」)。学習部125は、生成したモデルと測定した予測性能と測定した実行時間を制御部124に出力する。
【0095】
ここで、学習部125が実行する1回の学習ステップは、例えば、
図3のようにパイプラインを形成している。モデルの生成に用いる機械学習アルゴリズムは、ハイパーパラメータ値の中で指定される。訓練データおよびテストデータに対する前処理の方法は、ハイパーパラメータ値の中で指定される。学習部125は、訓練データおよびテストデータの抽出の偶然性の影響を低減するため、1回の学習ステップの中で所定回数(例えば、10回)のモデル生成を繰り返してもよい。その場合、学習部125は、例えば、生成された所定数のモデルのうち最も予測性能が高いモデルと、所定数のモデルの予測性能の平均と、所定回数のモデル生成全体を通した実行時間とを出力する。
【0096】
既存ハイパーパラメータ値選択部126は、制御部124からハイパーパラメータ値の問い合わせを受け付ける。ハイパーパラメータ値の問い合わせには、探索履歴記憶部122に記憶された最新の探索履歴が付加されている。既存ハイパーパラメータ値選択部126は、1回以上試行したことのあるハイパーパラメータ値(既存ハイパーパラメータ値)の中からサンプルサイズを1段階大きくすることが許可されるハイパーパラメータ値を探す。既存ハイパーパラメータ値選択部126は、該当するハイパーパラメータ値が存在する場合、1つのハイパーパラメータ値を選択して制御部124に通知する。一方、既存ハイパーパラメータ値選択部126は、該当するハイパーパラメータ値が存在しない場合、選択可能なハイパーパラメータ値が無い旨を制御部124に通知する。
【0097】
ハイパーパラメータ値の選択にあたって、既存ハイパーパラメータ値選択部126は、既存ハイパーパラメータ値それぞれの予測性能改善速度を改善速度推定部127に推定させる。予測性能改善速度が大きいハイパーパラメータ値ほど先に試行する価値が高い。予測性能改善速度については後述する。既存ハイパーパラメータ値選択部126は、リソース係数記憶部123に記憶されたリソース係数テーブル131を参照して、予測性能改善速度が大きいハイパーパラメータ値のサンプルサイズを1段階大きくすることが、前述のリソース制約を満たすか判定する。リソース制約を満たす場合、既存ハイパーパラメータ値選択部126は、当該ハイパーパラメータ値を選択して通知することになる。
【0098】
改善速度推定部127は、既存ハイパーパラメータ値選択部126からの問い合わせに応じて、既存ハイパーパラメータ値それぞれの予測性能改善速度を算出する。予測性能改善速度の問い合わせには、最新の探索履歴が付加されている。予測性能改善速度は、例えば、1段階大きなサンプルサイズ(未試行のサンプルサイズのうち最小のもの)を試行した場合における、単位実行時間当たりの予測性能改善量である。予測性能改善速度は、以下の予測性能改善量の推定値を実行時間の推定値で割ったものである。
【0099】
ある既存ハイパーパラメータ値の次のサンプルサイズの実行時間は、当該既存ハイパーパラメータ値の試行済みのサンプルサイズの実行時間から推定できる。例えば、改善速度推定部127は、サンプルサイズsと実行時間tとの間の関係を示す推定式t=β
1+α
1×sを算出する。係数α
1,β
1の値は線形回帰分析により決定される。改善速度推定部127は、この推定式に次のサンプルサイズを代入することで実行時間を推定する。
【0100】
ある既存ハイパーパラメータ値の予測性能改善量は、当該既存ハイパーパラメータ値の次のサンプルサイズの予測性能から達成予測性能を引いた差である。ただし、次のサンプルサイズの予測性能から達成予測性能を引いた値が負になる場合には、予測性能改善量を0とする。達成予測性能は、全てのハイパーパラメータ値および全てのサンプルサイズを通じて、現在までに達成されている最高の予測性能である。当該既存ハイパーパラメータ値の次のサンプルサイズの予測性能は、当該既存ハイパーパラメータ値の試行済みのサンプルサイズの予測性能から推定できる。例えば、改善速度推定部127は、サンプルサイズsと予測性能fとの間の関係を示す推定式f=β
2−α
2×s
-γ
2を算出する。係数α
2,β
2,γ
2の値は非線形回帰分析により決定される。
【0101】
改善速度推定部127は、この推定式に次のサンプルサイズを代入することで予測性能の期待値を算出する。ただし、予測性能改善量の算出に用いる予測性能の推定値は、実際の予測性能が期待値よりも上振れする可能性があることを考慮して、期待値よりも大きな値であることが好ましい。推定よりも実際の予測性能が高いハイパーパラメータ値を見過ごしてしまうリスクを低減するためである。例えば、予測性能の推定値として、95%信頼区間の上限値であるUCB(Upper Confidence Bound)を用いることが考えられる。95%
信頼区間は、測定される予測性能のばらつきを示すものであり、今後測定される予測性能が95%の確率でこの区間に収まると予想されることを示す。95%信頼区間は、非線形回帰分析によって推定式を算出する際に併せて算出される。
【0102】
ただし、UCBに代えて、改善速度推定部127は、推定される予測性能の分布を積分して、予測性能が達成予測性能を超える確率(PI:Probability of Improvement)を算出してもよい。改善速度推定部127は、推定される予測性能の分布を積分して、予測性能が達成予測性能を超える期待値(EI:Expected Improvement)を算出してもよい。
【0103】
新規ハイパーパラメータ値選択部128は、制御部124からハイパーパラメータ値の問い合わせを受け付ける。ハイパーパラメータ値の問い合わせには、探索履歴記憶部122に記憶された最新の探索履歴が付加されている。制御部124から新規ハイパーパラメータ値選択部128への問い合わせは、既存ハイパーパラメータ値選択部126で適切な既存ハイパーパラメータ値が選択されなかった場合に行われる。新規ハイパーパラメータ値選択部128は、まだ1回も試行したことのないハイパーパラメータ値(新規ハイパーパラメータ値)の中から1つを選択して制御部124に通知する。
【0104】
新規ハイパーパラメータ値の選択は、様々な方法で行うことが可能である。例えば、ハイパーパラメータ空間の中からランダムにハイパーパラメータ値を1つ選択する方法が考えられる。また、例えば、ハイパーパラメータ空間の中で既存ハイパーパラメータ値がグリッド状に並ぶように、周辺の既存ハイパーパラメータ値から一定距離だけ離れたハイパーパラメータ値を1つ選択する方法が考えられる。また、近い連続量ハイパーパラメータ要素値からは近い予測性能をもつモデルが生成されるという性質を利用して、選択するハイパーパラメータ値を絞り込む方法も考えられる。
【0105】
図9は、探索履歴テーブルの例を示す図である。
探索履歴テーブル132は、探索履歴記憶部122に格納される。探索履歴テーブル132は、ハイパーパラメータ値、サンプルサイズ、予測性能および実行時間の項目を含む。ハイパーパラメータ値の項目には、試行したハイパーパラメータ値が登録される。サンプルサイズの項目には、試行したサンプルサイズが登録される。予測性能の項目には、1つのハイパーパラメータ値と1つのサンプルサイズの組に対応する予測性能の実績値が登録される。実行時間の項目には、1つのハイパーパラメータ値と1つのサンプルサイズの組に対応する実行時間の実績値が登録される。
【0106】
次に、機械学習装置100の処理手順について説明する。
図10は、機械学習の手順例を示すフローチャートである。
(S10)制御部124は、データセットDと探索範囲Θと制限時間Tを取得する。
【0107】
(S11)制御部124は、探索履歴S=φ(空集合)に初期化する。よって、探索履歴テーブル132から全てのレコードが削除される。
(S12)制御部124は、既存ハイパーパラメータ値選択部126にハイパーパラメータ値を問い合わせる。このとき、制御部124は探索履歴Sを既存ハイパーパラメータ値選択部126に渡す。既存ハイパーパラメータ値選択部126の処理手順は後述する。
【0108】
(S13)制御部124は、ステップS12で既存ハイパーパラメータ値選択部126によってハイパーパラメータ値が選択されたか、すなわち、サンプルサイズを1段階大きくすることが可能な既存ハイパーパラメータ値が存在するか判断する。ハイパーパラメータ値が選択された場合はステップS14に処理が進み、ハイパーパラメータ値が選択されなかった場合はステップS15に処理が進む。
【0109】
(S14)制御部124は、既存ハイパーパラメータ値選択部126が選択したハイパーパラメータ値θを含むレコードを探索履歴Sから検索し、試行済みのサンプルサイズのうち最大のサンプルサイズを判定する。制御部124は、判定した最大のサンプルサイズより1段階大きいサンプルサイズsを選択する。そして、ステップS17に処理が進む。
【0110】
(S15)制御部124は、新規ハイパーパラメータ値選択部128にハイパーパラメータ値を問い合わせる。このとき、制御部124は探索履歴Sを新規ハイパーパラメータ値選択部128に渡す。新規ハイパーパラメータ値選択部128は、探索範囲Θの中から、探索履歴Sに含まれていない新規ハイパーパラメータ値を1つ選択する。
【0111】
(S16)制御部124は、小さい方から所定個のサンプルサイズsを選択する。ウォームアップが存在しない場合、サンプルサイズsは最も小さい1個のサンプルサイズである。ウォームアップが存在する場合、サンプルサイズsは小さい方から連続する2個以上のサンプルサイズ(例えば、4個のサンプルサイズ)である。
【0112】
(S17)制御部124は、ハイパーパラメータ値θとサンプルサイズsを学習部125に対して指定する。ハイパーパラメータ値θは、既存ハイパーパラメータ値選択部126または新規ハイパーパラメータ値選択部128が選択したものである。サンプルサイズsは、ステップS14またはステップS16で制御部124が選択したものである。
【0113】
学習部125は、指定されたハイパーパラメータ値とサンプルサイズの組(θ,s)に対応するモデルを生成し、生成したモデルの予測性能f(θ,s)を測定する。また、学習部125は、実行時間t(θ,s)を測定する。このとき、学習部125は、サンプルサイズsの訓練データをデータセットDの中から抽出し、訓練データと重複しないテストデータをデータセットDの中から抽出する。学習部125は、訓練データとハイパーパラメータ値θを用いてモデルを生成する。ハイパーパラメータ値θは前処理方法や機械学習アルゴリズムを指定していることがある。学習部125は、生成したモデルとテストデータを用いて予測性能f(θ,s)を測定する。実行時間t(θ,s)は、データ抽出とモデル生成と予測性能評価の全体に要した時間である。
【0114】
(S18)制御部124は、ハイパーパラメータ値θ、サンプルサイズs、予測性能f(θ,s)および実行時間t(θ,s)を含むレコードを探索履歴Sに追加する。
(S19)制御部124は、機械学習を開始してからの経過時間を確認し、経過時間が制限時間Tを超えたか判断する。経過時間が制限時間Tを超えた場合はステップS20に処理が進み、経過時間が制限時間T以下である場合はステップS12に処理が進む。
【0115】
(S20)制御部124は、ステップS17で生成された全てのモデルの中から予測性能が最大のモデルを選択する。また、制御部124は、選択したモデルの生成に用いたハイパーパラメータ値と選択したモデルの予測性能を探索履歴Sから抽出する。制御部124は、選択したモデルとハイパーパラメータ値と予測性能を出力する。
【0116】
図11は、ハイパーパラメータ値選択の手順例を示すフローチャートである。
ハイパーパラメータ値選択は、上記のステップS12で実行される。
(S30)既存ハイパーパラメータ値選択部126は、探索履歴Sから、各ハイパーパラメータ値について試行済みのサンプルサイズのうち最大のサンプルサイズを判定する。既存ハイパーパラメータ値選択部126は、最大のサンプルサイズがまだ上限に達していないハイパーパラメータ値θ、すなわち、サンプルサイズを1段階大きくする余地があるハイパーパラメータ値θを探索履歴Sから抽出する。
【0117】
(S31)改善速度推定部127は、ステップS
30で抽出されたハイパーパラメータ値θそれぞれに対して、予測性能改善量g(θ)と実行時間t(θ)を推定する。予測性能改善量g(θ)は、1段階大きなサンプルサイズの予測性能の推定値と現在の達成予測性能との差である。実行時間t(θ)は、1段階大きなサンプルサイズの実行時間の推定値である。改善速度推定部127は、探索履歴Sからハイパーパラメータ値θの予測性能の実績値を抽出し、抽出した予測性能の実績値を用いて非線形回帰分析を行うことで、予測性能改善量g(θ)に用いる予測性能の推定値を算出する。また、改善速度推定部127は、探索履歴Sからハイパーパラメータ値θの実行時間の実績値を抽出し、抽出した実行時間の実績値を用いて線形回帰分析を行うことで、実行時間t(θ)を算出する。
【0118】
(S32)改善速度推定部127は、ステップS
30で抽出されたハイパーパラメータ値θそれぞれに対して、予測性能改善速度v(θ)を算出する。予測性能改善速度v(θ)は、予測性能改善量g(θ)を実行時間t(θ)で割ったものである。
【0119】
(S33)既存ハイパーパラメータ値選択部126は、集合HをステップS
30で抽出されたハイパーパラメータ値θの集合とし、サンプルサイズz=∞に初期化する。
(S34)既存ハイパーパラメータ値選択部126は、集合H=φ(空集合)であるか判断する。集合Hが空集合である場合、改善速度推定部127は選択すべきハイパーパラメータ値が存在しないと判定し、ハイパーパラメータ値選択が終了する。集合Hが空集合でない場合、ステップS35に処理が進む。
【0120】
(S35)既存ハイパーパラメータ値選択部126は、集合Hの中から、ステップS32で算出された予測性能改善速度v(θ)が最大のハイパーパラメータ値θを抽出してHから削除する。
【0121】
(S36)既存ハイパーパラメータ値選択部126は、ステップS35で抽出したハイパーパラメータ値θを含むレコードを探索履歴Sから検索し、試行済みのサンプルサイズのうち最大のサンプルサイズを判定する。既存ハイパーパラメータ値選択部126は、判定した最大のサンプルサイズより1段階大きいサンプルサイズsを選択する。
【0122】
(S37)既存ハイパーパラメータ値選択部126は、ステップS36で選択したサンプルサイズsがサンプルサイズzより小さいか判断する。s<zである場合はステップS38に処理が進み、s≧zである場合はステップS34に処理が進む。
【0123】
(S38)既存ハイパーパラメータ値選択部126は、z=sに更新する。
(S39)既存ハイパーパラメータ値選択部126は、探索履歴Sを参照して、サンプルサイズsがリソース制約を満たすか判断する。リソース制約の判定方法は後述する。サンプルサイズsがリソース制約を満たす場合はステップS40に処理が進み、リソース制約を満たさない場合はステップS34に処理が進む。
【0124】
(S40)既存ハイパーパラメータ値選択部126は、最後にステップS35で抽出したハイパーパラメータ値θを選択して制御部124に出力する。
ここで、予測性能改善速度が最大のハイパーパラメータ値θ
m1が、リソース制約を満たさないために選択されない可能性がある。その場合、上記のステップS37では、予測性能改善速度が次に大きいハイパーパラメータ値θ
m2が、ハイパーパラメータ値θ
m1よりも大きいまたは同じサンプルサイズを実行しようとしている場合には、ハイパーパラメータ値θ
m2も選択しないこととしている。これは、θ
m2を先に試行すると、リソース制約のために予測性能改善速度が最大のハイパーパラメータ値θ
m1のこのサンプルサイズでの試行が遅れてしまう可能性があるためである。
図11のフローチャートでは、予測性能改善速度が大きいハイパーパラメータ値ができる限り優先的に選択されるようにしている。
【0125】
図12は、リソース制約判定の手順例を示すフローチャートである。
リソース制約判定は、上記のステップS39で実行される。
(S50)既存ハイパーパラメータ値選択部126は、ハイパーパラメータ値θとサンプルサイズs
iの組(θ,s
i)を用いた学習ステップの消費リソースr
+を推定する。ハイパーパラメータ値θは、上記のステップS35で抽出したものである。サンプルサイズs
iは、上記のステップS36で選択したものであり、対象サンプルサイズである。
【0126】
リソースの指標がサンプルサイズである場合、消費リソースr
+はサンプルサイズs
iとなる。リソースの指標が実行時間である場合、消費リソースr
+は実行時間t(θ,s
i)となる。実行時間t(θ,s
i)は上記のステップS31で推定されている。リソースの指標がイテレーション数である場合、消費リソースr
+は予定イテレーション数となる。なお、リソースの指標がイテレーション数である場合、予測性能の上昇曲線の横軸としてサンプルサイズに代えてイテレーション数が用いられる。よって、消費リソースr
+としてのイテレーション数は、サンプルサイズの場合と同様の方法で特定される。
【0127】
(S51)既存ハイパーパラメータ値選択部126は、サンプルサイズs
iを含むレコードを探索履歴Sから検索し、サンプルサイズs
iについて既に消費したリソースを合計する。リソースの指標がサンプルサイズである場合、合計はサンプルサイズs
i×レコード件数となる。リソースの指標が実行時間である場合、合計は検索されたレコードに含まれる実行時間の実績値の和となる。リソースの指標がイテレーション数である場合、合計はサンプルサイズs
iに相当するイテレーション数×レコード件数となる。既存ハイパーパラメータ値選択部126は、上記の合計にステップS50の消費リソースr
+を加えて、合計消費リソースr(s
i)を算出する。
【0128】
(S52)既存ハイパーパラメータ値選択部126は、サンプルサイズs
iより小さい要比較サンプルサイズを全て選択したか判断する。例えば、要比較サンプルサイズは、サンプルサイズs
iより小さい全てのサンプルサイズである。また、例えば、要比較サンプルサイズは、サンプルサイズs
iより1段階小さいサンプルサイズのみである。また、例えば、要比較サンプルサイズは、比較的小さい所定のサンプルサイズのみである。また、例えば、要比較サンプルサイズは、ウォームアップ区間の最後からs
iの1段階前までの各サンプルサイズである。要比較サンプルサイズの基準は、予めユーザが指定してもよい。全ての要比較サンプルサイズを選択した場合はステップS58に処理が進み、未選択の要比較サンプルサイズがある場合はステップS53に処理が進む。
【0129】
(S53)既存ハイパーパラメータ値選択部126は、要比較サンプルサイズのうちの1つ(サンプルサイズs
j)を選択する。
(S54)既存ハイパーパラメータ値選択部126は、サンプルサイズs
jを含むレコードを探索履歴Sから検索し、サンプルサイズs
jについて既に消費したリソースを合計した合計消費リソースr(s
j)を算出する。リソースの指標がサンプルサイズである場合、r(s
j)はサンプルサイズs
j×レコード件数となる。リソースの指標が実行時間である場合、r(s
j)は検索されたレコードに含まれる実行時間の実績値の和となる。リソースの指標がイテレーション数である場合、r(s
j)はサンプルサイズs
jに相当するイテレーション数×レコード件数となる。
【0130】
なお、機械学習では、予測性能の上昇曲線の精度を向上させるため、同一のハイパーパラメータ値とサンプルサイズの組について複数回の学習ステップを実行することがある。その場合、合計消費リソースr(s
i),r(s
j)の算出に用いるリソースは、それら複数回の学習ステップで消費されたリソースの合計でもよいし平均でもよい。
【0131】
(S55)既存ハイパーパラメータ値選択部126は、リソース係数テーブル131から、サンプルサイズs
iに対応するリソース係数q(s
i)とサンプルサイズs
jに対応するリソース係数q(s
j)を検索する。
【0132】
(S56)既存ハイパーパラメータ値選択部126は、サンプルサイズs
iに応じた閾値としてr(s
i)×q(s
j)/q(s
i)を算出する。既存ハイパーパラメータ値選択部126は、合計消費リソースr(s
j)と閾値とを比較し、r(s
j)が閾値より大きいか判断する。r(s
j)が閾値より大きい場合はステップS52に処理が進み、r(s
j)が閾値以下である場合はステップS57に処理が進む。
【0133】
(S57)既存ハイパーパラメータ値選択部126は、リソース制約を満たさないと判定する。少なくとも1つの要比較サンプルサイズについて、合計消費リソースが対象サンプルサイズに応じた閾値以下である場合、リソース制約を満たさないことになる。
【0134】
(S58)既存ハイパーパラメータ値選択部126は、リソース制約を満たすと判定する。全ての要比較サンプルサイズについて、合計消費リソースが対象サンプルサイズに応じた閾値より大きい場合、リソース制約を満たすことになる。
【0135】
第2の実施の形態の機械学習装置100によれば、指定されたデータセットに対して適切なハイパーパラメータ値が自動的に探索される。よって、ユーザが手動でハイパーパラメータ値を調整しなくてもよく、予測性能の高いモデルが生成されやすくなる。また、各ハイパーパラメータ値について訓練データのサンプルサイズが段階的に大きくなり、その過程で予測性能の上昇曲線が推定される。よって、最初から大きなサンプルサイズを試行する場合よりも短時間で、予測性能の上限が高いか否か判断することができ、予測性能の上限が低いハイパーパラメータ値の試行を早期に停止することが可能となる。
【0136】
また、各ハイパーパラメータ値について1段階大きいサンプルサイズを試行する場合の予測性能改善速度が推定され、予測性能改善速度が大きいハイパーパラメータ値が優先的に選択される。よって、できる限り早くモデルの予測性能を向上させることができ、時間的制約のもとで効率的にハイパーパラメータ探索を行える。また、ハイパーパラメータに複数のカテゴリカルハイパーパラメータ要素が含まれており、近いハイパーパラメータ値からは近い予測性能のモデルが生成されるという性質が成立しない場合であっても、効率的に予測性能の高いハイパーパラメータ値を探索できる。
【0137】
また、小さいサンプルサイズの合計消費リソースと大きいサンプルサイズの合計消費リソースが所定の比になるよう、ハイパーパラメータ値の試行順序が制御される。よって、試行済みのハイパーパラメータ値を増やすこととサンプルサイズを大きくすることのバランスを図ることができる。その結果、小さいサンプルサイズの試行を優先し過ぎることによる絞り込みの失敗リスクや、大きいサンプルサイズの試行を優先し過ぎることによる無駄な試行発生のリスクを低減することができる。
【0138】
[第3の実施の形態]
次に、第3の実施の形態を説明する。第2の実施の形態との違いを中心に説明し、第2の実施の形態と同様の内容については説明を省略することがある。
【0139】
第2の実施の形態では、既存ハイパーパラメータ値の予測性能が上限に近付いて予測性能改善速度が十分に小さくなった場合であっても、その既存ハイパーパラメータ値が選択される可能性があった。これに対して第3の実施の形態では、予測性能改善速度が閾値未満になった既存ハイパーパラメータ値の試行を打ち切るようにする。
【0140】
第3の実施の形態の機械学習装置は、
図2,7〜9に示した第2の実施の形態の機械学習装置100の構成と同様の構成によって実現することができる。以下では、
図2,7〜9と同様の符号を用いて第3の実施の形態を説明する。
【0141】
機械学習の全体の処理手順は、
図10に示した第2の実施の形態の処理手順と同様である。以下では、
図11に示した第2の実施の形態のハイパーパラメータ値選択に対応する第3の実施の形態の処理手順と、
図12に示した第2の実施の形態のリソース制約判定に対応する第3の実施の形態の処理手順を説明する。
【0142】
図13は、ハイパーパラメータ値選択の他の手順例を示すフローチャートである。
(S60)既存ハイパーパラメータ値選択部126は、探索履歴Sから、各ハイパーパラメータ値について試行済みのサンプルサイズのうち最大のサンプルサイズを判定する。既存ハイパーパラメータ値選択部126は、最大のサンプルサイズがまだ上限に達していないハイパーパラメータ値θを探索履歴Sから抽出する。
【0143】
(S61)改善速度推定部127は、ステップS60で抽出されたハイパーパラメータ値θそれぞれに対して、予測性能改善量g(θ)と実行時間t(θ)を推定する。
(S62)改善速度推定部127は、ステップS60で抽出されたハイパーパラメータ値θそれぞれに対して、予測性能改善速度v(θ)を算出する。
【0144】
(S63)既存ハイパーパラメータ値選択部126は、集合HをステップS60で抽出されたハイパーパラメータ値θの集合とし、サンプルサイズz=∞に初期化する。
(S64)既存ハイパーパラメータ値選択部126は、集合H=φ(空集合)であるか判断する。集合Hが空集合である場合、改善速度推定部127は選択すべきハイパーパラメータ値が存在しないと判定し、ハイパーパラメータ値選択が終了する。集合Hが空集合でない場合、ステップS65に処理が進む。
【0145】
(S65)既存ハイパーパラメータ値選択部126は、集合Hの中から、ステップS62で算出された予測性能改善速度v(θ)が最大のハイパーパラメータ値θを抽出してHから削除する。
【0146】
(S66)既存ハイパーパラメータ値選択部126は、ステップS65で抽出したハイパーパラメータ値θの予測性能改善速度v(θ)と閾値εとを比較する。閾値εは予め設定された固定値でもよいし、機械学習の開始時にユーザから指定されてもよい。例えば、閾値ε=0.001/3600とする。これは、1時間当たりに予測性能が0.001上昇する速度を表す。既存ハイパーパラメータ値選択部126は、予測性能改善速度v(θ)が閾値ε未満であるか判断する。v(θ)が閾値ε未満である場合、改善速度推定部127は選択すべきハイパーパラメータ値が存在しないと判定し、ハイパーパラメータ値選択が終了する。v(θ)が閾値ε以上である場合、ステップS67に処理が進む。
【0147】
(S67)既存ハイパーパラメータ値選択部126は、ステップS65で抽出したハイパーパラメータ値θを含むレコードを探索履歴Sから検索し、試行済みのサンプルサイズのうち最大のサンプルサイズを判定する。既存ハイパーパラメータ値選択部126は、判定した最大のサンプルサイズより1段階大きいサンプルサイズsを選択する。
【0148】
(S68)既存ハイパーパラメータ値選択部126は、ステップS67で選択したサンプルサイズsがサンプルサイズzより小さいか判断する。s<zである場合はステップS69に処理が進み、s≧zである場合はステップS64に処理が進む。
【0149】
(S69)既存ハイパーパラメータ値選択部126は、z=sに更新する。
(S70)既存ハイパーパラメータ値選択部126は、探索履歴Sを参照して、サンプルサイズsがリソース制約を満たすか判断する。リソース制約の判定方法は後述する。サンプルサイズsがリソース制約を満たす場合はステップS71に処理が進み、リソース制約を満たさない場合はステップS64に処理が進む。
【0150】
(S71)既存ハイパーパラメータ値選択部126は、最後にステップS65で抽出したハイパーパラメータ値θを選択して制御部124に出力する。
図14は、リソース制約判定の他の手順例を示すフローチャートである。
【0151】
(S80)既存ハイパーパラメータ値選択部126は、ハイパーパラメータ値θとサンプルサイズs
iの組(θ,s
i)を用いた学習ステップの消費リソースr
+を推定する。ハイパーパラメータ値θは、上記のステップS65で抽出したものである。サンプルサイズs
iは、上記のステップS67で選択したものであり、対象サンプルサイズである。
【0152】
(S81)既存ハイパーパラメータ値選択部126は、サンプルサイズs
iを含むレコードを探索履歴Sから検索し、サンプルサイズs
iについて既に消費したリソースを合計する。既存ハイパーパラメータ値選択部126は、上記の合計にステップS80の消費リソースr
+を加えて、合計消費リソースr(s
i)を算出する。
【0153】
(S82)既存ハイパーパラメータ値選択部126は、サンプルサイズs
iより小さい比較可能サンプルサイズを全て選択したか判断する。例えば、比較可能サンプルサイズは、サンプルサイズs
iより小さい全てのサンプルサイズである。全ての比較可能サンプルサイズを選択した場合はステップS88に処理が進み、未選択の比較可能サンプルサイズがある場合はステップS83に処理が進む。
【0154】
(S83)既存ハイパーパラメータ値選択部126は、比較可能サンプルサイズのうちの1つ(サンプルサイズs
j)を選択する。選択する比較可能サンプルサイズとしては、十分に小さいサンプルサイズが想定される。例えば、選択する比較可能サンプルサイズとして、最小のサンプルサイズ、小さい方から所定番目のサンプルサイズ、ウォームアップ区間の最後のサンプルサイズなどが考えられる。
【0155】
(S84)既存ハイパーパラメータ値選択部126は、サンプルサイズs
jを含むレコードを探索履歴Sから検索し、サンプルサイズs
jについて既に消費したリソースを合計した合計消費リソースr(s
j)を算出する。
【0156】
(S85)既存ハイパーパラメータ値選択部126は、リソース係数テーブル131から、サンプルサイズs
iに対応するリソース係数q(s
i)とサンプルサイズs
jに対応するリソース係数q(s
j)を検索する。
【0157】
(S86)既存ハイパーパラメータ値選択部126は、サンプルサイズs
iに応じた閾値としてr(s
i)×q(s
j)/q(s
i)を算出する。既存ハイパーパラメータ値選択部126は、合計消費リソースr(s
j)と閾値とを比較し、r(s
j)が閾値より大きいか判断する。r(s
j)が閾値より大きい場合はステップS87に処理が進み、r(s
j)が閾値以下である場合はステップS82に処理が進む。
【0158】
(S87)既存ハイパーパラメータ値選択部126は、リソース制約を満たすと判定する。少なくとも1つの比較可能サンプルサイズについて、合計消費リソースが対象サンプルサイズに応じた閾値より大きい場合、リソース制約を満たすことになる。
【0159】
(S88)既存ハイパーパラメータ値選択部126は、リソース制約を満たさないと判定する。全ての比較可能サンプルサイズについて、合計消費リソースが対象サンプルサイズに応じた閾値以下である場合、リソース制約を満たさないことになる。
【0160】
このように、第3の実施の形態では、少なくとも1つの比較可能サンプルサイズの合計消費リソースが閾値を超えていれば、リソース制約を満たすと判定される。これは、複数のハイパーパラメータ値についてサンプルサイズの増加が途中で打ち切られると、中盤のサンプルサイズの合計消費リソースが不足し、それより後のサンプルサイズに対応する閾値よりも大きくならない可能性があるためである。そこで、序盤のサンプルサイズの合計消費リソースと対象サンプルサイズの合計消費リソースとの比を重視している。
【0161】
第3の実施の形態の機械学習装置によれば、第2の実施の形態と同様の効果が得られる。第3の実施の形態では更に、予測性能増加速度が十分に小さくなったハイパーパラメータ値の試行が途中で打ち切られる。よって、ハイパーパラメータ探索を効率化できる。