Анализ данных и машинное обучение

Совместная онлайн программа профессиональной переподготовки от НИЯУ МИФИ и проекта "Цифровой кафедры" программы "Приоритет 2030".
Обучение бесплатно для студентов 3-4 курса бакалавриата и магистратуры российских ВУЗов.

О программе

Дисциплина призвана обеспечить освоение студентами подходов к машинному обучению с учителем и без учителя, методов статистической интерпретации процесса обучения и анализа обученных моделей. Содержание дисциплины включает изучение байесовского подхода к обучению, генеративные и дискриминативные модели классификации, методы построения деревьев решений и ансамблей моделей машинного обучения, основы непараметрического анализа данных и обучения без учителя. Теоретические основы машинного обучения закрепляются на лабораторных занятиях и используются при выполнении самостоятельного исследования в рамках индивидуальной курсовой работы.
Программа направлена на изучение математических моделей, методов и подходов машинного обучения и анализа данных по направлениям:
- применение методов машинного обучения для решения прикладных задач обработки данных;
- использование современных программных библиотек для построения и анализа моделей машинного обучения.

Преимущества программы

Обучение бесплатно для студентов 3-4 курса бакалавриата и магистратуры российских ВУЗов.
Все слушатели, прошедшие обучение, получат диплом о профессиональной переподготовке НИЯУ МИФИ.
Все обучение проходит в дистанционном формате от специалистов НИЯУ МИФИ.
В результате прохождения курса
Вы изучите основы языка программирования Python и научитесь его использовать для решения вычислительных задач
1
Вы освоите научные библиотеки языка Python и научитесь их применять для обработки и визуализации данных, создания моделей машинного обучения и исследования их качества
2
Вы изучите основные парадигмы, понятия и принципы машинного обучения, познакомитесь с практическими задачами машинного обучения и подходами к их решению
3
Вы изучите математические основы регрессионного анализа данных, освоите методы обучения и диагностики регрессионных моделей
4
Вы изучите математические основы классификации данных и научитесь использовать их на практике
5
Вы освоите непараметрические методы машинного обучения и научитесь их использовать для решения задач регрессии и классификации
6
Вы изучите основные подходы к обучению ансамблей и научитесь их использовать для повышения качества моделей машинного обучения
7
Вы изучите основы кластерного анализа данных и научитесь применять методы кластеризации для решения практических задач
8
Трофимов Александр Геннадьевич
Автор курса
Доцент Института интеллектуальных кибернетических систем НИЯУ МИФИ
Кандидат технических наук
Программа курса
Программа реализуется в дистанционном формате
(объем программы: 252 ак. часов).
Модуль 1
Модуль 2
Модуль 3
Модуль 4
Научное программирование в Python
1. Основы языка программирования Python.
Особенности языка Python, области применения Python, философия Python ("The Zen of Python"), среда исполнения Python, начало работы с Python, физические строки, логические строки и блоки кода Python, управление потоком команд.
Типизация в Python, основные типы данных: NoneType, логический, числовой, строковый типы, коллекции, инициализация переменных, изменяемые и неизменяемые типы, преобразование типов, строки и байтовые последовательности, форматирование строк, срезы (slices), интернирование строк.
Функции в Python, анонимные функции и лямбда-выражения, глобальные, нелокальные и локальные переменные, переопределение глобальных переменных, модули, подключение модулей, пакеты, создание пакетов, импорт функций и модулей из пакетов.
2. Коллекции, функции и объектно-ориентированное программирование в Python.
Списки (lists), создание списков и доступ к элементам списка, срезы (slices), функции и методы списков, псевдонимы (aliases) в Python, поверхностное и глубокое копирование, списки и строки, диапазоны (ranges), итерируемые классы и классы-итераторы.
Декораторы функций, передача параметров в функцию, call by sharing, функции с переменным числом аргументов, упаковка и распаковка последовательностей, функция zip, оператор *, оператор **, функция map.
Ввод данных из стандартного потока ввода, работа с файлами, итерирование строк файла, обработка исключений, конструкция try-except-else-finally, создание собственных исключений, менеджер контекста, конструкция with-as.
Классы и объекты, конструктор и деструктор класса, значения по умолчанию, переменные класса и переменные объекта, методы класса и методы объекта, статические методы, геттеры и сеттеры свойств, использование декораторов свойств, наследование классов, переопределение (overriding) и перегрузка (overloading) методов, перегрузка операторов, абстрактные классы.
3. Научные вычисления в Python.
Библиотека NumPy, массив NumPy (ndarray), представления массивов, создание массивов и представлений, копирование массивов, структурированные массивы, типы элементов массива, форма массива, стратегии хранения массивов в памяти, итерирование массивов, страйды массива, изменение формы и страйдов, индексирование и срезы (slices) массива, fancy indexing, функция where.
Операции над массивами, конкатенация, разбиение и дублирование массивов, арифметические операции с массивами, broadcasting, универсальные функции (ufunc), векторно-матричные операции, математические и статистические методы массивов, методы линейной алгебры, модуль linalg, матрицы NumPy, классы matrix и ndarray, генерация случайных массивов, модуль random, загрузка и сохранение массивов в файл.
Возможности библиотеки pandas работы с данными. Возможности библиотек scipy, scikit-learn для проведения научных вычислений.
4. Визуализация данных в Python.
Этапы визуализации данных. Разведочный анализ данных. Первичная обработка данных. Важность визуализации в анализе данных. Инструменты визуализации данных. Библиотеки языка Python для визуализации. Библиотека matplotlib. Архитектура matplotlib. Бэкенд-слой. Класс Artist. Использование объектов класса Artist для визуализации. Фигуры, субфигуры и оси. Контейнеры грфических объектов. Жизненный цикл фигуры. Основные типы графиков в matplotlib. Визуализация на скриптовом уровне.
Введение в машинное обучение
1. Основные парадигмы машинного обучения.
Машинное обучение и науки о данных. Data-driven и model-based подходы. История машинного обучения. Общая схема решения задач машинного обучения. Стандарт CRISP-DM. Типы задач машинного обучения. Примеры прикладных задач. Основные понятия и определения. Обзор основных парадигм машинного обучения.
2. Обучение с учителем: основные принципы.
Методы обучения с учителем. Обучающийся алгоритм. Индуктивный порог. Проблема переобучения и понятие обобщающей способности. Функция потерь. Теоретический и эмпирический риск. Принцип минимизации эмпирического риска. Смещение и дисперсия ошибки обучаемой модели. Разложение «bias-variance». Связь сложности модели, индуктивного порога и способности к обобщению. Оценивание точности обученных моделей. Методы кросс-валидации: hold-out, k-fold, LOOCV. Стратификация выборки при кросс-валидации, внутренняя кросс-валидация.
3. Обучение с учителем: регрессия.
Понятие статистической модели. Теоретические и статистические модели. Примеры. Регрессионные модели. Постановка задачи обучения регрессионной модели. Риск модели с квадратичной функцией потерь. Функция регрессии. Оптимальность регрессионных моделей. Задачи, виды и этапы регрессионного анализа. Метод наименьших квадратов. Матрица плана и система нормальных уравнений. МНК-оценки параметров простейшей линейной регрессии. Ошибки и остатки модели. Предположения регрессионного анализа. Свойства МНК-оценок: линейность, состоятельность, несмещенность, эффективность, нормальность. Теорема Гаусса-Маркова. Метод наименьших квадратов. Проекционная матрица. МНК-оценки параметров множественной линейной регрессии. Статистические характеристики МНК-оценок. Проблема гетероскедастичности. Статистические тесты на гетероскедастичность. Визуальный анализ гетероскедастичности остатков регрессионной модели. Подходы к устранению гетероскедастичности. Взвешенный метод наименьших квадратов. Робастный регрессионный анализ. Метод наименьших модулей, LAR-регрессия. Постановка задачи и обучение. Использование взвешенного метода наименьших квадратов для обучения робастных моделей. Метод итеративного взвешивания (Iteratively Reweighted Least-Squares, IRLS).
4. Диагностика регрессионных моделей.
Цели и виды диагностики регрессионных моделей. Проверка линейности. Графики остатков и частичной регрессии. Смещение оценок вследствие неучтенных переменных (omitted variable bias). Проверка гетероскедастичности, независимости и нормальности регрессионных остатков. Визуальная и количественная диагностика. Квантильные диаграммы. Понятие регрессионного выброса. Показатели аномальности наблюдения. Диаграмма box-and-whisker. Оценка влияния наблюдений на регрессионную модель. Связь аномальности с левериджами и стандартизованными регрессионными остатками. Расстояние Кука. Понятие мультиколлинеарности. Негативные эффекты мультиколлинеарности регрессоров. Показатели мультиколлинеарности. Variance inflation factor (VIF). Методы устранения мультиколлинеарности. Регуляризованные регрессионные модели. Гребневая регрессия. LASSO-регрессия. Подходы к выбору регрессоров. Пошаговая регрессия.
5. Бинарная классификация.
Постановка задачи классификации. Бинарная классификация. Функция потерь и эмпирический риск классификатора. Виды функций потерь. Статистический взгляд на задачу обучения. Принцип минимизации эмпирического риска и метод максимального правдоподобия. Регуляризованный эмпирический риск. Оценка точности бинарного классификатора. Матрица ошибок. Специфичность и чувствительность, точность и полнота. ROC-анализ и PR-анализ. Показатели ROC AUC и PR AUC.
6. Многоклассовая классификация.
Постановка задачи многоклассовой классификации. Подходы к многоклассовой классификации. Метод ECOC. Схемы кодирования. Методы декодирования. Оценка точности многоклассового классификатора. Матрица ошибок. Микро- и макро- показатели точности. Специфичность и чувствительность, точность и полнота. Микро- и макро- ROC-анализы и PR-анализы.
Машинное обучение. Часть 1
1. Байесовская классификация.
Порождающие и разделяющие модели классификации. Бинарная функция потерь. Байесовское решающее правило. Дискриминантные функции. Нормальный байесовский классификатор. Расстояние Махаланобиса. Наивный байесовский классификатор. Регуляризованный байесовский классификатор. Байесовская классификация бинарных и мультиномиальных признаков. Пример применения к задаче категоризации документов. Непараметрический байесовский классификатор. Наивная оценка плотности распределения. Ядерная оценка плотности распределения. Виды ядерных функций. Парзеновское окно. Показатель точности оценки плотности. Разложение «bias-variance» оценки. Подходы к выбору ширины парзеновского окна. Метод Сильвермана. Оценивание многомерных плотностей распределения. Многомерные ядерные функции.
2. Непараметрическое оценивание плотностей.
Особенности непараметрических методов машинного обучения Оценивание плотности с помощью гистограммы частот. Наивное оценивание плотности. Понятие ядерной функции (парзеновского окна). Виды ядер. Разложение bias-variance в ядерном оценивании. Влияние ширины парзеновского окна на свойства восстановленной плотности. Подходы к выбору ширины окна. Правило Сильвермана. Ядерное оценивание многомерных плотностей.
3. Логистическая регрессия.
Понятие функции связи (link function). Виды функций связи, их свойства. Логит и пробит-функции связи. Логистическая функция. Логистическая модель апостериорных вероятностей классов. Отношение вероятностей (odds ratio). Отношение вероятностей для нормального байесовского классификатора. Связь нормального байесовского классификатора и логистической регрессии. Постановка задачи обучения бинарной логистической регрессии. Критерий обучения и метод обучения. Логистическая функция потерь. Регуляризованная логистическая регрессия. Понятие softmax-функции. Softmax-функция для двух переменных. Постановка задачи обучения многоклассовой логистической регрессии. Критерий обучения и метод обучения.
4. Непараметрическая регрессия.
Виды регрессионного анализа. Особенности непараметрического регрессионного анализа. Регрессограмма. Наивное оценивание функции регрессии. Ядерная регрессия Надарая-Уотсона. Виды ядер. KNN-регрессия. Линейное сглаживание. Связь матрицы линейного сглаживания и проекционной матрицы линейной регрессионной модели. Локальная линейная регрессия. Локальный метод наименьших квадратов. Использование взвешенного метода наименьших квадратов для локального линейного оценивания. Метод LOESS. Разложение bias-variance в локальном сглаживании. Выбор ширины ядра. Многомерное линейное сглаживание.
Машинное обучение. Часть 2
1. Деревья решений.
Понятие дерева решений. Регрессионные и классификационные деревья. Типы вершин. Обучение деревьев. Метрики негомогенности вершин. Метрика Джини. Энтропия распределения данных в вершинах. Критерий ветвления. Выбор решающего правила в узлах. Использование решающих деревьев для отбора признаков. Оценивание важности признаков. Переобучение деревьев решений. Критерий останова обучения. Способы увеличения обобщающей способности деревьев. Обрезка деревьев. Стратегии обрезки.
2. Обучение ансамблей.
Обучение ансамблей. Понятие слабой модели. Подходы к обучению ансамблей: бэггинг, бустинг, стеккинг. Бутстреппинг выборки. Бэггинг деревьев решений. Out-of-bag (OOB) ошибка. Использование OOB-ошибки для кросс-валидации деревьев. Случайный лес. Преимущества и недостатки бэггинга. Техники бустинга моделей машинного обучения. Принципы адаптивного бустинга (AdaBoost). Адаптивный бустинг моделей регрессии и классификации. Алгоритмы AdaBoost.R2 и AdaBoost.M1. Адаптивный бустинг деревьев решений. Пошаговое аддитивное обучение моделей машинного обучения. Постановка задачи обучения слабой модели. Виды функций потерь в аддитивном обучении. Оптимальная слабая модель. Алгоритм градиентного бустинга обучения ансамблей. Инициализация алгоритма. Градиентный бустинг деревьев решений. Регуляризованный градиентный бустинг. Градиентный бустинг с шринкажем. Стохастический градиентный бустинг. Основные алгоритмы градиентного бустинга: XGBoost, LightGBM, CatBoost.
3. Сокращение размерности данных и метод главных компонентов.
Понятие машинного обучения без учителя. Виды и задачи обучения без учителя. Примеры практических задач. Постановка задачи сокращения размерности данных. Подходы к сокращению размерности. Метод главных компонентов. Факторные нагрузки и факторные очки. Выбор числа главных компонентов. Scree-диаграмма и метод локтя. Визуализация факторных нагрузок. Biplot. Анализ ошибок реконструкции. Статистика Хоттелинга. Метод главных компонентов и факторный анализ данных. Сингулярное разложение матрицы. Использование сингулярного разложения для эффективного выделения главных компонентов.
4. Кластерный анализ данных.
Кластерный анализ данных: цели, история развития, постановка задачи. Практические применения кластерного анализа. Подходы к кластеризации данных. Виды кластерного анализа. Общая схема решения задачи кластеризации. Метод K-средних. Инициализация метода. Алгоритм K-means++. Сходимость метода K-средних. Модификации метода. Недостатки метода. Агломеративные и дивизивные методы кластеризации. Агломеративная иерархическая кластеризация. Визуализация результатов кластеризации. Дендрограмма. Методы расчета расстояния между кластерами. Статистическое расстояние. Метод Уорда. Формула Ланса-Вильямса. Методы агломерации кластеров. Монотонность агломерации. Критерий останова агломерации. Выбор числа кластеров. Scree-диаграмма и метод локтя. Преимущества и недостатки агломеративной кластеризации.
Обратите внимание: после авторизации на сайте dpo.mephi.ru Вам необходимо записаться на курс в разделе "Каталог курсов", прикрепив подписанное заявление на зачисление. Для зачисления на программу необходимо также предоставить СНИЛС
Поделитесь с коллегами!
Расскажите коллегам об этом курсе!
Свяжитесь с нами по любым вопросом с помощью телефона или почты, мы всегда рады общению и сотрудничеству
Телефон: +7 (495) 788 56 99, доб. 8387
E-mail: ismc@mephi.ru