Анализ данных и машинное обучение
Дополнительная профессиональная программа
профессиональной переподготовки
Цифровой кафедры НИЯУ МИФИ.
Бесплатно для студентов НИЯУ МИФИ (кроме студентов выпускных курсов)

О программе

Программа посвящена изучению математических моделей, методов и подходов машинного обучения и анализа данных. Вы научитесь применять методы машинного обучения для решения прикладных задач обработки данных, а также пользоваться современными программными библиотеками для построения и анализа моделей машинного обучения. Под руководством экспертов НИЯУ МИФИ вы освоите подходы к машинному обучению с учителем и без учителя, методы статистической интерпретации процесса обучения и анализа обученных моделей.

Курс предусматривает теоретические и практические занятия, а также выполнение итогового проекта.

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

Обучение проходит в комфортном темпе - легко совмещать с основной учебой.
Бесплатно для студентов НИЯУ МИФИ (кроме студентов выпускных курсов).
Все слушатели, прошедшие обучение, получат диплом о профессиональной переподготовке НИЯУ МИФИ.
Все обучение проходит в дистанционном формате под руководством специалистов НИЯУ МИФИ.
На нашей программе вы
изучите основы языка программирования Python
научитесь на практике использовать математические основы классификации данных
освоите научные библиотеки языка Python и научитесь их применять
освоите непараметрические методы машинного обучения
познакомитесь с практическими задачами машинного обучения и подходами к их решению
научитесь повышать качество моделей машинного обучения при помощи подходов к обучению ансамблей
освоите методы обучения и диагностики регрессионных моделей
научитесь применять методы кластеризации для решения практических задач
Авторы курса
Трофимов Александр Геннадьевич
Доцент Института интеллектуальных кибернетических систем НИЯУ МИФИ.
Кандидат технических наук
Киреев Василий Сергеевич
Доцент Института интеллектуальных кибернетических систем НИЯУ МИФИ.
Кандидат технических наук.
Содержание программы
Программа реализуется в дистанционном формате
Модуль 1
Модуль 2
Модуль 3
Модуль 4
Модуль 5
Научное программирование в 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-диаграмма и метод локтя. Преимущества и недостатки агломеративной кластеризации.
Практика, подготовка к защите и защита итогового проекта
Практика, подготовка к защите и защита итогового проекта. В рамках модуля обучающиеся проходят практику на базе индустриального партнера, развивая навыки, полученные в предыдущих модулях, готовят и представляют к защите итоговый проект.
Остались вопросы? Пиши нам!
Регистрация на курс закрыта!
По всем вопросам обращайтесь на электронную почту ismc@mephi.ru
Поделитесь с друзьями!
Связаться с нами:
E-mail: ismc@mephi.ru