Выбор алгоритмов для Машинное обучение AzureHow to select algorithms for Azure Machine Learning

Распространенный вопрос: «какой алгоритм машинного обучения следует использовать?».A common question is “Which machine learning algorithm should I use?” Выбранный алгоритм зависит главным образом от двух различных аспектов сценария обработки и анализа данных:The algorithm you select depends primarily on two different aspects of your data science scenario:

  • Что вы хотите сделать с данными?What you want to do with your data? В частности, каков бизнес-вопрос, который вы хотите ответить, обучение из прошлых данных?Specifically, what is the business question you want to answer by learning from your past data?

  • Каковы требования к сценарию обработки и анализа данных?What are the requirements of your data science scenario? В частности, Какова точность, время обучения, линейность, количество параметров и число функций, поддерживаемых решением?Specifically, what is the accuracy, training time, linearity, number of parameters, and number of features your solution supports?

Рекомендации по выбору алгоритмов: что вы хотите знать?

Бизнес-сценарии и лист Машинное обучение Algorithm Памятка поBusiness scenarios and the Machine Learning Algorithm Cheat Sheet

С помощью памятка по машинное обучение Azureного алгоритма вы будете в первую очередь: что нужно сделать с данными?The Azure Machine Learning Algorithm Cheat Sheet helps you with the first consideration: What you want to do with your data? На листе Машинное обучение Algorithm Памятка по (анализ алгоритма) найдите нужную задачу, а затем найдите алгоритм конструктора машинное обучение Azure для решения прогнозной аналитики.On the Machine Learning Algorithm Cheat Sheet, look for task you want to do, and then find a Azure Machine Learning designer algorithm for the predictive analytics solution.

Машинное обучение Designer предоставляет комплексный портфель алгоритмов, таких как лес решений в многоклассовых решениях, системы рекомендаций, регрессия нейронных сетей, Многоклассовая нейронная сетьи кластеризация на основе K-средних.Machine Learning designer provides a comprehensive portfolio of algorithms, such as Multiclass Decision Forest, Recommendation systems, Neural Network Regression, Multiclass Neural Network, and K-Means Clustering. Каждый алгоритм предназначен для решения различных типов проблем машинного обучения.Each algorithm is designed to address a different type of machine learning problem. Полный список, а также описание работы каждого алгоритма и настройки параметров для оптимизации алгоритма см. в справочнике по алгоритму конструктора машинное обучение и модулю .See the Machine Learning designer algorithm and module reference for a complete list along with documentation about how each algorithm works and how to tune parameters to optimize the algorithm.

Примечание

Чтобы скачать таблицу алгоритма машинного обучения Памятка по, перейдите на лист Памятка по алгоритма машинного обучения Azure.To download the machine learning algorithm cheat sheet, go to Azure Machine learning algorithm cheat sheet.

Вместе с рекомендациями на листе Машинное обучение Azure Algorithm Памятка по следует учитывать другие требования при выборе алгоритма машинного обучения для решения.Along with guidance in the Azure Machine Learning Algorithm Cheat Sheet, keep in mind other requirements when choosing a machine learning algorithm for your solution. Ниже приведены дополнительные факторы, которые следует учитывать, такие как точность, время обучения, линейность, количество параметров и число функций.Following are additional factors to consider, such as the accuracy, training time, linearity, number of parameters and number of features.

Сравнение алгоритмов машинного обученияComparison of machine learning algorithms

Некоторые алгоритмы обучения делают определенные предположения о структуре данных или желаемых результатов.Some learning algorithms make particular assumptions about the structure of the data or the desired results. Если вы сможете найти тот алгоритм, который соответствует вашим потребностям, с ним вы сможете получить более точные результаты, более точные прогнозы и сократить время обучения.If you can find one that fits your needs, it can give you more useful results, more accurate predictions, or faster training times.

В следующей таблице перечислены некоторые из наиболее важных характеристик алгоритмов из семейств классификации, регрессии и кластеризации.The following table summarizes some of the most important characteristics of algorithms from the classification, regression, and clustering families:

АлгоритмAlgorithm ТочностьAccuracy Время обученияTraining time ЛинейностьLinearity ПараметрыParameters ПримечанияNotes
Семейство классификацийClassification family
Логистическая регрессия двух классовTwo-Class logistic regression ХорошоGood БыстрыйFast ДаYes 44
Лес решений с двумя классамиTwo-class decision forest ОтличноExcellent СредняяModerate НетNo 55 Показывает меньшее время оценки.Shows slower scoring times. Предложение не работает с Многоклассовый классификатор "один — все" из-за более медленных оценок, вызванных действовать блокировкой в накоплении прогнозов дереваSuggest not working with One-vs-All Multiclass, because of slower scoring times caused by tread locking in accumulating tree predictions
Дерево решений, увеличивающееся двумя классамиTwo-class boosted decision tree ОтличноExcellent СредняяModerate НетNo 66 Большой объем памятиLarge memory footprint
Нейронная сеть с двумя классамиTwo-class neural network ХорошоGood СредняяModerate НетNo 88
Среднее перцептрона, основанное на двух классахTwo-class averaged perceptron ХорошоGood СредняяModerate ДаYes 44
Поддержка векторного компьютера с двумя классамиTwo-class support vector machine ХорошоGood БыстрыйFast ДаYes 55 Подходит для больших наборов функцийGood for large feature sets
Логистическая регрессия в многоклассовойMulticlass logistic regression ХорошоGood БыстрыйFast ДаYes 44
Лес решений в многоклассовых решенияхMulticlass decision forest ОтличноExcellent СредняяModerate НетNo 55 Показывает меньшее время оценкиShows slower scoring times
Многоклассическое дерево принятия решенийMulticlass boosted decision tree ОтличноExcellent СредняяModerate НетNo 66 Как правило, повышение точности с небольшим риском меньшего объемаTends to improve accuracy with some small risk of less coverage
Многоклассовая нейронная сетьMulticlass neural network ХорошоGood СредняяModerate НетNo 88
Многоклассовая, одна-VS-всеOne-vs-all multiclass - - - - Просмотрите свойства выбранного двухклассового методаSee properties of the two-class method selected
Семейство регрессииRegression family
Линейная регрессияLinear regression ХорошоGood БыстрыйFast ДаYes 44
Регрессия леса принятия решенийDecision forest regression ОтличноExcellent СредняяModerate НетNo 55
Регрессия повышенного дерева принятия решенийBoosted decision tree regression ОтличноExcellent СредняяModerate НетNo 66 Большой объем памятиLarge memory footprint
Регрессия нейронной сетиNeural network regression ХорошоGood СредняяModerate НетNo 88
Семейство кластеровClustering family
Кластеризация K-среднихK-means clustering ОтличноExcellent СредняяModerate ДаYes 88 Алгоритм кластеризацииA clustering algorithm

Требования к сценарию обработки и анализа данныхRequirements for a data science scenario

Зная, что вы хотите сделать с данными, необходимо определить дополнительные требования для решения.Once you know what you want to do with your data, you need to determine additional requirements for your solution.

Сделайте выбор и, возможно, компромиссы для следующих требований:Make choices and possibly trade-offs for the following requirements:

  • ТочностьAccuracy
  • Время обученияTraining time
  • ЛинейностьLinearity
  • Количество параметровNumber of parameters
  • Количество функцийNumber of features

ТочностьAccuracy

Точность в машинном обучении измеряет эффективность модели в виде отношения истинных результатов к общему количеству вариантов.Accuracy in machine learning measures the effectiveness of a model as the proportion of true results to total cases. В конструкторе Машинное обучение, модуль «анализ модели » вычисляет набор отраслевых метрик оценки.In Machine Learning designer, the Evaluate Model module computes a set of industry-standard evaluation metrics. Этот модуль можно использовать для измерения точности обученной модели.You can use this module to measure the accuracy of a trained model.

Получить наиболее точный возможный ответ не всегда нужно.Getting the most accurate answer possible isn’t always necessary. Иногда достаточно приближенного ответа в зависимости от того, для чего он используется.Sometimes an approximation is adequate, depending on what you want to use it for. Если это так, вы можете значительно сократить время обработки, заменив более приблизительными методами.If that is the case, you may be able to cut your processing time dramatically by sticking with more approximate methods. Приблизительные методы также обычно позволяют избежать чрезмерного перегонки.Approximate methods also naturally tend to avoid overfitting.

Существует три способа использования модуля «анализ модели»:There are three ways to use the Evaluate Model module:

  • Создание оценок для обучающих данных с целью оценки моделиGenerate scores over your training data in order to evaluate the model
  • Создание оценок для модели, но сравнение этих оценок с показателями в зарезервированном проверочном набореGenerate scores on the model, but compare those scores to scores on a reserved testing set
  • Сравнение оценок для двух различных, но связанных моделей с использованием одного набора данныхCompare scores for two different but related models, using the same set of data

Полный список метрик и подходов, которые можно использовать для вычисления точности моделей машинного обучения, см. в разделе Вычисление модуля модели.For a complete list of metrics and approaches you can use to evaluate the accuracy of machine learning models, see Evaluate Model module.

Время обученияTraining time

В защищенном учебном обучении обозначает использование исторических данных для создания модели машинного обучения, которая позволяет избежать ошибок.In supervised learning, training means using historical data to build a machine learning model that minimizes errors. Количество минут или часов, необходимых для обучения модели, сильно отличается для различных алгоритмов.The number of minutes or hours necessary to train a model varies a great deal between algorithms. Время обучения часто тесно связано с точностью; один из них обычно сопровождается другим.Training time is often closely tied to accuracy; one typically accompanies the other.

Кроме того, некоторые алгоритмы более чувствительны к количеству точек данных, чем другие.In addition, some algorithms are more sensitive to the number of data points than others. Вы можете выбрать конкретный алгоритм, так как имеется ограничение по времени, особенно если набор данных большой.You might choose a specific algorithm because you have a time limitation, especially when the data set is large.

В Машинное обучение Designer создание и использование модели машинного обучения обычно выполняется в три этапа:In Machine Learning designer, creating and using a machine learning model is typically a three-step process:

  1. Настройте модель, выбрав определенный тип алгоритма, а затем определив его параметры или параметры.Configure a model, by choosing a particular type of algorithm, and then defining its parameters or hyperparameters.

  2. Предоставьте набор данных с меткой и совместимый с алгоритмом.Provide a dataset that is labeled and has data compatible with the algorithm. Подключите данные и модель к модулю обучение модели.Connect both the data and the model to Train Model module.

  3. После завершения обучения используйте обученную модель с одним из модулей оценки для создания прогнозов по новым данным.After training is completed, use the trained model with one of the scoring modules to make predictions on new data.

ЛинейностьLinearity

Линейность в статистике и машинном обучении означает, что между переменной и константой в наборе данных существует линейная связь.Linearity in statistics and machine learning means that there is a linear relationship between a variable and a constant in your dataset. Например, алгоритмы линейной классификации предполагают, что классы могут быть разделены прямой линией (или ее самым большим объемом).For example, linear classification algorithms assume that classes can be separated by a straight line (or its higher-dimensional analog).

Линейность используется во многих алгоритмах машинного обучения.Lots of machine learning algorithms make use of linearity. В Машинное обучение Azure Designer они включают:In Azure Machine Learning designer, they include:

Алгоритмы линейной регрессии предполагают, что тренды данных следуют прямой линии.Linear regression algorithms assume that data trends follow a straight line. Это предположение неплохо для некоторых проблем, но для других снижает точность.This assumption isn't bad for some problems, but for others it reduces accuracy. Несмотря на их недостатки, в качестве первой стратегии популярны линейные алгоритмы.Despite their drawbacks, linear algorithms are popular as a first strategy. Обычно они алгоритмически просты и быстро осваиваются.They tend to be algorithmically simple and fast to train.

Нелинейная граница класса

*Нелинейная граница класса _: _Relying в алгоритме линейной классификации приведет к низкой точности. *Nonlinear class boundary _: _Relying on a linear classification algorithm would result in low accuracy.

Данные с нелинейным трендом

*Данные с нелинейной тенденцией _: _Using метод линейной регрессии создавал бы гораздо большие ошибки, чем необходимо. *Data with a nonlinear trend _: _Using a linear regression method would generate much larger errors than necessary.

Количество параметровNumber of parameters

Параметры являются теми регуляторами, которые специалист по данным поворачивает при настройке алгоритма.Parameters are the knobs a data scientist gets to turn when setting up an algorithm. Это числа, влияющие на поведение алгоритма, например погрешность ошибок или число итераций, а также варианты поведения алгоритма.They are numbers that affect the algorithm’s behavior, such as error tolerance or number of iterations, or options between variants of how the algorithm behaves. Время обучения и точность алгоритма иногда могут быть конфиденциальными для получения только правильных настроек.The training time and accuracy of the algorithm can sometimes be sensitive to getting just the right settings. Как правило, алгоритмы с большим количеством параметров занимают больше всего проб и ошибок, чтобы найти хорошее сочетание.Typically, algorithms with large numbers of parameters require the most trial and error to find a good combination.

Кроме того, в конструкторе Машинное обучение доступен Модуль Настройка модели . Цель этого модуля — определить оптимальные параметры для модели машинного обучения.Alternatively, there is the Tune Model Hyperparameters module in Machine Learning designer: The goal of this module is to determine the optimum hyperparameters for a machine learning model. Модуль создает и тестирует несколько моделей, используя различные сочетания параметров.The module builds and tests multiple models by using different combinations of settings. Он сравнивает метрики по всем моделям, чтобы получить сочетания параметров.It compares metrics over all models to get the combinations of settings.

Хотя это отличный способ убедиться в том, что вы разделили пространство параметров, время, необходимое для обучения модели, увеличивается экспоненциально с числом параметров.While this is a great way to make sure you’ve spanned the parameter space, the time required to train a model increases exponentially with the number of parameters. Плюсом является то, что наличие большого количества параметров обычно означает, что алгоритм имеет большую гибкость.The upside is that having many parameters typically indicates that an algorithm has greater flexibility. Это часто достигает очень хорошей точности, при условии, что вы можете найти правильное сочетание настроек параметров.It can often achieve very good accuracy, provided you can find the right combination of parameter settings.

Количество функцийNumber of features

В машинном обучении компонент — это количественная переменная, которую вы пытаетесь проанализировать.In machine learning, a feature is a quantifiable variable of the phenomenon you are trying to analyze. Для некоторых типов данных количество функций может быть очень большим по сравнению с количеством точек данных.For certain types of data, the number of features can be very large compared to the number of data points. Это часто происходит с генетическими или текстовыми данными.This is often the case with genetics or textual data.

Большое количество функций может затормозить некоторые алгоритмы обучения, что делает время обучения унфеасибли длинным.A large number of features can bog down some learning algorithms, making training time unfeasibly long. Поддержка векторных компьютеров особенно хорошо подходит для сценариев с большим количеством функций.Support vector machines are particularly well suited to scenarios with a high number of features. По этой причине они использовались во многих приложениях для извлечения информации в классификацию текста и изображений.For this reason, they have been used in many applications from information retrieval to text and image classification. Для задач классификации и регрессии можно использовать векторные компьютеры поддержки.Support vector machines can be used for both classification and regression tasks.

Выбор компонентов относится к процессу применения статистических тестов к входным данным с учетом заданных выходных данных.Feature selection refers to the process of applying statistical tests to inputs, given a specified output. Цель состоит в том, чтобы определить, какие столбцы являются более прогнозируемыми для выходных данных.The goal is to determine which columns are more predictive of the output. Модуль выбора компонентов на основе фильтра в конструкторе машинное обучение предоставляет несколько алгоритмов выбора компонентов для выбора.The Filter Based Feature Selection module in Machine Learning designer provides multiple feature selection algorithms to choose from. Модуль включает методы корреляции, такие как корреляция Пирсона и значения хи-квадрат.The module includes correlation methods such as Pearson correlation and chi-squared values.

Можно также воспользоваться модулем важность функции перестановки , чтобы вычислить набор оценок важности признаков для набора данных.You can also use the Permutation Feature Importance module to compute a set of feature importance scores for your dataset. Эти показатели можно использовать для определения лучших функций, используемых в модели.You can then leverage these scores to help you determine the best features to use in a model.

Дальнейшие действияNext steps