Как работает AutoML

Это общий процесс, связанный с проектом машинного обучения (МО). Типовой процесс МО начинается с определения проблемы и формулирования вопроса. Это сопровождается серией шагов, включая подготовку данных (или предподготовку), обработку объектов, выбор подходящего алгоритма и модели обучения, гиперпараметрическую настройку и оценку модели. Это итеративный процесс и оптимальная модель зачастую получается после множественных итераций и экспериментов.

Алгоритмы AutoML

Для определения модели, которая лучше всего соответствует данным, требуется много времени, усилий и опыта во всем процессе машинного обучения. Инструмент Обучение с использованием AutoML автоматизирует весь этот рабочий процесс и определяет наилучший алгоритм с оптимальным набором гиперпараметров, соответствующих данным. Эта разработка основана на открытом внедрении под названием mljar-supervised. В разделе ниже подробно описан каждый шаг процесса машинного обучения.

Рабочий процесс Обучение с использованием AutoML

Инструмент Обучение с использованием AutoML автоматизирует следующее:

  1. Предварительная обработка данных - успешные проекты машинного обучения требуют сбора высококачественных входных данных для решения конкретной проблемы. Эти данные могут поступать из разных источников, и может потребоваться их объединение. После того как данные будут собраны и синтезированы, необходимо их очистить и убрать шумы, чтобы гарантировать, что алгоритмы МО могут быть эффективно обучены на их основе. Этот шаг обычно очень затратен по времени и утомителен, а также может потребовать специфических знаний и опыта в предметной области. Очистка данных может включать идентификацию и заполнение недостающих значений, выявление выбросов, правку данных без описаний и др., все это может потребовать значительного количества времени и усилий от специалиста по МО. Ниже приведены шаги предварительной обработки:

    • Удалить выбросы - выбросы представляют собой точки данных, которые существенно отличаются от остальных точек данных. Причинами появления таких выбросов могут быть ошибки при вводе данных, ошибки при измерениях или их реальное отличие. Независимо от причины, важно удалять выбросы из данных, поскольку они скорее всего негативно повлияют на модель на этапе обучения. Обычными методами работы с выбросами являются ручное исправление или удаление записей из набора данных.
    • Подставить отсутствующие значения — в некоторых столбцах набора данных значения могут отсутствовать. Модели машинного обучения невозможно обучить, если в обучающих данных есть отсутствующие элементы. Чтобы гарантировать, что в наборе данных нет отсутствующих элементов, заполните эти записи корректными данными в ходе процесса под названием подстановка данных. Добавить отсутствующие записи можно разными способами, в том числе добавив наиболее часто встречающееся значение, либо добавив новое значение, чтобы однозначно указать, что эти данные отсутствуют. Для числовых данных также можно использовать среднее или медиану из всех записей в столбце с отсутствующими данными. В настоящий момент их можно определить, запустив инструмент Заполнить пропущенные значения. Инструмент Заполнить пропущенные значения дает не только возможность подставить глобальные статистические значения из столбца, но и использовать пространственные стратегии, например, локальных соседей, пространственно-временных соседей, либо временные стратегии, такие как значения временных рядов.
    • Масштабирование и нормализация данных - одно из основных предположений при обучении линейной модели машинного обучения, такой как OLS (невязки), заключается в том, что обучаемые данные распределяются нормально; то есть следуют кривой нормального распределения.
      Нормально распределенные данные

      Перед использованием линейной модели убедитесь, что каждый из столбцов в наборе данных распределен нормально. Если в каком-то из столбцов данные распределены не нормально, то к данным обычно применяются преобразования, чтобы привести их к нормальному распределению.

      Убедитесь, что все столбцы в наборе данных представлены в одинаковом масштабе, чтобы модель не придавала большей значимости столбцам, значения которых попадают в больший масштаб. Это выполняется путем применения техник масштабирования к набору данных.

      Хотя вышеизложенное может быть верно для линейных моделей, другие алгоритмы, такие как Логистическая регрессия и особенно модели на основе дерева, такие как Дерево решений, Дополнительное дерево, Случайный лес, XgBoost и LightGBM, не предполагают никакой нормальности и более устойчивы к различиям в масштабированных, скошенных распределениях и т.п.

    • Конвертировать категорийные данные в числовые - для большинства моделей машинного обучения нужны данные, которые используются для обучения, должны быть представлены в виде чисел. Они не могут работать с другими типами данных. Конвертируйте нечисловые столбцы,такие как State, Country, City или Land cover category, Construction type, Dominant political party и т.п. в числа. Для конвертации категорийных данных в числа применяются, например, такие техники, как кодирование надписей и кодирование один-горячий.

  2. Обработка объектов и выборка объектов - столбцы, которые используются в ходе процесса обучения модели, называются объектами. Полезность этих объектов меняется по мере обучения модели. Некоторые их этих объектов могут быть не очень значимы, в таких случаях модель улучшается, когда эти объекты удаляют из набора данных.

    Такие подходы, как рекурсивное исключение признаков и методы случайных признаков, помогают определить полезность признаков в наборе данных, а признаки, которые не являются полезными в таких подходах, обычно удаляются.

    В некоторых случаях модель улучшается при комбинировании нескольких объектов в один. Этот процесс называется обработкой данных.

    Помимо новых объектов, полученных путем объединения нескольких входных объектов, инструмент также создает пространственные объекты с именами от zone3_id до zone7_id при использовании опции Дополнительно. Эти новые объекты создаются путем назначения местоположения входных обучающих объектов нескольким (до пяти) пространственным сеткам различных размеров и использованию идентификаторов сетки в качестве категориальных независимых переменных с именами zone3_idzone7_id. Это обеспечивает модель допустимой пространственной информацией и помогает узнавать больше на основе доступных данных.

  3. Обучение модели и выбор модели — на этапе обучения модели специалист выбирает подходящий алгоритм ML на основе поставленной задачи и характеристик данных. Затем начинается итеративный процесс обучения моделей в соответствии с данными, это зачастую включает эксперименты с несколькими разными алгоритмами МО. У каждого из этих алгоритмов может быть много разных гиперпараметров, которые представляют собой значения, заданные специалистом вручную и которые управляют тем, как модель обучается. Затем эти гиперпараметры настраиваются (другими словами, корректируются) с целью повышения производительности алгоритма и достижения лучших результатов. Это итеративный процесс, который требует времени и опыта специалиста. Различные алгоритмы или статистические модели включают Линейную регрессию и Логистическую регрессию, а другие модели машинного обучения включают Деревья решений, Случайные леса и более современные модели повышения, такие как LightGBM и XGBoost. Хотя LightGBM и XGBoost превосходят большинство других моделей почти для всех наборов данных, трудно предсказать, какие модели будут хорошо работать с конкретным набором данных, поэтому вы должны попробовать все модели, чтобы сравнить их производительность, прежде чем выбрать модель, которая лучше всего подходит для ваших данных. Это означает, что модели соответствуют данным с низкими значениями MSE, RMSE, MAE, MAPE, при этом у них высокие оценки R2, Спирмена, Пирсона для проблем регрессии и наименьшего Logloss, а также высокие оценки AUC, F1 для проблем классификации.

    В большинстве случаев объединение нескольких моделей в одну и получение выходных данных из этой объединенной модели превосходит результат одной модели. Этот шаг называется сборкой модели.

  4. Настройка гиперпараметров - несмотря на то, что большинство предыдущих шагов были итеративными, этот шаг зачастую является наиболее сложным при обучении моделей МО.

    Гиперпараметры можно рассматривать как рычаги, которые есть в каждой модели. Гиперпараметры, используемые при обучении модели Случайный лес, отличаются от тех, которые используются для обучения модели LightGBM. Знание того, как работают эти гиперпараметры, поможет вам лучше узнать модель.

  5. Выборка модели—финальным шагом в процессе МО является оценка, в ходе него вы проверяете, как обученный и настроенный алгоритм VL будет воссоздавать данные, которые пока для него незнакомы. Эти невидимые данные часто называют проверочным или тестовым набором и хранятся отдельно от тех данных, которые используются для обучения модели. Цель этого финального шага заключается в том, чтобы убедиться, что алгоритм МО дает достаточно хорошую точность при прогнозировании новых данных.

Глядя на весь рабочий процесс машинного обучения, становится ясно, что на каждом этапе требуется различная степень человеческого участия, принятия решений и выбора.

  • Были ли собраны подходящие данные для решения проблемы и достаточно ли их?
  • Что означает выброс в контексте данных?
  • Если найдены пропущенные значения, что должно их заменить?
  • Какие объекты должны быть включены в модель машинного обучения?
  • Какой алгоритм МО следует использовать?
  • Каков приемлемый уровень производительности для модели?
  • Какая наилучшая комбинация гиперпараметров для данной модели?

Это последнее решение потенциально может включать в себя сотни или даже тысячи комбинаций гиперпараметров, которые можно многократно итерировать. Добавьте несколько различных сценариев обработки данных, а также обучение и настройку нескольких различных алгоритмов машинного обучения, и весь процесс превратится в неуправляемый и непродуктивный. Кроме того, некоторые этапы рабочего процесса машинного обучения требуют экспертного технического понимания методов обработки данных, статистики и алгоритмов машинного обучения. Таким образом, разработка и выполнение проектов машинного обучения может занимать много времени, это может быть трудоемко, дорого и часто сильно зависит от квалификации специалистов по машинному обучению и специалистов по данным.

За последнее десятилетие машинное обучение испытало взрывной рост как в части приложений, к которым оно применяется, так в части количества новых исследований, проведенных на его основе. Некоторыми из основных движущих сил этого роста являются зрелость самих алгоритмов и методов машинного обучения, создание и распространение огромных объемов данных для обучения алгоритмов, изобилие недорогих вычислений для запуска алгоритмов и растущая осведомленность среди организаций, что алгоритмы машинного обучения могут обрабатывать сложные структуры данных и решать проблемы.

Многие организации хотят работать с МО, чтобы использовать преимущества своих данных и извлекать из них новые знания, но существует дисбаланс между количеством потенциальных приложений МО и количеством обученных, опытных практиков МО для их решения. В результате растет потребность в демократизации машинного обучения в организациях путем создания инструментов, которые делают машинное обучение широко доступным во всей организации и могут использоваться имеющимися специалистами, не занимающимися машинным обучением, но являющимися экспертами в предметной области.

Автоматизированное машинное обучение (AutoML) появилось недавно, как способ удовлетворить огромный спрос на МО в организациях с любым уровнем опыта и навыков. AutoML стремится создать единую систему для автоматизации (другими словами, исключения ввода параметров человеком) как можно большей части рабочего процесса МО, включая подготовку данных, обработку объектов, выбор модели, настройку гиперпараметров и оценку модели. При этом он может быть полезен неспециалистам, снизив порог входа в МО, а также обученным практикам МО, сократив некоторые из наиболее утомительных и трудоемких шагов в рабочем процессе МО.

AutoML для эксперта, не связанного с машинным обучением (ГИС-аналитик, бизнес-аналитик, аналитик данных, которые являются экспертами в предметной области) - ключевым преимуществом использования AutoML является то, что он исключает некоторые этапы рабочего процесса машинного обучения, которые требуют специальных технических знаний и понимания. Аналитики, которые являются экспертами в предметной области, могут определить свою бизнес-проблему и собрать необходимые данные, а затем позволить компьютеру обучиться делать все остальное. Им не нужно глубокое понимание методов обработки для очистки данных и обработки объектов, не нужно знать, что делают все алгоритмы машинного обучения, и им не нужно тратить время на изучение различных алгоритмов и конфигураций гиперпараметров. Вместо этого они могут сосредоточиться на применении своих знаний в предметной области к конкретной бизнес-проблеме или предметному приложению, а не на самом рабочем процессе машинного обучения. Кроме того, они могут меньше зависеть от обученных специалистов по данным и машинному обучению в своей организации, поскольку они могут создавать и использовать сложные модели самостоятельно, часто без какого-либо опыта программирования.

AutoML для МО-экспертов (исследователи данных, инженеры машинного обучения) — AutoML также может быть чрезвычайно полезен для экспертов по машинному обучению, однако причины могут быть не столь очевидными. Во-первых, специалистам по машинному обучению не нужно тратить столько времени на поддержку экспертов предметной области в своей организации, и поэтому они могут сосредоточиться на своей собственной, более сложной работе по машинному обучению. Когда дело доходит до проектов машинного обучения для экспертов МО, AutoML может значительно сэкономить время и повысить производительность. Многие трудоемкие этапы рабочего процесса МО, такие как очистка данных, обработка данных, выбор модели и настройка гиперпараметров, можно автоматизировать. Время, сэкономленное за счет автоматизации многих из этих повторяющихся исследовательских шагов, можно перенаправить на более сложные технические задачи или задачи, требующие большего участия человека (например, сотрудничество с экспертами в предметной области, понимание бизнес-проблемы или интерпретация результатов машинного обучения).

В дополнение к экономии времени, AutoML также может помочь повысить производительность МО-специалистов, поскольку он устраняет элемент субъективного выбора и экспериментов, связанных с рабочим процессом МО. Например, эксперт МО, приступающий к новому проекту, может иметь необходимую подготовку и опыт, чтобы определить, какие новые объекты создавать, какой алгоритм МО будет лучшим для конкретной проблемы и какие гиперпараметры будут наиболее оптимальными. Однако они могут упустить из виду создание некоторых новых объектов или не попробовать все возможные комбинации гиперпараметров, в то время как они определяют рабочий процесс машинного обучения. Кроме того, специалист по машинному обучению может предвзято относиться к процессу выбора функций или алгоритму, потому что он предпочитает определенный алгоритм машинного обучения на основе своего опыта или успехов в других известных ему приложениях машинного обучения. На самом деле ни один алгоритм машинного обучения не работает одинаково хорошо для всех наборов данных, некоторые алгоритмы машинного обучения более чувствительны к выбору гиперпараметров, чем другие, и многие бизнес-задачи имеют разную степень сложности и требования к интерпретируемости алгоритмов машинного обучения, которые используются для их решения. AutoML может помочь уменьшить часть этой предвзятости, связанной с человеческим фактором, применяя множество различных алгоритмов машинного обучения к одному и тому же набору данных, а затем определяя, какой из них работает лучше всего.

Для специалистов по машинному обучению AutoML также может служить отправной точкой или ориентиром в проекте машинного обучения. Они могут использовать его для автоматической разработки базовой модели для набора данных, которая может дать им первое представление о конкретной проблеме. Здесь они могут принять решение о добавлении или удалении определенных объектов из входного набора данных или сосредоточиться на конкретном алгоритме машинного обучения и точно настроить его гиперпараметры. В этом смысле AutoML можно рассматривать как средство сужения набора исходных вариантов выбора для обученного специалиста по машинному обучению, чтобы он мог сосредоточиться на повышении производительности системы машинного обучения в целом. На практике очень часто используемый рабочий процесс, когда эксперты по машинному обучению разрабатывают эталонный тест на основе данных с использованием AutoML, а затем используют этот эталонный тест, применяя свой опыт для уточнения результатов.

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

Итого, инструмент Обучение с использованием AutoML требует выполнения следующих шагов для определения наилучшей модели:

  1. Пробуются простые алгоритмы, такие как Дерево решений (простое дерево с максимальной глубиной 4), и линейные модели. Это помогает быстро изучить данные и ожидаемые результаты.
  2. Модели, выбранные при инициализации AutoML (шаг 1 выше), обучаются с параметрами по умолчанию, и в том шаге вы пропускаете свои данные через набор гораздо более сложных алгоритмов, используя только гиперпараметры по умолчанию. Для каждого алгоритма и для всех доступных алгоритмов пробуется одна подгонка модели. Доступны следующие алгоритмы: Линейный, Случайный лес, XGBoost, LightGBM, Дерево решений и Дополнительное дерево.
  3. Проведите случайный поиск в пространстве гиперпараметров каждого отдельного алгоритма для нахождения оптимального набора гиперпараметров.
  4. Построение новых объектов с помощью Golden Features. Случайный поиск в пространстве гиперпараметров каждого отдельного алгоритма для нахождения оптимального набора гиперпараметров. На этом шаге используется лучший набор гиперпараметров, определенный на предыдущем шаге.
  5. Это шаг отбора объектов. Используйте оптимальный набор гиперпараметров, определенный на шаге 4, для обучения одной наиболее эффективной модели для каждого алгоритма, затем определите наименее важные объекты и удалите их.
  6. Результаты лучших моделей, обученных до сих пор, объединяются.
  7. Модели складываются, и результаты лучших моделей (в том числе сложенных) объединяются.

Сборка моделей - сборка представляет собой набор моделей, прогнозы которых объединяются взвешенным усреднением или голосованием.

Сборка моделей

Наиболее распространенными стратегиями, используемыми для сборки, являются бэггинг, (Случайный лес является классическим примером бэггинга) и бустинг (XGBoost — пример бустинга), который объединяет выходные данные моделей, принадлежащих к одним и тем же алгоритмам. Последние техники, например те, которые упоминаются в Ensemble Selection from Libraries of Models by Caruana et. al, комбинируют разрозненные модели. Для создания сборки выполните следующие шаги:

  1. Начните с пустой сборки.
  2. Добавьте модель в библиотеке, которая максимизирует производительность ансамбля, к метрике ошибок в наборе проверки.
  3. Повторите предыдущий шаг заданное число итераций или до тех пор, пока не будут использованы все модели.
  4. Верните сборку из вложенного набора сборок, у которой достигнута максимальная производительность в проверочном наборе.

Совмещение моделей - совмещение моделей также включает объединение результатов нескольких моделей и получение результата на их основе.

Стеки моделей

В то время как варианты сборки объединяют результаты различных моделей, придавая выходным данным разный вес, стек использует выходные данные каждой из базовых моделей в качестве признаков и добавляет их к модели более высокого уровня, метамодели. Выходные данные метамодели более высокого уровня используются в качестве окончательных выходных данных.

Стек сборки — для повышения производительности создаются стеки моделей, а их выходные данные объединяются для формирования стека сборки.

Интерпретация полученных отчетов

Инструмент Обучение с использованием AutoML может в качестве результата создавать отчет HTML.

На главной странице отчета показан список лидеров. Та же информация также доступна в окне вывода инструмента.

Список лидеров

Список лидеров показывает оцененные модели и их значение метрики. В случае задачи регрессии модель с наименьшим RMSE считается лучшей моделью (в данном случае модель сборки). Однако для задач классификации будет по-другому (например, logloss).

Ящичковая диаграмма производительности AutoML сравнивает метрику оценки различных моделей с метрикой оценки (RMSE) по оси Y и моделями по оси X, как показано ниже. На ящичковой диаграмме показано, что наилучшей моделью является модель сборки с наименьшим RMSE.

Производительность AutoML всех моделей

На этой диаграмме производительности AutoML показано, как метрика оценки для наиболее эффективной модели, которая в данном случае является моделью сборки, варьируется в разных итерациях. Диаграмма итераций помогает понять, насколько последовательна модель в разных запусках модели.

Производительность AutoML лучшей модели
Корреляция моделей Спирмена

Далее для всех моделей, которые были оценены, создается корреляция Спирмена, и наиболее тесно связанные модели показаны более темными оттенками синего. Например, результаты LightGBM и XGBoost наиболее тесно связаны (это ожидаемо, поскольку оба алгоритма являются алгоритмами бустинга). Выходные данные LightGBM мало чем отличаются от выходных данных RandomForest по сравнению с выходными данными ExtraTrees.

Щелкнув в списке лидеров ссылку на любую из моделей в столбце Имя, вы попадете на страницу, где показаны гиперпараметры, которые были доработаны для обучения модели после завершения настройки гиперпараметров. В этом примере дерево решений было обучено со значением max_depth, равным 3.

Гиперпараметры модели

На этой же странице также показаны другие метрики, кроме той, которая использовалась для оценки. В приведенном ниже примере, который решал задачу регрессии, вы можете увидеть метрики MAE, MSE, R2 и MAPE, а также метрику RMSE, которая использовалась для оценки модели.

Показатели

Вы также можете увидеть диаграмму рассеяния фактических и прогнозируемых выходных данных (здесь для выборки из 5000 точек данных).

Диаграмма истинного и прогнозируемого рассеяния: model1

Диаграмма истинного и прогнозируемого рассеяния: model2

Вы можете использовать эту диаграмму, чтобы определить производительность модели. На рисунках выше показано сравнение диаграмм рассеяния двух моделей, полученных из отчета. Вторая модель работает лучше, чем первая, где прогнозируемые и истинные значения расходятся больше.

Наконец, чтобы сделать модели более понятными, в отчет также включается важность каждой переменной в окончательной модели (аналогично важности объекта в sklearn). В отличие от sklearn, этот график можно создать и для недревовидных моделей sklearn. Эта возможность объяснимости моделей для моделей, не основанных на деревьях, также предлагается Shapley Additive Explanations (SHAP).

SHAP — это теоретико-игровой подход для объяснения результатов любой модели машинного обучения. Он связывает оптимальное распределение кредитов с локальными объяснениями с использованием классических значений Шепли из теории игр и связанных с ними расширений. Более подробную информацию о SHAP и его реализации можно найти здесь. Выходные данные SHAP доступны только с опцией Базовый.

На приведенном ниже графике вы можете визуализировать глобальное влияние каждой переменной в наборе данных о жилищном строительстве на обученную модель. Он демонстрирует, что при прогнозировании цен на жилье sqft_living больше всего влияет на модель и является самой важной характеристикой, далее следует количество bathrooms и bedrooms.

Диаграмма важности функции SHAP

С опцией Базовый у вас также есть возможность просмотреть Отчет автоматического исследовательского анализа данных (отчет EDA), который выводит сводную статистику для целевой переменной и предикторов, используемых при обучении модели. Ниже приведен пример отчета EDA для переменной с именем altclip.tif:

Сводная статистика для примера переменной

Распределение переменной

Справочная информация

Caruana, Rich et al. "Ensemble Selection from Libraries of Models." Proceedings of the 21st International Conference on Machine Learning. Banff, Canada (2004). http://www.cs.cornell.edu/~alexn/papers/shotgun.icml04.revised.rev2.pdf.