Azure ML StudioのTune Hyper Parameterのオプション解説


今回の記事では、Azure ML Studioで機械学習モデルのパラメータ最適化の「Tune Hyper Parameter」のお話になります

 

各アルゴリズムは既定のパラメータを利用して、実験しているため、最適化されていません。ただし、どのパラメータを変更すればいいのは手間になります。そういう時に利用するモジュールが、「Tune Hyper Parameter」です。このモジュールは、適当に何個かのパラメータを用意し、それぞれの組み合わせで試した後、一番精度の高かったパラメータの組み合わせを学習モデルとして利用できるようになります。そのため各パラメータの最適値を見つける時に、用います。

 

前回のモデルはTwo class decision forestで献血の過去のデータから、献血の分類モデルを作成しました。

 

Azue_hpm_01

 

テストデータのAUCは0.632の結果の結果から改善できるか試していきます。

Azue_hpm_02

 

ハイパーパラメータ最適化

「Tune Hyper Parameter」とは、適当に何個かのパラメータを用意し、それぞれの組み合わせで試した後、一番精度の高かったパラメータの組み合わせを学習モデルとして利用できます。

Azue_hpm_03

 

設定するときは、検索範囲を定義し、無作為に選択された有限数のパラメータを使用するか、定義したパラメータ空間を網羅した検索を行います。

 

Random sweep(ランダムスイープ)決められた回数で、値の範囲を指定し、ランダムに検索されます。

 

Grid sweep(グリッドスイープ)このオプションは、指定した値の範囲内のすべてのパラメータの組み合わせで、値を検索します。このオプションでチューニングを開始すると、複数のモデルがこれらのパラメータの組み合わせを使用して訓練されます。

 

Entire grid(グリッド全体)全ての組み合わせで、検索していきます。このオプションは最も徹底的だと考えられますが、最も時間がかかります。

 

Random grid(ランダムグリッド)このオプションを選択すると、すべての組み合わせの中から、指定した回数だけ評価を行っていきます。

 

 

今回は「Random grid」を利用します。

Maximum number of runs on randomは120に設定しました。実際に120種類の組み合わせで試してみました。各組合せの結果は「Tune Model Hyperparameters」を右クリックし、「Sweep Results」>「Visualize」で確認できます。

パラメータはAccuracy, Precision, Recall, F-score, AUC, Average Log less and Train Log Lossを設定することができます。今回はAUCに設定します。

Azue_hpm_04

 

「Tune Model Hyperparameters」で、パラメーターのセットに対応するすべてのモデルを作成し、さまざまなメトリックを評価した後、選ばれたメトリックに基づいて最適なトレーニング済みのモデルを作成します。テストデータのAUCは0.709までに上がりました。

Azue_hpm_05
Azue_hpm_06