25
Data Science of Dota 2: Роль киберспорта в обучении анализу данных Петр Ромов ФКН ВШЭ, Yandex Data Factory Соавтор курса по машинному обучению на Coursera

Dota Science: Роль киберспорта в обучении анализу данных

  • Upload
    romovpa

  • View
    225

  • Download
    3

Embed Size (px)

Citation preview

Page 1: Dota Science: Роль киберспорта в обучении анализу данных

Data Science of Dota 2:Роль киберспорта в обучении анализу данных

Петр РомовФКН ВШЭ, Yandex Data Factory

Соавтор курса по машинному обучению на Coursera

Page 2: Dota Science: Роль киберспорта в обучении анализу данных

Александр Семенов, конференция INSNA, Sunbelt 2016

Page 3: Dota Science: Роль киберспорта в обучении анализу данных

Киберспорт

• В мире:

Page 4: Dota Science: Роль киберспорта в обучении анализу данных

Dota 2• Родоначальник жанра MOBA• Играют 2 команды по 5 человек каждая

Page 5: Dota Science: Роль киберспорта в обучении анализу данных

Выбор героевИгра начинается с того что каждый игрок выбирает героя (персонажа), которым он будет играть из доступных 113

Page 6: Dota Science: Роль киберспорта в обучении анализу данных

Характеристики героев… известны даже Гуглу!

Page 7: Dota Science: Роль киберспорта в обучении анализу данных

Steam API и доступные данные

• Информация про все матчи– кто играл, с кем играл– кто победил– уровни игроков к концу игры, статистика по действиям

игроков• Информация о матче в режиме реального времени• Выгрузка информации из API почти не ограничена• Можно парсить реплеи матчей, извлекая

траектории и все действия игроков во времени

Page 8: Dota Science: Роль киберспорта в обучении анализу данных

Задачи анализа данных

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

• Рейтинг игроков, учитывающий специфику игры• Рекомендация действий/стратегий для игроков• Рекомендации по составлению команды• Умное управление камерой для комментаторов

матчей• …

Page 9: Dota Science: Роль киберспорта в обучении анализу данных

Пул из 113 героев

Комбинации героев

Каждый из 10 игроков выбирает себе героя

Возможных комбинаций выбора героев

Всего сыграно матчей c Июля 2013(в том числе незаконченных, учебных и т.д.)

Чем отличаются матчи:1. Игроками и их стратегиями2. Выбранными героями

Задача: • Научиться оценивать вероятность победы

команды по известным выбранным героям

• Оценить, в какой степени влияет выбор героев, а в какой — умения игроков?

Page 10: Dota Science: Роль киберспорта в обучении анализу данных

Комбинации героев• Популярные среди игроков веб-сервисы– Dotabuff.com– Datdota.com

• Попытки подойти к проблеме с научной точки зрения

Авторы Методы Выборка

Conley & Perry, 2013 Logistic regression, kNN 60 тыс.

Agarwala & Pearce, 2014 Logistic regression, PCA 40 тыс.

Kalyanaraman, 2014 Logistic regression, Genetic Algorithm

30 тыс.

Song et al., 2015 Logistic regression 3 тыс.

Kinkade & Lim, 2015 Logistic regression, Random Forest

62 тыс.

Page 11: Dota Science: Роль киберспорта в обучении анализу данных

Наш набор данных• Период в 20 дней, не было изменений правил игры• Все рейтинговые матчи за период• Матчи игроков всех навыков• 5 млн. матчей• Датасет будет опубликован после окончания

соревнования

Page 12: Dota Science: Роль киберспорта в обучении анализу данных

Наши результаты• Сравнили на фиксированном датасете– Наивные методы (Logistic regression, Naïve bayes)– XGBoost: Учет связей между героями и их

характеристик– Моделирование вероятности при помощи

факторизационных машин

Page 13: Dota Science: Роль киберспорта в обучении анализу данных

Наши результаты

• Факторизационные машины дают наилучшую оценку вероятности победы команды

• Набор выбранных героев объясняет не менее• 6% информации (по Шенону) для опытных игроков• 10% информации для остальных

Page 14: Dota Science: Роль киберспорта в обучении анализу данных

Финальное задание к курсу по машинному обучению на Coursera

• «Реальные» данные из индустрии– большие трудности с получением и публикацией

• Данные Dota 2:– доступны– никого не беспокоит их распространение

Page 15: Dota Science: Роль киберспорта в обучении анализу данных

Финальное задание для Coursera

• Задача: Предсказать победившую команду по первым 5 минутам игры

• Данные: ≈120 тыс. распаршенных матчей– траектории движения игроков– временные ряды изменения свойств игроков

Ссылка на описание задания: http://goo.gl/gwj4ZQ

Page 16: Dota Science: Роль киберспорта в обучении анализу данных

Соревнование Kaggle InClass

Page 17: Dota Science: Роль киберспорта в обучении анализу данных

Соревнование Kaggle InClass

Page 18: Dota Science: Роль киберспорта в обучении анализу данных

Соревнование Kaggle InClass

Соревнование условно-закрытое, «секретная» ссылка для участия:

Page 19: Dota Science: Роль киберспорта в обучении анализу данных

Соревнование Kaggle InClass• Множество идей

– применение различных методов обучения и уменьшения размерности

– работа с сырыми данными и разработка собственных признаков– блендинг предсказаний разных моделей

• Отзывы– «Мне очень нравится эта задача, и я получаю удовольствие от ее

решения»– «…придумываешь признак, обсуждаешь его с людьми, которые

ничего не понимают в анализе данных, но не смотря на это вы можете поспорить, это всегда классно»

– «Идеи по улучшению модели по-прежнему есть … буду продолжать участвовать.»

Page 20: Dota Science: Роль киберспорта в обучении анализу данных

Семинары на ВМК МГУ• Студенты 3 курса• Домашнее задание, первый опыт Kaggle• 9 из 18 студентов прониклись и сейчас

самостоятельно решают «BNP Paribas» на большом Kaggle

• 4 лучших решения презентованы на семинаре, слайды выложены на Github

https://github.com/esokolov/ml-course-msu/tree/master/ML15-spring/contests/contest01-dota

Page 21: Dota Science: Роль киберспорта в обучении анализу данных

Хакатон Dota Science Challenge• Задача: построить и запустить систему, предсказывающую

результат матчей крупного соревнования Shanghai Major в режиме реального времени

• Участвовало 37 команд• 7 команд побили бейзлайн• Статья на Хабре (от участников)

«Опыт участия в хакатоне Dota Science …»

Page 22: Dota Science: Роль киберспорта в обучении анализу данных

Хакатон: предсказания участников

Page 23: Dota Science: Роль киберспорта в обучении анализу данных

Предсказание вероятности победы в реальном времени

Описание задачи: https://github.com/romovpa/dotascience-hackathon

• Поощряется уверенное предсказание (с большим значением вероятности)

• В случае уверенного, но в итоге неверного предсказания, решение получает очень большой штраф

Page 24: Dota Science: Роль киберспорта в обучении анализу данных

Команда

Page 25: Dota Science: Роль киберспорта в обучении анализу данных

Резюме

• Dota 2 и Киберспорт• Машинное обучение для предсказания

победы• Образовательный эксперимент– Финальное задание для Coursera– Соревнование на Kaggle InClass– Семинары на ВМК МГУ– Хакатон Dota Science Challenge