Типовой процесс машинного обучения (МО) начинается с определения задачи и формулирования вопроса. Это сопровождается серией шагов, включая подготовку данных (или предварительную обработку), обработку объектов, выбор подходящего алгоритма и модели обучения, гиперпараметрическую настройку и оценку модели. Это итеративный процесс и оптимальная модель зачастую получается после множественных итераций и экспериментов.
Для определения модели, которая лучше всего соответствует данным, требуется много времени, усилий и опыта во всем процессе машинного обучения. Инструмент Обучение с использованием AutoML автоматизирует этот рабочий процесс и определяет наилучший алгоритм с оптимальным набором гиперпараметров, соответствующих данным. Эта разработка основана на открытом внедрении под названием mljar-supervised. В разделе ниже описан каждый шаг процесса машинного обучения.
Рабочий процесс инструмента Обучение с использованием AutoML
Инструмент Обучение с использованием AutoML автоматизирует следующее:
- Предварительная обработка данных - успешные проекты машинного обучения требуют сбора высококачественных входных данных для решения конкретной проблемы. Эти данные могут поступать из разных источников, и может потребоваться их объединение. После того как данные будут собраны и синтезированы, необходимо их очистить и убрать шумы, чтобы гарантировать, что алгоритмы МО могут быть эффективно обучены на их основе. Этот шаг обычно очень затратен по времени и утомителен, а также может потребовать специфических знаний и опыта в предметной области. Очистка данных может включать идентификацию и заполнение недостающих значений, выявление выбросов, правку данных без описаний и др., все это может потребовать значительного количества времени и усилий от специалиста по МО. Ниже приведены шаги предварительной обработки:
- Удалить выбросы - выбросы представляют собой точки данных, которые существенно отличаются от остальных точек данных. Причинами появления таких выбросов могут быть ошибки при вводе данных, ошибки при измерениях или их реальное отличие. Независимо от причины, важно удалять выбросы из данных, поскольку они скорее всего негативно повлияют на модель на этапе обучения. Обычными методами работы с выбросами являются исправление вручную или удаление записей из набора данных.
- Подставить отсутствующие значения — в некоторых столбцах набора данных могут отсутствовать записи. Модели машинного обучения невозможно обучить, если в обучающих данных есть отсутствующие элементы. Чтобы гарантировать, что в наборе данных нет отсутствующих элементов, заполните эти записи корректными данными в процессе подстановки данных. Добавить отсутствующие записи можно разными способами, в том числе добавив наиболее часто встречающееся значение, либо добавив новое значение, чтобы однозначно указать, что эти данные отсутствуют. Для числовых данных также можно использовать среднее или медиану из всех записей в столбце с отсутствующими данными. В настоящий момент их можно определить, запустив инструмент Заполнить пропущенные значения. Инструмент Заполнить пропущенные значения дает не только возможность подставить глобальные статистические значения из столбца, но и использовать пространственные стратегии, например, локальных соседей, пространственно-временных соседей, либо временные стратегии, такие как значения временных рядов.
- Масштабирование и нормализация данных - одно из основных предположений при обучении линейной модели машинного обучения, такой как OLS (невязки), заключается в том, что обучаемые данные распределяются нормально; то есть следуют кривой нормального распределения.
Перед использованием линейной модели убедитесь, что каждый из столбцов в наборе данных распределен нормально. Если в каком-то из столбцов данные распределены не нормально, то к данным обычно применяются преобразования, чтобы привести их к нормальному распределению.
Убедитесь, что все столбцы в наборе данных представлены в одинаковом масштабе, чтобы модель не придавала большей значимости столбцам, значения которых попадают в больший масштаб. Это выполняется путем применения техник масштабирования к набору данных.
Хотя вышеизложенное может быть верно для линейных моделей, другие алгоритмы, такие как Логистическая регрессия и модели на основе дерева, такие как Дерево решений, Дополнительное дерево, Произвольный лес, XgBoost и LightGBM, не предполагают никакой нормальности и более устойчивы к различиям в масштабированных, скошенных распределениях и т.п.
- Конвертировать категорийные данные в числовые - для большинства моделей машинного обучения нужны данные, которые используются для обучения, должны быть представлены в виде чисел. Они не могут работать с другими типами данных. Конвертируйте нечисловые столбцы,такие как State, Country, City или Land cover category, Construction type, Dominant political party и т.п. в числа. Для конвертации категорийных данных в числа применяются, например, такие техники, как кодирование надписей и кодирование один-горячий.
- Обработка объектов и выборка объектов - столбцы, которые используются в ходе процесса обучения модели, называются объектами. Полезность этих объектов меняется по мере обучения модели. Некоторые их этих объектов могут быть не очень значимы, в таких случаях модель улучшается, когда эти объекты удаляют из набора данных.
Такие подходы, как рекурсивное исключение признаков и методы случайных признаков, помогают определить полезность признаков в наборе данных, а признаки, которые не являются полезными в таких подходах, обычно удаляются.
В некоторых случаях модель улучшается при комбинировании нескольких объектов в один. Этот процесс называется обработкой данных.
Помимо новых объектов, полученных путем объединения нескольких входных объектов, инструмент также создает пространственные объекты с именами от zone3_id до zone7_id при использовании опции Дополнительно. Эти новые объекты создаются путем назначения местоположения входных обучающих объектов нескольким (до пяти) пространственным сеткам различных размеров и использованию идентификаторов сетки в качестве категориальных независимых переменных с именами zone3_id — zone7_id. Это обеспечивает модель допустимой пространственной информацией и помогает узнавать больше на основе доступных данных.
- Обучение модели и выбор модели — на этапе обучения модели специалист выбирает подходящий алгоритм ML на основе поставленной задачи и характеристик данных. Затем начинается итеративный процесс обучения моделей в соответствии с данными, это зачастую включает эксперименты с несколькими алгоритмами МО. У каждого из этих алгоритмов может быть много разных гиперпараметров, которые представляют собой значения, заданные специалистом вручную и которые управляют тем, как модель обучается. Эти гиперпараметры затем дополнительно настраиваются, чтобы улучшить производительность алгоритма и для достижения лучших результатов. Это итеративный процесс, который требует времени и опыта специалиста. Различные алгоритмы или статистические модели включают Линейную регрессию и Логистическую регрессию, другие модели машинного обучения включают Деревья решений, Произвольные леса и более современные модели повышения, такие как LightGBM и XGBoost. Хотя LightGBM и XGBoost превосходят большинство других моделей почти для всех наборов данных, трудно предсказать, какие модели будут хорошо работать с конкретным набором данных, поэтому вы должны попробовать все модели, чтобы сравнить их производительность, прежде чем выбрать модель, которая лучше всего подходит для ваших данных. Наиболее подходящую модель можно было бы определить по ее метрике. Различные показатели модели возвращаются после обучения регрессионных и классификационных моделей, запускающих инструмент Обучение с использованием AutoML. Для некоторых из этих показателей более высокое значение указывает на лучшую модель, а для других на лучшую модель указывает более низкое значение. Эти сведения приведены в таблице ниже:
Модель Низкое значение (лучшая модель) Высокое значение (лучшая модель) Регрессия
MSE, RMSE, MAE, MAPE
Баллы R2, Spearman, Pearson
Классификация
Logloss
AUC, F1
В большинстве случаев объединение нескольких моделей в одну и получение выходных данных из этой объединенной модели превосходит результат одной модели. Этот шаг называется сборкой модели.
- Настройка гиперпараметров - несмотря на то, что большинство предыдущих шагов были итеративными, этот шаг зачастую является наиболее сложным при обучении моделей МО.
Гиперпараметры можно рассматривать как рычаги, которые есть в каждой модели. Гиперпараметры, используемые при обучении модели Произвольный лес, отличаются от тех, которые используются для обучения модели LightGBM. Знание того, как работают эти гиперпараметры, поможет вам лучше узнать модель.
- Выборка модели—финальным шагом в процессе МО является оценка, в ходе него вы проверяете, как обученный и настроенный алгоритм VL будет воссоздавать данные, которые пока для него незнакомы. Эти невидимые данные часто называют проверочным или тестовым набором и хранятся отдельно от тех данных, которые используются для обучения модели. Цель этого финального шага заключается в том, чтобы убедиться, что алгоритм МО дает достаточно хорошую точность при прогнозировании новых данных.
В рабочем процессе машинного обучения на каждом этапе требуется различная степень человеческого участия, принятия решений и выбора.
- Были ли собраны подходящие данные для решения проблемы и достаточно ли их?
- Что означает выброс в контексте данных?
- Если найдены пропущенные значения, что должно их заменить?
- Какие объекты должны быть включены в модель машинного обучения?
- Какой алгоритм МО следует использовать?
- Каков приемлемый уровень производительности для модели?
- Какова наилучшая комбинация гиперпараметров для модели?
Это последнее решение потенциально может включать в себя сотни или даже тысячи комбинаций гиперпараметров, которые можно многократно итерировать. Добавьте несколько различных сценариев обработки данных, а также обучение и настройку нескольких различных алгоритмов машинного обучения, и процесс может стать неуправляемым и непродуктивным. Кроме того, некоторые этапы рабочего процесса машинного обучения требуют экспертного технического понимания методов обработки данных, статистики и алгоритмов машинного обучения. Поэтому, разработка и выполнение проектов машинного обучения может занимать много времени, это может быть трудоемко, дорого и часто сильно зависит от квалификации специалистов по машинному обучению и специалистов по данным.
За последнее десятилетие машинное обучение испытало взрывной рост как в части приложений, к которым оно применяется, так в части количества новых исследований, проведенных на его основе. Некоторыми из движущих сил этого роста являются зрелость алгоритмов и методов машинного обучения, создание и распространение объемов данных для обучения алгоритмов, недорогие компьютеры для выполнения алгоритмов и растущая среди организаций осведомленность, что алгоритмы машинного обучения могут обрабатывать сложные структуры данных и решать задачи.
Многие организации хотят работать с МО, чтобы использовать преимущества своих данных и извлекать из них новые сведения, но существует дисбаланс между количеством потенциальных приложений МО и количеством обученных, опытных практиков МО для их решения. В результате растет потребность в стандартизации машинного обучения в организациях путем создания инструментов, которые делают машинное обучение широко доступным во всей организации и могут использоваться имеющимися специалистами, не занимающимися машинным обучением, но являющимися экспертами в предметной области.
Автоматизированное машинное обучение (AutoML) появилось недавно, как способ удовлетворения спроса на МО в организациях с любым уровнем опыта и навыков. AutoML стремится создать единую систему для автоматизации (другими словами, исключения ввода параметров человеком) как можно большей части рабочего процесса МО, включая подготовку данных, обработку объектов, выбор модели, настройку гиперпараметров и оценку модели. При этом он может быть полезен неспециалистам, снизив порог входа в МО, а также обученным практикам МО, сократив некоторые из наиболее утомительных и трудоемких шагов в рабочем процессе МО.
AutoML предназначен для тех, кто не является экспертом машинного обучения (ГИС-аналитик, бизнес-аналитик, аналитик данных, которые являются экспертами в предметной области) - ключевым преимуществом использования AutoML является то, что он исключает некоторые этапы рабочего процесса машинного обучения, которые требуют специальных технических знаний и понимания. Аналитики, которые являются экспертами в предметной области, могут определить свою бизнес-проблему и собрать необходимые данные, а затем позволить компьютеру сделать все остальное. Им не нужно глубокое понимание методов обработки для очистки данных и обработки объектов, не нужно знать, что делают все алгоритмы машинного обучения, и им не нужно тратить время на изучение различных алгоритмов и конфигураций гиперпараметров. Вместо этого они могут сосредоточиться на применении своих знаний в предметной области к конкретной бизнес-проблеме или предметному приложению. Кроме того, они могут меньше зависеть от обученных специалистов по данным и машинному обучению в своей организации, поскольку они могут создавать и использовать сложные модели самостоятельно, часто без какого-либо опыта программирования.
AutoML для МО-экспертов (исследователи данных, инженеры машинного обучения) - AutoML также может быть чрезвычайно полезен для экспертов по машинному обучению. Используя AutoML, специалисты по машинному обучению могут не тратить много времени на поддержку экспертов предметной области в своей организации и могут сосредоточиться на своей собственной, более сложной работе по машинному обучению. AutoML может значительно сэкономить время и повысить производительность. Многие трудоемкие этапы рабочего процесса МО, такие как очистка данных, обработка данных, выбор модели и настройка гиперпараметров, можно автоматизировать. Время, сэкономленное за счет автоматизации повторяющихся исследовательских шагов, можно перенаправить на более сложные технические задачи или задачи, требующие большего участия человека (например, сотрудничество с экспертами в предметной области, понимание бизнес-проблемы или интерпретация результатов машинного обучения).
AutoML также может помочь повысить производительность МО-специалистов, поскольку он устраняет элемент субъективного выбора и экспериментов, связанных с рабочим процессом МО. Например, эксперт МО, приступающий к новому проекту, может иметь необходимую подготовку и опыт, чтобы определить, какие новые объекты создавать, какой алгоритм МО будет лучшим для конкретной проблемы и какие гиперпараметры будут наиболее оптимальными. Однако они могут упустить из виду создание некоторых новых объектов или не попробовать все возможные комбинации гиперпараметров, в то время как они определяют рабочий процесс машинного обучения. Кроме того, специалист по машинному обучению может предвзято относиться к процессу выбора функций или алгоритму, потому что он предпочитает определенный алгоритм машинного обучения на основе своего опыта или успехов в других известных ему приложениях машинного обучения. На самом деле ни один алгоритм машинного обучения не работает одинаково хорошо для всех наборов данных, некоторые алгоритмы машинного обучения более чувствительны к выбору гиперпараметров, чем другие, и многие бизнес-задачи имеют разную степень сложности и требования к интерпретируемости алгоритмов машинного обучения, которые используются для их решения. AutoML может помочь уменьшить часть этой предвзятости, связанной с человеческим фактором, применяя множество различных алгоритмов машинного обучения к одному и тому же набору данных, а затем определяя, какой из них работает лучше всего.
Для специалистов по машинному обучению AutoML также может служить отправной точкой или ориентиром в проекте машинного обучения. Они могут использовать его для автоматической разработки базовой модели для данных, которая может дать им первое представление о конкретной проблеме. Они могут принять решение о добавлении или удалении определенных объектов из входного набора данных или сосредоточиться на конкретном алгоритме машинного обучения и точно настроить его гиперпараметры. В этом смысле AutoML можно рассматривать как средство сужения набора исходных вариантов выбора для обученного специалиста по машинному обучению, чтобы он мог сосредоточиться на повышении производительности системы машинного обучения в целом. Это часто используемый рабочий процесс, когда эксперты по машинному обучению разрабатывают эталонный тест на основе данных с использованием AutoML, а затем используют этот эталонный тест, применяя свой опыт для уточнения результатов.
Стандартизация машинного обучения с помощью AutoML в организации позволяет экспертам в предметной области сосредоточить свое внимание на бизнес-проблеме и получать действенные результаты, а также дает возможность аналитикам создавать более качественные модели и может сократить количество экспертов по машинному обучению, которые необходимы организации. Это также может помочь повысить производительность обученных специалистов по машинному обучению и специалистов по данным, позволяя им сосредоточиться на множестве других задач, где это необходимо больше всего.
Определение наиболее подходящей модели
Чтобы определить наиболее подходящую модели, используя инструмент Обучение с использованием AutoML, выполните следующие шаги:
- Запустите простые алгоритмы, такие как Дерево решений (простое дерево с максимальной глубиной 4), и линейные модели.
Это помогает быстро изучить данные и ожидаемые результаты.
- Обучите выбранные на предыдущем шаге модели с параметрами по умолчанию. Пропустите свои данные через набор гораздо более сложных алгоритмов, используя только гиперпараметры по умолчанию.
Для каждого алгоритма и для всех доступных алгоритмов предпринимается попытка подгонки по одной модели. Доступны следующие алгоритмы: Линейный, Произвольный лес, XGBoost, LightGBM, Дерево решений и Дополнительное дерево.
- Проведите произвольный поиск в пространстве гиперпараметров каждого алгоритма для нахождения оптимального набора гиперпараметров.
- Построение новых объектов с помощью Golden Features. Определите, какие из новых объектов обладают прогностической силой, и добавьте их в исходный набор данных.
На этом шаге используется лучший набор гиперпараметров, определенный на предыдущем шаге.
- Используйте оптимальный набор гиперпараметров, определенный на шаге 4, для обучения одной наиболее эффективной модели для каждого алгоритма, и определите наименее важные объекты и удалите их.
Результаты лучших моделей, обученных на данный момент, объединяются. Модели складываются, и результаты лучших моделей (в том числе сложенных) объединяются.
Создание сборки
Сборка представляет собой набор моделей, прогнозы которых объединяются взвешенным усреднением или голосованием.
Наиболее распространенными стратегиями создания и сборки являются бэггинг, (Произвольный лес является примером бэггинга) и бустинг (XGBoost — пример бустинга), который объединяет выходные данные моделей, принадлежащих к одним и тем же алгоритмам. Последние техники, например те, которые упоминаются в работе Ensemble Selection from Libraries of Models (Caruana et. al 2004), комбинируют разрозненные модели.
Для создания сборки выполните следующие действия:
Начните с пустой сборки.
- Добавьте модель в библиотеке, которая максимизирует производительность ансамбля, к метрике ошибок в наборе проверки.
- Повторите предыдущий шаг заданное число итераций или до тех пор, пока не будут добавлены все модели.
- Верните сборку из вложенного набора сборок, у которой достигнута максимальная производительность в проверочном наборе.
Совмещение моделей также включает объединение результатов нескольких моделей и получение результата на их основе.
В то время как варианты сборки объединяют результаты различных моделей, придавая выходным данным разный вес, стек использует выходные данные каждой из базовых моделей в качестве признаков и добавляет их к модели более высокого уровня - метамодели. Выходные данные метамодели более высокого уровня используются в качестве окончательных выходных данных.
Чтобы повысить производительность, вы можете создавать стеки моделей и объединять их выходные данные для формирования стека сборки.
Интерпретация полученных отчетов
Инструмент Обучение с использованием AutoML может в качестве результата создавать отчет HTML.
На главной странице отчета показан список лидеров. Та же информация также доступна в окне вывода инструмента.
Список лидеров показывает оцененные модели и их значение метрики. Для задачи регрессии модель с наименьшим RMSE считается лучшей моделью (в данном случае модель сборки). Однако для задач классификации будет иначе (например, logloss).
Ящичковая диаграмма производительности AutoML сравнивает метрику оценки различных моделей с метрикой оценки (RMSE) по оси Y и моделями по оси X, как показано ниже. На ящичковой диаграмме показано, что наилучшей моделью является модель сборки с наименьшим RMSE.
На диаграмме производительности AutoML ниже показано, как метрика оценки для наиболее эффективной модели, которая в данном случае является моделью сборки, варьируется в разных итерациях. Диаграмма итераций помогает понять, насколько последовательна модель в разных запусках модели.
Показанная ниже корреляция Спирмена создается для всех моделей, которые были оценены, а наиболее тесно связанные модели показаны более темными оттенками синего. Например, результаты LightGBM и XGBoost наиболее тесно связаны (это ожидаемо, поскольку оба алгоритма являются алгоритмами бустинга). Выходные данные LightGBM мало чем отличаются от выходных данных RandomForest по сравнению с выходными данными ExtraTrees.
Щелкнув в списке лидеров ссылку на любую из моделей в столбце Имя, вы попадете на страницу, где показаны гиперпараметры, которые были доработаны для обучения модели после завершения настройки гиперпараметров. В этом примере дерево решений было обучено со значением max_depth, равным 3.
На этой же странице также показаны другие метрики, кроме той, которая использовалась для оценки. В приведенном ниже примере, который решает задачу регрессии, для оценки модели были использованы метрики MAE, MSE, RMSE, R2 и MAPE.
Также показана диаграмма рассеяния фактических и прогнозируемых выходных данных (для выборки из 5000 точек данных).
Вы можете использовать эту диаграмму, чтобы определить производительность модели. На рисунках выше показано сравнение диаграмм рассеяния двух моделей, полученных из отчета. Вторая модель работает лучше, чем первая, где прогнозируемые и истинные значения расходятся больше.
Чтобы сделать модели более понятными, в отчет также включается важность каждой переменной в окончательной модели (аналогично важности объекта в sklearn). В отличие от sklearn, этот график можно создать и для недревовидных моделей sklearn. Эта возможность объяснения для моделей, которые не основаны на дереве, предлагается методом SHapley Additive exPlanations (SHAP).
SHAP — это теоретико-игровой подход для объяснения результатов любой модели машинного обучения. Он связывает оптимальное распределение кредитов с локальными объяснениями с использованием классических значений Шепли из теории игр и связанных с ними расширений. Более подробную информацию о SHAP и его реализации можно найти в разделе SHAP на GitHub. Выходные данные SHAP доступны только с опцией Базовый.
На приведенном ниже графике вы можете визуализировать глобальное влияние каждой переменной в наборе данных о жилищном строительстве на обученную модель. Здесь показано, что объект sqft_living больше всего влияет на модель и является самым важным объектом, за которым следует количество ванных комнат и спален при прогнозировании цен на жилье.
С опцией Базовый у вас также есть возможность просмотреть отчет автоматического исследовательского анализа данных (отчет EDA), который выводит сводную статистику для целевой переменной и предикторов, используемых при обучении модели. Ниже приведен пример отчета EDA для переменной с именем altclip.tif:
Прогнозирование с помощью инструмента AutoML
Инструмент Прогноз с использованием AutoML прогнозирует непрерывные переменные (регрессия) или категориальные переменные (классификация) на невидимых совместимых наборах данных, используя обученную модель DLPK, созданную инструментом Обучение с использованием AutoML.
Входными данными является файл определения модели Esri (.emd) или файл пакета глубокого обучения (.dlpk), которые являются результатом инструмента Обучение с использованием AutoML.
Некоторые из необязательных выходных данных, которые генерируются инструментом Прогноз с использованием AutoML, в дополнение к прогнозированию, определяются следующими параметрами и полем:
Получить объяснение для каждого прогноза - этот параметр используется для оценки важности локальной переменной и полезен для понимания модели в локальном масштабе. Когда параметр включен, важность локальной переменной генерируется для всех описательных переменных, включая описательные объекты, описательные растры и описательные объекты расстояния. Для описательных переменных, представляющих важность локальной переменной для прогнозируемых значений в соответствующем местоположении, к значению параметра Выходные объекты прогнозирования добавляется процентная оценка. Например, если для обучения модели используются предикторами с именами var1, var2 и var3, которые могут быть пространственной переменной, растром или переменной расстояния, поля с именами var1_imp, var2_imp и var3_imp добавляются для каждой выборки в значение Выходные объекты прогнозирования:
Важность переменной покажет различную важность каждого предиктора в зависимости от местоположения, что также покажет силу и слабость каждого предиктора, способствующего локальным прогнозам. Этот параметр активен, когда для параметра Тип прогнозирования выбрано Объект прогнозирования.var1_imp var2_imp var3_imp 0,26
0.34
0.40
0.75
0.15
0.10
- Показатель достоверности - этот показатель показывает уровень достоверности модели для прогнозируемого класса, возвращаемого моделью. Он доступен только для задачи классификации, в таблицу выходных атрибутов будет добавлено поле prediction_confidence, отображающее значение достоверности в диапазоне от 0 до 1, представляющие низкую или высокую вероятность правильности класса. Это поле может помочь определить более достоверные и менее достоверные прогнозы.
Список литературы
Caruana, Rich, Alexandru Niculescu-Mizil, Geoff Crew, and Alex Ksikes. 2004 "Ensemble Selection from Libraries of Models." Proceedings of the 21st International Conference on Machine Learning. Banff, Canada . http://www.cs.cornell.edu/~alexn/papers/shotgun.icml04.revised.rev2.pdf.