Соревнования по анализу данных: история, тактика,...
TRANSCRIPT
ППррааккттииччеессккиийй ссееммииннаарр ппоо ААДД KKaaggggllee
ССооррееввнноовваанниияя ппоо ааннааллииззуу ддаанннныыхх::
ииссттоорриияя,, ттааккттииккаа,, ппррооссттыыее ммееттооддыы
ААллееккссааннддрр ДДььяяккоонноовв
ММооссккооввссккиийй ггооссууддааррссттввеенннныыйй ууннииввееррссииттеетт
ииммееннии ММ..ВВ.. ЛЛооммооннооссоовваа ((ММоосскквваа,, РРооссссиияя))
ССееммииннаарр MMAAIILL..RRUU вв ррааммккаахх
MMoossccooww DDaattaa SScciieennccee MMeeeettuupp
Практический семинар по АД Kaggle 2 слайд из 41 Дьяконов А.Г. (Москва, МГУ)
Mail.ru / Moscow Data Science Meetup 27 июня 2015 года
Соревнования в анализе данных
и машинном обучении
История
1997 – KDDCup
KDD Cup 2010: Student performance evaluation
KDD Cup 2009: Customer relationship prediction
KDD Cup 2008: Breast cancer
KDD Cup 2007: Consumer recommendations
KDD Cup 2006: Pulmonary embolisms detection from image data
KDD Cup 2005: Internet user search query categorization
KDD Cup 2004: Particle physics; plus protein homology prediction
KDD Cup 2003: Network mining and usage log analysis
KDD Cup 2002: BioMed document; plus gene role classification
KDD Cup 2001: Molecular bioactivity; plus protein locale prediction
KDD Cup 2000: Online retailer website clickstream analysis
KDD Cup 1999: Computer network intrusion detection
KDD Cup 1998: Direct marketing for profit optimization
KDD Cup 1997: Direct marketing for lift curve optimization
+
Богатая история
–
Не всегда удобные сроки
Практический семинар по АД Kaggle 3 слайд из 41 Дьяконов А.Г. (Москва, МГУ)
Mail.ru / Moscow Data Science Meetup 27 июня 2015 года
2000е годы
Отдельные соревнования
Организуются лабораториями
Приурочены к конференциям
Нет вознаграждения
Нет онлайн-лидерборда
Практический семинар по АД Kaggle 4 слайд из 41 Дьяконов А.Г. (Москва, МГУ)
Mail.ru / Moscow Data Science Meetup 27 июня 2015 года
2000е годы... «Брендовые» соревнования
+
Внедрение идеи в научное сообщество
Издание тематических статей
–
Универсальные алгоритмы
Неудачная организация
2003
+ NIPS, WCCI, KDD Cup,
AISTATS, IJCNN
2008
+ DARPA
Практический семинар по АД Kaggle 5 слайд из 41 Дьяконов А.Г. (Москва, МГУ)
Mail.ru / Moscow Data Science Meetup 27 июня 2015 года
что происходило в среде DS...
Какие задачи решались и как...
признак 3-4-5-6
Практический семинар по АД Kaggle 6 слайд из 41 Дьяконов А.Г. (Москва, МГУ)
Mail.ru / Moscow Data Science Meetup 27 июня 2015 года
2001 – InnoCentive
+
Первый агрегатор соревнований
из всех областей
–
Непрозрачная система оценки
Практический семинар по АД Kaggle 7 слайд из 41 Дьяконов А.Г. (Москва, МГУ)
Mail.ru / Moscow Data Science Meetup 27 июня 2015 года
2007-2009 – Netflix Cup
+
Придал известность
конкурсам
Показал, что за это можно
платить...
–
Очень массовый
Практический семинар по АД Kaggle 8 слайд из 41 Дьяконов А.Г. (Москва, МГУ)
Mail.ru / Moscow Data Science Meetup 27 июня 2015 года
2009 – TunedIT
+
Первая
соревновательная
платформа по АД
Грамотные правила
Онлайн-лидерборд
50 загрузок
Форум/блог
–
Последнее
соревнование – 2012
Все эти идеи потом взял Kaggle
Практический семинар по АД Kaggle 9 слайд из 41 Дьяконов А.Г. (Москва, МГУ)
Mail.ru / Moscow Data Science Meetup 27 июня 2015 года
2010 – Kaggle
Tourism Forecasting Part Two
Практический семинар по АД Kaggle 10 слайд из 41 Дьяконов А.Г. (Москва, МГУ)
Mail.ru / Moscow Data Science Meetup 27 июня 2015 года
2010 – Kaggle
Отличия:
ориентация на бизнес
формирование сообщества
пиар
хантинг
чёткое разграничение целей
соревнований
большие призовые
+
Спортивный АД стал модным
Сближение науки и бизнеса
–
Плохая подготовка задач (перевыкладки данных, история CA)
Несвоевременный отклик в форумах (см. Crowdflower)
Практический семинар по АД Kaggle 11 слайд из 41 Дьяконов А.Г. (Москва, МГУ)
Mail.ru / Moscow Data Science Meetup 27 июня 2015 года
Наши дни... ещё платформы…
Продолжение Clopinet
2010
2011
2014
Не смотря на нерентабельность...
последние новости: сокращение штата в Kaggle
Практический семинар по АД Kaggle 12 слайд из 41 Дьяконов А.Г. (Москва, МГУ)
Mail.ru / Moscow Data Science Meetup 27 июня 2015 года
А в России… от Яндекса до АлгоМоста
2009
серия соревнований
2011
3-4 соревнования
2012
два турнира
2013
одно соревнование
2013
Платформа (5 турниров)
Практический семинар по АД Kaggle 13 слайд из 41 Дьяконов А.Г. (Москва, МГУ)
Mail.ru / Moscow Data Science Meetup 27 июня 2015 года
Зачем участвовать в соревнованиях Причины
Псевдопричины
1. Деньги
2. Слава
3. Хорошая работа
Более весомо
1. Опыт
2. Решение новых задач
3. Мотивация для изучения нового
4. Реальная оценка знаний и умений
Практический семинар по АД Kaggle 14 слайд из 41 Дьяконов А.Г. (Москва, МГУ)
Mail.ru / Moscow Data Science Meetup 27 июня 2015 года
О деньгах... Причины
II – 3000$
II – 1500$
II – 8000$
III – 0200$
III – 10000$
I – 37000$/2
II –3000$
Практический семинар по АД Kaggle 15 слайд из 41 Дьяконов А.Г. (Москва, МГУ)
Mail.ru / Moscow Data Science Meetup 27 июня 2015 года
О деньгах... Причины
Лучший решатель на Кэгле:
44200$/(4*12) = 921$/мес
Активнейший решатель на Кэгле:
2000$/3/26 = 26$/мес
Cardal
Самый везучий на Кэгле:
35000$/6 = 5833$/мес
Практический семинар по АД Kaggle 16 слайд из 41 Дьяконов А.Г. (Москва, МГУ)
Mail.ru / Moscow Data Science Meetup 27 июня 2015 года
О славе... Причины
1. Кто был победителем первого конкурса Kaggle/KDD cup/Netflix?
2. У кого из россиян больше всех побед в международных
конкурсах?
3. Кто победил в первом Master турнире?
4. Кто дольше всех был чемпионом?
5. Кто из россиян побеждал на Kaggle?
Kaggle не рассказывает о решателях...
Практический семинар по АД Kaggle 17 слайд из 41 Дьяконов А.Г. (Москва, МГУ)
Mail.ru / Moscow Data Science Meetup 27 июня 2015 года
Jure Zbontar
Первый победитель Kaggle
Владимир Никулин
многократный победитель соревнований
Дмитрий Ефимов
Победитель Master-турнира
Максим Иванов
Выиграл Facebook-2
Практический семинар по АД Kaggle 18 слайд из 41 Дьяконов А.Г. (Москва, МГУ)
Mail.ru / Moscow Data Science Meetup 27 июня 2015 года
США – 17
Россия – 6
Япония – 3
Великобритания – 3
Бразилия – 2
Израиль –2
Испания – 2
Германия – 2
Австрия – 1
Украина – 1
Греция – 1
Нидерланды – 1
Южная Корея – 1
Сингапур – 1
Швейцария – 1
Италия – 1
Франция – 1
Венгрия – 1
Турция – 1
Канада – 1
Иран – 1
Практический семинар по АД Kaggle 19 слайд из 41 Дьяконов А.Г. (Москва, МГУ)
Mail.ru / Moscow Data Science Meetup 27 июня 2015 года
Соревнования в учебном процессе Обучение
2009 – описание решений
прикладных задач
(ШАД – нет поддержки)
2011 – учебный процесс
(участие в соревновании,
нет энтузиазма)
2013 – полноценный спецкурс
"Прикладные задачи анализа
данных"
(читается на ВМК МГУ)
Практический семинар по АД Kaggle 20 слайд из 41 Дьяконов А.Г. (Москва, МГУ)
Mail.ru / Moscow Data Science Meetup 27 июня 2015 года
Соревнования в учебном процессе
2012
2014
Практический семинар по АД Kaggle 21 слайд из 41 Дьяконов А.Г. (Москва, МГУ)
Mail.ru / Moscow Data Science Meetup 27 июня 2015 года
1. Загрузки (2–5) Тактика
Проверка адекватности LB~LC
Донастройка модели
Расширение обучения за счёт
контрольной выборки
Практический семинар по АД Kaggle 22 слайд из 41 Дьяконов А.Г. (Москва, МГУ)
Mail.ru / Moscow Data Science Meetup 27 июня 2015 года
Когда нет Private Liderboard
Практический семинар по АД Kaggle 23 слайд из 41 Дьяконов А.Г. (Москва, МГУ)
Mail.ru / Moscow Data Science Meetup 27 июня 2015 года
Объединение в команды Тактика
Как произошло первое объединение...
Практический семинар по АД Kaggle 24 слайд из 41 Дьяконов А.Г. (Москва, МГУ)
Mail.ru / Moscow Data Science Meetup 27 июня 2015 года
Объединение в команды (графика АлгоМоста) Тактика
Рис. Качество решений участников соревнования (AUC).
1 2 3 4 5 6 7 8 3+8 = 2
6+8=4
2+X=2
1 0.7425 0.7434 0.7425 0.7425 0.7426 0.7428 0.7425 0.7425
2 0.7434 0.7420 0.7420 0.7420 0.7420 0.7421 0.7420 0.7420
3 0.7425 0.7420 0.7229 0.7242 0.7272 0.7283 0.7245 0.7232
4 0.7425 0.7420 0.7242 0.7186 0.7252 0.7272 0.7207 0.7187
5 0.7426 0.7420 0.7272 0.7252 0.7155 0.7223 0.7213 0.7194
6 0.7428 0.7421 0.7283 0.7272 0.7223 0.7131 0.7201 0.7213
7 0.7425 0.7420 0.7245 0.7207 0.7213 0.7201 0.6979 0.7106
8 0.7425 0.7420 0.7232 0.7187 0.7194 0.7213 0.7106 0.6950
Практический семинар по АД Kaggle 25 слайд из 41 Дьяконов А.Г. (Москва, МГУ)
Mail.ru / Moscow Data Science Meetup 27 июня 2015 года
Обмен кодом, идеями и т.п. Тактика
История появления одного запрета...
Практический семинар по АД Kaggle 26 слайд из 41 Дьяконов А.Г. (Москва, МГУ)
Mail.ru / Moscow Data Science Meetup 27 июня 2015 года
Что делать... Тактика
1. Свой бенчмарк
2. Функционал качества
3. Продумать контроль
4. [Matlab/Julia/...], R, Python
5. Форум/ статьи/ опыт
6. Алгоритмы
7. Ансамбли
8. Формирование решения
Практический семинар по АД Kaggle 27 слайд из 41 Дьяконов А.Г. (Москва, МГУ)
Mail.ru / Moscow Data Science Meetup 27 июня 2015 года
Типы турниров в Kaggle Соревнования
Признаки престижности турнира
деньги
бонусы
участники (качественный состав)
Практический семинар по АД Kaggle 28 слайд из 41 Дьяконов А.Г. (Москва, МГУ)
Mail.ru / Moscow Data Science Meetup 27 июня 2015 года
Прогнозирование даты визита покупателя
Прикладная
задача
Дано: статистика визитов Предсказать: день первого
покупатель, дата визита, сумма
56, 2011-06-30, 35.01
56, 2011-06-08, 35.17
56, 2011-07-10, 24.12
56, 2011-07-12, 7.73
57, 2011-05-13, 29.38
57, 2011-05-19, 41.00
…
Практический семинар по АД Kaggle 29 слайд из 41 Дьяконов А.Г. (Москва, МГУ)
Mail.ru / Moscow Data Science Meetup 27 июня 2015 года
Оценить вероятности визитов – найти максимум
Метод решения
оценки вероятностей... первых визитов
1p
2p
. . .
7p
11~ pp
212 )1(~ ppp
. . .
7
6
1
7 )1(~ pppi
i
Два способа оценки максимума вероятностей – ансамбль.
Весовые схемы в оценке вероятностей.
Практический семинар по АД Kaggle 30 слайд из 41 Дьяконов А.Г. (Москва, МГУ)
Mail.ru / Moscow Data Science Meetup 27 июня 2015 года
Весовая схема – настоящее важнее прошлого
Метод решения
Качество в весовой схеме
0 0.5 1 1.5 2 2.5 30.356
0.358
0.36
0.362
0.364
пересчёт
прямой метод
перестановка
Практический семинар по АД Kaggle 31 слайд из 41 Дьяконов А.Г. (Москва, МГУ)
Mail.ru / Moscow Data Science Meetup 27 июня 2015 года
Рекомендация лекций для просмотра
«VideoLectures.Net Recommender System
Challenge» (ECML/PKDD Discovery Challenge 2011)
Прикладная
задача
Cold Start. Рекомендация новинки новичку.
http://tunedit.org/challenge/VLNetChallenge?m=summary
Описание лекции
101, 'Lecture', 'eng', 'biology', '2008-
12-04', '2009-02-12', 'Implementing
a common framework on business',
'Professor Rudolf Smith', ...
Практический семинар по АД Kaggle 32 слайд из 41 Дьяконов А.Г. (Москва, МГУ)
Mail.ru / Moscow Data Science Meetup 27 июня 2015 года
Технология решения задач DM.
«LENKOR»
Методы решения
Решено самым простым методом...
Метод ближайшего соседа
Nearest Neighbor
Метод k ближайших соседей
k Nearest Neighbors
k~100–1000
Нахождение метрики
),(),(),( 2122211121 TitleTitleAuthorAuthorLectureLecture cc
),( 21 SubjectSubjectnnc
Практический семинар по АД Kaggle 33 слайд из 41 Дьяконов А.Г. (Москва, МГУ)
Mail.ru / Moscow Data Science Meetup 27 июня 2015 года
История успеха kNN Методы решения
Практический семинар по АД Kaggle 34 слайд из 41 Дьяконов А.Г. (Москва, МГУ)
Mail.ru / Moscow Data Science Meetup 27 июня 2015 года
История одного эксперимента Методы решения
Пока не удалось решать действительно просто...
Практический семинар по АД Kaggle 35 слайд из 41 Дьяконов А.Г. (Москва, МГУ)
Mail.ru / Moscow Data Science Meetup 27 июня 2015 года
Выделение кругов пользователей в эго-
подграфах графов социальной сети
Прикладная
задача
Практический семинар по АД Kaggle 36 слайд из 41 Дьяконов А.Г. (Москва, МГУ)
Mail.ru / Moscow Data Science Meetup 27 июня 2015 года
Круг пользователей Терминология
Здесь: соцсеть =
граф + признаки вершин
Круг – подмножество друзей
Определяет пользователь
Себя в круг не включает
Круги могут пересекаться
Не все друзья в кругах
Практический семинар по АД Kaggle 37 слайд из 41 Дьяконов А.Г. (Москва, МГУ)
Mail.ru / Moscow Data Science Meetup 27 июня 2015 года
Спектральная теория графов Методы решения
ВВииззууааллииззаацциияя ппоо 11йй ии 22йй SSVVDD--ккооммппооннееннттее
0 50 100 150 200 250 300 3500
50
100
150
200
250
300
350
ппррааввииллььнныыйй ооттввеетт
0 50 100 150 200 250 300 3500
50
100
150
200
250
300
350
ооттввеетт ааллггооррииттммаа
Практический семинар по АД Kaggle 38 слайд из 41 Дьяконов А.Г. (Москва, МГУ)
Mail.ru / Moscow Data Science Meetup 27 июня 2015 года
Спектральная теория графов Методы решения
Практический семинар по АД Kaggle 39 слайд из 41 Дьяконов А.Г. (Москва, МГУ)
Mail.ru / Moscow Data Science Meetup 27 июня 2015 года
Классификация биомедицинских научных статей
«Topical Classification of
Biomedical Research Papers»
Прикладная
задача
Написать алгоритм для автоматической классификации
биомедицинских научных статей (10000 статей) на 83 класса.
Каждая статья описывается 25000 признаками.
TF-IDF
Практический семинар по АД Kaggle 40 слайд из 41 Дьяконов А.Г. (Москва, МГУ)
Mail.ru / Moscow Data Science Meetup 27 июня 2015 года
Матричное уравнение Методы решения
load S.mat % матрица обучающий объект - признак
load L.mat % матрица классификации обучающих объектов
load S2.mat % матрица тестовый объект - признак
S = bsxfun(@rdivide, S, sqrt(sum(S, 2))); % предварительная
нормировка
[~,~,Sc] = svds(S, 700);
Ysvd = S*Sc; % новая матрица обучающий объект - признак
S2 = bsxfun(@rdivide, S2, sqrt(sum(S2, 2)));
Ysvd2 = S2*Sc; % новая матрица тестовый объект – признак
% решение задачи линейной регрессии
Lsvd2 = Ysvd2*((Ysvd'*Ysvd)\(Ysvd'*L));
Практический семинар по АД Kaggle 41 слайд из 41 Дьяконов А.Г. (Москва, МГУ)
Mail.ru / Moscow Data Science Meetup 27 июня 2015 года
Спасибо за внимание
слайды будут доступны в блоге:
http://alexanderdyakonov.wordpress.com/