Автоматическое машинное обучение
Автоматическое машинное обучение — процесс создания динамической комбинации различных методов для формирования простой в использовании сквозной конвейерной системы машинного обучения. AutoML использует хорошо зарекомендовавшие себя методы, которые мы классифицируем в следующие категории на основе пайплайна машинного обучения (показано на Рис.1): подготовка данных, разработка характеристик, генерация моделей и оценка моделей.
Подготовка данных состоит из двух этапов: сбор данных и их предварительная обработка.
Разработка характеристик (или признаков) состоит из 3 процессов: извлечение признаков, выбор признаков и конструирование признаков.
Этап генерации модели включает в себя выбор модели и оптимизацию гиперпараметров выбранной модели.
Аббревиатуры GD, RL, EA, BO и BOB обозначают градиент-спуск, обучение с подкреплением, алгоритм на основе эволюции, байесовская оптимизация и байесовская оптимизация на основе гиперболы, соответственно.
Подготовка данных
Первым шагом в пайплайне машинного обучения идет этап подготовки данных. Как правило, во многих задачах, например, распознавание изображений в медицине, бывает трудно получить достаточно данных, или качественно размеченных данных. Мощная система AutoML должна уметь справляться с этой проблемой. Для исследования этой задачи процесс подготовки данных разделяется на два подэтапа: сбор данных и их предобработка.
Сбор данных
Углубленное изучение ML привело к консенсусу, что качественные данные должны быть доступны. В результате появилось множество открытых наборов данных.Однако, как правило, очень трудно найти надлежащий набор данных с помощью вышеуказанных подходов для специальных задач, таких как медицинская помощь или другие частные вопросы. Для решения этой задачи предлагается два типа методов: синтез данных и поиск данных.
Синтез данных
Одним из наиболее часто используемых методов является аугментация существующего набора данных. Для данных изображений существует множество операций аугментации, таких как обрезка, поворот, изменение размера и т.д.
Также, существуют два подхода к созданию дополнительных обучающих примеров: искажение данных и синтетическая избыточная выборка. Первый генерирует дополнительные семплы, применяя преобразования к пространству данных, а второй создает дополнительные семплы в пространстве признаков. Текстовые данные могут быть дополнены синонимами или сначала переводом текста на иностранный язык, а затем переводом его обратно на оригинальный.
Плюс ко всему, одним из распространенных методов является Генеративно-Состязательные Сети, которые, в основном, применяются для генерации картинок и текстов.
Поиск данных
Так как интернет является неисчерпаемым источником данных, поиск веб-данных - это интуитивно понятный способ сбора наборов данных. Тем не менее, есть некоторые проблемы с использованием данных, полученных таким образом.
Во-первых, результаты поиска могут не совсем совпадать с ключевыми словами. Чтобы решить эту проблему, несвязанные данные могут быть отфильтрованы.
Во-вторых, веб-данные могут быть неправильно размечены или не размечены вовсе. Для решения этой проблемы часто используется метод обучения саморазметке. К примеру, метод активного обучения выбирает наиболее "неопределенные" неразмеченные отдельные примеры для разметки вручную, а затем итеративно размечаются оставшиеся данные. Чтобы полностью устранить потребность в разметке данных вручную и еще больше ускорить этот процесс, предлагается множество методов саморазметки с частичным привлечением учителя.
Однако, имеет также место быть проблема того, что наш датасет не сбалансирован. Решением этой проблемы является, к примеру, алгоритм SMOTE, который помогает синтезировать новые данные, которые будут относиться к миноритарным классам, а также уменьшать количество данных, относящихся к мажоритарным классам.
Предварительная обработка данных
После того, как необработанные данные были собраны, они должны быть предварительно обработаны, чтобы удалить избыточные, неполные или неправильные данные. Например, распространенными типами ошибок в полученных датасетах являются пропущенные значения и неправильные типы данных. Типичными операциями, используемыми для обработки данных, являются стандартизация, масштабирование, бинаризация количественных характеристик и замена недостающих значений средними значениями.
При работе с картинками, может быть проблема, что картинка имеет неверную метку. В таких случаях применимы такие методы, как саморазметка. Тем не менее, процесс обработки данных обычно должен быть определен заранее вручную, потому что разные методы могут иметь различные требования, даже для одного и того же набора данных. Например, нейронная сеть может работать только с числовыми данными, в то время как методы, основанные на деревьях принятия решений, могут работать как с числовыми, так и с категориальными данными.