Hyperparameter-afstemming en geautomatiseerde machine learning

Databricks Runtime for Machine Learning bevat MLflow en Hyperopt, twee open source waarmee het proces van modelselectie en afstemming van hyperparameters wordt automatiseren.

Automatisch MLflow bijhouden

MLflow is een opensource-platform voor het beheren van de end-to-end levenscyclus van Machine Learning. MLflow biedt geautomatiseerde tracering voor het afstemmen van Apache Spark MLlib. Met geautomatiseerde MLflow-tracering, wanneer u afstemmingscode met CrossValidator of , de opgegeven TrainValidationSplit hyperparameters metrische gegevens voor en evaluatie worden automatisch geregistreerd, zodat u eenvoudig het optimale model kunt identificeren. Automatische MLflow-tracering is alleen beschikbaar voor Python-notebooks.

Hyperparameter-afstemming met Hyperopt

Databricks Runtime ML omvat Hyperopt, een Python-bibliotheek die gedistribueerde hyperparameterafstemming en modelselectie faciliteert. Met Hyperopt kunt u een set Python-modellen scannen terwijl u algoritmen en hyperparameters varieert in de ruimten die u definieert. Hyperopt werkt met beide gedistribueerde ML-algoritmen, zoals Apache Spark MLlib en Horovod, en met single-machine ML-modellen, zoals scikit-learn en TensorFlow.

De basisstappen voor het gebruik van Hyperopt zijn:

  1. Een objectieve functie definiëren voor minimalisering. Dit is normaal gesproken de trainings- of het validatieverlies.
  2. De hyperparameterzoekruimte definiëren. Hyperopt biedt een voorwaardelijke zoekruimte waarin u verschillende ML-algoritmen kunt vergelijken in dezelfde uitvoering.
  3. Geef het zoekalgoritme op. Hyperopt gebruikt stochastische afstemmingsalgoritmen die een efficiëntere zoekopdracht uitvoeren van hyperparameterruimte dan een deterministisch rasterzoekopdracht.
  4. Voer Hyperopt-functie fmin() uit. fmin() neemt de items die u in de vorige stappen hebt gedefinieerd en identificeert de set hyperparameters die de objectieve functie minimaliseert.

Als u snel aan de slag wilt gaan met Hyperopt met scikit-learn-algoritmen, raadpleegt u:

Raadpleeg voor meer informatie over hoe Hyperopt werkt en voor aanvullende voorbeelden: