Justering av hyperparameter och automatiserad maskininlärning

Databricks Runtime for Machine Learning använder MLflow och Hyperopt, två verktyg med öppen källkod som automatiserar processen för modellval och justering av hyperparametrar.

Automatiserad MLflow-spårning

MLflow är en plattform med öppen källkod för att hantera maskininlärningslivscykeln från början till slut. MLflow tillhandahåller automatiserad spårning för modelljustering med Apache Spark MLlib. Med automatiserad ML-spårning loggas de angivna hyperparametrarna och utvärderingsmåtten automatiskt när du kör finjusteringskod med hjälp av CrossValidator eller TrainValidationSplit, vilket gör det enkelt att identifiera den optimala modellen. Automatiserad MLflow-spårning är endast tillgängligt för Python-notebook-filer.

Justering av hyperparameter med Hyperopt

Databricks Runtime ML inkluderar Hyperopt, ett Python-bibliotek som underlättar finjustering och val av modell för hyperparametrar. Med Hyperopt kan du genomsöka en uppsättning Python-modeller samtidigt som du använder olika algoritmer och hyperparametrar på utrymmen som du definierar. Hyperopt fungerar med både distribuerade ML-algoritmer som Apache Spark MLlib och Horovod, samt med ML-modeller för enskilda datorer som scikit-learn och TensorFlow.

Det här är de grundläggande stegen när du använder Hyperopt:

  1. Definiera en målfunktion att minimera. Vanligtvis är detta inlärning eller valideringsförlust.
  2. Definiera ett sökområde för hyperparameter. Hyperopt tillhandahåller ett villkorsstyrt sökutrymme som låter dig jämföra olika ML-algoritmer i samma körning.
  3. Ange sökalgoritmen. Hyperopt använder stokastiska finjusteringsalgoritmer för att utföra en effektivare sökning av hyperparametrarnas utrymme än deterministisk rutnätssökning.
  4. Kör Hyperopt-funktionen fmin(). fmin() tar de objekt som du definierade i föregående steg och identifierar uppsättningen av hyperparametrar som minimerar målfunktionen.

Läs följande artiklar för att snabbt komma igång med Hyperopt med hjälp av scikit-learn-algoritmer:

Mer information om hur Hyperopt fungerar och ytterligare exempel finns i följande artiklar: