Спецкурс «Прикладные задачи анализа данных»
Материал из MachineLearning.
(→Лекции) |
(→Правила) |
||
(285 промежуточных версий не показаны.) |
Текущая версия
В настоящее время курс не читается. |
Содержание |
Аннотация
Данный курс был победителем конкурса инновационных учебных технологий. |
Лектор: Дьяконов Александр
Основная цель: практика решения современных задач классификации, прогнозирования, регрессии, рекомендации и т.п., подготовка участников к соревнованиям на платформах Kaggle и Algomost.
Мероприятие проходит в двух режимах:
- спецкурса – лекции о решении прикладных задач, обучение некоторым системам анализа данных (например R, Matlab, Python+ и т.п.
- спецсеминара – обсуждение решаемых задач, выработка общих стратегий, разделение работы в рамках участия в соревновании одной командой, мозговой штурм и т.п.
Важно: от участников потребуется выполнение нетривиальных практических заданий!
Выпускники ПЗАДа, известные в спортивном анализе данных
2013 | 2014 | 2015 |
---|---|---|
Трофимов Михаил Рыжков Александр Софиюк Константин Фонарев Александр Харациди Олег | Гущин Александр Семёнов Станислав Фенстер Александра Ульянов Дмитрий Сиверский Михаил Шапулин Андрей Нижибицкий Евгений Остапец Андрей | это место вакантно |
Правила
- Рассылки материалов делаются только зарегистрированным слушателям курса (перечислены в таблице слушателей).
- Слушатели, которые перестают делать домашние задания, удаляются из таблицы.
- За каждое задание можно было получить от 0 до 10 штрафных баллов. 10 штрафных баллов понижают итоговую оценку на один балл.
- Для аспирантов и студентов ВМК: важно вовремя делать задания (опоздания штрафуются); экзамена, как такового, не будет; штрафы могут быть исправлены только качественным выполнением последующих заданий
Участник | Учёба/работа | Прогноз визитов | Rossmann | Walmart-1 | Прогноз рёбер - 1 неделя | Прогноз рёбер - отчёт | |
---|---|---|---|---|---|---|---|
Нестеров Павел Алексеевич | mail.ru | + | + | + | |||
Татараидзе Александр Бидзинович | МГТУ им. Н.Э. Баумана | + | + | + | + | ||
Николаев Владимир Владимирович | ВМК МГУ, 317 группа | + | + | + | + | отлично | |
Авдеев Вадим Александрович | Аспирантура мехмата МГУ | 1 место | -10 | + | + | ||
Москвин Сергей Сергеевич | ГУ-ВШЭ, факультет экономики | 3 место | -10 | -10 | + | ||
Тильга Сергей Денисович | Мех-мат, МГУ, 408 группа | -10 | + | -10 | |||
Майоров Николай Александрович | мехмат МГУ + ШАД | 2 место | -10 | -10 | + | ||
Ахметов Андрей Юревич | Avon | + | -10 | + | |||
Сазонтьев Владимир Владимирович | Аспирантура ВШЭ, Cyberplat | + | + | + | + | ||
Елтышев Евгений Николаевич | МФТИ ФИВТ, ШАД | -10 | -5 | -10 | deleted | ||
Цитко Денис Юрьевич | ООО "Информикус" | -10 | + | + | |||
Панкратов Антон Михайлович | ВМК МГУ, 417 группа | -10 | + | + | + | отлично | |
Селютина Юлия Дмитриевна | Rambler&Co | + | -10 | -10 | |||
Полякова Нина Михайловна | ВМК МГУ, 417 группа | -10 | + | + | + | отлично | |
Субботин Игорь Анатольевич | Wild Apricot | + | + | + | |||
Харченко Максим Александрович | Lamoda group | -10 | + | + | |||
Нехаев Антон Вадимович | АлгоМост | + | + | + | |||
Кузнецов Роман Леонидович | ФУПМ МФТИ, ШАД | -10 | + | + | |||
Болкунов Дмитрий Сергеевич | АлгоМост | + | -5 | + | |||
Гусак Юлия Валерьевна | мехмат МГУ, аспирантура | -10 | -10 | -10 | deleted | ||
Литвинов Денис Владимирович | аспирант ВМК МГУ | -10 | + | -10 | -10 | удовлетворительно | |
Мозохина Анастасия Сергеевна | ВМК, ООО "Медицина. Восток-Запад" | + | + | + | + | отлично | |
Родионов Павел Вадимович | Аспирант ВМК МГУ | -10 | -10 | + | + | хорошо | |
Воронов Михаил Сергеевич | аспирант ВМК МГУ, --- | -10 (нет участия) | -10 | -10 | -10 | deleted неуд |
Лекции
Здесь будет выложена программа нового (2015 года) - по мере чтения курса.
Старые программы см. на страницах прошлых лет.
Число | Лекция | Материалы, замечания |
---|---|---|
16.09.15 | Вводное занятие: цели курса, материалы, правила, участие в соревнованиях.
Разбор конкурсных задач: решение задачи [Search Results Relevance] (классическая и неклассическая задачи поиска, сравнение блоков информации, 3-граммы, настройка случайного леса, деформация ответов и решающие правила, выравнивание распределений ответов). Домашнее задание №1: решение задачи [MSUvisits] (прогноз дня недели следующего визита клиента). | слайды в рассылке |
23.09.15 | Оценка среднего, оценка вероятности, оценка плотности. Весовые схемы.: проблема оценки среднего, выбросы, разные целевые функционалы, оценка минимального контраста, среднее по Колмогорову, SMAPE-минимизация, двухэтапные алгоритмы и их настройка, пересчёт вероятности и прямая оценка, введение весовых схем, устойчивость весовых схем, ансамблирование, непараметрическое восстановление плотности, весовые схемы при оценке плотности. Задача [dunnhumby's Shopper Challenge]. Задача [пробки].
Домашнее задание №1: ещё неделя на решение, потом неделя на отчёты. Материалы:
| слайды в рассылке |
30.09.15 | продолжение Оценка среднего, оценка вероятности, оценка плотности. Весовые схемы.
Разбор конкурсных задач: решение задачи [Liberty Mutual Group: Property Inspection Prediction] (настройка xgboost, ансамбль их сигмоид над xgboost, особенности в целевом признаке), решение задачи [Caterpillar Tube Pricing]. | слайды в рассылке |
07.10.2015 | Искусство визуализации: признаки в задаче [bioresponse], выделение групп признаков, что можно увидеть в данных, оценка признаков и фолдов, деформация ответов, устойчивость закономерностей, профили лет (в прогнозировании вр.рядов), плотности, оценка качества признаков с помощью RF и удалений, результаты алгоритмов и их линейные комбинации, ручная деформация пространств, визуализация и сглаживание плотностей, построение профилей. Что надо знать о признаках. Визуализация по-вертикали и по-горизонтали. Шумы и шумовые признаки. Определение свойств признака (категориальность, группы значений и т.п.). Задачи [cause-effect-pairs], [GiveMeSomeCredit], [DarkWorlds], [Liberty].
Материалы:
Новое домашнее задание: Rossmann Store Sales (Сделать за неделю свой бенчмарк - появиться в лидерборде) | |
14.10.2015 | Искусство визуализации (продолжение).
Функции ошибки / функционалы качества: MAE, RMSE, SMAPE, MAP, MRAE, REL_MAE, PB, нормированные ошибки, несимметричные ошибки, ошибки с точностью до порога, MCE, точность (Precision), полнота, специфичность, False Positive Rate, F1-мера, AUROC, GINI, Log Loss, Hamming Loss, MAP, Discounted Cumulative Gain (DCG), Quadratic Weighted Kappa, редакторское расстояние. Матожидание ошибок. Генерация признаков с помощью функций ошибок. Confusion matrix. Материалы:
Домашнее задание: Rossmann Store Sales (Сделать небольшой отчёт по исследованию задачи и простым методам в ветке) | |
21.10.2015 | Обмен опытом (решение домашних заданий)
Домашнее задание: Rossmann Store Sales (Сделать за 3 недели отчёт в виде pdf-презентации в ветке) | |
28.10.2015 | Функции ошибки / функционалы качества (продолжение). | |
11.11.2015 | Минимизация ошибок: построение дерева, максимизирующего ROC AUC, получение интервальных значений целевого признака, деформация для Root Mean Square Percentage Error, оптимизация log_loss для логистической регрессии, линейной ререссии, оптимизация СКО для логистической регрессии, линейной регрессии.
Линейные алгоритмы: персептронный алгоритм, режимы обучения, концепция поощрение-наказание, концепция минимизации функционала, линейная регрессия, SGD, delta-bar-delta, хэширование признаков, регуляризация, обобщения регрессии, прогноз раскупаемости, прогноз методом kNN, прогноз линейным оператором, линейный алгоритм над SVD, признаковое прогнозирование спроса, профили товаров, сезонность, LibSVM, LibLinear. Задачи: [JRS12], [NN5], [tourism2]. материалы:
| слайды в рассылке |
18.11.2015 | Линейные алгоритмы (продолжение).
Анализ текстов: классификация и регрессия - этапы работы с текстом, токенизация, стоп-слова, векторное представление документа, n-граммы, стемминг, алгоритм Портера, TF*IDF, оценки качества (точность, полнота, F-мера), классификация спама, Local and Global Consistency, этапные алгоритмы, устойчивые признаки, иерархическая классификация текстов, основные методы (Роше, kNN, SVM), приведение к шаблону, обнаружение оскорблений, распределение по топикам (задача со многими классами), блендинг алгоритмов, фонетические алгоритмы. Задачи: [spam], [LSHTC], [JRS12]. Материалы:
| слайды в рассылке |
25.11.2015 | Анализ текстов: классификация и регрессия (продолжение).
| |
02.12.15 | Категориальные признаки: терминология, задачи, one-hot-кодировки, конъюнкции признаков, хранение в sparse-матрицах, линейные методы, байесовские алгоритмы, сингулярные разложения, методы, основанные на близости (kNN+АВО), тензорные разложения, случайные кодировки, кодировки относительно вещественных признаков, SVD-кодировки, ансамбли алгоритмов, факторизационные машины,
материалы:
| слайды в рассылке
|
09.12.15 | Случайные леса: универсальные методы анализа данных, бэггинг и бустинг, построение одного дерева, OOB(out of bag)-проверка, параметры случайного леса (random forest: mtry, nodesize, samplesize) и их настройка, рейтинг признаков (importance, %IncMSE, IncNodePurity, Boruta, ACE). Программирование случайного леса. Области устойчивости функционалов. Искусство генерации признаков: географические и временные признаки. Концепция чёрного ящика на примере GBM. Настройка параметров GBM, суммирование. Нестандартные функционалы и настройка на них. Калибровка ответов алгоритмов. Сведение задачи рекомендации к регрессии. Критерии расщепления.
Разбор задач [see-click-predict-fix], [wikimart]. материалы:
Домашнее задание: соревнование "Прогнозирование появление рёбер в графе соцсети". За неделю преодолеть бенчмарк "Решение за 5 минут". | слайды в рассылке
|
16.12.15 | Анализ социальных сетей: примеры соцсетей, динамические графы, приложения анализа социальных сетей, понятие сложной сети (complex network), безмасштабные сети (scale-free), модель малого мира (small world), коэффициент кластеризации (clustering coefficient), признаковые пространства для графов, формализация сходства и важности вершин, разные виды центральности (centrality).
Прогнозирование появления ребра в динамическом графе (Link Prediction Problem), коэффициенты Жаккара, Адамик/Адара, Katz, PageRank, решение задачи соревнования IJCNN Social Network Challenge, признаки для рёбер. Выделение сообществ в графах (Community detection): переборные методы, Edge betweenness, модулярность, Multilevel, распространение меток, Walktrap, спектральная теория графов, разложения матриц графа. Задача Learning Social Circles in Networks: определению кругов в эго-подграфах графа социальной сети (задача, данные, редакторское расстояние), материалы:
Домашнее задание: Преодолеть бенчмарк в соревновании "Прогнозирование появление рёбер в графе соцсети". |
|
23.12.15 | k ближайших соседей, настройка комбинаций алгоритмов: Сглаживание функционалов качества при использовании весовых схем. Ограничение методов типа kNN (тренд, некорректность метрики).
Примитивная настройка линейных комбинаций алгоритмов и метрик. Технология LENKOR (синтез близостей, составление комбинации близостей, настройка коэффициентов, добавление нелинейностей). Подробный разбор задачи детектирования оскорблений. Задачи [PhotoQualityPrediction] (определение качества фотографии по метаданным), [unimelb] (предсказывание успешности выполнения гранта), [VLNetChallenge] (рекомендация видеолекций для просмотра). Деформация ответов, теоремы Колмогорова, Горбаня и Пинкуса, алгебраический подход к коррекции и его правильное применение на практике. Материалы:
Пост-троечные последовательности: проблема обезличивания информации, построение рекомендательной системы для холодного старта в задаче [VLNetChallenge] (рекомендация видеолекций для просмотра). |
Отчётность
- отчёты по решению конкурсных задач (доклады с презентацией + исходники)
- зачёт с оценкой в конце семестра
Страницы курсов прошлых лет
Спецкурс «Прикладные задачи анализа данных» (2013 год)
Спецкурс «Прикладные задачи анализа данных» (2014 год)
Ссылки
- Книга Jure Leskovec, Anand Rajaraman, Jeff Ullman Mining of Massive Datasets * Неплохая книга на английском языке с обзором основных задач и методов в анализе данных (уровень сложности - средний).
- Книга Beautiful Visualization: Looking at Data through the Eyes of Experts (Theory in Practice) по визуализации данных
- Книга Шурыгин А.М. Математические методы прогнозирования * Неплохие идеи для решения некоторых практических задач статистики (но в целом, специфична)
- Статья Прогноз поведения клиентов супермаркетов с помощью весовых схем оценок вероятностей и плотностей.
- Книга Ту Дж., Гонсалес Р. Принципы распознавания образов * Уже чуть устаревшая книга. Но полистать стоит! Первая «энциклопедия по методам классификации».
- Прогнозирование рядов соревнования «Tourism Forecasting Part Two» (414Кб) * Подробное описание некоторых простых алгоритмов для прогнозирования туристических временных рядов.
- Статья A Blending of Simple Algorithms for Topical Classification * Описание метода классификации текстов. Содержание рассказывалось на лекции.
- Книга К.Д. Маннинг, П. Рагхаван, Х. Шютце «Введение в информационный поиск» * Простая, но хорошая книга по основам работы с текстом (прочитать обязательно).
- Статья Алгоритмы для рекомендательной системы: технология LENCOR.
- Книга Научно-популярная лекция «Введение в анализ данных» (PDF, 1.4 Мб) * Вводная лекция, которая написана для просеминара.
- Анализ данных, обучение по прецедентам, логические игры, системы WEKA, RapidMiner и MatLab (практикум на ЭВМ кафедры математических методов прогнозирования) * Глава 12 «Шаманство в анализе данных».
- Научно-популярная лекция «Шаманство в анализе данных» (1.21Мб) * Переработка предыдущего источника в научно-популярную лекцию.
- Научно-популярная лекция «Чему не учат в анализе данных и машинном обучении» * Рассказываются тонкости решения задач, которые умалчиваются в основных курсах.
- Дьяконов А. Методы решения задач классификации с категориальными признаками // Прикладная математика и информатика. Труды факультета Вычислительной математики и кибернетики МГУ имени М.В. Ломоносова. — 2014. — № 46. — С. 103–127 * Методы работы с категориальными признаками, описанные на лекции
- Y. Koren, R.M. Bell, C. Volinsky Matrix Factorization Techniques for Recommender Systems // IEEE Computer 42(8): 30-37 (2009). * Классика рекомендаций
- S. Funk Netflix Update: Try This at Home * Пост в блоге, с которого началось повальное использование SGD в Netflix
- LibFM: Factorization Machine Library * Сайт Рендела
- А. Liaw, M. Wiener Classification and Regression by randomForest // R News (2002) Vol. 2/3 p. 18.
- И. Генрихов О критериях ветвления, используемых при синтезе решающих деревьев // Машинное обучение и анализ данных, 2014, Т.1, №8, С.988-1017
- A. Natekin, A. Knoll Gradient boosting machines, a tutorial // Front Neurorobot. 2013; 7: 21.
- Л.Жуков курс Structural Analysis and Visualization of Networks в ВШЭ // http://leonidzhukov.net/hse/2015/socialnetworks/
Аналогичные курсы
- Data Science * Аналогичный (по духу) гарвардский курс
- Страница спецсеминара «Алгебра над алгоритмами и эвристический поиск закономерностей» * Приведены ссылки на сайты с данными реальных задач анализа данных.
Ещё ссылки
Неплохая короткая демка про соревнования в анализе данных, платформы для соревнований и возможности системы R.
РАНЕЕ ДОВОДИМАЯ ИНФОРМАЦИЯ
В сентябре 2015 года будет объявлен новый набор слушателей спецкурса.
Поскольку обычно желающих очень много, а работа на спецкурсе подразумевает сильную вовлечённость студентов и небольшое число слушателей, то будет произведён отбор.
Для участия в отборе необходимо:
- освоить (если его не было в учебной программе) курс Машинное обучение,
- выступить хотя бы в одном соревновании по анализу данных (см. ниже),
- пройти анкетирование (или собеседование в сентябре).
Список допустимых соревнований:
- Search Results Relevance соревнование уже закрыто
- Caterpillar Tube Pricing соревнование уже закрыто
- Liberty Mutual Group: Property Inspection Prediction соревнование уже закрыто
Результат будет учитываться при отборе. Участие в соревновании не гарантирует отбор!
Важно: участие в соревновании должно быть индивидуальное (в команде 1 человек), называйте команду по образцу: "Team Name (I want to PZAD)".
Как всегда: программа нового года будет слегка отличаться от предыдущих (добавлены новые темы, улучшено содержание).
Курс открыт для всех желающих, но при их большом количестве студенты/аспиранты ВМК МГУ пользуются преимуществом.
Вопросы можно задавать в комментариях к этому посту.
Засчитанные ники соревнования Search Results Relevance
- 39rus (I want to PZAD) - отличный результат
- Evgeny Nekrasov (I want to PZAD) - отличный результат
- Artem (I want to PZAD) - отличный результат
- Evgeny Eltyshev (I want to PZAD)
- Denis Tsitko (I want to PZAD)
- anketer (I want to PZAD)
- Andrey Akhmetov (I want to PZAD)
- cheerupdude (I want to PZAD)
- kvas7andy (I want to PZAD) - формальное участие
- Johny Cheescutter (I want to PZAD) - низкий результат
- Nonary Rustam( I want to PZAD) - формальное участие
- Pavel Blinov (I want to PZAD)
- Georgy Ivanov (I want to PZAD)
- HeBo (I want to PZAD)
- Igor Subbotin (I want to PZAD)
- Pasha Podolsky (I want to PZAD)
- Maxim Kharchenko (I want to PZAD)
- golovan (I want to PZAD) - слабая активность
Засчитанные ники соревнования Liberty Mutual Group: Property Inspection Prediction
Очень высокий результат:
- Iskander (I want to PZAD)
- Vladimir Nikolaev (I want to PZAD)
- VA (I want to PZAD)
Остальные результаты коррелируют с бенчмарками или хуже
- Ilya Aleshin(I Want to PZAD)
- dioexul (I want to PZAD)
- kvas7andy (I want to PZAD) формальное участие
- antklen (I want to PZAD)
- Янина Анастасия (I want to PZAD) формальное участие
- Denis Tsitko (I want to PZAD)
- Evgeny Nekrasov (I want to PZAD)
- Tilga Sergey (I want to PZAD)
- Igor Subbotin (I want to PZAD)
- Антон Панкратов (I want to PZAD)
- Kirill Lunev (I want to PZAD)
- Aleksey Pogrebnyak (I want to PZAD)
- WHGP (I want to PZAD)
- Evgeny Eltyshev (I want to PZAD)
- Btbpanda (I want to PZAD)
- dsmolyakov (I want to PZAD)
- Roman K (I want to PZAD) большая активность - 103
- Grigory Dymov (I want to PZAD)
- 39rus (I want to PZAD)
- Evgeny (I want to PZAD)
- Tazhoo Deen (I want to PZAD)
- Roman Khalkechev (I want to PZAD) формальное участие
- Mark Winogradov (I want to PZAD) формальное участие
- Taygrim(I want to PZAD) формальное участие
Засчитанные ники соревнования Caterpillar Tube Pricing
- Kaffo (I want to PZAD) высокий результат
- Sergey Tilga (I want to PZAD) высокий результат
- Nikolay Mayorov (I want to PZAD) высокий результат
- Andrey Akhmetov (I want to PZAD) высокий результат
- Vladimir (I want to PZAD) высокий результат
- Evgeny Eltyshev (I want to PZAD)
- Denis Tsitko (I want to PZAD)
- persiyanov (I want to PZAD)
- denny_sem[I want to PZAD]
- WHGP (I want to PZAD) формальное участие
- Антон Панкратов (I want to PZAD)
- dioexul (I want to PZAD)
- Янина Анастасия (I want to PZAD) формальное участие
- cheerupdude (I want to PZAD)
- grapefroot(I want to PZAD) формальное участие
- Maxim Kharchenko (I want to PZAD)
- Tazhoo Deen (I want to PZAD)
- Julia Gusak (I want to PZAD)
- mondgottin (I want to PZAD) формальное участие
- golovan (I want to PZAD)
- Roman Khalkechev (I want to PZAD) формальное участие
- kittens_gonna_kitt (I want to PZAD) формальное участие