Автоматическое машинное обучение — различия между версиями
Amoniy (обсуждение | вклад) |
Amoniy (обсуждение | вклад) |
||
Строка 28: | Строка 28: | ||
=== Выбор признаков === | === Выбор признаков === | ||
− | [[Файл:2_automl.png|right|thumb|Рис. | + | [[Файл:2_automl.png|right|thumb|Рис. 2: Итерационный процесс выбора признаков. Подмножество признаков выбирается на основе стратегии поиска, а затем оценивается. После этого выполняется процедура валидации, чтобы определить, является ли полученное подмножество валидным. Описанные выше шаги повторяются до того момента, пока не будет достигнут критерий остановки.]] |
Feature selection строит подмножество объектов на основе исходного набора объектов путем сокращения нерелевантных или избыточных признаков. Это, как правило, упрощает модель, таким образом, избегая переобучения и улучшая производительность модели. Выбранные объекты обычно расходятся и сильно коррелируют со значениями объектов.<br> | Feature selection строит подмножество объектов на основе исходного набора объектов путем сокращения нерелевантных или избыточных признаков. Это, как правило, упрощает модель, таким образом, избегая переобучения и улучшая производительность модели. Выбранные объекты обычно расходятся и сильно коррелируют со значениями объектов.<br> | ||
Стратегия поиска для feature selection включает в себя три типа алгоритмов: полный поиск, эвристический поиск и случайный поиск. | Стратегия поиска для feature selection включает в себя три типа алгоритмов: полный поиск, эвристический поиск и случайный поиск. | ||
Строка 36: | Строка 36: | ||
Вторая {{---}} метод обертки, который классифицирует выборку с выбранным подмножеством признаков, после чего точность классификации используется в качестве меры для измерения качества подмножества признаков.<br> | Вторая {{---}} метод обертки, который классифицирует выборку с выбранным подмножеством признаков, после чего точность классификации используется в качестве меры для измерения качества подмножества признаков.<br> | ||
Третий {{---}} это embedded-метод, в котором выбор осуществляется в процессе обучения. Пример embedded-методов - <i>регуляризация и дерево принятия решений.</i> | Третий {{---}} это embedded-метод, в котором выбор осуществляется в процессе обучения. Пример embedded-методов - <i>регуляризация и дерево принятия решений.</i> | ||
+ | |||
+ | === Построение признаков === | ||
+ | Это процесс создания новых признаков из исходного пространства или необработанных данных с целью улучшения качества и обощаемой способности модели. Этот процесс сильно зависит от человеческого опыта, и одним из наиболее часто используемых методов являются препроцессинговые преобразования, такие как стандартизация, нормализация или дискретизация признаков. Кроме того, операции преобразования для различных типов признаков могут отличаться. Например, такие операции, как конъюнкция, дизъюнкция и отрицание, обычно используются для булевых признаков; такие операции, как минимум, максимум, сложение, вычитание, среднее значение, обычно используются для числовых признаков.<br> | ||
+ | Невозможно вручную исследовать все возможности. Таким образом, для дальнейшего повышения эффективности были предложены некоторые автоматические методы построения признаков, которые позволяют достичь результатов, которые не уступают или даже превосходят результаты, достигнутые человеческим опытом. Эти алгоритмы направлены на автоматизацию процесса поиска и оценки комбинации операций. | ||
+ | |||
+ | === Извлечение признаков === | ||
+ | Это процесс уменьшения размерности пространства признаков путем применения некоторых функций отображения.Он извлекает наиболее информативные признаки с учетом выбранных метрик. В отличие от feature selection, feature extraction изменяет исходные признаки. Главной частью feature extraction является функция отображения, которая может быть реализована многими способами. Наиболее распространенными подходами является Метод главных компонент (PCA), метод независимых компонент (ICA), isomap, нелинейное уменьшение размерности. |
Версия 01:54, 3 марта 2020
Автоматическое машинное обучение — процесс создания динамической комбинации различных методов для формирования простой в использовании сквозной конвейерной системы машинного обучения. 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 состоит в том, чтобы уменьшить избыточность признаков путем выбора наиболее важных из них. В итоге, суть автоматической разработки признаков в некоторой степени заключается в динамическом сочетание этих трех принципов.
Выбор признаков
Feature selection строит подмножество объектов на основе исходного набора объектов путем сокращения нерелевантных или избыточных признаков. Это, как правило, упрощает модель, таким образом, избегая переобучения и улучшая производительность модели. Выбранные объекты обычно расходятся и сильно коррелируют со значениями объектов.
Стратегия поиска для feature selection включает в себя три типа алгоритмов: полный поиск, эвристический поиск и случайный поиск.
Методы оценки получившихся подмножеств можно разделить на три основные категории.
Первая — это метод фильтрации, который оценивает каждый признак в соответствии с его дивергенцией или корреляцией, а затем выбирает признаки в соответствии с установленным порогом. Обычно для каждого признака используются такие методы оценки, как дисперсия, коэффициент корреляции и критерий хи-квадрат.
Вторая — метод обертки, который классифицирует выборку с выбранным подмножеством признаков, после чего точность классификации используется в качестве меры для измерения качества подмножества признаков.
Третий — это embedded-метод, в котором выбор осуществляется в процессе обучения. Пример embedded-методов - регуляризация и дерево принятия решений.
Построение признаков
Это процесс создания новых признаков из исходного пространства или необработанных данных с целью улучшения качества и обощаемой способности модели. Этот процесс сильно зависит от человеческого опыта, и одним из наиболее часто используемых методов являются препроцессинговые преобразования, такие как стандартизация, нормализация или дискретизация признаков. Кроме того, операции преобразования для различных типов признаков могут отличаться. Например, такие операции, как конъюнкция, дизъюнкция и отрицание, обычно используются для булевых признаков; такие операции, как минимум, максимум, сложение, вычитание, среднее значение, обычно используются для числовых признаков.
Невозможно вручную исследовать все возможности. Таким образом, для дальнейшего повышения эффективности были предложены некоторые автоматические методы построения признаков, которые позволяют достичь результатов, которые не уступают или даже превосходят результаты, достигнутые человеческим опытом. Эти алгоритмы направлены на автоматизацию процесса поиска и оценки комбинации операций.
Извлечение признаков
Это процесс уменьшения размерности пространства признаков путем применения некоторых функций отображения.Он извлекает наиболее информативные признаки с учетом выбранных метрик. В отличие от feature selection, feature extraction изменяет исходные признаки. Главной частью feature extraction является функция отображения, которая может быть реализована многими способами. Наиболее распространенными подходами является Метод главных компонент (PCA), метод независимых компонент (ICA), isomap, нелинейное уменьшение размерности.