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



Если вы знаете меня лично, то не удивитесь, узнав, что я много болтаю по всему городу о возможностях Footy Tipper. Это означает, что я не могу почивать на лаврах, так как не только первое место в очереди, но и, что более важно, моя репутация «того парня с искусственным интеллектом» в пабе… мастерство математического моделирования, когда мы вступаем в последнюю половину сезона.

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

Выбор модели — установка плана игры

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

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

Усиление градиента. Теперь вместо того, чтобы относиться ко всем игрокам одинаково, вы предоставляете своим ключевым игрокам больше полномочий для принятия решений в зависимости от их навыков и опыта. В матче вы начинаете с одной стратегии, а затем многократно улучшаете ее. Если первая стратегия не сработала, как ожидалось, вы учитесь на ошибках и соответствующим образом «усиливаете» следующую стратегию. Каждая новая стратегия основана на недостатках предыдущих. Здесь стратегии учатся на прошлых ошибках, последовательно достраивая друг друга.

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

С точки зрения машинного обучения все три алгоритма используются для задач прогнозирования, но они различаются тем, как они комбинируются и изучают «мнения» отдельных деревьев решений (игроков). Random Forest объединяет несколько независимо созданных деревьев решений, Gradient Boosting последовательно создает деревья решений, при этом каждое дерево учится на ошибках предыдущих, а XGBoost — это оптимизированная версия Gradient Boosting, включающая регуляризацию для повышения производительности и предотвращения переобучения.

Отбор характеристик — формирование стартового состава

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

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

RFE начинает со всеми 30 «игроками» (функциями), обучает модель, а затем оценивает производительность модели. Затем он ранжирует функции (игроков) на основе их важности или вклада в производительность модели, точно так же, как вы можете ранжировать игроков на основе их результатов на тренировках.

Затем «игрок» (или функция), внесший наименьший вклад в производительность (например, игрок, который плохо показывает себя на тренировках), исключается. Модель переобучается с оставшимися 29 «игроками» (или функциями).

Этот процесс повторяется — оцениваются «игроки», отсеивается наименее эффективный, а «команда» проходит повторное тестирование. Этот процесс обучения, оценки и устранения наименее важной функции является «рекурсивной» частью рекурсивного устранения функций.

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

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

Hyperparameter Tuning — позиционирование игроков

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

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

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

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

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

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

Перекрестная проверка — прохождение сложных ярдов в тренировочном загоне

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

Представьте, что у вас есть пул из 100 различных игр лиги регби, в которые ваша команда играла в прошлом. Вы хотите использовать эти игры, чтобы подготовить свою команду (модель) к предстоящему сезону (невидимые данные).

В k-кратном методе перекрестной проверки вы должны разделить эти 100 игр на «k» групп или «фолдов». Например, если k=10, вы должны создать 10 групп по 10 игр в каждой.

Теперь вы начинаете обучение. В первом раунде вы берете 9 групп (90 игр) и используете их для обучения своей команды, определения плана игры (модели), формирования стартового состава (выбор функций) и позиционирования игроков (настройка гиперпараметров). Затем вы берете оставшуюся группу (10 игр) и используете их в качестве «пробного матча», чтобы проверить, насколько хорошо работает ваша подготовленная команда.

Затем вы повторяете этот процесс 10 раз (для k = 10), каждый раз используя другую группу из 10 игр в качестве пробного матча, а остальные 90 — для тренировки.

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

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

Game Day — Можем ли мы собрать все вместе на поле?

Итак, у нас есть это — машинное обучение не так уж сложно, эй!?

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

Однако я дешев, поэтому я сделал свое собственное решение AutoML, которое учитывает все вышеперечисленные методы и выбирает наиболее подходящий для моей проблемы. Круто ха!!

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