Введение в машинное обучение (курс лекций, К.В.Воронцов)

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

Перейти к: навигация, поиск

Содержание

Курс Введение в машинное обучение является сокращённым обзорным вариантом годового курса машинного обучения для студентов 3 курса МФТИ, начинающих обучение на кафедре Интеллектуальные системы по специализации «Интеллектуальный анализ данных».

От студентов требуются знания курсов линейной алгебры, математического анализа, теории вероятностей. Знание математической статистики, методов оптимизации, языка программирования Python желательно, но не обязательно.

Программа курса

Лекция 1. Научный метод и основные понятия машинного обучения

Слайды: (PDF 2.0 МБ) — обновление 20.02.2025.

Домашинная история машинного обучения

  • принцип эмпирической индукции Фрэнсиса Бэкона (1620)
  • научный метод: наблюдения, гипотезы, теории; принципы воспроизводимости, фальсифицируемости, соответствия, минимальной достаточности, воспроизводимости, научной честности
  • восстановление зависимостей по эмпирическим данным — основная задача естествознания
  • принцип наименьших квадратов Гаусса—Лежандра (1795); построение эллипса по точкам; линейные и нелинейные параметрические модели
  • принцип регрессии (и не только к посредственности) Фрэнсиса Гальтона (1886)
  • принцип классификации (и не только цветков ириса) Рональда Фишера (1936)

Базовые определения и обозначения

  • постановка задачи: дано—найти—критерий (ДНК задачи)
  • объекты и признаки; вычисление и генерация признаков; типы признаков и типы задач обучения с учителем
  • модель, функция потерь, критерий
  • обучение — это оптимизация параметров модели по выборке данных
  • переобучение; эксперимент с полиномиальной регрессией
  • эмпирическое оценивание обобщающей способности

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

  • медицинская диагностика
  • классификация текстов
  • прогнозирование объёмов продаж
  • ранжирование поисковой выдачи

Лекция 2. Метод стохастического градиента и линейные модели

Слайды: (PDF 1.8 МБ) — обновление 20.02.2025.

Градиентные методы оптимизации

  • оптимизационная постановка задачи обучения
  • метод стохастического градиента
  • ускорение сходимости и другие эвристики

Основные типы задач обучения с учителем

  • задача регрессии: функции потерь, робастная регрессия, вероятностная интерпретация
  • задача классификации: понятие отступа, функции потерь, многоклассовая классификация, ROC-кривая и площадь AUC-ROC
  • задача ранжирования: понятие парного отступа, парная функция потерь

Линейные модели

  • линейный классификатор — модель нейрона МакКаллока—Питтса (1943)
  • логистическая регрессия
  • проблема мультиколлинеарности
  • регуляризация L2, L1, L0, Lp; отбор признаков в линейных моделях
  • негладкость регуляризатора и негладкость функции потерь
  • пример прикладной задачи: банковский кредитный скоринг

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

Многослойные нейронные сети

  • первый нейрокомпьютер Mark-1 Фрэнка Розенблатта (1960)
  • многослойные нейронные сети
  • двух слоёв достаточно!(?) Теоремы о полноте
  • зимы искусственного интеллекта

Метод обратного распространения ошибок

  • постановка задачи оптимизации
  • быстрое дифференцирование суперпозиции функций
  • метод стохастического градиента
  • эвристики для ускорения сходимости

Глубокие нейронные сети

  • преимущества и обоснования глубоких сетей
  • обучаемая векторизация данных

Лекция 4. Основная ветвь эволюции машинного обучения

вектор → скаляр

  • общая постановка оптимизационной задачи с регуляризацией
  • регрессия и классификация, разновидности функций потерь

структура → вектор → скаляр

  • свёрточные сети для классификации изображений — прорыв векторизации
  • конкурс ImageNet, сеть AlexNet — прорыв больших данных
  • сеть ResNet — прорыв глубины
  • перенос обучения, самостоятельное обучение — прорыв предобучения

структура → вектор → структура

  • автокодировщики
  • генеративная состязательная сеть
  • задачи и подходы анализа текстов
  • модель внимания для машинного перевода
  • трансформеры кодировщики и декодировщики
  • фундаментальные модели

Лекция 5. Обучаемая векторизация данных

Матричные разложения

  • метод главных компонент
  • неотрицательные матричные разложения
  • стохастические матричные разложения
  • вероятностное тематическое моделирование
  • рекомендательные системы

Векторные представления текстов и графов

  • модели дистрибутивной семантики, word2vec
  • многомерное шкалирование, tSNE
  • графовые разложения

Трансформеры и большие языковые модели

  • модель внимания
  • трансформер для машинного перевода
  • трансформер-кодировщик BERT, критерии обучения
  • трансформер-декодировщик GPT, критерии обучения
  • будущее промптинга: лингвистическая теория коммуникации человека и машины

Лекция 6. Методология машинного обучения

Шесть школ машинного обучения по П.Домингосу

  • символизм, коннекционизм, эволюционизм, байесионизм, аналогизм, композиционизм
  • нужно ли искать «мастер-алгоритм»?

Типология задач машинного обучения

  • обучение с учителем: регрессия, классификация, ранжирование
  • обучение без учителя: восстановление плотности, кластеризация, векторизация, генерация
  • мультизадачное обучение
  • инкрементное и онлайновое обучение, прогнозирование
  • активное обучение
  • обучение с подкреплением

Методология решения практических задач

  • межотраслевой стандарт CRISP-DM
  • реальные данные: сырые, неполные, неточные, неудобные, разнородные, «грязные»
  • предобработка данных
  • оценивание качества моделей
  • автоматизация подбора моделей AutoML и мета-обучение

Лекция 7. Вероятностные модели

Принцип максимума правдоподобия

  • восстановление плотности распределения
  • разделение смеси распределений, EM-алгоритм, гауссовские смеси
  • обучение регрессии
  • обучение классификации
  • вероятностный смысл регуляризации

Логистическая регрессия

  • двухклассовая, многоклассовая
  • задача кредитного скоринга
  • калибровка Платта

Байесовская теория классификации

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

Лекция 8. Метрические методы

Метрические методы классификации

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

Метрические методы регрессии

  • ядерное сглаживание Надарайя-Ватсона
  • проблемы выбора ядра, ширины окна и эталонных объектов

Метрические методы обучения без учителя

  • восстановление плотности распределения, оценка Парзена-Розенблатта
  • методы кластеризации: k-Means, DBscan

Лекция 9. Логические методы

Задача поиска логических закономерностей в данных

  • школа М.М.Бонгарда: ранние программы «Открой закон» и «Арифметика»
  • тесты М.М.Бонгарда («Проблемы узнавания», 1967)
  • проблема переобучения (предрассудков по М.М.Бонгарду)
  • почему тройки признаков — обоснование Закревского

Алгоритмы поиска информативных закономерностей

  • алгоритм КОРА
  • поиск правил в PN-пространстве
  • критерии информативности
  • правила — это новые бинарные признаки
  • голосование — это линейный классификатор

Решающие деревья

  • принцип «разделяй и властвуй», алгоритм ID3
  • критерии ветвления
  • преобразование дерева в конъюнктивные правила

Лекция 10. Эволюционные методы

Комбинаторный отбор признаков

  • задача выбора модели
  • внутренние и внешние критерии
  • полный перебор
  • жадные методы: add, del, add-del
  • поиск в глубину

Метод группового учёта аргументов

  • школа А.Г.Ивахненко
  • поиск в ширину — многорядный алгоритм МГУА

Эволюционные алгоритмы и метаэвристики

  • эволюционный алгоритм отбора признаков
  • случайный поиск с адаптацией
  • символьная регрессия

Лекция 11. Композиционные методы

Бэггинг и бустинг

  • простое голосование
  • случайные леса
  • градиентный бустинг

Обобщающая способность композиций

  • эксперименты с бустингом и бэггингом — прорыв сложности
  • теоретические обоснования обобщающей способности

Алгоритмы вычисления оценок

  • школа Ю.И.Журавлёва: анализ малых данных и ансамблирование
  • тупиковые тесты и тупиковые представительные наборы
  • пример: поиск золотоносных месторождений редкого типа

Лекция 12. Теория обобщающей способности

Комбинаторные оценки переобучения

  • школа В.Н.Вапника и А.Я.Червоненкиса
  • вероятность переобучения и полный скользящий контроль
  • вероятность большого отклонения частот в двух выборках
  • гипергеометрическое распределение
  • функция роста и размерность Вапника-Червоненкиса (ёмкость)
  • почему мы делаем неверные выводы из верных данных?
  • проблема завышенности оценок и пути её устранения

Эксперименты с переобучением простых семейств

  • матрица ошибок семейства алгоритмов
  • эксперименты с монотонной цепью алгоритмов
  • эксперименты с парой алгоритмов

Эффекты расслоения и связности

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

Лекция 13. Комбинаторная теория переобучения

Оценка переобучения метода ближайшего соседа

  • метод порождающих и запрещающих множеств для объектов
  • профиль компактности выборки
  • минимизация переобучения при отборе эталонных объектов

Оценка переобучения монотонного классификатора

  • профиль монотонности выборки
  • минимизация переобучения при построении монотонной композиции

Другие применения комбинаторных оценок

  • слабая вероятностная аксиоматика
  • проверка статистических гипотез
  • критерий знаков
  • двухвыборочный критерий Смирнова и усечённый треугольник Паскаля

См. также

Литература

  1. Hastie T., Tibshirani R., Friedman J. The Elements of Statistical Learning. Springer, 2014. — 739 p.
  2. Bishop C. M. Pattern Recognition and Machine Learning. — Springer, 2006. — 738 p.
  3. Мерков А. Б. Распознавание образов. Введение в методы статистического обучения. 2011. 256 с.
  4. Мерков А. Б. Распознавание образов. Построение и обучение вероятностных моделей. 2014. 238 с.
  5. Коэльо Л.П., Ричарт В. Построение систем машинного обучения на языке Python. 2016. 302 с.
Личные инструменты