41
П П р р а а к к т т и и ч ч е е с с к к и и й й с с е е м м и и н н а а р р п п о о А А Д Д K K a a g g g g l l e e С С о о р р е е в в н н о о в в а а н н и и я я п п о о а а н н а а л л и и з з у у д д а а н н н н ы ы х х : : и и с с т т о о р р и и я я , , т т а а к к т т и и к к а а , , п п р р о о с с т т ы ы е е м м е е т т о о д д ы ы Александр Дьяконов Московский государственный университет имени М.В. Ломоносова (Москва, Россия) Семинар MAIL.RU в рамках Moscow Data Science Meetup

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

  • Upload
    -

  • View
    1.570

  • Download
    2

Embed Size (px)

Citation preview

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

ППррааккттииччеессккиийй ссееммииннаарр ппоо ААДД KKaaggggllee

ССооррееввнноовваанниияя ппоо ааннааллииззуу ддаанннныыхх::

ииссттоорриияя,, ттааккттииккаа,, ппррооссттыыее ммееттооддыы

ААллееккссааннддрр ДДььяяккоонноовв

ММооссккооввссккиийй ггооссууддааррссттввеенннныыйй ууннииввееррссииттеетт

ииммееннии ММ..ВВ.. ЛЛооммооннооссоовваа ((ММоосскквваа,, РРооссссиияя))

ССееммииннаарр MMAAIILL..RRUU вв ррааммккаахх

MMoossccooww DDaattaa SScciieennccee MMeeeettuupp

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

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

+

Богатая история

Не всегда удобные сроки

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

Практический семинар по АД Kaggle 3 слайд из 41 Дьяконов А.Г. (Москва, МГУ)

Mail.ru / Moscow Data Science Meetup 27 июня 2015 года

2000е годы

Отдельные соревнования

Организуются лабораториями

Приурочены к конференциям

Нет вознаграждения

Нет онлайн-лидерборда

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

Практический семинар по АД Kaggle 4 слайд из 41 Дьяконов А.Г. (Москва, МГУ)

Mail.ru / Moscow Data Science Meetup 27 июня 2015 года

2000е годы... «Брендовые» соревнования

+

Внедрение идеи в научное сообщество

Издание тематических статей

Универсальные алгоритмы

Неудачная организация

2003

+ NIPS, WCCI, KDD Cup,

AISTATS, IJCNN

2008

+ DARPA

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

Практический семинар по АД Kaggle 5 слайд из 41 Дьяконов А.Г. (Москва, МГУ)

Mail.ru / Moscow Data Science Meetup 27 июня 2015 года

что происходило в среде DS...

Какие задачи решались и как...

признак 3-4-5-6

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

Практический семинар по АД Kaggle 6 слайд из 41 Дьяконов А.Г. (Москва, МГУ)

Mail.ru / Moscow Data Science Meetup 27 июня 2015 года

2001 – InnoCentive

+

Первый агрегатор соревнований

из всех областей

Непрозрачная система оценки

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

Практический семинар по АД Kaggle 7 слайд из 41 Дьяконов А.Г. (Москва, МГУ)

Mail.ru / Moscow Data Science Meetup 27 июня 2015 года

2007-2009 – Netflix Cup

+

Придал известность

конкурсам

Показал, что за это можно

платить...

Очень массовый

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

Практический семинар по АД Kaggle 8 слайд из 41 Дьяконов А.Г. (Москва, МГУ)

Mail.ru / Moscow Data Science Meetup 27 июня 2015 года

2009 – TunedIT

+

Первая

соревновательная

платформа по АД

Грамотные правила

Онлайн-лидерборд

50 загрузок

Форум/блог

Последнее

соревнование – 2012

Все эти идеи потом взял Kaggle

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

Практический семинар по АД Kaggle 9 слайд из 41 Дьяконов А.Г. (Москва, МГУ)

Mail.ru / Moscow Data Science Meetup 27 июня 2015 года

2010 – Kaggle

Tourism Forecasting Part Two

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

Практический семинар по АД Kaggle 10 слайд из 41 Дьяконов А.Г. (Москва, МГУ)

Mail.ru / Moscow Data Science Meetup 27 июня 2015 года

2010 – Kaggle

Отличия:

ориентация на бизнес

формирование сообщества

пиар

хантинг

чёткое разграничение целей

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

большие призовые

+

Спортивный АД стал модным

Сближение науки и бизнеса

Плохая подготовка задач (перевыкладки данных, история CA)

Несвоевременный отклик в форумах (см. Crowdflower)

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

Практический семинар по АД Kaggle 11 слайд из 41 Дьяконов А.Г. (Москва, МГУ)

Mail.ru / Moscow Data Science Meetup 27 июня 2015 года

Наши дни... ещё платформы…

Продолжение Clopinet

2010

2011

2014

Не смотря на нерентабельность...

последние новости: сокращение штата в Kaggle

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

Практический семинар по АД Kaggle 12 слайд из 41 Дьяконов А.Г. (Москва, МГУ)

Mail.ru / Moscow Data Science Meetup 27 июня 2015 года

А в России… от Яндекса до АлгоМоста

2009

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

2011

3-4 соревнования

2012

два турнира

2013

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

2013

Платформа (5 турниров)

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

Практический семинар по АД Kaggle 13 слайд из 41 Дьяконов А.Г. (Москва, МГУ)

Mail.ru / Moscow Data Science Meetup 27 июня 2015 года

Зачем участвовать в соревнованиях Причины

Псевдопричины

1. Деньги

2. Слава

3. Хорошая работа

Более весомо

1. Опыт

2. Решение новых задач

3. Мотивация для изучения нового

4. Реальная оценка знаний и умений

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

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

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

Практический семинар по АД Kaggle 15 слайд из 41 Дьяконов А.Г. (Москва, МГУ)

Mail.ru / Moscow Data Science Meetup 27 июня 2015 года

О деньгах... Причины

Лучший решатель на Кэгле:

44200$/(4*12) = 921$/мес

Активнейший решатель на Кэгле:

2000$/3/26 = 26$/мес

Cardal

Самый везучий на Кэгле:

35000$/6 = 5833$/мес

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

Практический семинар по АД Kaggle 16 слайд из 41 Дьяконов А.Г. (Москва, МГУ)

Mail.ru / Moscow Data Science Meetup 27 июня 2015 года

О славе... Причины

1. Кто был победителем первого конкурса Kaggle/KDD cup/Netflix?

2. У кого из россиян больше всех побед в международных

конкурсах?

3. Кто победил в первом Master турнире?

4. Кто дольше всех был чемпионом?

5. Кто из россиян побеждал на Kaggle?

Kaggle не рассказывает о решателях...

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

Практический семинар по АД Kaggle 17 слайд из 41 Дьяконов А.Г. (Москва, МГУ)

Mail.ru / Moscow Data Science Meetup 27 июня 2015 года

Jure Zbontar

Первый победитель Kaggle

Владимир Никулин

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

Дмитрий Ефимов

Победитель Master-турнира

Максим Иванов

Выиграл Facebook-2

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

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

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

Практический семинар по АД Kaggle 19 слайд из 41 Дьяконов А.Г. (Москва, МГУ)

Mail.ru / Moscow Data Science Meetup 27 июня 2015 года

Соревнования в учебном процессе Обучение

2009 – описание решений

прикладных задач

(ШАД – нет поддержки)

2011 – учебный процесс

(участие в соревновании,

нет энтузиазма)

2013 – полноценный спецкурс

"Прикладные задачи анализа

данных"

(читается на ВМК МГУ)

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

Практический семинар по АД Kaggle 20 слайд из 41 Дьяконов А.Г. (Москва, МГУ)

Mail.ru / Moscow Data Science Meetup 27 июня 2015 года

Соревнования в учебном процессе

2012

2014

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

Практический семинар по АД Kaggle 21 слайд из 41 Дьяконов А.Г. (Москва, МГУ)

Mail.ru / Moscow Data Science Meetup 27 июня 2015 года

1. Загрузки (2–5) Тактика

Проверка адекватности LB~LC

Донастройка модели

Расширение обучения за счёт

контрольной выборки

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

Практический семинар по АД Kaggle 22 слайд из 41 Дьяконов А.Г. (Москва, МГУ)

Mail.ru / Moscow Data Science Meetup 27 июня 2015 года

Когда нет Private Liderboard

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

Практический семинар по АД Kaggle 23 слайд из 41 Дьяконов А.Г. (Москва, МГУ)

Mail.ru / Moscow Data Science Meetup 27 июня 2015 года

Объединение в команды Тактика

Как произошло первое объединение...

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

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

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

Практический семинар по АД Kaggle 25 слайд из 41 Дьяконов А.Г. (Москва, МГУ)

Mail.ru / Moscow Data Science Meetup 27 июня 2015 года

Обмен кодом, идеями и т.п. Тактика

История появления одного запрета...

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

Практический семинар по АД Kaggle 26 слайд из 41 Дьяконов А.Г. (Москва, МГУ)

Mail.ru / Moscow Data Science Meetup 27 июня 2015 года

Что делать... Тактика

1. Свой бенчмарк

2. Функционал качества

3. Продумать контроль

4. [Matlab/Julia/...], R, Python

5. Форум/ статьи/ опыт

6. Алгоритмы

7. Ансамбли

8. Формирование решения

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

Практический семинар по АД Kaggle 27 слайд из 41 Дьяконов А.Г. (Москва, МГУ)

Mail.ru / Moscow Data Science Meetup 27 июня 2015 года

Типы турниров в Kaggle Соревнования

Признаки престижности турнира

деньги

бонусы

участники (качественный состав)

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

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

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

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

Два способа оценки максимума вероятностей – ансамбль.

Весовые схемы в оценке вероятностей.

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

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

пересчёт

прямой метод

перестановка

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

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

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

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

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

Практический семинар по АД Kaggle 33 слайд из 41 Дьяконов А.Г. (Москва, МГУ)

Mail.ru / Moscow Data Science Meetup 27 июня 2015 года

История успеха kNN Методы решения

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

Практический семинар по АД Kaggle 34 слайд из 41 Дьяконов А.Г. (Москва, МГУ)

Mail.ru / Moscow Data Science Meetup 27 июня 2015 года

История одного эксперимента Методы решения

Пока не удалось решать действительно просто...

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

Практический семинар по АД Kaggle 35 слайд из 41 Дьяконов А.Г. (Москва, МГУ)

Mail.ru / Moscow Data Science Meetup 27 июня 2015 года

Выделение кругов пользователей в эго-

подграфах графов социальной сети

Прикладная

задача

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

Практический семинар по АД Kaggle 36 слайд из 41 Дьяконов А.Г. (Москва, МГУ)

Mail.ru / Moscow Data Science Meetup 27 июня 2015 года

Круг пользователей Терминология

Здесь: соцсеть =

граф + признаки вершин

Круг – подмножество друзей

Определяет пользователь

Себя в круг не включает

Круги могут пересекаться

Не все друзья в кругах

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

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

ооттввеетт ааллггооррииттммаа

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

Практический семинар по АД Kaggle 38 слайд из 41 Дьяконов А.Г. (Москва, МГУ)

Mail.ru / Moscow Data Science Meetup 27 июня 2015 года

Спектральная теория графов Методы решения

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

Практический семинар по АД Kaggle 39 слайд из 41 Дьяконов А.Г. (Москва, МГУ)

Mail.ru / Moscow Data Science Meetup 27 июня 2015 года

Классификация биомедицинских научных статей

«Topical Classification of

Biomedical Research Papers»

Прикладная

задача

Написать алгоритм для автоматической классификации

биомедицинских научных статей (10000 статей) на 83 класса.

Каждая статья описывается 25000 признаками.

TF-IDF

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

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

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

Практический семинар по АД Kaggle 41 слайд из 41 Дьяконов А.Г. (Москва, МГУ)

Mail.ru / Moscow Data Science Meetup 27 июня 2015 года

Спасибо за внимание

слайды будут доступны в блоге:

http://alexanderdyakonov.wordpress.com/