Автоматическое машинное обучение
Автоматическое машинное обучение — процесс создания динамической комбинации различных методов для формирования простой в использовании сквозной конвейерной системы машинного обучения. AutoML использует хорошо зарекомендовавшие себя методы, которые мы классифицируем в следующие категории на основе пайплайна машинного обучения (показано на Рис.1): подготовка данных, разработка признаков, генерация моделей и оценка моделей.
Подготовка данных состоит из двух этапов: сбор данных и их предварительная обработка.
Разработка признаков состоит из 3 процессов: извлечение признаков, выбор признаков и конструирование признаков.
Этап генерации модели включает в себя выбор модели и оптимизацию гиперпараметров выбранной модели.
Аббревиатуры GD, RL, EA, BO и BOB обозначают градиент-спуск, обучение с подкреплением, алгоритм на основе эволюции, байесовская оптимизация и байесовская оптимизация на основе гиперболы, соответственно.
Подготовка данных
Первым шагом в пайплайне машинного обучения идет этап подготовки данных. Как правило, во многих задачах, например, распознавание изображений в медицине, бывает трудно получить достаточно данных, или качественно размеченных данных. Мощная система AutoML должна уметь справляться с этой проблемой. Для исследования этой задачи процесс подготовки данных разделяется на два подэтапа: сбор данных и их предобработка.
Сбор данных
Углубленное изучение ML привело к консенсусу, что качественные данные должны быть доступны. В результате появилось множество открытых наборов данных.Однако, как правило, очень трудно найти надлежащий набор данных с помощью вышеуказанных подходов для специальных задач, таких как медицинская помощь или другие частные вопросы. Для решения этой задачи предлагается два типа методов: синтез данных и поиск данных.
Синтез данных
Одним из наиболее часто используемых методов является аугментация существующего набора данных. Для данных изображений существует множество операций аугментации, таких как обрезка, поворот, изменение размера и т.д.
Также, существуют два подхода к созданию дополнительных обучающих примеров: искажение данных и синтетическая избыточная выборка. Первый генерирует дополнительные семплы, применяя преобразования к пространству данных, а второй создает дополнительные семплы в пространстве признаков. Текстовые данные могут быть дополнены синонимами или сначала переводом текста на иностранный язык, а затем переводом его обратно на оригинальный.
Плюс ко всему, одним из распространенных методов является Генеративно-Состязательные Сети, которые, в основном, применяются для генерации картинок и текстов.
Поиск данных
Так как интернет является неисчерпаемым источником данных, поиск веб-данных - это интуитивно понятный способ сбора наборов данных. Тем не менее, есть некоторые проблемы с использованием данных, полученных таким образом.
Во-первых, результаты поиска могут не совсем совпадать с ключевыми словами. Чтобы решить эту проблему, несвязанные данные могут быть отфильтрованы.
Во-вторых, веб-данные могут быть неправильно размечены или не размечены вовсе. Для решения этой проблемы часто используется метод self_labeling. К примеру, метод активного обучения выбирает наиболее "неопределенные" неразмеченные отдельные примеры для разметки вручную, а затем итеративно размечаются оставшиеся данные. Чтобы полностью устранить потребность в разметке данных вручную и еще больше ускорить этот процесс, предлагается множество методов self-labeling с частичным привлечением учителя.
Однако, имеет также место быть проблема того, что наш датасет не сбалансирован. Решением этой проблемы является, к примеру, алгоритм SMOTE, который помогает синтезировать новые данные, которые будут относиться к миноритарным классам, а также уменьшать количество данных, относящихся к мажоритарным классам.
Предварительная обработка данных
После того, как необработанные данные были собраны, они должны быть предварительно обработаны, чтобы удалить избыточные, неполные или неправильные данные. Например, распространенными типами ошибок в полученных датасетах являются пропущенные значения и неправильные типы данных. Типичными операциями, используемыми для обработки данных, являются стандартизация, масштабирование, бинаризация количественных характеристик и замена недостающих значений средними значениями.
При работе с картинками, может быть проблема, что картинка имеет неверную метку. В таких случаях применимы такие методы, как self-labeling. Тем не менее, процесс обработки данных обычно должен быть определен заранее вручную, потому что разные методы могут иметь различные требования, даже для одного и того же набора данных. Например, нейронная сеть может работать только с числовыми данными, в то время как методы, основанные на деревьях принятия решений, могут работать как с числовыми, так и с категориальными данными.
Разработка признаков
Разработка признаков состоит из трёх подэтапов: выбор признаков (feature selection), извлечение признаков (feature extraction) и построение признаков (feature construction). Извлечение и построение признаков - это варианты преобразования, с помощью которых создается новый набор признаков. Во многих случаях, целью feature extraction является уменьшение исходной размерности путём применения некоторых функций отображения, в то время как feature construction используется для расширения исходного пространства признаков. Цель feature selection состоит в том, чтобы уменьшить избыточность признаков путем выбора наиболее важных из них. В итоге, суть автоматической разработки признаков в некоторой степени заключается в динамическом сочетание этих трех принципов.
Выбор признаков
![](/wiki/images/thumb/4/40/2_automl.png/300px-2_automl.png)
Feature selection строит подмножество объектов на основе исходного набора объектов путем сокращения нерелевантных или избыточных признаков. Это, как правило, упрощает модель, таким образом, избегая переобучения и улучшая производительность модели. Выбранные объекты обычно расходятся и сильно коррелируют со значениями объектов.