Потоковые алгоритмы в задачах обработки больших данных / Виктор Евстратов (Se...Ontico
Для того чтобы таргетировать рекламу по поведению интернет-пользователей, DMP ежедневно оценивает терабайты данных. В докладе расскажу, как при помощи алгоритмов потоковой обработки данных можно быстро оценить большой объем статистики и формы распределения различных характеристик.
+ Что будем оценивать?
Будем оценивать функции распределения различных случайных величин. На практике это может понадобиться, например, как инструмент первичного анализа трафика или как данные, необходимые для принятия решений в RTB.
+ Распределения параметров пользователей и их поведения.
+ Метод Манро-Патерсона, метод Канна-Гринвальда.
В этой части я расскажу о методе Манро-Патерсона — алгоритме оценки медианы, и о методе Канна-Гринвальда, который позволяет оценить функцию распределения.
+ Мотивирующий пример.
Расскажу о том, как применяю описанные методы на наших данных для составления портрета целевой аудитории наших клиентов.
Playtestix: Playtesting: cases and figures. ‘Before’ and ‘after’, ways of ach...DevGAMM Conference
Playtesting will be shown as an integral part of development process and backed up with cases, examples. Particular projects, real-life stories, metrics and ways of searching for solutions.
Ускоряем исследования с помощью конкурсов как их готовить и выигрывать / Иван...Ontico
Мы в Авито часто сталкиваемся с ситуацией, когда нужно быстро придумать алгоритм, решающий некоторую бизнес задачу на основе анализа больших объёмов данных. Придумать какой-то алгоритм не сложно, но каждый раз возникает вопрос — а вдруг можно решить эту же задачу в разы более качественно. Исследования можно вести годами, но это рискованно — лучшего решения может и не быть, и будет затрачено много времени.
На помощь приходят конкурсы по анализу данных. Мы устраивали конкурсы на построение алгоритмов, работающих с совершенно различными типами и объемами данных:
+ Выявление запрещенных объявлений.
+ Прогнозирование вероятности клика на рекламное объявление.
+ Обнаружение телефонов на изображениях.
+ Прогнозирование инкрементального эффекта от скидочных акций.
Какие-то были более удачными, какие-то — менее. Расскажем про основные этапы подготовки задач к конкурсу, а также про основные трюки, используемые для победы в таких конкурсах
Ladutko - Gamification in Quality AssuranceAndrey Ladutko
Presentation from SQA Days-12 in Minsk (01 Dec 2012) about gamification and applying it - 3 examples: Windows 7 Language Quality Game, Code Review Game, Stackoverflow
CG StartTrack(развитие и диагностика компетенций в квесте) CG (Center-Game)
Квест представляет из себя набор модулей (по определенным компетенциям), проходя которые участники набирают очки. При этом механика и надстройка в виде мобильного приложения позволяют запуска процесс диагностики.
Возникли вопросы? Пишите нам: letsplay@center-game.com
Потоковые алгоритмы в задачах обработки больших данных / Виктор Евстратов (Se...Ontico
Для того чтобы таргетировать рекламу по поведению интернет-пользователей, DMP ежедневно оценивает терабайты данных. В докладе расскажу, как при помощи алгоритмов потоковой обработки данных можно быстро оценить большой объем статистики и формы распределения различных характеристик.
+ Что будем оценивать?
Будем оценивать функции распределения различных случайных величин. На практике это может понадобиться, например, как инструмент первичного анализа трафика или как данные, необходимые для принятия решений в RTB.
+ Распределения параметров пользователей и их поведения.
+ Метод Манро-Патерсона, метод Канна-Гринвальда.
В этой части я расскажу о методе Манро-Патерсона — алгоритме оценки медианы, и о методе Канна-Гринвальда, который позволяет оценить функцию распределения.
+ Мотивирующий пример.
Расскажу о том, как применяю описанные методы на наших данных для составления портрета целевой аудитории наших клиентов.
Playtestix: Playtesting: cases and figures. ‘Before’ and ‘after’, ways of ach...DevGAMM Conference
Playtesting will be shown as an integral part of development process and backed up with cases, examples. Particular projects, real-life stories, metrics and ways of searching for solutions.
Ускоряем исследования с помощью конкурсов как их готовить и выигрывать / Иван...Ontico
Мы в Авито часто сталкиваемся с ситуацией, когда нужно быстро придумать алгоритм, решающий некоторую бизнес задачу на основе анализа больших объёмов данных. Придумать какой-то алгоритм не сложно, но каждый раз возникает вопрос — а вдруг можно решить эту же задачу в разы более качественно. Исследования можно вести годами, но это рискованно — лучшего решения может и не быть, и будет затрачено много времени.
На помощь приходят конкурсы по анализу данных. Мы устраивали конкурсы на построение алгоритмов, работающих с совершенно различными типами и объемами данных:
+ Выявление запрещенных объявлений.
+ Прогнозирование вероятности клика на рекламное объявление.
+ Обнаружение телефонов на изображениях.
+ Прогнозирование инкрементального эффекта от скидочных акций.
Какие-то были более удачными, какие-то — менее. Расскажем про основные этапы подготовки задач к конкурсу, а также про основные трюки, используемые для победы в таких конкурсах
Ladutko - Gamification in Quality AssuranceAndrey Ladutko
Presentation from SQA Days-12 in Minsk (01 Dec 2012) about gamification and applying it - 3 examples: Windows 7 Language Quality Game, Code Review Game, Stackoverflow
CG StartTrack(развитие и диагностика компетенций в квесте) CG (Center-Game)
Квест представляет из себя набор модулей (по определенным компетенциям), проходя которые участники набирают очки. При этом механика и надстройка в виде мобильного приложения позволяют запуска процесс диагностики.
Возникли вопросы? Пишите нам: letsplay@center-game.com
Как пережить запуск онлайн-игры и справиться с мертвыми душами / Андрей Трифа...Ontico
HighLoad++ 2017
Зал «Рио-де-Жанейро», 7 ноября, 18:00
Тезисы:
http://www.highload.ru/2017/abstracts/3077.html
Я работал в команде, которая создала несколько игр в соцсетях и для мобильных платформ. В разработке игр считается, что первые несколько минут в игре создают основное впечатление игрока об игре. Поэтому геймдизайнеры тратят много времени на полировку этих первых мгновений нового игрока в игре. Но это создает также много интересных задач и для программистов сервера и клиента.
...
Solit 2014, Опыт участия в конкурсе по спортивному программированию Russian A...solit
Иван Поляков, Минск. Программист, занимается разработкой компьютерных игр (Shareware / Indy) с 99 года. Закончил ФПМИ БГУ, где участвовал в чемпионатах ACM по программированию.
«Опыт участия в недавно прошедшем конкурсе по спортивному программированию Russian AI Cup 2013″. Development секция. Не упустите возможности узнать, как думают алгоритмически участники олимпиад.
(http://russianaicup.ru/profile/Cooler – 15-е место в финале, 11-е место в песочнице – это лучший результат среди участников из Беларуси). Об особенностях задачи, о принципах работы моего решения и особенностях решений некоторых других участников из топа, о вероятных ошибках и способах их избежать.
P.S. Рассказ победителя конкурса имеется тут – http://habrahabr.ru/post/206680/
Суперсилы Chrome DevTools — Роман Сальников, 2ГИСYandex
В своей работе мы постоянно используем инструменты, призванные облегчить нам жизнь. Но как хорошо мы ими на самом деле владеем? И почему мы пренебрегаем их суперсилами? Например, Chrome DevTools — это не только отладчик и инспектор HTML. Но когда у нас в руках молоток, кругом мерещатся гвозди. Десятки мегабайт и процентов загрузки процессора на вкладку браузера — верный признак того, что пора учиться пользоваться микроскопом.
Роман предложит освоить что-то посложнее молотка и расскажет о том, какую реальную пользу можно получить от профилирования, как найти в огромном отчёте проблему с кодом и что лучше — написать в коде десяток console.log или async debug.
Баланс в социальных играх для чайников-Андрей Попович-IMMO GamesSociality Rocks!
В докладе описаны основные принципы построения баланса в социальных играх. На ваших глазах будет произведен расчет системы развития персонажа, а также будут рассмотрены основы построения игровой экономики и монетизации.
UX дневник как инструмент тестирования игры / Мария Амирханян, Екатерина Лисо...DevGAMM Conference
Чаще всего при тестировании игр мы сталкиваемся с UX плейтестами. Но что делать в ситуации, когда вам нужно посмотреть не первую сессию или первый час игры, а пронаблюдать за вовлечением и возможными проблемами в течение нескольких дней или на протяжении всей игры? В этом случае плейтесты одного дня не помогут решить эту задачу, в отличие от дневниковых UX-исследований. Мария Амирханян (Head of Games – UX Research) и Екатерина Лисовская (Senior UX Researcher) из Mail.ru Group рассказывают про то, как и где их применять, а также делятся несколькими кейсами.
Расширяем идею статического анализа от проверки кода до других процессов разр...Andrey Karpov
Давайте расширим восприятие методологии статического анализа до других процессов, помимо проверки исходного кода программ. Идею статического анализа, можно использовать не только поиск ошибок, запахов или некорректного форматирования. Взглянем на это с точки зрения фиксации уже имеющиеся знаний команды по уже решенным задачам. Например, можно фиксировать опыт подготовки статей для публикации, написания разделов документации. Кстати, здесь есть повод поговорить и об машинном обучении, которое может само выявить определённые закономерности.
Современные архитектуры диалоговых систем / Анатолий Востряков (Segmento)Ontico
В докладе я рассмотрю современные архитектуры диалоговых систем или чат-ботов. Неполный список архитектур влючает Dual Encoders, Neural Conversational Networks with and without context, Generative Hierarchical Neural Networks, Memory Networks and Dynamic Memory Networks. В том числе немного коснемся использования Reinofcement Learning в диалоговых системах. Вначале будет мягкое введение в Deep Learning for NLP для лучшего понимания представленных архитектур.
Олександр Дзюба та Євгеній Тур "Майстер-клас “Вивчення гравців. DIY” Ми реаль...Lviv Startup Club
GameDev Conference 2018
Олександр Дзюба та Євгеній Тур "Майстер-клас “Вивчення гравців. DIY” Ми реально навчимо робити найкращі ігри в світі через аналіз гравців"
Как пережить запуск онлайн-игры и справиться с мертвыми душами / Андрей Трифа...Ontico
HighLoad++ 2017
Зал «Рио-де-Жанейро», 7 ноября, 18:00
Тезисы:
http://www.highload.ru/2017/abstracts/3077.html
Я работал в команде, которая создала несколько игр в соцсетях и для мобильных платформ. В разработке игр считается, что первые несколько минут в игре создают основное впечатление игрока об игре. Поэтому геймдизайнеры тратят много времени на полировку этих первых мгновений нового игрока в игре. Но это создает также много интересных задач и для программистов сервера и клиента.
...
Solit 2014, Опыт участия в конкурсе по спортивному программированию Russian A...solit
Иван Поляков, Минск. Программист, занимается разработкой компьютерных игр (Shareware / Indy) с 99 года. Закончил ФПМИ БГУ, где участвовал в чемпионатах ACM по программированию.
«Опыт участия в недавно прошедшем конкурсе по спортивному программированию Russian AI Cup 2013″. Development секция. Не упустите возможности узнать, как думают алгоритмически участники олимпиад.
(http://russianaicup.ru/profile/Cooler – 15-е место в финале, 11-е место в песочнице – это лучший результат среди участников из Беларуси). Об особенностях задачи, о принципах работы моего решения и особенностях решений некоторых других участников из топа, о вероятных ошибках и способах их избежать.
P.S. Рассказ победителя конкурса имеется тут – http://habrahabr.ru/post/206680/
Суперсилы Chrome DevTools — Роман Сальников, 2ГИСYandex
В своей работе мы постоянно используем инструменты, призванные облегчить нам жизнь. Но как хорошо мы ими на самом деле владеем? И почему мы пренебрегаем их суперсилами? Например, Chrome DevTools — это не только отладчик и инспектор HTML. Но когда у нас в руках молоток, кругом мерещатся гвозди. Десятки мегабайт и процентов загрузки процессора на вкладку браузера — верный признак того, что пора учиться пользоваться микроскопом.
Роман предложит освоить что-то посложнее молотка и расскажет о том, какую реальную пользу можно получить от профилирования, как найти в огромном отчёте проблему с кодом и что лучше — написать в коде десяток console.log или async debug.
Баланс в социальных играх для чайников-Андрей Попович-IMMO GamesSociality Rocks!
В докладе описаны основные принципы построения баланса в социальных играх. На ваших глазах будет произведен расчет системы развития персонажа, а также будут рассмотрены основы построения игровой экономики и монетизации.
UX дневник как инструмент тестирования игры / Мария Амирханян, Екатерина Лисо...DevGAMM Conference
Чаще всего при тестировании игр мы сталкиваемся с UX плейтестами. Но что делать в ситуации, когда вам нужно посмотреть не первую сессию или первый час игры, а пронаблюдать за вовлечением и возможными проблемами в течение нескольких дней или на протяжении всей игры? В этом случае плейтесты одного дня не помогут решить эту задачу, в отличие от дневниковых UX-исследований. Мария Амирханян (Head of Games – UX Research) и Екатерина Лисовская (Senior UX Researcher) из Mail.ru Group рассказывают про то, как и где их применять, а также делятся несколькими кейсами.
Расширяем идею статического анализа от проверки кода до других процессов разр...Andrey Karpov
Давайте расширим восприятие методологии статического анализа до других процессов, помимо проверки исходного кода программ. Идею статического анализа, можно использовать не только поиск ошибок, запахов или некорректного форматирования. Взглянем на это с точки зрения фиксации уже имеющиеся знаний команды по уже решенным задачам. Например, можно фиксировать опыт подготовки статей для публикации, написания разделов документации. Кстати, здесь есть повод поговорить и об машинном обучении, которое может само выявить определённые закономерности.
Современные архитектуры диалоговых систем / Анатолий Востряков (Segmento)Ontico
В докладе я рассмотрю современные архитектуры диалоговых систем или чат-ботов. Неполный список архитектур влючает Dual Encoders, Neural Conversational Networks with and without context, Generative Hierarchical Neural Networks, Memory Networks and Dynamic Memory Networks. В том числе немного коснемся использования Reinofcement Learning в диалоговых системах. Вначале будет мягкое введение в Deep Learning for NLP для лучшего понимания представленных архитектур.
Олександр Дзюба та Євгеній Тур "Майстер-клас “Вивчення гравців. DIY” Ми реаль...Lviv Startup Club
GameDev Conference 2018
Олександр Дзюба та Євгеній Тур "Майстер-клас “Вивчення гравців. DIY” Ми реально навчимо робити найкращі ігри в світі через аналіз гравців"
Факторизационные модели в рекомендательных системахromovpa
Факторизационные модели, модели разложения матриц для коллаборативной фильтрации в рекомендательных системах. В презентации рассматриваются теоретические аспекты и алгоритмы.
С доклада на спецсеминаре "Machine Learning & Information Retrieval" в Школе Анализа Данных Яндекса.
3. features target
3 4 5 81.2
2 2 3 79.8
. . .
9 2 5 234.0
Обучающая выборка
множество примеров входных
данных и правильных ответов
Алгоритм машинного
обучения Построенная модель
4 6 1
123.4Признаковые описания
числовые вектора
фиксированной длины,
в которых закодирована вся
входная информация
Значения целевой
переменной
ответы, закодированные числами
Признаки нового объекта
Предсказание
Машинное обучение
4. Распознавание образов
изображение — образы
“hello”
Распознавание речи
звук — текст текст — текст
Машинный перевод
Рекомендательные системыБаннерные сети
(баннер, страница) — CTR (пользователь, фильм) — оценка
Кредитный скоринг
клиент — вероятность дефолта
5. Персональное предложение
В какой момент делать предложение?
Какой размер скидки?
Путь аналитики:
1. разбить пользователей на кластеры
2. для каждого кластера подобрать триггеры / условия
Путь машинного обучения:
1. собрать обучающую выборку:
случайные предложения на небольшой группе
2. обучить модель
3. принимать решение, используя модель,
индивидуально для каждого пользователя
Статистика игр
Модель
Статистика оплат
Время / место
Скидка
P(conv.)
6. МатчмейкингI IN GAMES 1
: Advanced Matchmaking in
Recon Online
Laufer, Raul Chandias Ferrari, Yoshua Bengio, and Frank Zhang
o ensure
yers. In
nsists in
However,
the only
dvanced
line, an
oft. We
players
hes. We
ers, and
, taking
n about
ur goal
quality
was not
d to this
st Recon
ively be
neural
Fig. 1. In Ghost Recon Online, players have access to various character
classes, with unique powers, weapons and high-tech gear. This opens up a
wide array of potential playstyles, that basic skill rating algorithms are unable
to fully capture.
“Beyond Skill Rating: Advanced Matchmaking in Ghost Recon Online” Olivier Delalleau et. al.
Классический подход:
- сбалансированная игра — хорошая игра
- рейтинг игроков (MMR)
Проблема рейтинга:
- разные роли / персонажи / экипировка
- разные наборы навыков у игроков
Решение: BalanceNet
Team A
Team B
P1 P2 P8
P9 P10 P16
…
…
P(win A)Модель
7. Матчмейкинг
Проблема подхода:
- сбалансированная игра — не значит интересная
- пример: в команде одни кемперы, ничего не
происходит
Решение: FunNet
- игроки оценивают игру после ее окончания
- матчмейкер прогнозирует оценку
Team A
Team B
P1 P2 P8
P9 P10 P16
…
…
оценкаМодель
P1
Once the models described above have been trained, how
should they be used in the matchmaking process? Fig. 4
gives a simplified view of the global architecture (with only
1v1 matches for the sake of clarity). Players who want to
join an online match are placed in a queue from which
the matchmaking algorithm randomly samples to try various
team combinations. Match candidates are scored by one of
the neural network models described in Section II to obtain
an estimate of match quality. The matchmaking server then
launches those with highest scores.
Matchmaking
Team A Team B Match quality
0.3
0.7
0.6
0.9
Player
queue
Dedicated
servers
Join
session #2
Create
session #1Join
session #1
Join
session #1
Join
session #2
Create
session #2
Fig. 4. Sketch of the matchmaking process: various match compositions are
evaluated by random sampling from the player queue. The best matches are
launched on dedicated servers that chosen players are instructed to join.
Without going too deep into the details, the following points
are worth pointing out:
• The sampling strategy has an important role: in particular
it can ensure all players are in a compatible skill range
and have a good connection with the same dedicated
server. It should also favor players who have been waiting
this
freq
play
The
for
with
surv
mod
C.
T
offli
slow
opti
stan
the
in r
T
para
•
•
We
imiz
pred
igno
(mo
mor
mat“Beyond Skill Rating: Advanced Matchmaking in Ghost Recon Online” Olivier Delalleau et. al.
8. Идентификация игроков по “подчерку”
“When cyberathletes conceal their game: Clustering confusion matrices to identify avatar aliases” Cavadenti et. al.
called Base, assigns it to hotkey 1 (a), selects some units with
the mouse (s), select units attached to hotkey 2 (s), etc.
Avatar Game trace Outcome
RorO s,s,hotkey4a,s,hotkey3a,s,hotkey3s, ... Lose
TAiLS Base,hotkey1a,s,hotkey1s,s,hotkey1s, ... Win
Table I: Traces of a match for two players
C. Predicting avatars from behavioural traces
Let us consider the following scenario. Given a trace, is it
possible to find its associated avatar? In Table I, given the trace
in the first row, is it possible to say that the avatar associated to
Game trace Модель
Account
(Avatar)
Account 1
Account 2
Account 3
MinChul
SKMC
INnoVation
lIlIllIlIlll
…
Кластеры ошибок:
один игрок использует
несколько аккаунтов
Матрица ошибок модели
9. Искусственный интеллект для NPC
- Более скиловые боты
- модель играет миллионы игр, результат
каждой игры учитывается в обучении для
выбора более эффективного действия
- Более человечные боты
- модель предсказывает, какое действие
совершил бы человек
Alpha Go
StarCraft