Александр Дьяконов
Машинное обучение
Акт первый
О курсе
Основная задача программы – ознакомить студентов с теоретическими основами и основными принципами машинного обучения: с классами моделей (линейные, логические, нейросетевые), метриками качествами и подходами к подготовке данных.
Особое внимание в курсе уделяется вопросам предобработки и подготовки данных, генерации и селекции признаков, разведочному анализу данных. В курсе много примеров и практических советов. Кроме классических тем, уделяется время анализу сложных сетей, методам интерпретации данных и моделей.
Команда курса
Александр Дьяконов
Лектор
Артём Попов
Семинарист
Владимир Бугаевский
Семинарист
Петр Болотин
Семинарист
Александр Краснов
Семинарист
Программа курса
Вводная лекция
Структура курса, отчётность, лектор, цель курса.

Ключевые слова:

  1. Наука о данных (Data Sciense)
  2. Статистика (Statistics)
  3. Искусственный интеллект (Artificial Intelligence)
  4. Анализ данных (Data Mining)
  5. Машинное обучение (Machine learning)
  6. Большие данные (Big Data)

Постановка основных задач машинного обучения
  1. Обучение с учителем (с размеченными данными / метками)
  2. Целевая функция
  3. Объект
  4. Метка
  5. Классификация
  6. Прогнозирование
  7. Пространство объектов
  8. Признаковое пространство
  9. Извлечение признаков
  10. Визуализация задач
  11. Функции ошибки
  12. Эмпирический риск
  13. Обучающая выборка
  14. Задачи оптимизации в обучении
  15. Модель алгоритмов
  16. Алгоритм
  17. Обучение
  18. Обобщающая способность
  19. Схема решения задачи машинного обучения
  20. Как решаются задачи
  21. Обучение без учителя / c неразмеченными данными
  22. Обучение c частично размеченными данными
  23. Трансдуктивное обучение
  24. Обучение с подкреплением
  25. Структурный вывод
  26. Активное обучение
  27. Онлайн-обучение
  28. Transfer Learning
  29. Multitask Learning
  30. Feature Learning
  31. Проблемы в машинном обучении
  32. Примеры модельных задач

Математика в машинном обучении: краткий обзор
  1. Бритва Оккама
  2. Теорема о бесплатном сыре
  3. Футбольный оракул
  4. Сведения из твимс
  5. Задание распределений
  6. Средние и отклонения
  7. Условная плотность, маргинализация и обуславливание
  8. Точечное оценивание
  9. Оценка максимального правдоподобия
  10. Дивергенция Кульбака-Лейблера
  11. Ковариация и корреляция
  12. Оценка плотности
  13. Гистограммного подхода
  14. Парзеновский подход
  15. Нормальное распределение
  16. Центральная предельная теорема
  17. Теория информации
  18. Проклятие размерности
  19. Сингулярное разложение матрицы (SVD)
  20. Матричное дифференцирование
Оптимизация
  1. Методы безусловной оптимизации
  2. Методы нулевого порядка
  3. Методы первого порядка
  4. Методы второго порядка
  5. Градиентный спуск
  6. Наискорейший градиентный спуск
  7. Стохастический градиентный спуск
  8. Обучение: Пакетное, онлайн, по минибатчам
  9. Метод градиентного спуска в машинном обу-чении
  10. Стационарные точки
  11. Метод Ньютона
  12. Квази-ньютоновские методы
  13. Оптимизация с ограничениями

Метрические алгоритмы
  1. Метрические алгоритмы (distance-based)
  2. Ближайший центроид (Nearest centroid algorithm)
  3. Подход, основанный на близости
  4. kNN в задаче классификации
  5. kNN в задаче регрессии
  6. Обоснование 1NN
  7. Ленивые (Lazy) и нетерпеливые (Eager) алгоритмы
  8. Весовые обобщения kNN
  9. Различные метрики: Минковского, Евклидова, Манхэттенская, Махалонобиса, Canberra distance, Хэмминга, косинусное, расстояние Джаккарда, DTW, Левенштейна
  10. Приложения метрического подхода: нечёткий матчинг таблиц, Ленкор, в DL, классификация тек-стов
  11. Эффективные методы поиска ближайших соседей
  12. Регрессия Надарая-Ватсона

Контроль качества и выбор модели
  1. Проблема контроля качества
  2. Выбора модели (Model Selection) в широком смысле
  3. Правила разбиения выборки
  4. Отложенный контроль (held-out data, hold-out set)
  5. Скользящий контроль (cross-validation)
  6. Бутстреп (bootstrap)
  7. Контроль по времени (оut-of-time-контроль)
  8. Локальный контроль
  9. Кривые обучения (Learning Curves)
  10. Перебор параметров

Линейные методы
  1. Линейная регрессия
  2. Обобщённая линейная регрессия
  3. Проблема вырожденно-сти матрицы
  4. Регуляризация. Основ-ные виды регуляризации
  5. Гребневая регрессия (Ridge Regression)
  6. LASSO (Least Absolute Selection and Shrinkage Operator)
  7. Elastic Net
  8. Селекция признаков
  9. Ошибка с весами
  10. Устойчивая регрессия (Robust Regression)
  11. Линейные скоринговые модели в задаче бинарной классификации
  12. Логистическая регрессия
  13. Probit-регрессия
  14. Многоклассовая логисти-ческая регрессия
  15. Линейный классифика-тор
  16. Персептрон
  17. Оценка функции ошибок через гладкую функцию
  18. SVM

Нелинейный методы
  1. Проблема линейности
  2. Полиномиальная модель
  3. Ядерные методы (Kernel Tricks)
  4. Примеры ядер
  5. Использование в SVM
  6. Использование в регрессии
  7. Кернализация
  8. Математика ядер
  9. RBF, RBF-сети

Деревья решений
  1. Деревья решений (СART)
  2. Предикаты / ветвления
  3. Ответы дерева
  4. Критерии расщепления в задачах классификации: Missclassification criteria, энтропийный, Джини
  5. Критерии остановки при построении деревьев
  6. Проблема переобучения для деревьев
  7. Подрезка (post-pruning)
  8. Классические алгоритмы построения деревьев решений: ID3, C5.0
  9. Важности признаков
  10. Проблема пропусков (Missing Values)
  11. Категориальные признаки
  12. Сравнение: деревья vs линейные модели

Ансамбли
  1. Ансамбли алгоритмов: примеры и обоснование
  2. Комитеты (голосование) / усреднение
  3. Бэгинг
  4. Кодировки / перекодировки ответов, ECOC
  5. Стекинг и блендинг
  6. Бустинг: AdaBoost, Forward stagewise additive modeling (FSAM)
  7. «Ручные методы»
  8. Однородные ансамбли

Случайный лес
  1. Универсальные методы
  2. Случайный лес
  3. OOB (out of bag)
  4. Настройка параметров методов
  5. Области устойчивости
  6. Важности признаков
  7. Boruta
  8. ACE
  9. Близости, вычисленные по RF
  10. Extreme Random Trees

Градиентный бустинг
  1. Градиентный бустинг над деревьями
  2. Итерация градиентного бустинга
  3. Наискорейший спуск
  4. Эвристика сокращения – Shrinkage
  5. Стохастический градиентный бустинг
  6. Продвинутые методы оптимизации
  7. Современные реализации градиентного бустинга
  8. Встроенные способы контроля
  9. Параметры градиентного бустинга
  10. Case: Задача скоринга (TKS)
  11. Калибровка
  12. Case: предсказание ответов на вопросы

Сложность алгоритмов, переобучение, смещение и разброс
  1. Проблема обобщения
  2. Переобучение
  3. Недообучение
  4. Сложность алгоритмов
  5. Смещение и разброс
  6. Способы борьбы с переобучением

Байесовский подход
  1. Формула Байеса
  2. Оптимальное решение задач классификации
  3. Минимизация среднего риска
  4. Наивный байес (naive Bayes)
  5. Байесовский подход в машинном обучении
  6. Метод максимального правдоподобия
    + Байесовский подход в примере
  7. MAP
  8. Особенности байесовского подхода
  9. Байесовская теория для линейной регрессии
  10. Логистическая регрессия
  11. Байесовские точечные оценки
  12. Байесовские интервальные оценки
  13. RVM

Кластеризация
  1. Задача кластеризации, типы кластеризации
  2. k-средних (Lloyd's algorithm)
  3. Обобщения k-means
  4. Модельные задачи кластеризации
  5. Affinity propagation: кластеризация сообщениями между точками
  6. Сдвиг среднего (Mean Shift): обнаружение мод плотности
  7. Иерархическая кластеризация (Hierarchical clustering)
  8. Типы Linkage
  9. Кластеризация на основе минимального остовного дерева
  10. Спектральная кластеризация
  11. DBSCAN
  12. BIRCH
  13. CURE
  14. Генеративные модели
  15. EM
  16. Gaussian Mixture Model (GMM)

Обучение без учителя
  1. Задачи UL
  2. Понижение (сокращение) размерности
  3. PCA
  4. Нелинейное сокращение размерности
  5. Kernel PCA
  6. t-SNE
  7. Устранение шума (Noise Reduction)
  8. Генерация Данных (Data Generation)