SlideShare a Scribd company logo
Data Science of Dota 2:
Роль киберспорта в обучении
анализу данных
Петр Ромов
ФКН ВШЭ, Yandex Data Factory
Соавтор курса по машинному
обучению на Coursera
Александр Семенов, конференция INSNA, Sunbelt 2016
Киберспорт
• В мире:
Dota 2
• Родоначальник жанра MOBA
• Играют 2 команды по 5 человек каждая
Выбор героев
Игра начинается с того что каждый игрок выбирает героя
(персонажа), которым он будет играть из доступных 113
Характеристики героев
… известны даже Гуглу!
Steam API и доступные данные
• Информация про все матчи
– кто играл, с кем играл
– кто победил
– уровни игроков к концу игры, статистика по действиям
игроков
• Информация о матче в режиме реального времени
• Выгрузка информации из API почти не ограничена
• Можно парсить реплеи матчей, извлекая
траектории и все действия игроков во времени
Задачи анализа данных
• Прогноз победителя
– по составу игроков (до начала матча)
– после выбора героев (в начале матча)
– по ходу игры
• Рейтинг игроков, учитывающий специфику игры
• Рекомендация действий/стратегий для игроков
• Рекомендации по составлению команды
• Умное управление камерой для комментаторов
матчей
• …
heroes), “ O✏aner” or “ Hardlaner” (hero who
which is bottom lane for Dire and top lane for
lanes and in the jungle) and two “ Supports”
buying items for the team, like wards, centries,
Fig. 1: Heroes
s: All
Pick
order
Pick,
from
ell de-
s that
ehero
aft on
e per-
picks
secu-
gimes
es for
and playing it. For example in AP player tries
st which sometimes isn’t good for the balance in
s are overrepresented in All Pick while this stats
e Random Draft, where each player gets his hero
Dota 2 called MMR, which allows the algorithm
level into the same match for more balanced
get this skill points visible to others via partic-
d All Pick, Ranked Random Draft and Ranked
the members of the winning team some MMR
mount of points from the lost team. Currently
MMR ≥ 8,000, while everything below 4,000 is
Пул из 113 героев
Комбинации героев
Каждый из 10 игроков
выбирает себе героя
Возможных комбинаций выбора героев
Всего сыграно матчей c Июля 2013
(в том числе незаконченных, учебных и т.д.)
Чем отличаются матчи:
1. Игроками и их стратегиями
2. Выбранными героями
Задача:
• Научиться оценивать вероятность победы
команды по известным выбранным
героям
• Оценить, в какой степени влияет выбор
героев, а в какой — умения игроков?
Комбинации героев
• Популярные среди игроков веб-сервисы
– 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 тыс.
Наш набор данных
• Период в 20 дней, не было изменений правил игры
• Все рейтинговые матчи за период
• Матчи игроков всех навыков
• 5 млн. матчей
• Датасет будет опубликован после окончания
соревнования
Наши результаты
• Сравнили на фиксированном датасете
– Наивные методы (Logistic regression, Naïve bayes)
– XGBoost: Учет связей между героями и их
характеристик
– Моделирование вероятности при помощи
факторизационных машин
Наши результаты
• Факторизационные машины дают наилучшую оценку
вероятности победы команды
• Набор выбранных героев объясняет не менее
• 6% информации (по Шенону) для опытных игроков
• 10% информации для остальных
Финальное задание к курсу по
машинному обучению на Coursera
• «Реальные» данные из индустрии
– большие трудности с получением и публикацией
• Данные Dota 2:
– доступны
– никого не беспокоит их распространение
Финальное задание для Coursera
• Задача: Предсказать победившую команду
по первым 5 минутам игры
• Данные:
≈120 тыс. распаршенных матчей
– траектории движения игроков
– временные ряды изменения свойств игроков
Ссылка на описание задания: http://goo.gl/gwj4ZQ
Соревнование Kaggle InClass
Соревнование Kaggle InClass
Соревнование Kaggle InClass
Соревнование условно-закрытое, «секретная» ссылка для участия:
Соревнование Kaggle InClass
• Множество идей
– применение различных методов обучения и уменьшения
размерности
– работа с сырыми данными и разработка собственных
признаков
– блендинг предсказаний разных моделей
• Отзывы
– «Мне очень нравится эта задача, и я получаю удовольствие
от ее решения»
– «…придумываешь признак, обсуждаешь его с людьми,
которые ничего не понимают в анализе данных, но не
смотря на это вы можете поспорить, это всегда классно»
– «Идеи по улучшению модели по-прежнему есть … буду
продолжать участвовать.»
Семинары на ВМК МГУ
• Студенты 3 курса
• Домашнее задание, первый опыт Kaggle
• 9 из 18 студентов прониклись и сейчас
самостоятельно решают «BNP Paribas» на
большом Kaggle
• 4 лучших решения презентованы на семинаре,
слайды выложены на Github
https://github.com/esokolov/ml-course-msu/tree/master/ML15-spring/contests/contest01-dota
Хакатон Dota Science Challenge
• Задача: построить и запустить систему, предсказывающую
результат матчей крупного соревнования Shanghai Major в
режиме реального времени
• Участвовало 37 команд
• 7 команд побили бейзлайн
• Статья на Хабре (от участников)
«Опыт участия в хакатоне Dota Science …»
Хакатон: предсказания участников
Предсказание вероятности победы в
реальном времени
Описание задачи: https://github.com/romovpa/dotascience-hackathon
• Поощряется уверенное предсказание (с
большим значением вероятности)
• В случае уверенного, но в итоге неверного
предсказания, решение получает очень
большой штраф
Команда
Резюме
• Dota 2 и Киберспорт
• Машинное обучение для предсказания
победы
• Образовательный эксперимент
– Финальное задание для Coursera
– Соревнование на Kaggle InClass
– Семинары на ВМК МГУ
– Хакатон Dota Science Challenge

More Related Content

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

UX дневник как инструмент тестирования игры / Мария Амирханян, Екатерина Лисо...
UX дневник как инструмент тестирования игры / Мария Амирханян, Екатерина Лисо...UX дневник как инструмент тестирования игры / Мария Амирханян, Екатерина Лисо...
UX дневник как инструмент тестирования игры / Мария Амирханян, Екатерина Лисо...
DevGAMM Conference
 
Solit 2014, Опыт участия в конкурсе по спортивному программированию Russian A...
Solit 2014, Опыт участия в конкурсе по спортивному программированию Russian A...Solit 2014, Опыт участия в конкурсе по спортивному программированию Russian A...
Solit 2014, Опыт участия в конкурсе по спортивному программированию Russian A...
solit
 
Олександр Дзюба та Євгеній Тур "Майстер-клас “Вивчення гравців. DIY” Ми реаль...
Олександр Дзюба та Євгеній Тур "Майстер-клас “Вивчення гравців. DIY” Ми реаль...Олександр Дзюба та Євгеній Тур "Майстер-клас “Вивчення гравців. DIY” Ми реаль...
Олександр Дзюба та Євгеній Тур "Майстер-клас “Вивчення гравців. DIY” Ми реаль...
Lviv Startup Club
 
Пользовательское тестирование игр: пошаговая инструкция проведения
Пользовательское тестирование игр: пошаговая инструкция проведенияПользовательское тестирование игр: пошаговая инструкция проведения
Пользовательское тестирование игр: пошаговая инструкция проведения
Playtestix
 
Cоциальный граф "Одноклассников" в myTarget
Cоциальный граф "Одноклассников" в myTargetCоциальный граф "Одноклассников" в myTarget
Cоциальный граф "Одноклассников" в myTarget
Oleg Tsarev
 
DUMP-2015: «Использование социального графа одноклассников в Target Mail.Ru» ...
DUMP-2015: «Использование социального графа одноклассников в Target Mail.Ru» ...DUMP-2015: «Использование социального графа одноклассников в Target Mail.Ru» ...
DUMP-2015: «Использование социального графа одноклассников в Target Mail.Ru» ...
it-people
 
Социальный граф Одноклассников в Target Mail.Ru
Социальный граф Одноклассников в Target Mail.RuСоциальный граф Одноклассников в Target Mail.Ru
Социальный граф Одноклассников в Target Mail.Ru
CodeFest
 
солинг метаигра2
солинг метаигра2солинг метаигра2
солинг метаигра2
Tatiana Lukinyh
 
Ксения Стернина | (Mail.Ru Group)Gamer Experience Research на различных этапа...
Ксения Стернина | (Mail.Ru Group)Gamer Experience Research на различных этапа...Ксения Стернина | (Mail.Ru Group)Gamer Experience Research на различных этапа...
Ксения Стернина | (Mail.Ru Group)Gamer Experience Research на различных этапа...
RIF-Technology
 
Ageev
AgeevAgeev
Ageev
NLPseminar
 
Alexander Dzyuba, Playtestix
Alexander Dzyuba, PlaytestixAlexander Dzyuba, Playtestix
Alexander Dzyuba, Playtestix
anastasiaalikova
 
Tech Talks @NSU: Как сделать Dota-like игру
Tech Talks @NSU: Как сделать Dota-like игруTech Talks @NSU: Как сделать Dota-like игру
Tech Talks @NSU: Как сделать Dota-like игру
Tech Talks @NSU
 
Wargaming: We need your opinion: is asking players how to improve the game wo...
Wargaming: We need your opinion: is asking players how to improve the game wo...Wargaming: We need your opinion: is asking players how to improve the game wo...
Wargaming: We need your opinion: is asking players how to improve the game wo...
DevGAMM Conference
 
Светлана Половинкина. О чём говорит игрок: опросы как инструмент принятия биз...
Светлана Половинкина. О чём говорит игрок: опросы как инструмент принятия биз...Светлана Половинкина. О чём говорит игрок: опросы как инструмент принятия биз...
Светлана Половинкина. О чём говорит игрок: опросы как инструмент принятия биз...
Volha Banadyseva
 
АНО «Живые игры»
АНО «Живые игры»АНО «Живые игры»
АНО «Живые игры»LrpgRu
 
Работа с Usability
Работа с UsabilityРабота с Usability
Работа с Usability
Нарижный Денис
 

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

UX дневник как инструмент тестирования игры / Мария Амирханян, Екатерина Лисо...
UX дневник как инструмент тестирования игры / Мария Амирханян, Екатерина Лисо...UX дневник как инструмент тестирования игры / Мария Амирханян, Екатерина Лисо...
UX дневник как инструмент тестирования игры / Мария Амирханян, Екатерина Лисо...
 
Solit 2014, Опыт участия в конкурсе по спортивному программированию Russian A...
Solit 2014, Опыт участия в конкурсе по спортивному программированию Russian A...Solit 2014, Опыт участия в конкурсе по спортивному программированию Russian A...
Solit 2014, Опыт участия в конкурсе по спортивному программированию Russian A...
 
Олександр Дзюба та Євгеній Тур "Майстер-клас “Вивчення гравців. DIY” Ми реаль...
Олександр Дзюба та Євгеній Тур "Майстер-клас “Вивчення гравців. DIY” Ми реаль...Олександр Дзюба та Євгеній Тур "Майстер-клас “Вивчення гравців. DIY” Ми реаль...
Олександр Дзюба та Євгеній Тур "Майстер-клас “Вивчення гравців. DIY” Ми реаль...
 
Пользовательское тестирование игр: пошаговая инструкция проведения
Пользовательское тестирование игр: пошаговая инструкция проведенияПользовательское тестирование игр: пошаговая инструкция проведения
Пользовательское тестирование игр: пошаговая инструкция проведения
 
Cоциальный граф "Одноклассников" в myTarget
Cоциальный граф "Одноклассников" в myTargetCоциальный граф "Одноклассников" в myTarget
Cоциальный граф "Одноклассников" в myTarget
 
DUMP-2015: «Использование социального графа одноклассников в Target Mail.Ru» ...
DUMP-2015: «Использование социального графа одноклассников в Target Mail.Ru» ...DUMP-2015: «Использование социального графа одноклассников в Target Mail.Ru» ...
DUMP-2015: «Использование социального графа одноклассников в Target Mail.Ru» ...
 
Социальный граф Одноклассников в Target Mail.Ru
Социальный граф Одноклассников в Target Mail.RuСоциальный граф Одноклассников в Target Mail.Ru
Социальный граф Одноклассников в Target Mail.Ru
 
солинг метаигра2
солинг метаигра2солинг метаигра2
солинг метаигра2
 
Метаигра
Метаигра Метаигра
Метаигра
 
Ксения Стернина | (Mail.Ru Group)Gamer Experience Research на различных этапа...
Ксения Стернина | (Mail.Ru Group)Gamer Experience Research на различных этапа...Ксения Стернина | (Mail.Ru Group)Gamer Experience Research на различных этапа...
Ксения Стернина | (Mail.Ru Group)Gamer Experience Research на различных этапа...
 
Ageev
AgeevAgeev
Ageev
 
Alexander Dzyuba, Playtestix
Alexander Dzyuba, PlaytestixAlexander Dzyuba, Playtestix
Alexander Dzyuba, Playtestix
 
Tech Talks @NSU: Как сделать Dota-like игру
Tech Talks @NSU: Как сделать Dota-like игруTech Talks @NSU: Как сделать Dota-like игру
Tech Talks @NSU: Как сделать Dota-like игру
 
Squadder
SquadderSquadder
Squadder
 
Wargaming: We need your opinion: is asking players how to improve the game wo...
Wargaming: We need your opinion: is asking players how to improve the game wo...Wargaming: We need your opinion: is asking players how to improve the game wo...
Wargaming: We need your opinion: is asking players how to improve the game wo...
 
Светлана Половинкина. О чём говорит игрок: опросы как инструмент принятия биз...
Светлана Половинкина. О чём говорит игрок: опросы как инструмент принятия биз...Светлана Половинкина. О чём говорит игрок: опросы как инструмент принятия биз...
Светлана Половинкина. О чём говорит игрок: опросы как инструмент принятия биз...
 
АНО «Живые игры»
АНО «Живые игры»АНО «Живые игры»
АНО «Живые игры»
 
Работа с Usability
Работа с UsabilityРабота с Usability
Работа с Usability
 

More from romovpa

Проекты для студентов ФКН ВШЭ
Проекты для студентов ФКН ВШЭПроекты для студентов ФКН ВШЭ
Проекты для студентов ФКН ВШЭ
romovpa
 
A Simple yet Efficient Method for a Credit Card Upselling Prediction
A Simple yet Efficient Method for a Credit Card Upselling PredictionA Simple yet Efficient Method for a Credit Card Upselling Prediction
A Simple yet Efficient Method for a Credit Card Upselling Prediction
romovpa
 
Non-Bayesian Additive Regularization for Multimodal Topic Modeling of Large C...
Non-Bayesian Additive Regularization for Multimodal Topic Modeling of Large C...Non-Bayesian Additive Regularization for Multimodal Topic Modeling of Large C...
Non-Bayesian Additive Regularization for Multimodal Topic Modeling of Large C...
romovpa
 
RecSys Challenge 2015: ensemble learning with categorical features
RecSys Challenge 2015: ensemble learning with categorical featuresRecSys Challenge 2015: ensemble learning with categorical features
RecSys Challenge 2015: ensemble learning with categorical features
romovpa
 
Факторизационные модели в рекомендательных системах
Факторизационные модели в рекомендательных системахФакторизационные модели в рекомендательных системах
Факторизационные модели в рекомендательных системах
romovpa
 
Структурный SVM и отчет по курсовой
Структурный SVM и отчет по курсовойСтруктурный SVM и отчет по курсовой
Структурный SVM и отчет по курсовой
romovpa
 
Fields of Experts (доклад)
Fields of Experts (доклад)Fields of Experts (доклад)
Fields of Experts (доклад)
romovpa
 
Структурное обучение и S-SVM
Структурное обучение и S-SVMСтруктурное обучение и S-SVM
Структурное обучение и S-SVM
romovpa
 
Глобальная дискретная оптимизация при помощи разрезов графов
Глобальная дискретная оптимизация при помощи разрезов графовГлобальная дискретная оптимизация при помощи разрезов графов
Глобальная дискретная оптимизация при помощи разрезов графовromovpa
 

More from romovpa (9)

Проекты для студентов ФКН ВШЭ
Проекты для студентов ФКН ВШЭПроекты для студентов ФКН ВШЭ
Проекты для студентов ФКН ВШЭ
 
A Simple yet Efficient Method for a Credit Card Upselling Prediction
A Simple yet Efficient Method for a Credit Card Upselling PredictionA Simple yet Efficient Method for a Credit Card Upselling Prediction
A Simple yet Efficient Method for a Credit Card Upselling Prediction
 
Non-Bayesian Additive Regularization for Multimodal Topic Modeling of Large C...
Non-Bayesian Additive Regularization for Multimodal Topic Modeling of Large C...Non-Bayesian Additive Regularization for Multimodal Topic Modeling of Large C...
Non-Bayesian Additive Regularization for Multimodal Topic Modeling of Large C...
 
RecSys Challenge 2015: ensemble learning with categorical features
RecSys Challenge 2015: ensemble learning with categorical featuresRecSys Challenge 2015: ensemble learning with categorical features
RecSys Challenge 2015: ensemble learning with categorical features
 
Факторизационные модели в рекомендательных системах
Факторизационные модели в рекомендательных системахФакторизационные модели в рекомендательных системах
Факторизационные модели в рекомендательных системах
 
Структурный SVM и отчет по курсовой
Структурный SVM и отчет по курсовойСтруктурный SVM и отчет по курсовой
Структурный SVM и отчет по курсовой
 
Fields of Experts (доклад)
Fields of Experts (доклад)Fields of Experts (доклад)
Fields of Experts (доклад)
 
Структурное обучение и S-SVM
Структурное обучение и S-SVMСтруктурное обучение и S-SVM
Структурное обучение и S-SVM
 
Глобальная дискретная оптимизация при помощи разрезов графов
Глобальная дискретная оптимизация при помощи разрезов графовГлобальная дискретная оптимизация при помощи разрезов графов
Глобальная дискретная оптимизация при помощи разрезов графов
 

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

  • 1. Data Science of Dota 2: Роль киберспорта в обучении анализу данных Петр Ромов ФКН ВШЭ, Yandex Data Factory Соавтор курса по машинному обучению на Coursera
  • 4. Dota 2 • Родоначальник жанра MOBA • Играют 2 команды по 5 человек каждая
  • 5. Выбор героев Игра начинается с того что каждый игрок выбирает героя (персонажа), которым он будет играть из доступных 113
  • 7. Steam API и доступные данные • Информация про все матчи – кто играл, с кем играл – кто победил – уровни игроков к концу игры, статистика по действиям игроков • Информация о матче в режиме реального времени • Выгрузка информации из API почти не ограничена • Можно парсить реплеи матчей, извлекая траектории и все действия игроков во времени
  • 8. Задачи анализа данных • Прогноз победителя – по составу игроков (до начала матча) – после выбора героев (в начале матча) – по ходу игры • Рейтинг игроков, учитывающий специфику игры • Рекомендация действий/стратегий для игроков • Рекомендации по составлению команды • Умное управление камерой для комментаторов матчей • …
  • 9. heroes), “ O✏aner” or “ Hardlaner” (hero who which is bottom lane for Dire and top lane for lanes and in the jungle) and two “ Supports” buying items for the team, like wards, centries, Fig. 1: Heroes s: All Pick order Pick, from ell de- s that ehero aft on e per- picks secu- gimes es for and playing it. For example in AP player tries st which sometimes isn’t good for the balance in s are overrepresented in All Pick while this stats e Random Draft, where each player gets his hero Dota 2 called MMR, which allows the algorithm level into the same match for more balanced get this skill points visible to others via partic- d All Pick, Ranked Random Draft and Ranked the members of the winning team some MMR mount of points from the lost team. Currently MMR ≥ 8,000, while everything below 4,000 is Пул из 113 героев Комбинации героев Каждый из 10 игроков выбирает себе героя Возможных комбинаций выбора героев Всего сыграно матчей c Июля 2013 (в том числе незаконченных, учебных и т.д.) Чем отличаются матчи: 1. Игроками и их стратегиями 2. Выбранными героями Задача: • Научиться оценивать вероятность победы команды по известным выбранным героям • Оценить, в какой степени влияет выбор героев, а в какой — умения игроков?
  • 10. Комбинации героев • Популярные среди игроков веб-сервисы – 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 тыс.
  • 11. Наш набор данных • Период в 20 дней, не было изменений правил игры • Все рейтинговые матчи за период • Матчи игроков всех навыков • 5 млн. матчей • Датасет будет опубликован после окончания соревнования
  • 12. Наши результаты • Сравнили на фиксированном датасете – Наивные методы (Logistic regression, Naïve bayes) – XGBoost: Учет связей между героями и их характеристик – Моделирование вероятности при помощи факторизационных машин
  • 13. Наши результаты • Факторизационные машины дают наилучшую оценку вероятности победы команды • Набор выбранных героев объясняет не менее • 6% информации (по Шенону) для опытных игроков • 10% информации для остальных
  • 14. Финальное задание к курсу по машинному обучению на Coursera • «Реальные» данные из индустрии – большие трудности с получением и публикацией • Данные Dota 2: – доступны – никого не беспокоит их распространение
  • 15. Финальное задание для Coursera • Задача: Предсказать победившую команду по первым 5 минутам игры • Данные: ≈120 тыс. распаршенных матчей – траектории движения игроков – временные ряды изменения свойств игроков Ссылка на описание задания: http://goo.gl/gwj4ZQ
  • 18. Соревнование Kaggle InClass Соревнование условно-закрытое, «секретная» ссылка для участия:
  • 19. Соревнование Kaggle InClass • Множество идей – применение различных методов обучения и уменьшения размерности – работа с сырыми данными и разработка собственных признаков – блендинг предсказаний разных моделей • Отзывы – «Мне очень нравится эта задача, и я получаю удовольствие от ее решения» – «…придумываешь признак, обсуждаешь его с людьми, которые ничего не понимают в анализе данных, но не смотря на это вы можете поспорить, это всегда классно» – «Идеи по улучшению модели по-прежнему есть … буду продолжать участвовать.»
  • 20. Семинары на ВМК МГУ • Студенты 3 курса • Домашнее задание, первый опыт Kaggle • 9 из 18 студентов прониклись и сейчас самостоятельно решают «BNP Paribas» на большом Kaggle • 4 лучших решения презентованы на семинаре, слайды выложены на Github https://github.com/esokolov/ml-course-msu/tree/master/ML15-spring/contests/contest01-dota
  • 21. Хакатон Dota Science Challenge • Задача: построить и запустить систему, предсказывающую результат матчей крупного соревнования Shanghai Major в режиме реального времени • Участвовало 37 команд • 7 команд побили бейзлайн • Статья на Хабре (от участников) «Опыт участия в хакатоне Dota Science …»
  • 23. Предсказание вероятности победы в реальном времени Описание задачи: https://github.com/romovpa/dotascience-hackathon • Поощряется уверенное предсказание (с большим значением вероятности) • В случае уверенного, но в итоге неверного предсказания, решение получает очень большой штраф
  • 25. Резюме • Dota 2 и Киберспорт • Машинное обучение для предсказания победы • Образовательный эксперимент – Финальное задание для Coursera – Соревнование на Kaggle InClass – Семинары на ВМК МГУ – Хакатон Dota Science Challenge