Спецкурс «Прикладные задачи анализа данных»

Материал из MachineLearning.

(Различия между версиями)
Перейти к: навигация, поиск
(ДОВОДИМАЯ РАНЕЕ ИНФОРМАЦИЯ (уже не актуальна))
(Лекции)
Строка 216: Строка 216:
==Лекции==
==Лекции==
-
Здесь будет выложена программа нового (2014 года) - по мере чтения курса.
+
Здесь будет выложена программа нового (2015 года) - по мере чтения курса.
-
{| class="wikitable"
+
Старые программы см. на страницах прошлых лет.
-
|-
+
-
! Число
+
-
! Лекция
+
-
! Материалы, замечания
+
-
|-
+
-
| 24.09.14
+
-
| '''Matrix Laboratory (эффективное программирование)''': системы и языки для анализа малых данных, интерпретатор Matlab (достоинства и недостатки), типы данных (массивы ячеек, структуры, строки, логические массивы, NaN), матрицы (порождение, конкатенация, индексация, разреженные матрицы), операции над ними, фокусы с размерностями, файловый ввод и вывод, m-файлы (функции и скрипты), графика (начало), анонимные функции, поэлементные функции, основы эффективного программирования, возможности работы с большими данными
+
-
| [[Медиа:PZAD2014_slides_lecture01_matlab.pdf|слайды лекции 1]], рекомендованное учебное пособие: [[Публикация:Дьяконов 2010 Учебное пособие ММП|Анализ данных, обучение по прецедентам, логические игры, системы WEKA, RapidMiner и MatLab]]
+
-
|-
+
-
| 01.10.14
+
-
| '''Вводное занятие''': цели курса, материалы, правила, участие в соревнованиях.
+
-
'''Домашнее задание №1''': Соревнование [http://www.kaggle.com/c/learning-social-circles Learning Social Circles in Networks] по определению кругов в эго-подграфах графа социальной сети (задача, данные, их загрузка, редакторское расстояние), приложения анализа социальных сетей.
+
-
 
+
-
'''Анализ социальных сетей, определение кругов пользователей''': динамические графы, приложения анализа социальных сетей, погружение графов в признаковое пространство, сходство вершин, важность вершин.
+
-
| [[Медиа:PZAD2014_slides_lecture02part1.zip|слайды лекции 2 (zip, jpg 8Mb)]], книга [1], [http://www.kaggle.com/c/learning-social-circles/forums/t/10507/data-loading-for-matlab-users код для загрузки данных]
+
-
|-
+
-
| 08.10.14
+
-
| '''Анализ социальных сетей, определение кругов пользователей''' (продолжение): прогнозирование появления рёбер в динамическом графе, решение задачи соревнования [http://www.kaggle.com/c/socialNetwork IJCNN Social Network Challenge], признаки рёбер, алгоритм PageRank и его модификации, сообщества в графах и их выделение, спектральные методы на графах, генерация случайных графов.
+
-
 
+
-
'''Домашнее задание №1''': мозговой штурм.
+
-
| [[Медиа:PZAD2014_slides_lecture02part1.zip|слайды лекции 2 (zip, jpg 8Mb)]], статья [http://i.stanford.edu/~julian/pdfs/nips2012.pdf Learning to Discover Social Circles in Ego Networks], обзор [http://arxiv.org/abs/0906.0612 Community Detection in Graphs], обзор [http://www.ispras.ru/ru/proceedings/docs/2012/22/isp_22_2012_419.pdf Случайные графы, модели и генераторы].
+
-
|-
+
-
| 15.10.14
+
-
| '''Искусство визуализации данных''': игра "Что за данные", признаки в задаче [[http://www.kaggle.com/c/bioresponse bioresponse]], выделение групп признаков, что можно увидеть в данных, оценка признаков и фолдов, деформация ответов, устойчивость закономерностей, профили лет (в прогнозировании вр.рядов), плотности, оценка качества признаков с помощью RF и удалений, результаты алгоритмов и их линейные комбинации, ручная деформация пространств, визуализация и сглаживание плотностей, построение профилей. Что надо знать о признаках. Визуализация по-вертикали и по-горизонтали. Шумы и шумовые признаки. Задачи [[http://www.kaggle.com/c/cause-effect-pairs cause-effect-pairs]], [[http://www.kaggle.com/c/GiveMeSomeCredit GiveMeSomeCredit]], [[http://www.kaggle.com/c/DarkWorlds DarkWorlds]].
+
-
| [[Медиа:PZAD2014_slides_lecture03_visualize.zip|слайды лекции 3 (zip, jpg 7.6Mb)]], книга [2]
+
-
|-
+
-
| 22.10.14
+
-
| '''Оценка среднего, оценка вероятности, оценка плотности. Весовые схемы.''': проблема оценки среднего, выбросы, разные целевые функционалы, оценка минимального контраста, среднее по Колмогорову, SMAPE-минимизация, двухэтапные алгоритмы и их настройка, пересчёт вероятности и прямая оценка, введение весовых схем, устойчивость весовых схем, ансамблирование, непараметрическое восстановление плотности, весовые схемы при оценке плотности. Задача [[http://www.kaggle.com/c/dunnhumbychallenge dunnhumby's Shopper Challenge]]. Задача [[http://imat2010.yandex.ru/datasets пробки]].
+
-
| [[Медиа:PZAD2014_slides_lecture04_weights.rar|слайды лекции 4 (zip, jpg 9.3Mb)]], книга [3], статья [4]
+
-
|-
+
-
| 29.10.14
+
-
| '''Оценка среднего, оценка вероятности, оценка плотности. Весовые схемы.''' (продолжение)
+
-
|
+
-
|-
+
-
| 05.11.14
+
-
| '''Линейная классификация и регрессия''': персептронный алгоритм, режимы обучения, концепция поощрение-наказание, концепция минимизации функционала, линейная регрессия, SGD, хэширование признаков, регуляризация, обобщения регрессии, прогноз раскупаемости, прогноз методом kNN, прогноз линейным оператором, линейный алгоритм над SVD, признаковое прогнозирование спроса, профили товаров, сезонность, LibSVM, LibLinear. Задачи: [[http://tunedit.org/challenge/JRS12Contest?m=summary JRS12]], [[http://www.neural-forecasting-competition.com/NN5/results.htm NN5]], [[http://www.kaggle.com/c/tourism2 tourism2]]'''.
+
-
'''Разбор решения задачи соревнования''' [http://www.kaggle.com/c/learning-social-circles Learning Social Circles in Networks].
+
-
| [[Медиа:PZAD2014_slides_social_mymethods.zip|слайды разборов (zip, jpg 4Mb)]], отчёты участников высланы по почте, см. [5], [6], [7]
+
-
|-
+
-
| 12.11.14
+
-
| '''Линейная классификация и регрессия:''' продолжение.
+
-
Разбор решения задачи соревнования [http://www.kaggle.com/c/tradeshift-text-classification Tradeshift Text Classification].
+
-
| [[Медиа:PZAD2014_slides_lecture05_linears.zip|слайды лекции 5 (zip, jpg 7Mb)]] Разбор решений С.Семёнова и А.Гущина представлен авторами на занятии. [[Медиа:ttc.pdf|слайды А.Гущина (pdf)]]
+
-
|-
+
-
| 19.11.14
+
-
| '''Анализ текстов: классификация и регрессия''' - этапы работы с текстом, токенизация, стоп-слова, векторное представление документа, n-граммы, стемминг, алгоритм Портера, TF*IDF, оценки качества (точность, полнота, F-мера), классификация спама, Local and Global Consistency, этапные алгоритмы, устойчивые признаки, иерархическая классификация текстов, основные методы (Роше, kNN, SVM), приведение к шаблону, обнаружение оскорблений, распределение по топикам (задача со многими классами), блендинг алгоритмов, фонетические алгоритмы. Задачи: [[http://www.ecmlpkdd2006.org/challenge.html spam]], [[http://lib.iit.demokritos.gr/ LSHTC]], [[http://tunedit.org/challenge/JRS12Contest?m=summary JRS12]].
+
-
| книга [8], [[Медиа:PZAD2014_slides_lecture06_texts.rar|слайды лекции 6 (rar, jpg)]]
+
-
|-
+
-
| 26.11.14
+
-
| '''Анализ текстов: классификация и регрессия''' - (продолжение). Представление программы '''Vowpal Wabbit'''.
+
-
| [[Медиа:PZAD2014_add_vw.zip|слайды vw (zip, jpg)]]
+
-
|-
+
-
| 03.12.14
+
-
| '''Случайные леса''': универсальные методы анализа данных, бэггинг и бустинг, построение одного дерева, OOB(out of bag)-проверка, параметры случайного леса (random forest: mtry, nodesize, samplesize) и их настройка, рейтинг признаков (importance). Программирование случайного леса. Области устойчивости функционалов. Искусство генерации признаков: географические и временные признаки. Концепция чёрного ящика на примере GBM. Настройка параметров GBM, суммирование. Нестандартные функционалы и настройка на них. Калибровка ответов алгоритмов. Сведение задачи рекомендации к регрессии. Критерии расщепления.
+
-
Разбор задач [[http://www.kaggle.com/c/see-click-predict-fix/ see-click-predict-fix]], [[http://olymp.wikimart.ru/ wikimart]].
+
-
| [[Медиа:PZAD2014_slides_lecture07_rf.zip|слайды лекции 7 (zip, jpg)]]
+
-
|-
+
-
| 10.12.13
+
-
| '''k ближайших соседей, настройка комбинаций алгоритмов''': Сглаживание функционалов качества при использовании весовых схем. Ограничение методов типа kNN (тренд, некорректность метрики).
+
-
Примитивная настройка линейных комбинаций алгоритмов и метрик. Технология LENKOR (синтез близостей, составление комбинации близостей, настройка коэффициентов, добавление нелинейностей).
+
-
Подробный разбор задачи детектирования оскорблений.
+
-
Задачи [[http://www.kaggle.com/c/PhotoQualityPrediction PhotoQualityPrediction]] (определение качества фотографии по метаданным), [[http://www.kaggle.com/c/unimelb unimelb]] (предсказывание успешности выполнения гранта), [[http://tunedit.org/challenge/VLNetChallenge VLNetChallenge]] (рекомендация видеолекций для просмотра).
+
-
| статья [9]
+
-
|-
+
-
| 17.12.13
+
-
| '''k ближайших соседей, настройка комбинаций алгоритмов''' - (продолжение): деформация ответов, теоремы Колмогорова, Горбаня и Пинкуса, алгебраический подход к коррекции и его правильное применение на практике.
+
-
'''Обсуждение некоторых скоринговых данных.'''
+
-
| [[Медиа:PZAD2014_slides_lecture08_lenkor.zip|слайды лекции 8 (zip, jpg)]]
+
-
|}
+
-
 
+
-
 
+
-
 
+
-
Старую программу см. на странице
+
-
[[Спецкурс «Прикладные задачи анализа данных» (2013 год)]].
+
== Отчётность ==
== Отчётность ==

Версия 14:46, 7 июня 2015

В сентябре 2015 года будет объявлен новый набор слушателей спецкурса.

Поскольку обычно желающих очень много, а работа на спецкурсе подразумевает сильную вовлечённость студентов и небольшое число слушателей, то будет произведён отбор.

Для участия в отборе необходимо:

  • освоить (если его не было в учебной программе) курс Машинное обучение,
  • выступить хотя бы в одном соревновании по анализу данных (см. ниже),
  • пройти анкетирование (или собеседование в сентябре).

Список допустимых соревнований:

Результат будет учитываться при отборе. Участие в соревновании не гарантирует отбор! Важно: участие в соревновании должно быть индивидуальное (в команде 1 человек), называйте команду по образцу: "Team Name (I want to PZAD)".

Как всегда: программа нового года будет слегка отличаться от предыдущих (добавлены новые темы, улучшено содержание).

Курс открыт для всех желающих, но при их большом количестве студенты/аспиранты ВМК МГУ пользуются преимуществом.


Содержание

Аннотация

Данный курс стал победителем конкурса инновационных учебных технологий.


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

Основная цель: практика решения современных задач классификации, прогнозирования, регрессии, рекомендации и т.п., подготовка участников к соревнованиям на платформах Kaggle и Algomost.

Мероприятие проходит в двух режимах:

  • спецкурса – лекции о решении прикладных задач, обучение некоторым системам анализа данных (например R, Matlab, Python+ и т.п.
  • спецсеминара – обсуждение решаемых задач, выработка общих стратегий, разделение работы в рамках участия в соревновании одной командой, мозговой штурм и т.п.

Важно: от участников потребуется выполнение нетривиальных практических заданий!

Правила

  • Рассылки материалов делаются только зарегистрированным слушателям курса (перечислены в таблице слушателей).
  • Слушатели, которые перестают делать домашние задания, удаляются из таблицы.
  • За каждое задание можно было получить от 0 до 10 штрафных баллов. 10 штрафных баллов понижают итоговую оценку на один балл.
ЗАПИСАЛИСЬ группа 08.10 - соцсети
email/LB
15.10 - соцсети
преодоление порога
05.11 - что за данные 06.11 - отчёты по соцсетям 03.12 - click
kaggle
Семёнов Станислав Георгиевич ВШЭ - / 0 [-7] + + [-5] (2 место) [-10]
Арбузова Дарья Андреевна 517 + / + + + + +
Гущин Александр Евгеньевич МФТИ + / + + + + +
Потапенко Анна Александровна 617 + / + + + + +
Фенстер Александра Михайловна НИУ ВШЭ 172мАИД + / + + + + [-10]
Вихрева Мария Викторовна 315 + / + + + + +
Бахтин Антон Вячеславович МГУ, Яндекс + / - [-5] [-5] + [-10] +
Ульянов Дмитрий Владимирович 517 + / 0 [-2] + + + +
Шапулин Андрей Валентинович 417 + / + + + + (3 место) [-10]
Сиверский Михаил Николаевич физфак [-10] [-5] + + (1 место) +
Игнатов Алексей Николаевич 516 [-10] + + + [-10]
Сокурский Юрий Валентинович 517 + / + + [-10] [-10] Seizure
Дойков Никита Владимирович 417 + / + + + + +
Лукашкина Юлия Николаевна 417 [-10] + 0 [-10] [-10]
Байбурин Валерий Тагирович м118 + / - [-5] [-5] 0 [-10]
Дымов Григорий Андреевич Stockholm university + / + [-5] + + +
Чинаев Николай Николаевич DELETED [-10] [-5] [-10] [-10] [-10]
Хальман Михаил Анатольевич 417 + / + + + [-5] +
Нижибицкий Евгений аспВМК - / 0 [-7] + + + +
Остапец Андрей аспВМК - / + [-5] + + + +

Лекции

Здесь будет выложена программа нового (2015 года) - по мере чтения курса.

Старые программы см. на страницах прошлых лет.

Отчётность

  • отчёты по решению конкурсных задач (доклады с презентацией + исходники)
  • зачёт с оценкой в конце семестра

Страницы курсов прошлых лет

Спецкурс «Прикладные задачи анализа данных» (2013 год)

Спецкурс «Прикладные задачи анализа данных» (2014 год)

Ссылки

  1. Книга Jure Leskovec, Anand Rajaraman, Jeff Ullman Mining of Massive Datasets * Неплохая книга на английском языке с обзором основных задач и методов в анализе данных (уровень сложности - средний).
  2. Книга Beautiful Visualization: Looking at Data through the Eyes of Experts (Theory in Practice) по визуализации данных
  3. Книга Шурыгин А.М. Математические методы прогнозирования * Неплохие идеи для решения некоторых практических задач статистики (но в целом, специфична)
  4. Статья Прогноз поведения клиентов супермаркетов с помощью весовых схем оценок вероятностей и плотностей.
  5. Книга Ту Дж., Гонсалес Р. Принципы распознавания образов * Уже чуть устаревшая книга. Но полистать стоит! Первая «энциклопедия по методам классификации».
  6. Прогнозирование рядов соревнования «Tourism Forecasting Part Two» (414Кб) * Подробное описание некоторых простых алгоритмов для прогнозирования туристических временных рядов.
  7. Статья A Blending of Simple Algorithms for Topical Classification * Описание метода классификации текстов. Содержание рассказывалось на лекции.
  8. Книга К.Д. Маннинг, П. Рагхаван, Х. Шютце «Введение в информационный поиск» * Простая, но хорошая книга по основам работы с текстом (прочитать обязательно).
  9. Статья Алгоритмы для рекомендательной системы: технология LENCOR.
  10. Книга Научно-популярная лекция «Введение в анализ данных» (PDF, 1.4 Мб) * Вводная лекция, которая написана для просеминара.
  11. Анализ данных, обучение по прецедентам, логические игры, системы WEKA, RapidMiner и MatLab (практикум на ЭВМ кафедры математических методов прогнозирования) * Глава 12 «Шаманство в анализе данных».
  12. Научно-популярная лекция «Шаманство в анализе данных» (1.21Мб) * Переработка предыдущего источника в научно-популярную лекцию.
  13. Научно-популярная лекция «Чему не учат в анализе данных и машинном обучении» * Рассказываются тонкости решения задач, которые умалчиваются в основных курсах.

Аналогичные курсы

  1. Data Science * Аналогичный (по духу) гарвардский курс
  2. Страница спецсеминара «Алгебра над алгоритмами и эвристический поиск закономерностей» * Приведены ссылки на сайты с данными реальных задач анализа данных.

Ещё ссылки

Неплохая короткая демка про соревнования в анализе данных, платформы для соревнований и возможности системы R.

Личные инструменты