Редактирование: Автоматическое машинное обучение

Перейти к: навигация, поиск

Внимание! Вы не авторизовались на сайте. Ваш IP-адрес будет публично видимым, если вы будете вносить любые правки. Если вы войдёте или создадите учётную запись, правки вместо этого будут связаны с вашим именем пользователя, а также у вас появятся другие преимущества.

Правка может быть отменена. Пожалуйста, просмотрите сравнение версий, чтобы убедиться, что это именно те изменения, которые вас интересуют, и нажмите «Записать страницу», чтобы изменения вступили в силу.
Текущая версия Ваш текст
Строка 9: Строка 9:
  
 
== Подготовка данных ==
 
== Подготовка данных ==
Первым шагом в конвейере машинного обучения идет этап подготовки данных. Во многих задачах, например, в задаче распознавания образов в медицине, бывает трудно получить достаточно данных, или <i>качественно размеченных</i> данных. Мощная система AutoML должна уметь справляться с этой проблемой. Для исследования этой задачи процесс подготовки данных разделяется на два подэтапа: сбор данных и их предобработка.
+
Первым шагом в конвеере машинного обучения идет этап подготовки данных. Как правило, во многих задачах, например, распознавание образов в медицине, бывает трудно получить достаточно данных, или <i>качественно размеченных</i> данных. Мощная система AutoML должна уметь справляться с этой проблемой. Для исследования этой задачи процесс подготовки данных разделяется на два подэтапа: сбор данных и их предобработка.
 
=== Сбор данных ===
 
=== Сбор данных ===
 
Углубленное изучение ML привело к консенсусу, что качественные данные общедоступны. В результате появилось множество открытых наборов данных. Однако, с помощью вышеуказанных подходов, как правило, очень трудно найти надлежащий набор данных для специализированных задач, таких как задачи, связанные с медициной. Для решения этой задачи предлагается два типа методов: синтез данных и поиск данных.
 
Углубленное изучение ML привело к консенсусу, что качественные данные общедоступны. В результате появилось множество открытых наборов данных. Однако, с помощью вышеуказанных подходов, как правило, очень трудно найти надлежащий набор данных для специализированных задач, таких как задачи, связанные с медициной. Для решения этой задачи предлагается два типа методов: синтез данных и поиск данных.
Строка 41: Строка 41:
  
 
== Генерация модели ==
 
== Генерация модели ==
После конструирования признаков нам нужно сгенерировать модель и задать ее гиперпараметры. Как показано на Рис. 1, генерация модели состоит из двух этапов: [[Модель алгоритма и её выбор | выбора модели]] и [[Настройка гиперпараметров | оптимизации гиперпараметров]].
+
После конструирования признаков нам нужно сгенерировать модель и задать ее гиперпараметры. Как показано на Рис. 1, генерация модели состоит из двух этапов: [[Модель алгоритма и её выбор | выбора модели]] и [[Настройка гиперпараметров | оптимизации гиперпараметров]]. <br><br>
 
Существует множество способов выбора модели. Ниже приведены некоторые из них:
 
Существует множество способов выбора модели. Ниже приведены некоторые из них:
 
=== TPOT (Tree-base Pipeline Optimization Tool) ===
 
=== TPOT (Tree-base Pipeline Optimization Tool) ===
В основе [[Модель алгоритма и её выбор#Автоматизированный выбор модели в библиотеке Tree-base Pipeline Optimization Tool (TPOT) для Python. | TPOT]] лежит эволюционный алгоритм поиска для нахождения лучшей модели и одновременной оптимизации её гиперпараметров. Представляет собой надстройку над scikit-learn<ref>[https://scikit-learn.org/stable/ Библиотека scikit-learn]</ref>, при этом в данную библиотеку также включены собственные алгоритмы регрессии и классификации. В мае 2020 года вышла версия, в которую был добавлен модуль для работы с нейронными сетями на основе PyTorch<ref>[https://pytorch.org/ Библиотека PyTorch]</ref>.
+
В основе [[Модель алгоритма и её выбор#Автоматизированный выбор модели в библиотеке Tree-base Pipeline Optimization Tool (TPOT) для Python. | TPOT]] лежит эволюционный алгоритм поиска для нахождения лучшей модели и оновременной оптимизации её гиперпараметров. Время работы TPOT сильно зависит от размера входных данных.
Время работы TPOT сильно зависит от размера входных данных. Не поддерживает обработку естественного языка и категориальных данных.
 
  
 
=== Auto-WEKA ===
 
=== Auto-WEKA ===
[[Модель алгоритма и её выбор#Автоматизированный выбор модели в библиотеке auto-WEKA для Java | Auto-WEKA]] позволяет одновременно выбирать лучшую модель и настраивать ее гиперпараметры. Для этого процесса используется алгоритм [[Настройка гиперпараметров#Последовательная конфигурация алгоритма на основе модели | SMAC]]. Из-за перебора всех возможных моделей и их гиперпараметров алгоритм работает довольно долго.
+
[[Модель алгоритма и её выбор#Автоматизированный выбор модели в библиотеке auto-WEKA для Java | Auto-WEKA]] позволяет нам одновременно выбирать лучшую модель и настраивать ее гиперпараметры. Время работы алгоритма достаточно долгое, потому что нам нужно перебрать все возможные алгоритмы и для каждого из них настроить его гиперпараметры.
  
 
=== Auto-sklearn ===
 
=== Auto-sklearn ===
В [[Модель алгоритма и её выбор#Автоматизированный выбор модели в библиотеке auto-sklearn для Python | Auto-sklearn]] реализован автоматический выбор лучшего алгоритма из представленных в scikit-learn, а также настройка его гиперпараметров. Для улучшения обобщающей способности используются [[Уменьшение размерности#Другие методы|ансамбли]] из моделей, которые были получены в ходе оптимизации. В Auto-sklearn применяются идеи [[Мета-обучение|мета-обучения]], которые позволяют выделять похожие датасеты и использовать знания о них.
+
Так же, как и в Auto-WEKA, в [[Модель алгоритма и её выбор#Автоматизированный выбор модели в библиотеке auto-sklearn для Python | Auto-sklearn]] мы можем автоматически выбрать лучшую модель из тех, что поддерживаются, и сразу настроить ее гиперпараметры.
 
 
=== Auto-sklearn 2.0 ===
 
Auto-sklearn 2.0 является улучшенной версией библиотеки auto-sklearn. В обновленном варианте пакета каждый pipeline способен совершать раннюю остановку и сохранять результаты промежуточных вычислений. Это изменение кардинально улучшило производительность и качество работы.
 
Следующим нововведением стало ограничение множества алгоритмов, в котором производится перебор, до моделей, которые можно обучать итеративно, в частности, методы, основанные на деревьях решений. Изменился подход к мета-обучению, предыдущая версия библиотеки использовала мета-признаки для определения схожих между собой датасетов. В Auto-sklearn 2.0 реализован другой подход, было создано единое портфолио лучших решений для различных датасетов. Был добавлен автоматический выбор стратегии подбора наилучшей модели.
 
 
 
=== Auto-Keras ===
 
Открытая библиотека для автоматизированного подбора архитектуры модели, которая использует в своей основе scikit-learn, PyTorch и Keras<ref>[https://keras.io/ Библиотека Keras]</ref>. Библиотека параллельно использует CPU и GPU, а также адаптируется под лимиты памяти, за счёт чего обладает высокой производительностью. Auto-Keras показывает высокие результаты близкие к [[Автоматическое машинное обучение#Google Cloud AutoML | Google AutoML]], однако в отличии от продукта Google является бесплатной.
 
Идея библиотеки в том, чтобы исследовать пространство поиска архитектур с помощью алгоритма байесовской оптимизации. Алгоритм поиска нейросетевой архитектуры состоит из трех повторяющихся шагов: обновление, генерация и наблюдение. Обновлением называется обучение гауссовского процесса на имеющихся данных. На этапе генерации создаётся новая архитектура через оптимизацию функции исследования. В качестве наблюдения записываются результаты новой архитектуры.
 
 
 
=== MLBox ===
 
Мощная библиотека для автоматического машинного обучения, разработанная для Python. Реализует быстрое чтение, распределенную предобработку данных, выбор признаков, оптимизацию гиперпараметров в многомерном пространстве, современные предсказательные модели классификации и регрессии.
 
 
 
=== TransmogrifAI ===
 
AutoML библиотека написанная на SCALA работающая поверх Apache Spark. Она разработана с упором на повышение производительности разработки за счёт проверки типов во время компиляции, их переиспользования и модульности. Обеспечивает быстрое обучение моделей с минимальной ручной настройкой.
 
  
 
== Оценка модели ==
 
== Оценка модели ==
Строка 85: Строка 70:
 
* действительная задержка
 
* действительная задержка
  
== AutoML сервисы ==
+
== Google Cloud AutoML ==
 
+
Сервис от компании Google, который позволяет создавать модели машинного обучения, использующий запатентованную технологию Google Research, чтобы помочь вашим моделям достичь наиболее высокой производительности и точных предсказаний. Используется простой графический пользовательский интерфейс Cloud AutoML для обучения, оценки, оптимизации и деплоя моделей на основе ваших данных. Также есть возможность генерировать высококачественные данные для интересующих вас задач.
=== Google Cloud AutoML ===
+
=== Инструменты Cloud AutoML ===
Сервис от компании Google, который позволяет создавать модели машинного обучения, использующий запатентованную технологию Google Research, чтобы помочь пользовательским моделям достичь наиболее высокой производительности и точных предсказаний. Используется простой графический пользовательский интерфейс Cloud AutoML для обучения, оценки и оптимизации моделей на основе пользовательских данных. Также есть возможность генерировать высококачественные данные для интересующих задач.
 
 
 
==== Инструменты Cloud AutoML ====
 
 
* компьютерное зрение {{---}} [https://cloud.google.com/vision/overview/docs#automl-vision AutoML Vision], [https://cloud.google.com/video-intelligence/automl/docs AutoML Video Intelligence]
 
* компьютерное зрение {{---}} [https://cloud.google.com/vision/overview/docs#automl-vision AutoML Vision], [https://cloud.google.com/video-intelligence/automl/docs AutoML Video Intelligence]
 
* машинный перевод {{---}} [https://cloud.google.com/natural-language/automl/docs AutoML Natural Language], [https://cloud.google.com/translate/automl/docs AutoML Translation]
 
* машинный перевод {{---}} [https://cloud.google.com/natural-language/automl/docs AutoML Natural Language], [https://cloud.google.com/translate/automl/docs AutoML Translation]
 
* структурирование данных {{---}} [https://cloud.google.com/automl-tables/docs AutoML Tables]
 
* структурирование данных {{---}} [https://cloud.google.com/automl-tables/docs AutoML Tables]
 
=== IBM Watson Machine Learning ===
 
Сервис IBM Cloud с широким спектром услуг. Предоставляет обширные возможности для работы с естественным языком (например преобразование текста в речь и наоборот, динамический перевод документов, классификацию текста, анализ эмоциональной составляющей текста), а также инструменты для распознавания изображений. Поддерживает ограниченный набор типов библиотек, таких как scikit-learn и Keras.
 
 
=== MLJAR ===
 
Сервис для автоматизации машинного обучения предоставляющий возможности по предобработке данных, обучению алгоритма, и выбору гиперпараметров без использования кода. Предобработка реализована в виде заполнения недостающих данных, преобразовании типов признаков, а также [https://ru.wikipedia.org/wiki/%D0%A3%D0%BD%D0%B8%D1%82%D0%B0%D1%80%D0%BD%D1%8B%D0%B9_%D0%BA%D0%BE%D0%B4 one-hot encoding]. В качестве алгоритмов предлагаются Xgboost, LightGBM, Regularized Greedy Forest, cлучайный лес, алгоритм k-ближайших соседей, логистическая регрессия, нейронные сети и другие. Обученную модель можно использовать как удаленно на сервере, так и локально на своей машине.
 
 
=== AzureML ===
 
Облачный сервис компании Microsoft, который предоставляет многочисленные возможности для упрощения разработки и развертывания проектов. В AzureML реализованы пользовательские интерфейсы конструктора машинного обучения и автоматического машинного обучения. В облаке вы можете хранить свои датасеты, модели, конвейеры, базы данных и т.д. Сервис поддерживает следующие среды разработки: VSCode, Pycharm, Visual Studio, Jupyter Notebook, а также два языка программирования: R и Python вместе с основными библиотеками и фреймворками.
 
  
 
== См. также ==
 
== См. также ==
Строка 116: Строка 89:
 
* [https://towardsdatascience.com/tpot-automated-machine-learning-in-python-4c063b3e5de9 TPOT Automated Machine Learning in Python]
 
* [https://towardsdatascience.com/tpot-automated-machine-learning-in-python-4c063b3e5de9 TPOT Automated Machine Learning in Python]
 
* [https://www.automl.org/wp-content/uploads/2018/12/auto-sklearn-1.pdf Auto-sklearn: Efficient and Robust Automated Machine Learning]
 
* [https://www.automl.org/wp-content/uploads/2018/12/auto-sklearn-1.pdf Auto-sklearn: Efficient and Robust Automated Machine Learning]
* [https://www.automl.org/auto-sklearn-2-0-the-next-generation/ Auto-sklearn 2.0: The next generation]
 
 
== Примечания ==
 
  
 
[[Категория: Машинное обучение]]
 
[[Категория: Машинное обучение]]
[[Категория: Автоматическое машинное обучение]]
 

Пожалуйста, учтите, что любой ваш вклад в проект «Викиконспекты» может быть отредактирован или удалён другими участниками. Если вы не хотите, чтобы кто-либо изменял ваши тексты, не помещайте их сюда.
Вы также подтверждаете, что являетесь автором вносимых дополнений, или скопировали их из источника, допускающего свободное распространение и изменение своего содержимого (см. Викиконспекты:Авторские права). НЕ РАЗМЕЩАЙТЕ БЕЗ РАЗРЕШЕНИЯ ОХРАНЯЕМЫЕ АВТОРСКИМ ПРАВОМ МАТЕРИАЛЫ!

Чтобы изменить эту страницу, пожалуйста, ответьте на приведённый ниже вопрос (подробнее):

Отменить | Справка по редактированию (в новом окне)

Шаблон, используемый на этой странице: