Компания
493,63
рейтинг
2 января 2014 в 18:58

Разработка → Machine Learning. Курс от Яндекса для тех, кто хочет провести новогодние каникулы с пользой tutorial

Новогодние каникулы – хорошее время не только для отдыха, но и для самообразования. Можно отвлечься от повседневных задач и посвятить несколько дней тому, чтобы научиться чему-нибудь новому, что будет помогать вам весь год (а может и не один). Поэтому мы решили в эти выходные опубликовать серию постов с лекциями курсов первого семестра Школы анализа данных.

Сегодня — о самом важном. Современный анализ данных без него представить невозможно. В рамках курса рассматриваются основные задачи обучения по прецедентам: классификация, кластеризация, регрессия, понижение размерности. Изучаются методы их решения, как классические, так и новые, созданные за последние 10–15 лет. Упор делается на глубокое понимание математических основ, взаимосвязей, достоинств и ограничений рассматриваемых методов. Отдельные теоремы приводятся с доказательствами.



Читает курс лекций Константин Вячеславович Воронцов, старший научный сотрудник Вычислительного центра РАН. Заместитель директора по науке ЗАО «Форексис». Заместитель заведующего кафедрой «Интеллектуальные системы» ФУПМ МФТИ. Доцент кафедры «Математические методы прогнозирования» ВМиК МГУ. Эксперт компании «Яндекс». Доктор физико-математических наук.


Лекция 1. Основные понятия и примеры прикладных задач


  • Постановка задач обучения по прецедентам. Объекты и признаки. Типы шкал: бинарные, номинальные, порядковые, количественные.
  • Типы задач: классификация, регрессия, прогнозирование, кластеризация.
  • Основные понятия: модель алгоритмов, метод обучения, функция потерь и функционал качества, принцип минимизации эмпирического риска, обобщающая способность, скользящий контроль.
  • Примеры прикладных задач.

Лекция 2. Байесовские алгоритмы классификации, непараметрические методы


  • Вероятностная постановка задачи классификации. Основные понятия: априорная вероятность, апостериорная вероятность, функция правдоподобия класса.
  • Функционал среднего риска. Ошибки I и II рода.
  • Оптимальный байесовский классификатор.
  • Оценивание плотности распределения: три основных подхода.
  • Наивный байесовский классификатор.
  • Непараметрическое оценивание плотности распределения по Парзену-Розенблатту. Выбор функции ядра. Выбор ширины окна, переменная ширина окна. Метод парзеновского окна.
  • Непараметрический наивный байесовский классификатор.
  • Робастное оценивание плотности. Цензурирование выборки (отсев объектов-выбросов).

Лекция 3. Параметрические методы, нормальный дискриминантный анализ


  • Многомерное нормальное распределение: геометрическая интерпретация, выборочные оценки параметров: вектора математического ожидания и ковариационной матрицы.
  • Квадратичный дискриминант. Вид разделяющей поверхности. Подстановочный алгоритм, его недостатки и способы их устранения.
  • Линейный дискриминант Фишера.
  • Проблемы мультиколлинеарности и переобучения. Регуляризация ковариационной матрицы.
  • Метод редукции размерности.
  • Модель смеси распределений.
  • EM-алгоритм: основная идея, понятие скрытых переменных, Е-шаг, М-шаг. Конструктивный вывод формул М-шага (без обоснования сходимости).

Лекция 4. EM-алгоритм и сеть радиальных базисных функций


  • Критерий останова, выбор начального приближения, выбор числа компонент.
  • Стохастический EM-алгоритм.
  • Смесь многомерных нормальных распределений. Сеть радиальных базисных функций (RBF) и применение EM-алгоритма для её настройки.
  • Метод ближайших соседей (kNN) и его обобщения.
  • Подбор числа k по критерию скользящего контроля.

Лекция 5. Метрические алгоритмы классификации


  • Обобщённый метрический классификатор, понятие отступа.
  • Метод потенциальных функций, градиентный алгоритм.
  • Отбор эталонных объектов. Псевдокод: алгоритм СТОЛП.
  • Функция конкурентного сходства, алгоритм FRiS-СТОЛП.
  • Биологический нейрон, модель МакКаллока-Питтса.
  • Линейный классификатор, понятие отступа, непрерывные аппроксимации пороговой функции потерь.

Лекция 6. Линейные алгоритмы классификации


  • Квадратичная функция потерь, метод наименьших квадратов, связь с линейным дискриминантом Фишера.
  • Метод стохастического градиента и частные случаи: адаптивный линейный элемент ADALINE, перcептрон Розенблатта, правило Хэбба.
  • Недостатки метода стохастического градиента и способы их устранения. Ускорение сходимости, «выбивание» из локальных минимумов. Проблема переобучения, редукция весов (weight decay).
  • Гипотеза экспоненциальности функций правдоподобия классов.
  • Теорема о линейности байесовского оптимального классификатора.
  • Оценивание апостериорных вероятностей классов с помощью сигмоидной функции активации.
  • Логистическая регрессия. Принцип максимума правдоподобия и логарифмическая функция потерь.
  • Метод стохастического градиента, аналогия с правилом Хэбба.

Лекция 7. Метод опорных векторов (SVM)


  • Оптимальная разделяющая гиперплоскость. Понятие зазора между классами (margin). Случаи линейной разделимости и отсутствия линейной разделимости.
  • Связь с минимизацией регуляризованного эмпирического риска. Кусочно-линейная функция потерь.
  • Задача квадратичного программирования и двойственная задача. Понятие опорных векторов.
  • Рекомендации по выбору константы C.
  • Функция ядра (kernel functions), спрямляющее пространство, теорема Мерсера.
  • Способы конструктивного построения ядер. Примеры ядер.
  • Сопоставление SVM с гауссовским ядром и RBF-сети.

Лекция 8. Линейные методы классификации: обобщения и обзор


  • Теоретические обоснования различных непрерывных функций потерь и различных регуляризаторов.
  • Байесовский подход. Принцип максимума совместного правдоподобия данных и модели.
  • Некоторые разновидности регуляризаторов, применяемые на практике. Квадратичный (L2) регуляризатор. L1- и L0- регуляризаторы и их связь с отбором признаков.
  • Метод релевантных векторов.
  • Сложностный подход. Радемахеровская сложность и некоторые её свойства. Верхняя оценка вероятности ошибки для линейных классификаторов.

Лекция 9. Методы восстановления регрессии


  • Задача восстановления регрессии, метод наименьших квадратов.
  • Одномерная непараметрическая регрессия (сглаживание): оценка Надарая-Ватсона, выбор ядра и ширины окна сглаживания.
  • Многомерная линейная регрессия. Сингулярное разложение.
  • Регуляризация: гребневая регрессия и лассо Тибширани.
  • Метод главных компонент и декоррелирующее преобразование Карунена-Лоэва.
  • Робастная регрессия: простой алгоритм отсева выбросов LOWESS.

Лекция 10. Прогнозирование временных рядов


  • Аддитивная и мультипликативная модели временного ряда. Тренд, сезонность, календарные эффекты.
  • Адаптивные модели: экспоненциальное сглаживание, модели Хольта-Уинтерса и Тейла-Вейджа.
  • Скользящий контрольный сигнал и модель Тригга-Лича.
  • Адаптивная селекция и композиция моделей прогнозирования.
  • Примеры прикладных задач: прогнозирование трафика, числа посещений, объёмов продаж.

Лекция 11. Нейронные сети


  • Структура многослойной нейронной сети. Функции активации.
  • Проблема полноты. Задача исключающего или. Полнота двухслойных сетей в пространстве булевских функций.
  • Алгоритм обратного распространения ошибок. Формирование начального приближения. Проблема паралича сети.
  • Методы оптимизации структуры сети. Выбор числа слоёв и числа нейронов в скрытом слое. Постепенное усложнение сети. Оптимальное прореживание сети (optimal brain damage).

Лекция 12. Алгоритмы кластеризации


  • Постановка задачи кластеризации. Типы кластерных структур.
  • Графовые методы кластеризации: алгоритм выделения связных компонент, алгоритм ФОРЭЛ, функционалы качества кластеризации.
  • Иерархическая кластеризация (таксономия): агломеративная иерархическая кластеризация, дендрограмма и свойство монотонности, свойства сжатия, растяжения и редуктивности.
  • Статистические методы кластеризации: EM-алгоритм, метод k-средних.

Лекция 13. Методы частичного обучения


  • Простые эвристические методы: особенности задачи SSL, метод self-training, композиции алгоритмов классификации.
  • Модификация методов кластеризации: оптимизационный подход, кластеризация с ограничениями.
  • Модификация методов классификации: трансдуктивный SVM, логистическая регрессия, Expectation Regularization.

Лекции 14-15. Композиции классификаторов. Бустинг (часть 1, часть 2)


  • Композиция классификаторов: задачи обучения композиций, классический алгоритм AdaBoost, градиентный бустинг.
  • Бэггинг и комитетные методы: бэггинг и метод случайных подпространств, простое и взвешенное голосование, голосование по старшинству.
  • Смеси алгоритмов: идея областей компетентности, итерационный метод обучения смеси, последовательное наращивание смеси.

Лекция 16. Оценки обобщающей способности


  • Задачи и критерии выбора метода обучения: задачи выбора модели или метода обучения, эмпирические оценки скользящего контроля, аналитические оценки и критерии регуляризации.
  • Теория обобщающей способности: вероятность переобучения и VC-теория, бритва Оккама, комбинаторная теория переобучения.
  • Методы отбора признаков: полный перебор и жадные алгоритмы, поиск в глубину и в ширину, стохастический поиск.

Лекция 17. Методы отбора признаков. Отбор признаков


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

Лекция 18. Логические алгоритмы классификации


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

Лекция 19. Логические алгоритмы классификации. Решающие деревья


  • Решающий список. Жадный алгоритм синтеза списка.
  • Решающее дерево. Псевдокод: жадный алгоритм ID3. Недостатки алгоритма и способы их устранения. Проблема переобучения.
  • Редукция решающих деревьев: предредукция и постредукция.
  • Преобразование решающего дерева в решающий список.
  • Алгоритм LISTBB.
  • Чередующиеся решающие деревья (alternating decision tree).
  • Невнимательные решающие деревья (oblivious decision tree).
  • Решающий лес и бустинг над решающими деревьями. Алгоритм TreeNet.

Лекция 20. Логические алгоритмы классификации. Взвешенное голосование


  • Методы синтеза конъюнктивных закономерностей. Псевдокод: алгоритм КОРА, алгоритм ТЭМП.
  • Эвристики, обеспечивающие различность и полезность закономерностей. Построение Парето-оптимальных закономерностей. Выравнивание распределения отступов.
  • Применение алгоритма бустинга AdaBoost к закономерностям. Критерий информативности в бустинге.
  • Примеры прикладных задач: кредитный скоринг, прогнозирование ухода клиентов.

Лекция 21. Поиск ассоциативных правил


  • Методы синтеза конъюнктивных закономерностей. Псевдокод: алгоритм КОРА, алгоритм ТЭМП.
  • Эвристики, обеспечивающие различность и полезность закономерностей. Построение Парето-оптимальных закономерностей. Выравнивание распределения отступов.
  • Применение алгоритма бустинга AdaBoost к закономерностям. Критерий информативности в бустинге.
  • Примеры прикладных задач: кредитный скоринг, прогнозирование ухода клиентов.

Лекция 22. Коллаборативные итерации


  • Постановка задачи и приложения.
  • Корреляционные модели, основанные на хранении данных, задача восстановления пропущенных значений функция близости.
  • Латентные модели: бикластеризация и матричные разложения, вероятностные латентные модели, эксперименты из данных Яндекса.

Лекции 23-24. Тематическое моделирование (часть 1, часть 2)


  • Задача тематического моделирования: вероятностная тематическая модель, униграммная модель.
  • Тематические модели PLSA и LDA: вероятностная латентная семантическая модель, латентное размещения Дирихле, эмпирические оценки качества тематических моделей.
  • Робастная вероятностная тематическая модель: модель с фоновой и шумовой компонентами, EM-алгоритм для робастной модели, разреженность робастной модели.

Лекция 25. Обучение с подкреплением


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


Update: все лекции курса «Машинное обучение» в виде открытой папки на Яндекс.Диске.
Автор: @anton
Яндекс
рейтинг 493,63

Комментарии (46)

  • +3
    Спасибо!
    Было бы класно, если бы вы их выложили в itunes, например как itunes.stanford.edu/
    • +1
      К сожалению, Россия не относится к перечню стран учебным заведениям которых разрешено выкладывать свои курсы на iTunes U.
      • +7
        Они нас совсем за дикарей считают, что ли?
        Вопрос риторический
        • +11
          По их планам Россия должна деградировать</sarcasm>
      • +2
        а подкаст — можно
  • +10
    Огромное спасибо! Это прекрасный новогодний подарок от прекрасной компании :)
  • +18
    Это очень круто! Интересующимся очень сильно советую ml-class.org/ Там хоть курс более обозрительный, но зато с графиком, домашними заданиями, которые систематизируют и очень сильно помогают закрепить знания на практике.
    Лекции на английском, но, по моему есть русские титры для тех кому нужно
    • +1
      Благодарю за ссылку! Только заинтересовался темой и загадал желание — сразу такие плюшки :) Главное — не бросить все на пол-пути :)
      • +3
        Пожалуйста! Я бы советовал совместит 2 курса. Мне практические задания очень помогли разобраться.
        • 0
          да, задания очень нужны для закрепления знаний на этом курсе (и вообще)
          я проходил этот курс на курсере (по ссылке выше) — очень понравилось, рекомендую
    • 0
      Этот курс хорош, только вот он уже закончился :)
      Скоро стартует похожий стенфордский курс class.stanford.edu/courses/HumanitiesScience/StatLearning/Winter2014/about
      • +1
        То что он закончился, никак не мешает взять его :) Но да, спасибо за ссылку!
      • 0
        Благодарю!
    • +2
      Интересно, на сколько Яндексовый курс сложнее? Я прочитал заголовки, и субъективно там какой-то дико сложный матан доступный лишь для очень умных. Обзорный курс на курсере, с другой стороны, совсем не страшный :)
  • +4
    Подняли бы свой edx что-ли, просто лекции не так круто как онлайн курс.
    code.edx.org
    • +7
      Мы думаем о подобном, но пока ещё не вполне готовы.
  • +4
    Читал лекции товарисча Воронцова в письменном виде — глубина рассмотрения теоретической составляющей вопроса вызывает уважение. Надо и с видео-курсом ознакомиться…
  • –4
    Не любит яндекс ютуб… А зря.
    • +10
      Увы, youtube — уже не серьёзно, после запуска туда роботов Content ID. Найдут в шумах совпадение со свистом ветра из какой-нибудь попсовой американской песенки, забанят. А ведь поддержка никак с пользователями не общается. Доказать что-то гуглу — проще застрелиться.
  • +1
    Пропустили заголовок
    Лекция 6. Линейные алгоритмы классификации
    и ссылку к нему.
    Слава богу, несложно было её найти самому.

    Большое спасибо Яндекс, что не ограничили скачивания — все одновременнно добавил на закачку. Правда, не понял почему файлы именуются по-разному и почему у второй половины лекций мне не пришлось вводить капчу
    • +2
      И точно. Спасибо, сейчас поправлю.
  • +9
    Было бы круто, если бы вы из лекций сделали курс на Coursera!
    • +9
      Так же было бы здорово приложить домашние задания. С ними намного быстрее вникаешь во все тонкости алгоритмов.
    • +3
      На хекслете тогда уж.
  • +1
    На digitaloctober.tv/ можно выложить?
    • 0
      Видео или ссылку? Разверните чуть подробнее, пожалуйста.
      • 0
        Всё ))
  • 0
    Большое спасибо! Сюдя по всему, это как раз то, чего не хватает всем зарубежным курсам по Machine Learning и Knowledge Discovery. Это теория, математика, объяснение того, как оно устроено «в кишках».
  • +2
    В первой лекции на 23:50 видно кота! :3
  • +2
    Все это очень здорово. Наверное, начну. Но — не хватает задачек, тестов и дедлайнов, как на курсере. Говорю это под впечатлением только что пройденного machine learning от Эндрю Энга.

    В-основном у него там все простенько, но между просмотром лекций и решеним(самому) любой задачки — неизмеримое расстояние.
    На Coursera, насколько я понимаю, могут создавать курсы только от какого-то ВУЗа, от коммерческий компаний я не видел. Так что нужно искать площадку или создавать самим…
  • 0
    В shad.yandex.ru/lectures/machine_learning_4.xml по ссылкам «скачать видео» лежит семинар, вместо самой лекции. А встроенное на страницу видео — верное
    • 0
      Спасибо, поправим.
  • 0
    Лично мне хотелось бы вникнуть в методы Журавлева оценки алгоритмов распознавания на алгебре над ними. В институте не дошел до понимания, осознал только, что это круто. По-моему, в списке лекций этогй темы нет.
  • 0
    А есть ли все презентации одним архивом в pdf?
    В принципе, их можно скачать в pptx со slideshare по одной и сконвертировать, не слишком сложно, но вдруг кто-то такое уже сделал :)
    • 0
      Тут есть все презентации в PDF.
  • 0
    Вместо слайдов для третьей лекции лежат слайды второй
    • +2
      У второй и третьей лекции общая презентация, вторая лекция охватывает чуть меньше половины из неё.
  • +1
    А есть возможность выложить торрент-файл со всеми лекциями?
    • 0
      Сейчас нет, но мы подумаем над этим.
    • 0
      Пока сделали в виде папки на Диске, возможно вам так тоже будет удобнее: yadi.sk/d/V9p7E6uAFjHcD
  • +1
    с именами файлов по ссылке «Скачать PC версию» ад какой-то.
    И до 13-й лекции включительно «сохранить на Я.Диск» не срабатывает.
  • 0
    А задания для самостоятельного решения (задачи на дом/практика) к этому курсу лекций где-то найти можно? А видео семинаров?
  • +1
    Спасибо за видео! Как раз начал заниматься CV, курс будет очень полезен!
  • +1
    Вот ещё интересные курсы в тему:
    www.eclass.cc/courselists/4_machine_learning
    www.eclass.cc/courselists/42_data_science

Только зарегистрированные пользователи могут оставлять комментарии. Войдите, пожалуйста.

Самое читаемое Разработка