日本ソフトウェア科学会第 35 回大会 (2018 年度) 講演論文集

複数の機械学習実装にまたがって予測モデルを探索する分散処理フレームワーク
髙橋 良希

浅原 理人

首藤 一幸

機械学習の応用は需要予測や価格予測などの様々な予測問題へと広がっている．予測精度を向上させるためには，複数の学習アルゴリズムに対しハイパーパラメータ探索を行い，最適な予測モデルを探索する必要がある．学習アルゴ
リズムを実行する様々な機械学習実装が存在するが，それぞれ提供する学習アルゴリズムが異なるため，予測モデル探索は複数の実装にまたがって行いたい．しかし，機械学習実装ごとに使用法やデータ形式が異なるため，使用法の習得やデータ変換，機械学習実装を切り替えながらの予測モデル探索など，分析者の労力が大きい．そこで，本研究では複数の機械学習実装にまたがって最適な予測モデルを探索する分散処理フレームワークを提案する．提案フレー
ムワークは次の利点を有する．（１）予測モデル探索における共通機能に着目した設計により，少ない実装コストで新しい機械学習実装を追加できる．（２）プロファイリングに基づいたジョブスケジューリングにより，総実行時間の短縮を試みる．我々は実験の結果，非分散実行では数日かかる予測モデル探索を最短 6 時間で終え，既存手法よりも約 13 倍高速に実行できることを確認した．

実行する様々な機械学習実装ごとに提供する学習アル1 はじめにゴリズムが異なるため，予測モデル探索は複数の実装

機械学習は様々な予測問題を解決する手法の一つとにまたがって行いたい．しかし，機械学習実装ごとにして，研究および産業で広く応用されている．スパム

使用法やデータ形式が異なることで，使用法の習得やフィルタリング [7]，需要予測 [14]，価格予測 [9] な

データ形式の変換，それぞれの機械学習実装ごとのハ

どの分類・数値予測は産業において広く応用される例

イパーパラメータ探索実装など多大な労力を要する．のひとつである．XGBoost [5] や TensorFlow [1] な

我々は複数の機械学習実装にまたがって最適な予測

どの機械学習アルゴリズム実装は，線形回帰や決定木モデルを探索する分散処理フレームワークを提案すなどの従来のシンプルな手法よりも高い予測精度をる．このフレームワークは次の二つの利点を有する．

達成することを可能とし，機械学習の様々な問題への（１）予測モデル探索における共通の機能に着目して応用を加速させている．

ソフトウェアを設計することで，少ない実装コストで一方で，高い予測精度を達成するためには，複数の新しい機械学習実装を追加できる．（２）プロファイ

学習アルゴリズムに対してハイパーパラメータを変えリングによって個々の学習の実行時間を推定し，それながらいくつか学習を実行し，最も予測精度の高い予に基づいたジョブスケジューリングによって総実行測モデルを探索する必要がある．学習アルゴリズムを時間の短縮を試みる．
また，本フレームワークは非分散実行では数日かか

A Framework for Predictive Modeling over Multiple
Machine Learning Implementations
This is an unrefereed paper. Copyrights belong tothe Authors.
Yoshiki Takahashi, Kazuyuki Shudo, 東京工業大学 数理・計算科学専攻, Dept. of Mathematical and Computing Science, Tokyo Institute of Technology.
Masato Asahara, 日本電気株式会社, NEC Corporation.

る予測モデル探索を最短６時間で終え，Spark MLlib[13] を用いて同様の予測モデル探索を実行した場合よりも約 13 倍高速に実行できることを評価実験により示す．

2. 1 新しい機械学習実装の追加

2 予測モデル探索における問題

予測モデルの探索空間は，学習アルゴリズムが新し予測問題と対象データに対して最適な予測モデルく考案されるごとに拡張していかなければならない．

を構築するには，いくつかの学習アルゴリズムに対し近年，機械学習のアルゴリズムは次々と新しいものがて，学習アルゴリズムで定められるハイパーパラメー考案され，様々な予測問題ごとに精度が向上していタから最適な値の組み合わせを探索しなければならる．そこで，解きたい予測問題・対象データに対してない．本論文ではこれを予測モデル探索と呼ぶ．学

高い予測精度を達成するには，それらの新しいアルゴ習アルゴリズムは XGBoost や TensorFlow のようリズムを探索空間に取り入れて予測モデルを構築すに，既に公開された機械学習実装が存在することがほる必要がある．これは新しい機械学習実装をフレー

とんどで，機械学習や予測の実行には一般的にこれらムワークに組み込むことで実現される．の機械学習実装を用いる．機械学習実装はそれぞれしかし，複数の機械学習実装ごとに扱うデータ構造提供する学習アルゴリズムが異なるため，予測モデルや，学習・予測を実行するインターフェースが異なる探索は複数の機械学習実装を用いて行うこととなる．

ため，新たに機械学習実装を追加するための実装の労

しかし，機械学習実装によって使用法やデータ形式力は大きい．例えば，機械学習実装によって扱うデーが異なるため，それぞれの機械学習実装に応じて使用タ構造が行指向や列指向であるなどの違いがあった法を習得したり，データ形式を変換したりするなどのり，学習を呼び出す API が Python や Java などの労力を要する．さらに，機械学習実装を逐一切り替え異なる言語で提供されるなどのインターフェースのながら各学習アルゴリズムのハイパーパラメータ探違いがあったりすると，大量の学習実行とモデル検索を行い，そこから異なる機械学習実装間で最適な予証，モデル選択などでこれらの差異を埋めるための追測モデルを選択しなければならず，このような工程は加実装が生じ，実装の労力を要する．さらに，分散処実装・実行ともに多大な労力を要する．

理により予測モデル探索を高速化する場合，各機械学我々は複数の機械学習実装にまたがって最適な予測モデルを探索する分散処理フレームワークを提案する．これにより，ユーザは複数の機械学習実装の使習実装ごとに分散処理を実装する労力も要する．

3. 2 節ではこの問題を解決するための，共通する機能に着目したソフトウェア設計を提案する．

用法を学ぶことなく，単一のデータ形式を用い，一度の実行で複数の学習アルゴリズム上の予測モデル

2. 2 予測モデル探索における膨大な処理時間探索を実行できる．例として，本フレームワークに予測モデル探索において，学習アルゴリズムとハイXGBoost と TensorFLow を組み込んだ場合，これをパーパラメータからなる学習設定の探索空間は膨大使用するユーザは XGBoost や TensorFlow のデーである．機械学習はアルゴリズム・ハイパーパラメータ形式や使用法を意識することなく，これらの実装がタによって精度が大きく変動するため，高い精度の予提供する学習アルゴリズムに対して一度に分散して測モデルを構築するためにはこれらを細かく調節し予測モデル探索を実行することができる．

なければならない．さらに，ノーフリーランチ定理

本フレームワークはこのような機能を提供したう[20] として知られるように，あらゆる予測問題・分析えで，二つの課題に取り組む．一つ目は新しい機械学

対象データに万能なアルゴリズム・ハイパーパラメー習実装を本フレームワークに容易に組み込むというタは存在しないため，予測問題・分析対象データごと課題で，二つ目は予測モデル探索の総処理時間を短縮に膨大なアルゴリズムとハイパーパラメータの組かするという課題である．以降の節ではこれらの課題

ら最適な予測モデルを探索する必要がある．この探について論じる．

索空間はベイズ最適化などの洗練されたパラメータ
チューニング手法 [17] [12] [8] を用いた場合でも，ときに数千を超える学習が必要になるほど，膨大な空間となりうる．
この膨大な探索空間に対して，複数のマシンを活用することで実行時間を短縮することができる．単一のマシンでは，膨大な探索空間の処理に数日から数十日に及ぶこともあるが，複数マシンを用意して，予測モデル探索の処理を分散することで高速化が可能になる．分散して処理する例として，探索空間を均等に分割して各マシンに割り当て，各マシンは割り当てられた探索空間に対して予測モデルを探索する方法などが挙げられる．
しかし，単にマシンの台数を増やし分散で探索しても，処理時間は理想的に縮まらない．学習アルゴリズ
ム，ハイパーパラメータの違いによって，必要な処理

図1

本フレームワークを構成する 4 つのモジュール時間は大きく変動するため，上記のように単純なアルゴリズムで探索空間を各マシンに割り当てる場合は，

3. 1 アーキテクチャ各マシンが割り当てられた探索空間を探索し終える

我々のフレームワークは， 4 つのモジュールとそまでに要する時間が大きく変動する．このとき，最もれらの連携からなるアーキテクチャで構成される（図処理の遅いマシンはそれ以外のマシンを待たせるこ

1 ）．本節では，予測モデルを探索するためにアーキとになり，結果的に，最も処理の遅いマシンに全体のテクチャを構成する要素がどのように動作するかを性能が引きずられ，処理時間は理想的に縮まらない．

論じ，後に述べる提案手法がどのように活用されるか

3. 3 節ではこの問題を解決するための，実行時間ベースのスケジューリング手法を提案する．

を明確にする．
まず，ユーザは分析対象データと予測モデルの評価指標を Driver に与える．このとき，探索空間に対す3 本フレームワークのシステム設計る制約も与えることができる．次に Driver は学習ア

我々は複数の機械学習実装にまたがって最適な予ルゴリズムとそのハイパーパラメータからなる探索測モデルを探索する分散処理フレームワークを提案

空間を Hyperparameter Tuner に与え，試すべき学する．本フレームワークは次の二つの利点を有する．

習設定のセットを取得する．Hyperparameter Tuner（１）予測モデル探索における共通の機能に着目しては grid search や random search ，その他のハイパーソフトウェアを設計することで，少ない実装コストでパラメータチューニングアルゴリズムを組み込むこ新しい機械学習実装を追加できる．（２）プロファイとができ，これらのアルゴリズムによって試すべきリングによって個々の学習の実行時間を推定し，それ学習設定のセットを生成する．次に Driver は試すべに基づいたジョブスケジューリングによって総実行

き学習設定のセットを複数の Executor に対してど時間の短縮を試みる．のように割り当てるかを Scheduler に問い合わせる．

本章では，3. 3 節，3. 2 節で述べる手法が本フレー

Scheduler は受け取った学習設定のセットに対して，ムワークでどのように活用されるかを明確にするため全体の探索時間が短くなるような学習設定の割り当に，まず本フレームワークが採用するシステムアーキて方を決定し， Driver に返答する．Driver はスケテクチャについて論じる．次に新しい機械学習実装

ジューリングされた学習タスクを各 Executor に分配を容易に追加するためのソフトウェア設計を提案し，し，各 Executor で学習された予測モデルを回収する．

最後にプロファイリングに基づいたスケジューリン

回収された予測モデルは学習時と同様に全 Executor

グにより全体の実行時間を短縮する手法を提案する．

で検証され，ユーザの与えた評価指標に基づいて予測モデルを選択し，最適な予測モデルとして出力する．

7

3. 2 節で提案するソフトウェア設計により，Driverを必要とせずに，新たな機械学習実装を追加することを可能にしている．また，3. 3 節で提案するスケジューリング手法は， Scheduler が予測モデル探索の実行時間を短縮するために活用される．

6

Completion time (hour)

や Hyperparameter Tuner, Scheduler への追加実装

543
2
10

3. 2 共通機能に着目したソフトウェア設計

32Cores

予測モデルの探索空間は，学習アルゴリズムが新しく考案されるごとに，次々と拡張していく必要があ

図2Pre-profiling time
Auto modeling time

2.3%

全体の処理時間に占めるプロファイリングの時間のる．新しい学習アルゴリズム実装を一からフレーム割合

ワークに追加実装するのに比べ，既存の学習アルゴリ
ズム実装を使用することは追加の実装コストを大幅に

3. 3 プロファイリングに基づくスケジューリング手法減らすことができるため，複数の機械学習実装を組み込めることは本フレームワークにおいて重要である．

膨大な探索空間に対して，単純にマシンの台数を増

しかし，様々な機械学習実装ごとに，扱うデータやし，探索空間を分割するだけでは理想的に性能向構造が異なったり，学習や予測を呼び出すインター上しない．これは学習アルゴリズムやハイパーパラフェースが異なったりするため，単純に組み込むにはメータによって，学習に必要な処理時間が大きく変動

各機械学習実装ごとにデータ構造変換や分散学習・予するために，各マシン間で処理時間が偏ることに起因測などを実装する必要があり，これらの実装コストはする．

大きい．

そこで，我々は学習設定からその学習に要する処理

そこで，予測モデル探索における共通の機能を抽出

時間を予測し，予測した処理時間から最適に学習タし，学習や予測を実行する共通インターフェースを設スクを割り当てるスケジューリング手法を提案する．

けることで，少ない実装コストで新しい機械学習実全体の処理時間は各マシンの処理時間の最大値とし装を追加できるようにする．本フレームワークでは，て表現でき，これを最小化する学習タスクの割り当て探索空間を分割して複数のマシンで分散して大量の方を決定する問題は，”job-shop-scheduling” [6] と呼学習を実行する機能や，学習済みの大量の予測モデばれる最適化問題として，いくつかのアルゴリズムでルを分散して精度検証する機能，後節のスケジュー解くことができる．

リングの機能などは学習や予測のロジックに関わらjob-shop-scheduling を今回の学習タスク割り当てない共通の機能として提供する．これは図 1 においに適用するためには，各学習タスクの処理時間を予めて Driver， Hyperparameter Tuner， Scheduler が知らなければならない．本スケジューラは予測モデ提供する機能と一致する．

ル探索に前もって，学習データの小さなサンプリン

また，学習や予測を実行する共通インターフェース

グを用いていくつかの学習設定における学習処理時を設けることで， Driver から Executors に学習タス間をプロファイリングすることによって，全データクを委譲する際に，データ構造の違いや各機械学習実を用いた場合の各学習タスクの処理時間を予測する．

装のインターフェースの違いを隠ぺいする．

job-shop-scheduling にはこの予測した処理時間を用

これらのソフトウェア設計は，予測モデル探索の共いる．

通機能に追加の実装を必要とすることなく，新しい機本スケジューリング手法は，全体の処理時間に対し械学習アルゴリズムを追加できる点で有用である．て十分小さな時間で完了するプロファイリングを実行するだけで，全体の処理性能を向上できる点で有用

表1

機械学習アルゴリズム実装の追加にである．図 2 に，全体の処理時間に占めるプロファ要した行数．

イリングの処理時間の割合を示した．この予備実験
は， HIGGS†1 のデータセットを用い，全データの機械学習アルゴリズム実装

XGBoost151 行

1 % サンプリングデータに対して，予測モデル探索

TensorFlow

292 行と同じ学習設定の学習実行をプロファイリングした

scikit-learn

290 行

行数

結果である．また， job-shop-scheduling の解法には貪欲法を用いた．その他の詳しい実験設定は，4. 1 節サーチによる探索を行った．勾配ブースティング木はで記す設定と同じである．黄色の斜線部はプロファ

8 つのハイパーパラメータに関して計 864 候補，多イリングに要した時間であり，これは全体の 2.34 %層パーセプトロンは 4 つのハイパーパラメータに関に過ぎず，全体の実行時間と比較して十分に小さい．

して計 324 候補，ロジスティック回帰は 1 つのハイパーパラメータに関して計 5 候補，ランダムフォレ

4 評価実験

ストは 3 つのハイパーパラメータに関して計 18 候

本章では，提案フレームワークが（１）共通機能に補を探索した．

着目したソフトウェア設計により，少ない実装コスト

また，処理時間予測のためのプロファイリングにで機械学習実装を追加でき，（２）プロファイリング

は，全データのうち 1 % のサンプリングデータを用によって個々の学習の実行時間を推定し，それに基づい，予測モデル探索を同じ学習設定候補について学習いたジョブスケジューリングによって総実行時間のしたものについて計測した．

短縮を試みる．

実験環境は， Intel Xeon CPU E3-1280 v5 CPU，

32 GB メモリ， 10 Gbps のネットワークで構築さ4. 1 実験準備れた 8 台のマシンで行った．また，Ubuntu 16.04，一つ目の評価では，新しい機械学習実装の追加に必Apache Spark 2.3.0 [21]，Apache Hadoop 3.1.0，XG-

要な実装コード量を計測し，提案手法のソフトウェア

Boost 0.8，TensorFlow 1.8.0，scikit-learn 0.18.1 を設計により機械学習実装を容易に追加できることを示使用した．

す．本フレームワークに XGBoost [5]，TensorFlow[1]，scikit-learn [15] を組み込んだ際のコードの行数

4. 2 実験結果で評価する．

表 1 に，XGBoost，TensorFlow，scikit-learn を本

二つ目の評価では，実行並列数を変化させながらフレームワークに追加した際の実装の行数をまとめ予測モデル探索に要した時間を計測し，提案手法のた．いずれも 300 行以内で追加可能である．本フレー

スケジューラが実行時間を短縮することを確認する．

ムワークは Scala で記述されており， TensorFlow とデータセットには二値分類のデータセットであるHIGGS†1 を使用した．比較対象として，分散システ

scikit-learn は Python で記述した実装を組み込んだム上で予測モデル探索を行うフレームワークの一つれらの実装の行数を増加させた大きな原因である．

である Spark MLlib [13] を使用した．

ため， Python プロセスを呼び出す部分の実装がこ
図 3 に実行並列数を変化させた場合の予測モデル

予測モデル探索では，勾配ブースティング木，多探索に要した時間を示す．16 並列で実行する場合，層パーセプトロン，ロジスティック回帰，ランダム本フレームワークは Spark MLlib で予測モデル探索

フォレストの 4 つの学習アルゴリズムとそれぞれのを実行した場合と比べて約 13.1 倍高速に処理を終えハイパーパラメータからなる探索空間からグリッドた．これらの処理性能の差の要因のひとつに，予測モデルを学習する際のノード間の通信のオーバヘッ†1 https://archive.ics.uci.edu/ml/datasets/HIGGS

ドが考えられる．我々のフレームワークは探索空間

160

146.4

Our Framework
Spark MLlib

140

5 関連研究本章では本研究の関連研究として，予測モデル探索

100を複数マシン上で分散実行するためのフレームワーク

80 70.260と，ハイパーパラメータチューニングにおいて試すべ

Completion time (hour)

120

40

きパラメータを決定するための手法について論ずる．
41.0
21.5

200248

11.2Cores166.232 MLlib 16 cores

5. 1 予測モデル探索の分散フレームワーク
複数のハイパーパラメータから自動的に精度の高い予測モデルを探索する分散フレームワークがいくつかそれぞれの並列数においてのフレームワークの処理存在する．Spark MLlib [13] はそのひとつで，膨大時間． x 軸， y 軸はそれぞれ並列数とフレームワークがなデータ量に対して学習の処理性能がスケールアウ

予測モデル探索を終えるまでの総実行時間を示す．

トすることを目標としたフレームワークである．内

図3

部でいくつかの機械学習アルゴリズムを提供しており，それぞれの学習アルゴリズムに対して最適なハ

Our Framwork
Ideal Scaling

イパーパラメータを自動で探索する機能を提供する．
分散して一つのモデルを学習するため，膨大な予測モ

71.0%

Speedup1513
11975
3 85.7%
81.7%
1
1 24

デルを学習する際には繰り返しシャッフル処理が発生する．また，新しい機械学習実装を追加する場合，分散データに対する学習処理の実装が必要なため，第78.4%

三者の機械学習実装を内部の実装を変えずに組み込むことが難しい．我々のフレームワークは，単一のモデ82x Cores

16ルをシャッフル処理なしに実行する点という点と，第三者の機械学習実装を容易に組み込める点で異なる．

並列数を変化させた際のフレームワークの処理性能．

MLbase [11] は一般的に複雑になりやすい分散シ

y 軸は 2 コアで予測モデル探索を実行したときの処理時間

ステム上での予測モデル構築を，シンプルな記述でを 1 とした場合の相対的な性能向上の値を示す．

実行できることを目標としたフレームワークである．

図4

前処理やモデル検証，モデル選択などの複雑な処理の大きさに対してスケールすることを目標としておを，ユーザが簡単な記述で実行することを可能にすり，各マシンはローカルで単一のモデルを学習するこる．TuPAQ [18] は MLbase の上に実装されたフレーとを繰り返す．一方で，Spark MLlib はデータに対ムワークで，短い時間で精度の高い予測モデルを取するスケールアウトを目標としており，ひとつのモ得することを目標とする．パラメータ探索空間の中デル学習をノード間のシャッフルベースで進行する．

で，高い精度の予測モデルを得られる可能性がより高このため，我々のフレームワークと比較して Spark

い学習に多くの計算リソースを割く bandit resource

MLlib は通信のオーバヘッドが大きい．

allocation と呼ばれるスケジューリング手法を用い

図 4 に，実行並列数を増やした際の理想的な処理る．一方で，我々のフレームワークは，実行するすべ性能向上の直線との比較を示す．この図は実行並列ての学習タスクを最短で処理するタスク割り当てを数の増大に対して十分に性能向上することを示す．

行うスケジューリング手法を用いる．

HyperDrive [16] は bandit resource allocation を発展させたスケジューリング手法を採用する．将来

達成可能な予測精度に基づいて学習タスクにリソー行では数日かかる予測モデル探索を，本フレームワースを割り当てることにより，学習を繰り返すたびに予

クでは最短 6 時間で終え，Spark MLlib [13] を用い測精度が逆転する場合でも，適切にリソースを割り当て同様の予測モデル探索を実行した場合よりも約 13てることを可能にする．

倍高速に実行できることを確認した．
今後の課題のひとつに，プロファイリングで用い5. 2 ハイパーパラメータチューニングの手法

るデータのサンプリング率やプロファイリングの実あるハイパーパラメータ探索空間から，高い精度の行回数が，学習実行時間の予測精度や全体の実行時予測モデルを探索するために，試すべき学習設定を決間にどの程度影響を与えるかを検証することがある．

定するアルゴリズムが存在する．古くから存在する

データのサンプリング率やプロファイリングの実行

シンプルな手法では，グリッドサーチとランダムサー回数を増やすと，プロファイリング自体に時間がかかチ [2] がある．グリッドサーチは各ハイパーパラメーり全体の実行時間が伸びる一方で，サンプリング率やタで探索する候補点を静的に決定し，それぞれのハイ実行回数を減らし過ぎると，スケジューリングの性能パーパラメータの全通りを順に探索する手法である．

が悪化し，総実行時間が伸びる恐れがある．様々な対ランダムサーチは各ハイパーパラメータで探索する

象データや学習アルゴリズムがある中で，プロファイ範囲を決定し，それぞれの探索範囲から指定する回数リングの実行時間も含めた総実行時間を最短にするだけランダムに生成した値の組み合わせについて探ためのプロファイリングの設定方法は今後の課題の索する手法である．

ひとつである．

探索するハイパーパラメータを静的に決定する手

もうひとつの課題として，学習データセットを共通法に対して，過去の達成精度から次に探索すべきハのデータ構造から機械学習実装で扱うデータ構造へ変イパーパラメータを動的に決定する手法 [10] [17] [8] [4]換する際のオーバヘッドの改善がある．機械学習実も存在する．ベイズ最適化を用いる手法 [10] [17] や装ごとに扱うデータ構造が違うため，フレームワーク

深層強化学習を用いる手法 [4] などがあるが，中では学習時に学習データを共通のデータ構造から機械もベイズ最適化は広く用いられ，Auto-WEKA [19]学習実装の扱うデータ構造へ変換する．しかし，学習や Hyperopt [3] などのフレームワークで採用されてデータは一般的に大きなサイズのデータのため，繰りいる．

返しデータ構造を変換することのオーバーヘッドはこれらのハイパーパラメータチューニングの手法

大きく，また変換後のデータを逐一メモリ上にキャッは，我々のフレームワークの Hyperparameter Tuner

シュすることも容量の問題から難しい．様々な機械に組み込むことで利用可能であり，本論文で提案する学習実装から少ないオーバヘッドでデータを読み出スケジューリング手法と組み合わせることができる．

すための共通のデータ構造は課題のひとつである．
謝辞 本研究の一部は，国立研究開発法人新エネル

6 まとめと今後の課題

ギー・産業技術総合開発機構（NEDO）の委託業務と我々は複数の機械学習実装にまたがって最適な予して行われました．本研究は JSPS 科研費 16K12406

測モデルを探索する分散処理フレームワーク提案しの助成を受けたものです．

た．このフレームワークは次の二つの利点を有する．
（１）予測モデル探索における共通の機能に着目して

参 考 文 献ソフトウェアを設計することで，少ない実装コストで[ 1 ] Abadi, M., Agarwal, A., Barham, P., Brevdo,E., Chen, Z., Citro, C., Corrado, G. S., Davis, A.,
Dean, J., Devin, M., et al.: Tensorflow: Large-scalemachine learning on heterogeneous distributed systems, arXiv preprint arXiv:1603.04467, (2016).
[ 2 ] Bergstra, J. and Bengio, Y.: Random search for

新しい機械学習実装を追加できる．（２）プロファイ
リングによって個々の学習の実行時間を推定し，それに基づいたジョブスケジューリングによって総実行時間の短縮を試みる．また，評価実験により，非分散実hyper-parameter optimization, Journal of Machine
Learning Research, Vol. 13 Feb(2012), pp. 281–305.
[ 3 ] Bergstra, J., Yamins, D., and Cox, D. D.: Hyperopt: A python library for optimizing the hyperparameters of machine learning algorithms, Proceedings of the 12th Python in Science Conference,2013, pp. 13–20.
[ 4 ] Bowen, B., Otkrist, G., Nikhil, N., and Ramesh,
R.: Designing neural network architectures using
reinforcement learning, Proceedings of 5th International Conference on Learning Representations(ICLR 17), 2017.
[ 5 ] Chen, T. and Guestrin, C.: Xgboost: A scalable
tree boosting system, Proceedings of the 22nd acm
sigkdd international conference on knowledge discovery and data mining, ACM, 2016, pp. 785–794.
[ 6 ] Garey, M. R., Johnson, D. S., and Sethi, R.:
The Complexity of Flowshop and Jobshop Scheduling, Mathematics of Operations Research, Vol. 1,No. 2(1976), pp. 117–129.
[ 7 ] Guzella, T. S. and Caminhas, W. M.: A review of machine learning approaches to spam filtering, Expert Systems with Applications, Vol. 36,No. 7(2009), pp. 10206–10222.
[ 8 ] Hu, Y.-Q., Yu, Y., and Zhou, Z.-H.: Experienced
Optimization with Reusable Directional Model for
Hyper-Parameter Search., IJCAI, 2018, pp. 2276–2282.
[ 9 ] Ince, H. and Trafalis, T. B.: Kernel principal
component analysis and support vector machines
for stock price prediction, IIE Transactions, Vol. 39,
No. 6(2007), pp. 629–637.
[10] Jones, D. R., Schonlau, M., and Welch, W. J.:Eﬃcient global optimization of expensive black-box
functions, Journal of Global optimization, Vol. 13,
No. 4(1998), pp. 455–492.
[11] Kraska, T., Talwalkar, A., Duchi, J. C., Griﬃth,R., Franklin, M. J., and Jordan, M. I.: MLbase: A
Distributed Machine-learning System., Cidr, Vol. 1,
2013, pp. 2–1.
[12] Li, L. and Jamieson, K.: Hyperband: A Novel
Bandit-Based Approach to Hyperparameter Optimization, Journal of Machine Learning Research,
Vol. 18(2018), pp. 1–52.
[13] Meng, X., Bradley, J., Yavuz, B., Sparks, E.,
Venkataraman, S., Liu, D., Freeman, J., Tsai, D.,Amde, M., Owen, S., et al.: Mllib: Machine learning
in apache spark, The Journal of Machine Learning
Research, Vol. 17, No. 1(2016), pp. 1235–1241.
[14] Parra, J. and Kiekintveld, C.: Initial explorationof machine learning to predict customer demand in
an energy market simulation, Vol. WS-13-15, AI
Access Foundation, 1 2013, pp. 29–32.
[15] Pedregosa, F., Varoquaux, G., Gramfort, A.,Michel, V., Thirion, B., Grisel, O., Blondel, M.,
Prettenhofer, P., Weiss, R., Dubourg, V., et al.:
Scikit-learn: Machine learning in Python, Journalof Machine Learning Research, Vol. 12 Oct(2011),
pp. 2825–2830.
[16] Rasley, J., He, Y., Yan, F., Ruwase, O., andFonseca, R.: Hyperdrive: Exploring hyperparameters with POP scheduling, Proceedings of the 18th
International Middleware Conference, Middleware,Vol. 17, 2017.
[17] Snoek, J., Larochelle, H., and Adams, R. P.:
Practical bayesian optimization of machine learning algorithms, Advances in neural information processing systems, 2012, pp. 2951–2959.
[18] Sparks, E. R., Talwalkar, A., Haas, D., Franklin,M. J., Jordan, M. I., and Kraska, T.: Automating Model Search for Large Scale Machine Learning,
Proceedings of the Sixth ACM Symposium on Cloud
Computing, SoCC ’15, New York, NY, USA, ACM,
2015, pp. 368–380.
[19] Thornton, C., Hutter, F., Hoos, H. H., andLeyton-Brown, K.: Auto-WEKA: Combined Selection and Hyperparameter Optimization of Classification Algorithms, Proceedings of the 19th ACM
SIGKDD International Conference on Knowledge
Discovery and Data Mining, KDD ’13, New York,NY, USA, ACM, 2013, pp. 847–855.
[20] Wolpert, D. H., Macready, W. G., et al.: No freelunch theorems for search, Technical report, Technical Report SFI-TR-95-02-010, Santa Fe Institute,
1995.
[21] Zaharia, M., Chowdhury, M., Franklin, M. J.,
Shenker, S., and Stoica, I.: Spark: Cluster Computing with Working Sets, Proceedings of the 2Nd
USENIX Conference on Hot Topics in Cloud Computing, HotCloud’10, Berkeley, CA, USA, USENIX
Association, 2010.