Tecnos Data Science Engineering

TEC INFO技術情報

Azureでパラメーターを簡単お手軽最適化

Microsoft Azure Machine Learning (以下AzureML)は最適パラメータの探索(スイープパラメーター)を扱うことができます。

スイープパラメーターって何?

スイープパラメーターとはパラメーターの値を調整しながら学習を進めていく仕組みです。
スイープ(SWEEP)とは見渡したり、さっと動かしたりすることを意味しますが、
スイープパラメーターはパラメーターの存在しうる空間をぱっと見渡して最適なパラメータの値を探し出すということを意味しています。

詳しく説明しますと、スイープパラメーターは、従来ならば、分析者が分析者自身の勘によって定めていたパラメーターを最適化することができるAzureMLのモジュールです。
通常、機械学習で用いられるパラメーターは2種類に分けることができます。
1つめは学習中に学習データに基づいて決定されるパラメーターで、もう1つは学習データを入力する前にあらかじめ分析者が決めてしまうパラメーターです。
スイープパラメーターというのは後者の種類のパラメーターを自動で最適化する仕組みのことをさしています。通常の機械学習では人の勘によって定めざるを得ないパラメーターを自動で調整できるというのがスイープパラメーターの強みです。

しかし、スイープパラメーターを使うことができる分析環境は限られているというのが実情です。もちろん、プログラムを書くとスイープパラメーターは実装できますが、GUIの分析ツールでスイープパラメーターが実装されているものは限られています。
AzureMLはスイープパラメーターを使うことができるGUIの分析ツールとして貴重な存在です。

AzureMLでのスイープパラメーター

2-1.スイープパラメーターモジュールの使い方

ここでは、AzureMLでスイープパラメーターを使う方法を紹介します。

スイープパラメーターモジュールは上の図のように接続します。スイープパラメーターモジュールには3つの入力があります。左の入力から
・未トレーニングモデル
・トレーニングデータセット
・検証データセット(Validation用データセット)
です。

未トレーニングモデルにはInitialize Modelからの入力を入れます。スイープパラメーターに対応しているモデルを選ぶ必要があります。
(※それぞれのモデルのヘルプにはスイープパラメーターに対応しているかどうか記されているので、それらを確認してスイープパラメーターにつなげてください。)

トレーニングデータセットと検証データセットにはそれぞれデータセットを入力します。
必ずしも検証データセットをつなげるは必要ありませんが、
検証データセットなしではモデルの汎化能力が保証されません。
汎化能力を保つためにも「Split」を用いてデータを分割し
トレーニングデータセットと検証データセットのどちらにも入力するのがおすすめです。

スイープパラメーターモジュールの出力は2つでそれぞれ左から
・スイープ結果(Sweep results)
・最適なトレーニング済みモデル(Trained best model)
です。

「スイープ結果」ではスイープ実行の結果を確認できます。

また、上のように「最適なトレーニング済みモデル」をScore Modelの左側につなげることでモデルの適応を行うことができます。

上の図ではSplitを用いてデータを3つに分割して接続しています。
というのは、こうすると最適なトレーニング済みモデルを用いて、モデルを適応し、
評価することができるためです。
つまり、3つのデータセットは以下のようになります
データセット1:トレーニングデータセット(スイープパラメータモジュールに使用)
データセット2:検証データセット    (スイープパラメータモジュールに使用)
データセット3:予測試験用データセット (スイープパラメータに未使用)
このように3つのデータセットを用意することで、モデルに全く利用していない
データセットを用いてモデルの評価るので、3分割するのがお勧めです。

2-2.スイープパラメーターの精度

スイープパラメーターと普通のトレーニングモデルの比較を行います。

スイープパラメーターを使うことでパラメーターが最適化されモデルの精度がよくなっていることがわかります。

まとめ

スイープパラメーターはパラメーターを最適化できるのでモデルの精度の改善が期待できます。
しかし、スイープパラメーターを実装している分析ツールは限られています。
パラメータ探索にはAzureMLが便利です。

contactお問合わせ

お電話でのご相談/お申し込み等、お気軽にご連絡くださいませ。

03-6383-3261

受付時間:9:00-18:00(土日祝休)

お問合わせ

お問い合わせはこちらから

03-6383-3261 メールでのお問い合わせはこちら