Что такое автоматическое машинное обучение?What is automated machine learning?

Автоматизированное машинное обучение, также называемое Аутомл, — это процесс автоматизации ресурсоемких задач разработки моделей машинного обучения.Automated machine learning, also referred to as autoML, is the process of automating the time consuming, iterative tasks of machine learning model development. Благодаря этому специалисты по обработке и анализу данных могут создавать модели машинного обучения с высокой масштабируемостью, эффективностью и производительностью, сохраняя при этом качество модели.It allows data scientists, analysts, and developers to build ML models with high scale, efficiency, and productivity all while sustaining model quality. Автоматизированное МАШИНное обучение основано на революционном отделе исследования Майкрософт.Automated ML is based on a breakthrough from our Microsoft Research division.

Традиционная разработка моделей машинного обучения занимает много ресурсов, что требует значительных знаний предметной области и времени для создания и сравнения десятков моделей.Traditional machine learning model development is resource-intensive, requiring significant domain knowledge and time to produce and compare dozens of models. Примените автоматическое ML, если вы хотите, чтобы Машинное обучение Azure обучения и настройки модели с использованием указанной целевой метрики.Apply automated ML when you want Azure Machine Learning to train and tune a model for you using the target metric you specify. Затем служба проходит по алгоритмам машинного обучения, связанным с выбором компонентов, где каждая итерация создает модель с оценками обучения.The service then iterates through ML algorithms paired with feature selections, where each iteration produces a model with a training score. Чем выше оценка, тем лучше считается, что модель подходит для "размещения данных".The higher the score, the better the model is considered to "fit" your data.

С помощью автоматизированного машинного обучения вы ускоряете время, затрачиваемое на получение готовых к работе моделей машинного обучения с высокой простотой и эффективностью.With automated machine learning, you'll accelerate the time it takes to get production-ready ML models with great ease and efficiency.

Когда следует использовать автоматический MLWhen to use automated ML

Автоматизированный ML более демократичным процесс разработки модели машинного обучения и позволяет своим пользователям без каких-либо навыков по обработке и анализу данных найти сквозной конвейер машинного обучения для любой проблемы.Automated ML democratizes the machine learning model development process, and empowers its users, no matter their data science expertise, to identify an end-to-end machine learning pipeline for any problem.

Специалисты по обработке и анализу данных, аналитики и разработчики в разных отраслях могут использовать автоматическое ML в следующих случаях:Data scientists, analysts and developers across industries can use automated ML to:

  • Реализация решений машинного обучения без обширных знаний по программированиюImplement machine learning solutions without extensive programming knowledge
  • Экономия времени и ресурсовSave time and resources
  • Использование рекомендаций по обработке и анализу данныхLeverage data science best practices
  • Предоставление гибкой задачи — решениеProvide agile problem-solving

Принцип работы автоматизированного MLHow automated ML works

С помощью машинное обучение Azureвы можете разработать и запустить эксперименты по автоматизации машинного обучения, выполнив следующие действия:Using Azure Machine Learning, you can design and run your automated ML training experiments with these steps:

  1. Выявление решаемой проблемы машинного обучения : классификация, прогнозирование или регрессияIdentify the ML problem to be solved: classification, forecasting, or regression

  2. Укажите источник и формат данных для обучения с меткой: NumPy массивы или Pandas кадров данныхSpecify the source and format of the labeled training data: Numpy arrays or Pandas dataframe

  3. Настройте целевой объект вычислений для обучения модели, например для локального компьютера, машинное обучение Azureных вычислений, удаленных виртуальных машин или Azure Databricks.Configure the compute target for model training, such as your local computer, Azure Machine Learning Computes, remote VMs, or Azure Databricks. Сведения об автоматическом обучении удаленного ресурса.Learn about automated training on a remote resource.

  4. Настройте параметры автоматического машинного обучения , определяющие количество итераций по различным моделям, параметры настройки параметров, расширенную предварительную обработку и добавление признаков, а также метрики, которые следует рассмотреть при определении лучшей модели.Configure the automated machine learning parameters that determine how many iterations over different models, hyperparameter settings, advanced preprocessing/featurization, and what metrics to look at when determining the best model. Параметры автоматического обучения можно настроить в портал Azure, на целевой странице рабочей области (Предварительная версия)или с помощью пакета SDK.You can configure the settings for automatic training experiment in Azure portal, the workspace landing page (preview), or with the SDK.

  5. Отправьте обучающий запуск.Submit the training run.

Автоматизированное машинное обучение

Во время обучения Машинное обучение Azure создает ряд параллельных конвейеров, которые пытаются использовать различные алгоритмы и параметры.During training, Azure Machine Learning creates a number of in parallel pipelines that try different algorithms and parameters. Он будет останавливаться после того, как он достигнет критерия выхода, определенного в эксперименте.It will stop once it hits the exit criteria defined in the experiment.

Можно также проверить записанные в журнал сведения о запуске, которые содержат метрики , собранные во время выполнения.You can also inspect the logged run information, which contains metrics gathered during the run. Обучающий запуск создает сериализованный объект Python (.pkl файл), который содержит модель и предварительную обработку данных.The training run produces a Python serialized object (.pkl file) that contains the model and data preprocessing.

Хотя создание модели автоматизировано, вы также можете узнать, насколько важные или соответствующие функции относятся к созданным моделям.While model building is automated, you can also learn how important or relevant features are to the generated models.

Предварительная обработкаPreprocessing

В каждом автоматическом эксперименте машинного обучения данные предварительно обрабатываются с использованием методов по умолчанию и, при необходимости, посредством расширенной предварительной обработки.In every automated machine learning experiment, your data is preprocessed using the default methods and optionally through advanced preprocessing.

Примечание

Этапы предварительной обработки автоматизированного машинного обучения (нормализация компонентов, обработка недостающих данных, преобразование текста в числовой формат и т. д.) становятся частью базовой модели.Automated machine learning pre-processing steps (feature normalization, handling missing data, converting text to numeric, etc.) become part of the underlying model. При использовании модели для прогнозирования эти этапы предварительной обработки, которые выполнялись во время обучения, автоматически выполняются для входных данных.When using the model for predictions, the same pre-processing steps applied during training are applied to your input data automatically.

Автоматическая предварительная обработка (стандартная)Automatic preprocessing (standard)

В каждом автоматическом эксперименте машинного обучения данные автоматически масштабируются или нормализованы, что способствует эффективному выполнению алгоритмов.In every automated machine learning experiment, your data is automatically scaled or normalized to help algorithms perform well. Во время обучения модели для каждой модели будет применен один из следующих методов масштабирования или нормализации.During model training, one of the following scaling or normalization techniques will be applied to each model.

Нормализация масштабирования & Scaling & normalization ОписаниеDescription
стандардскалеврапперStandardScaleWrapper Стандартизация функций путем удаления среднего и масштабирования в дисперсию единицStandardize features by removing the mean and scaling to unit variance
минмаксскаларMinMaxScalar Преобразует функции путем масштабирования каждой функции по минимальному и максимальному столбцам.Transforms features by scaling each feature by that column’s minimum and maximum
максабсскалерMaxAbsScaler Масштабирование каждой функции по максимальному абсолютному значениюScale each feature by its maximum absolute value
робустскаларRobustScalar Эти возможности масштабирования по диапазону квантилейThis Scaler features by their quantile range
ПОМОЩНИКPCA Сокращение линейной размерности с помощью декомпозиции данных в единственном значении для проецирования их в более низкое пространствоLinear dimensionality reduction using Singular Value Decomposition of the data to project it to a lower dimensional space
трункатедсвдврапперTruncatedSVDWrapper Этот преобразователь выполняет линейное уменьшение размерности с помощью усеченного единственного значения декомпозицию (SVD).This transformer performs linear dimensionality reduction by means of truncated singular value decomposition (SVD). В отличие от PCA, этот оценщик не выравнивает данные по центру перед вычислением декомпозиции единственного значения.Contrary to PCA, this estimator does not center the data before computing the singular value decomposition. Это означает, что он может эффективно работать с матрицами SciPy. sparseThis means it can work with scipy.sparse matrices efficiently
спарсенормализерSparseNormalizer Каждый пример (т. е. Каждая строка матрицы данных) с хотя бы одним ненулевым компонентом повторно масштабируется независимо от других выборок, чтобы его нормы (L1 или L2) совпадалиEach sample (that is, each row of the data matrix) with at least one non-zero component is re-scaled independently of other samples so that its norm (l1 or l2) equals one

Расширенная Предварительная обработка: необязательный Добавление признаковAdvanced preprocessing: optional featurization

Также доступны дополнительные расширенные предварительные действия и добавление признаков, такие как отсутствующие значения добавления отсутствующих, Encoding и Transforms.Additional advanced preprocessing and featurization are also available, such as missing values imputation, encoding, and transforms. Узнайте больше о том, что входит в добавление признаков.Learn more about what featurization is included. Включить этот параметр с помощью:Enable this setting with:

Прогнозирование временных рядовTime-series forecasting

Создание прогнозов является неотъемлемой частью любого бизнеса, будь то доход, Инвентаризация, продажи или потребность клиента.Building forecasts is an integral part of any business, whether it’s revenue, inventory, sales, or customer demand. Вы можете использовать автоматизированное средство ML для объединения методов и подходов и получения рекомендуемого, высококачественного прогноза временных рядов.You can use automated ML to combine techniques and approaches and get a recommended, high-quality time-series forecast.

Автоматизированный эксперимент по ряду времени рассматривается как многофакторнаяная задача регрессии.An automated time-series experiment is treated as a multivariate regression problem. Последние значения временных рядов "сведены", чтобы стать дополнительными измерениями для регрессии вместе с другими прогностические факторы.Past time-series values are “pivoted” to become additional dimensions for the regressor together with other predictors. Этот подход, в отличие от классических методов временных рядов, имеет преимущество, включающее в себя несколько контекстных переменных и их связь друг с другом во время обучения.This approach, unlike classical time series methods, has an advantage of naturally incorporating multiple contextual variables and their relationship to one another during training. Автоматический ML изучает одну, но часто внутреннюю модель ветвления для всех элементов в наборе данных и прогнозирующих горизонтах.Automated ML learns a single, but often internally branched model for all items in the dataset and prediction horizons. Итак, доступны дополнительные данные для оценки параметров модели, и обобщение невидимых рядов становится возможным.More data is thus available to estimate model parameters and generalization to unseen series becomes possible.

Дополнительные сведения см. в примере автоматизированного машинного обучения для прогнозирования временных рядов.Learn more and see an example of automated machine learning for time series forecasting. Дополнительные примеры кода для расширенной настройки прогнозирования см. в разделе Записная книжка по запросу энергии .Or, see the energy demand notebook for detailed code examples of advanced forecasting configuration including:

  • Обнаружение праздников и добавление признаковholiday detection and featurization
  • Перекрестная проверка последовательного происхожденияrolling-origin cross validation
  • Настраиваемая задержкаconfigurable lags
  • Пошаговые агрегатные функции окнаrolling window aggregate features

Модели ансамблейEnsemble models

Автоматизированное машинное обучение поддерживает модели ансамблей, которые включены по умолчанию.Automated machine learning supports ensemble models, which are enabled by default. Ансамблейное обучение улучшает результаты машинного обучения и прогнозную производительность, объединяя несколько моделей в отличие от использования отдельных моделей.Ensemble learning improves machine learning results and predictive performance by combining multiple models as opposed to using single models. Итерации ансамблей отображаются в виде окончательных итераций выполнения.The ensemble iterations appear as the final iterations of your run. Для комбинирования моделей в автоматизированном машинном обучении используются ансамблейные методы голосования и Stack.Automated machine learning uses both voting and stacking ensemble methods for combining models:

  • Голосование. прогнозируется на основе взвешенного среднего вероятности прогнозируемых классов (для задач классификации) или целевых объектов прогнозируемой регрессии (для регрессионных задач).Voting: predicts based on the weighted average of predicted class probabilities (for classification tasks) or predicted regression targets (for regression tasks).
  • Пошаговое включение в стек: объединениемоделей разнородных и обучение мета-модели на основе выходных данных отдельных моделей.Stacking: stacking combines heterogenous models and trains a meta-model based on the output from the individual models. Текущие мета-модели по умолчанию Логистикрегрессион для задач классификации и Еластикнет для задач регрессии и прогнозирования.The current default meta-models are LogisticRegression for classification tasks and ElasticNet for regression/forecasting tasks.

Алгоритм выбора Каруана ансамблей с упорядоченной инициализацией ансамблей используется для выбора моделей, используемых в ансамблей.The Caruana ensemble selection algorithm with sorted ensemble initialization is used to decide which models to use within the ensemble. На высоком уровне этот алгоритм инициализирует ансамблей, используя до 5 моделей с лучшими конкретными показателями, и проверяет, что эти модели находятся в пределах 5% от наилучшей оценки, чтобы избежать плохой первоначальной ансамблей.At a high level, this algorithm initializes the ensemble with up to 5 models with the best individual scores, and verifies that these models are within 5% threshold of the best score to avoid a poor initial ensemble. Затем для каждой итерации ансамблей в существующий ансамблей добавляется новая модель и вычисляется результирующая оценка.Then for each ensemble iteration, a new model is added to the existing ensemble and the resulting score is calculated. Если новая модель улучшила существующую оценку ансамблей, ансамблей обновляется для включения новой модели.If a new model improved the existing ensemble score, the ensemble is updated to include the new model.

См. руководство по изменению параметров ансамблей по умолчанию в автоматизированном машинном обучении.See the how-to for changing default ensemble settings in automated machine learning.

Использование с ONNX в C# приложенияхUse with ONNX in C# apps

С помощью Машинное обучение Azure можно использовать автоматизированное создание машинного обучения для создания модели Python и преобразования ее в формат ONNX.With Azure Machine Learning, you can use automated ML to build a Python model and have it converted to the ONNX format. Среда выполнения ONNX поддерживает C#, поэтому вы можете использовать модель, созданную автоматически в C# приложениях, без необходимости перекодирования или любых сетевых задержек, представляемых конечными точками RESTful.The ONNX runtime supports C#, so you can use the model built automatically in your C# apps without any need for recoding or any of the network latencies that REST endpoints introduce. Попробуйте пример этого потока в этой записной книжке Jupyter.Try an example of this flow in this Jupyter notebook.

Автоматизация машинного обучения в корпорации МайкрософтAutomated ML across Microsoft

Автоматизированный язык ML также доступен в других решениях Майкрософт, таких как:Automated ML is also available in other Microsoft solutions such as:

ИнтеграцииIntegrations ОписаниеDescription
ML.NETML.NET Автоматическое выделение и обучение моделей в приложениях .NET с использованием Visual Studio и Visual Studio Code с помощью ML.NET автоматизированного ML (Предварительная версия).Automatic model selection and training in .NET apps using Visual Studio and Visual Studio Code with ML.NET automated ML (preview).
HDInsightHDInsight Параллельное развертывание автоматизированных заданий обучения ML в Spark в кластерах HDInsight.Scale out your automated ML training jobs on Spark in HDInsight clusters in parallel.
Power BIPower BI Вызывайте модели машинного обучения непосредственно в Power BI (Предварительная версия).Invoke machine learning models directly in Power BI (preview).
SQL ServerSQL Server Создавайте новые модели машинного обучения для данных в кластерах больших данных SQL Server 2019.Create new machine learning models over your data in SQL Server 2019 big data clusters.

Следующие шагиNext steps

См. примеры и научитесь создавать модели с помощью автоматизированного машинного обучения.See examples and learn how to build models using automated machine learning: