Соревнования по анализу данных: история, тактика,...

Preview:

Citation preview

ППррааккттииччеессккиийй ссееммииннаарр ппоо ААДД 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/

Recommended