В современном мире повсеместная информатизация привела к накоплению больших объемов данных во всех сферах деятельности: от научной до сферы услуг. Задачи обработки и построения прогнозов по такому количеству данных непосильны для классических методов. Для того чтобы делать практические выводы по огромному объему разнородной информации используется машинное обучение – инструмент для автоматического быстрого анализа больших данных.
Машинное обучение в настоящее время применяется в самых разных областях: в кредитовании клиентов банка, в рекомендательных системах кинофильмов, в прогнозировании онкологических заболеваний. Уже сейчас эта наука применяется для решения множества прикладных задач, а в будущем ее актуальность вырастет еще больше.
Для анализа больших данных, таких как истории банковских транзакций, статистики интернет-запросов, биоинформатические данные, применение машинного обучения уже давно стало одним из основных подходов. Понимание основ работы с большими данными входит в интеллектуальных багаж любого современного исследователя.
На предлагаемом курсе вы изучите основные типы задач, возникающих в машинном обучении: в основном, речь будет идти о классификации, регрессии и кластеризации. В курсе не будет многочисленных сложных математических выкладок, в первую очередь акцент будет поставлен на том, чтобы слушатель понял принципы машинного обучения и освоил основные алгоритмы для анализа больших данных. Кроме того, слушатели познакомятся с современными библиотеками, в которых реализованы обсуждаемые модели. В качестве домашних заданий будет предложен анализ различных наборов данных, тем самым у пользователя будет возможность применить свои навыки на реальных задачах.
Для участия в курсе необходимо знать базовые математические понятия, такие как: вектора, матрицы, функции и производные. Также желательно иметь некоторые навыки программирования на языке Python.
Данный курс будет полезен каждому, кто планирует применять в своей работе интеллектуальный анализ данных.
Список всех тем лекций
Лекция 1. Машинное обучение. Виды задач, примеры.
Вводное слово о курсе
Искусственный интеллект
Машинное обучение
Виды машинного обучения
Примеры
Примеры
Лекция 2. Переобучение, недообучение.
Обучение модели
Модель классификации
Сложность модели
Недообучение и переобучение
Обучение с учителем
Оценка качества модели
Пример
Задача регрессии
Заключение
Лекция 3. Метод опорных векторов.
Метод опорных операторов
Вероятности
Применение метода опорных векторов в биологии
Примеры
Гиперпараметры и валидация
Лекция 4. Проклятье размерности.
Обучение без учителя
Задача снижения размерности
Методы снижения размерности
PCA (Principal Component Analysis)
Kernel PCA
t-SNE
UMAP (Uniform Manifold Approximation and Projection)
t-SNE и UMAP в науке
Пример
Кратко об изученном на лекции
Лекция 5. Кластеризация.
Задача кластеризации
Теорема Клейнберга
Подходы к решению задачи кластеризации
Статистика Хопкинса
Коэффициент силуэта для объекта
Способы кластеризации
k-Means
EM-algorithm
DBSCAN
Affinity propagation
Иерархические методы кластеризации
Примеры из биологии
Лекция 6. Решающие деревья.
Деревья решений
Принцип работы дерева решений
Деревья решений - классификация
Как построить дерево решений
Задача регрессии
Работа с пропущенными решениями
Неустойчивость деревьев решений
Деревья и bias-variance tradeoff
Ансамбли
Бутстрэп
Bagging (Bootstrap аggregating) и RSM
Случайный лес
Лекция 7. Градиентный бустинг.
Бустинг (понятие)
AdaBoost
Coast
CatBoost
Предсказание свойств лекарств при помощи градиентного бустинга
Оценка важности признаков в дереве решений
Лекция 8. Нейронные сети.
Линейная регрессия
Общая схема нейронной сети
Функции активации
Фреймворк Py Torch
Эпоха в обучении нейронных сетей
Sequential
Batch
Dataset и data loader
Применение в биологии
Лекция 9. Сверточные нейронные сети.
ImageNet
Модели
Интуиция
Свертка
Сверточный слой
Рецептивное поле
Pooling
Примеры архитектур нейронных сетей
Применение сверточных нейронных сетей в биологии
Лекция 10. Методы обучения глубоких нейронных сетей.
Обратное распространение ошибки
Батчи, эпохи
Функции активации
Инициализация весов
Batch-нормализация
Оптимизаторы
Машинное обучение в биологии
Лекция 11. Автоэнкодеры. Сегментация изображений.
Representation Learning
Снижение размерности
Автоэнкодеры
Реализация автоэнкодера
Плавная интерполяция
Вероятностный автоэнкодер
Примеры
Проблема автоэнкодеров
Постановка задачи в Computer Vision
Сегментация изображений
Лекция 12. Генеративно-состязательные нейронные сети (GAN).
Генеративно-состязательные нейронные сети (GAN)
Формализация задачи генерации
Наивный подход и его проблемы
Generative adversarial network
Генерация структур химических веществ
Дополнительно: ААЕ
Рекуррентные нейронные сети (RNN)
Базовая ячейка RNN
Блок RNN
Применение в биологии
Лекция 13. Seq2Seq и его ограничение.
Seq2Seq
Attention
Словарь
Key, query, value
Attention Layer
Self-Attention Layer
Positional encoding
Multihead Self-Attention Layer
Примеры применений Transformer
BERT
GPT (Generative Pretrained Transformer )
Self-supervised learning
Другие подходы
Ролик о сегментации
Лекция 14. Графовые нейронные сети.
Граф
Машинное обучение применительно к графам
Характеристика графов
Эмбеддинги в графах
Графовые конволюции