Телефон: 8-800-350-22-65
WhatsApp: 8-800-350-22-65
Telegram: sibac
Прием заявок круглосуточно
График работы офиса: с 9.00 до 18.00 Нск (5.00 - 14.00 Мск)

Статья опубликована в рамках: LV Международной научно-практической конференции «Научное сообщество студентов XXI столетия. ТЕХНИЧЕСКИЕ НАУКИ» (Россия, г. Новосибирск, 27 июля 2017 г.)

Наука: Математика

Скачать книгу(-и): Сборник статей конференции

Библиографическое описание:
Арефьев С.А., Хорев А.Д. МОДЕЛЬ ОЦЕНИВАНИЯ ПАР ИГРОКОВ В ТЕННИС // Научное сообщество студентов XXI столетия. ТЕХНИЧЕСКИЕ НАУКИ: сб. ст. по мат. LV междунар. студ. науч.-практ. конф. № 7(54). URL: https://sibac.info/archive/technic/7(54).pdf (дата обращения: 21.10.2024)
Проголосовать за статью
Конференция завершена
Эта статья набрала 0 голосов
Дипломы участников
У данной статьи нет
дипломов

МОДЕЛЬ ОЦЕНИВАНИЯ ПАР ИГРОКОВ В ТЕННИС

Арефьев Сергей Александрович

студент 4 курса, кафедра исследования операций СПбГУ,

РФ, г. Санкт-Петербург

Хорев Антон Дмитриевич

студент 4 курса, кафедра исследования операций СПбГУ,

РФ, г. Санкт-Петербург

Аннотация: используя базу данных матчей с 2003 по 2016 гг. разработана модель оценивания результатов будущих матчей, протестирована на матчах 2016 года и сравнена с результатами аналогичных работ.

Ключевые слова: machine learning, градиентный бустинг, random forest, нейронные сети.

 

В базе данных имеется записи о 80 000 теннисных матчах и их различные характеристики(50 категорий). Они были разделены на 3 категории:

  • основные характеристики игрока;
  • дополнительные характеристики игрока (имеются пропуски в базе данных);
  • характеристики матча.

Таблица 1.

База данных

Основные характеристики игрока

Дополнительные характеристики игрока

Характеристики матча

Количество успешных подач

Количество невынужденных ошибок

Счет матча

Количество эйсов

Максимальная скорость подачи

Тип корта

Количество двойных ошибок…

Количество выходов к сетке...

Тип турнира…

 

Перед построением модели введем определение задачи классификации.

Задача классификации: Имеется  наблюдений (матчей) , каждое из которых является вектором размера  (количество характеристик):

и вектор результатов 

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

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

Определение 1. Логарифмическая функция потерь (logloss):

  

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

Первым этапом в создании модели будет модификации имеющийся базы данных, который разбит на 4 части:

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

Для построения усредненных характеристик использовались различные типы весов:

  1. Вес по времени:  где  — временной интервал между датой матча и моментом анализа (в годах),  (значение взято из работы [5]).
  2. Вес покрытия корта: — используется коэффициент корреляции между процентами победам на кортах  для всех игроков:  

  

  •  — процент побед игрока на покрытии ,
  •  — стандартное отклонение в проценте побед на покрытии
  • — стандартное отклонение в проценте побед на покрытии
  • — средний процент побед на покрытии  
  • — средний процент побед на покрытии  
  •  — количество игроков.

После определения весов мы можем посчитать усредненную характеристику h для игрока p, временного интервала t и вектора значений характеристик  по формуле

                                               ,

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

Подсчитаем усталость игрока по формуле из работы [9]. В расчёт идут матчи, сыгранные за прошедшие 3 дня. Усталость для каж­дого игрока равна  , где t — количество дней прошедших с матча, g — количество геймов в матче.

Также, для каждого теннисиста, был определен один из 8 видов стилей игры.

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

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

Для создания модели использовалось 3 метода машинного обучения:

  1. Gradient Boosting — алгоритм [2] состоит из комплекса простых алгоритмов и последовательно выполняет их так, чтобы каждый следующий улучшал качество всего комплекса. Использовалась реализация из библиотеки XGBoost.
  2. Random forest — алгоритм [1] также состоит из комплекса простых алгоритмов, но они строятся независимо друг от друга. Использовалась реализация из библиотеки Scikit-learn.
  3. Neural network — нейронная сеть [3] представляет систему соединённых и взаимодействующих между собой искусственных нейронов. Использовалась реализация из библиотеки Keras.

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

  1. Обучение алгоритмов проводится на данных с 2003 по 2014 гг,
  2. Валидация алгоритмов проводится на данных 2015 г,
  3. Тестовый набор взят на данных 2016. На этом наборе мы протестиру­ем итоговую модель.

Характеристика программы.

Программа написана на языке Python 3.5. Для работы с базой данной использовались библиотеки Pandas и Numpy.

Схема работы программы:

  1. Первичная загрузка базы данных.
  2. Первичная обработка базы данных для создания модели. Этот процесс занимает около 16 часов.
  3. Обновление базы данных и добавление оценок для новых матчей. Оно занимает около 5 минут.

Результаты тестирования.

Модель была протестирована на выборке из 1030 матчей.

Таблица 2.

Результаты тестирования

Алгоритм

Значение logloss

Модель M.Sipko [4]

0.6111

Gradient Boosting 1

0.5738

Gradient Boosting 2

0.5726

Gradient Boosting 3

0.5754

Random forest 1

0.5826

Neural network 1

0.5836

Neural network 2

0.5837

Усреднение всех моделей

0.5691

По критерию logloss, полученная модель лучше модели M.Sipko на 6.9%.

 

Список литературы:

  1. Biau G. and Scornet E. A Random Forest Guided Tour // Sorbonne University, 2015.
  2. Chen T. and Guestrin C. XGBoost: A Scalable Tree Boosting System // University of Washington, 2016.
  3. Gurney K.  An introduction to neural networks // University of Sheffield, 1997.
  4. Sipko M. Machine Learning for the Prediction of Professional Tennis Matches. // Imperial College London. Final year project, 2015.
Проголосовать за статью
Конференция завершена
Эта статья набрала 0 голосов
Дипломы участников
У данной статьи нет
дипломов

Оставить комментарий

Форма обратной связи о взаимодействии с сайтом
CAPTCHA
Этот вопрос задается для того, чтобы выяснить, являетесь ли Вы человеком или представляете из себя автоматическую спам-рассылку.