0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 1 year has passed since last update.

Databricksにおけるハイパーパラメーターチューニング

Last updated at Posted at 2022-07-03

Hyperparameter tuning | Databricks on AWS [2022/6/14時点]の翻訳です。

本書は抄訳であり内容の正確性を保証するものではありません。正確な内容に関しては原文を参照ください。

Databricks機械学習ランタイムには、モデル選択とハイパーパラメーターチューニングのプロセスを自動化するオープンソースツールであるHyperoptが組み込まれています。

Hyperoptによるハイパーパラメーターチューニング

Databricks機械学習ランタイムには、分散処理を用いたハイパーパラメーターチューニング、モデル選択を推進するPythonライブラリであるHyperoptが含まれています。Hyperoptを用いることで、あなたが定義する探索空間においてアルゴリズムやハイパーパラメーターを変化させながら、一連のPythonモデルをスキャンすることができます。HyperoptはApache Spark MLlibやHorovodのような分散MLアルゴリズムや、scikit-learnやTensorFlowのようなシングルマシンのMLモデルでも動作します。

Hyperoptを用いる基本的なステップは以下のようになります。

  1. 最小化する目的関数を定義します。通常、これはトレーニングあるいは検証時の損失となります。
  2. ハイパーパラメーター探索空間を定義します。Hyperoptでは、一つのランの中で異なるMLアルゴリズムを比較できるように、条件付き探索空間を定義することができます。
  3. 探索アルゴリズムを指定します。決定論的グリッドサーチよりも効率的にハイパーパラメーター空間を探索できるように、Hyperoptは確率論的チューニングアルゴリズムを使用します。
  4. Hyperoptの関数であるfmin()を実行します。fmin()は以前のステップで定義した項目を受け取り、目的関数を最小化するハイパーパラメーターのセットを特定します。

scikit-learnアルゴリズムでHyperoptをクイックに使い始めるには以下をご覧ください。

Hyperoptがどのように動作するのかの詳細や、他のサンプルについては以下をご覧ください。

自動化MLflowトラッキング

注意
Databricksランタイム10.1ML以降が動作するクラスターにおいてはMLlib自動化MLflowトラッキングは非推奨となり、Databricksランタイム10.2ML以降ではデフォルトで無効化されます。代わりに、デフォルトで有効化されているDatabricksオートロギングmlflow.pyspark.ml.autolog()を呼び出して、MLflow PySpark ML autologgingを使用してください。

Databricksランタイム10.2ML以降で古いMLlib自動化MLflowトラッキングを使用するには、Spark設定spark.databricks.mlflow.trackMLlib.enabled truespark.databricks.mlflow.autologging.enabled falseを設定してください。

Databricks 無料トライアル

Databricks 無料トライアル

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?