Блог Гуляй, Россия!

Машинное обучение и анализ решений футболистов

Текстовый вариант доклада Мартина Иствуда на аналитическом форуме OptaPro 2017, в котором обсуждаются процессы лежащие в основе анализа решений футболистов, пути решения этой проблемы, и как она всё таки была решения в индустрии футбольной аналитики.

Введение

На 67-ой минуте домашней встречи «Кристалл Пэлас» проигрывал «Борнмуту» со счётом 1:0. Андрос Таунсенд получил мяч за пределами штрафной и ударил с дальней дистанции, несмотря на то, что у него были партнёры впереди. Мяч после удара зафиксирован вратарём и владение было потеряно.

Как оценить такое решение футболиста во время матча?

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

Вторая часть вопроса – это как сделать идею доступной для футбольных команд. Машинное обучение – это довольно объёмная тема, в которой используется много математики. Так как же я могу представить эту идею футбольным клубам, чтобы сформировать правильное отношение к ней?

Данные

Я начал работу с грандиозного представления решений в футболе. Недавно ребята из Google использовали метод машинного обучения, известный как Deep Learning, чтобы победить чемпиона мира по игре в Go, и я хотел применить здесь те же понятия. Однако, у меня было только шесть недель, чтобы провести полный анализ и презентовать её на форуме. Поэтому я решил задушить свои амбиции и сосредоточиться исключительно на оценке атакующих действий команд вокруг той зоны, откуда исполняются пенальти.

Чтобы сделать это, я применил данные о событиях которые происходят с мячом от Opta и данные трекинга от ChyronHero. Opta даёт нам набор событий, которые происходят с мячом во время матча, в то время как оптические данные дают координаты XY для всех игроков на поле 25 раз в секунду.

Определение правильных решений

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

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

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

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

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

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

Интерпретируемость

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

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

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

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

Представление данных

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

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

На втором рисунке приведен пример скриншота, где игрок с мячом имеет только 2% шанс забить гол, если бы он решил ударить из его текущего местоположения. Другой игрок имеет 7% шанс успешно принять мяч от партнёра и забить вместо него.

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

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

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

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

Обратная связь

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

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

Следующих шаг

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

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

В заключение

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

Спасибо, что прочитали перевод статьи. Оригинал можно найти здесь 

Я VK

При копировании материала, перекреститесь.

Автор

Комментарии

  • По дате
  • Лучшие
  • Актуальные
  • Друзья