ПРОГРАММА КУРСА АЛЕКСАНДРА КРОЩЕНКО
Data Science: машинное обучение и нейронные сети.
Начальный уровень
Тема 1. Введение в науку о данных
✓ Что такое Data Science? 
✓ Место машинного обучения и нейронных сетей в науке о данных. 
✓ Ключевые роли в Data Science. 
✓ Жизненный цикл проекта DS. 
✓ Роль языка программирования Python в машинном обучении. 
✓ Установка и настройка необходимого ПО для начала работы (интерпретатор, библиотеки, среды разработки). 
✓ Основы Python.
Тема 2. Программирование на языке Python
✓ Переменные, понятие о типах данных языка. 
✓ Структурирование кода, импорт модулей. 
✓ Операторы ветвления и цикла. 
✓ Функции. 
✓ Основы ООП (определение и использование классов, встроенные методы). 
✓ Организация совместной работы над исходным кодом, основы Git (создание репозитория, оформление коммитов и пул-реквестов, основные команды).
Тема 3. Основы машинного обучения
✓ Базовые понятия. 
✓ Типы машинного обучения. 
✓ Контролируемое обучение (Supervised Learning). 
✓ Неконтролируемое обучение (Unsupervised Learning). 
✓ Обучение с подкреплением (Reinforcement Learning). 
✓ Задачи машинного обучения (регрессия, классификация, кластеризация, понижение размерности). Основные проблемы (переобучение, недообучение).
Тема 4. Теоретические основы машинного обучения
✓ Понятие объекта в Python. Объекты как экземпляры классов
✓ Атрибуты и методы объектов.
✓ Встроенные методы объектов.
✓ Создание классов в Python
✓ Определение класса и его структура. 
✓ Создание методов класса.
✓ Практическая часть.
✓ Расширенное использование классов.
✓ Модули в Python.
✓ Разработка простого модуля.
Тема 5. Данные и их визуализация
✓ Важность предобработки данных в машинном обучении. 
✓ Типы ошибок в данных. 
✓ Работа с пропущенными значениями. 
✓ Методы импутации. 
✓ Обработка дубликатов. 
✓ Преобразование типов данных. 
✓ Основы Pandas. 
✓ Двумерная табличная структура данных DataFrame. 
✓ Загрузка данных. 
✓ Визуализация данных. 
✓ Matplotlib. 
✓ Выбор правильного типа графика. 
✓ Основные типы (гистограмма, диаграмма рассеяния, линейный график, столбчатая диаграмма, диаграмма размаха). 
✓ Seaborn.
Тема 6. Основы машинного обучения. Регрессия
✓ Задача регрессии. 
✓ Линейная и полиномиальная регрессии. 
✓ Множественная линейная регрессия. 
✓ Сплайновая регрессия. 
✓ Оценка качества решения регрессионной задачи. 
✓ Основные метрики качества. 
Тема 7. Основы машинного обучения. Классификация
✓ Задача классификации. 
✓ Наивный Байес. 
✓ Логистическая регрессия. 
✓ Машины опорных векторов (SupportVector Machines). 
✓ Метод k-ближайших соседей (k-NN). 
✓ Оценка качества решения классификационной задачи. 
✓ Матрица ошибок. 
✓ Основные метрики качества. 
✓ ROC-анализ. 
✓ Проблема несбалансированных классов и ее решение. 
Тема 8. Основы машинного обучения. Кластеризация и понижение размерности
✓ Задача кластеризации. 
✓ Алгоритм K-Means (K-Средних). 
✓ Иерархическая кластеризация. 
✓ Проклятие размерности (Curse of Dimensionality). 
✓ Задача понижения размерности данных. 
✓ Метод главных компонент (PCA – Principal Component Analysis).  
Тема 9. Деревья решений и случайный лес
✓ Принципы построения дерева. 
✓ Критерии разделения на поддеревья. 
✓ Ансамблевые методы. 
✓ Бэггинг. 
✓ Случайный лес (Random Forest). 
✓ Бустинг (AdaBoost, градиентный бустинг, стохастический градиентный бустинг).
Тема 10. Оценка и валидация моделей машинного обучения
✓ Проблема переобучения (Overfitting). 
✓ Проблема недообучения (Underfitting). 
✓ Регуляризация. 
✓ Разделение на обучающую и тестовую выборки (train/test split). 
✓ Кросс-валидация (cross-validation).
Тема 11. Введение в нейронные сети
✓ Что такое ИНС? 
✓ Классификация. 
✓ Структура искусственного нейрона. 
✓ Правило обучения Хебба. 
✓ Персептрон Розенблатта. 
✓ Линейный нейрон. 
✓ Многослойные нейронные сети. 
✓ Решение модельных задач с использованием нейросетевых моделей. 
✓ Метод обратного распространения ошибки. 
✓ Глубокие нейронные сети – предпосылки возникновения и решаемые задачи.  
Тема 12. Решение задач машинного обучения с использованием нейронных сетей
✓ НС, применяемые для решения основных задач машинного обучения. 
✓ Автоэнкодерные архитектуры НС. 
✓ Самоорганизующиеся карты Кохонена. 
✓ Рекуррентные нейронные сети (классические модели, LSTM, GRU). 
Тема 13. Сверточные нейронные сети
✓ Структура СНС, основные типы слоев. 
✓ Решаемые задачи в области компьютерного зрения. 
✓ Классификация и детекция объектов на изображениях и видео, сегментация изображений. 
✓ Практики решения задач. 
Тема 14. Дальнейшие шаги
✓ Обзор пройденного материала. 
✓ Обсуждение и демонстрация проектов. 
✓ Куда двигаться дальше? 
✓ Трансферное обучение. 
✓ Обработка естественного языка (NLP). 
✓ Генеративные модели. 
✓ Трансформеры.