Цель курса «Машинное обучение в биологии» - послужить мягким введением в машинное обучение, нейронные сети и их применение в биологии. Курс ориентирован на бакалавров и магистров естественнонаучных факультетов МГУ имени М.В. Ломоносова. В ходе курса слушатели ознакомятся с математическим аппаратом машинного обучения и попробуют свои силы в реальных задачах.
В ходе курса слушатели:
Все практические задачи в курсе будут даваться с прицелом на применение их к биологическим задачам. Будут разобраны удачные примеры применения машинного обучения в биологии, такие как AlphaFold2, U-Net, SpliceAI, iNaturalist, генерация новых антибиотиков и противоопухолевых препаратов и многое другое.
Темы, изучаемые в рамках курса:
Блок 1. Основы машинного обучения
1. Машинное обучение. Виды задач, примеры. Машинное обучение в биологии. Громкие успехи. AlphaFold 2. SpliceAI. DeepVariant. U-Net. Работа с библиотеками NumPy, Pandas и Matplotlib.
Программное обеспечение. Python, Pandas, numpy, seaborn+mpl.
2. Метод k-ближайших соседей. Его применение при наличии хорошего признакового описания. Задача классификации. Метрика Accuracy. Переобучение, недообучение. Разбиение на train и test.
Обучение на геномных эмбеддингах. Работа с веществами в Python. Классификация веществ и проблемы разбиения их на обучение и тест.
3. Матрица ошибок. F-score. Интегральные метрики качества классификации. Задача регрессии. Линейная регрессия. Регуляризация. Ridge-регрессия. Lasso- Регуляризация ElasticNet. Логистическая регрессия.
4. Гиперпараметры. Почему нельзя подбирать на тесте. Кросс-валидация. Методы подбора гиперпараметров: GridSearch, RandomGridSearch, Optuna. Проблема правильного разбиения биологических данных (TargetFinder - проблема с leakage).
Работа с биологическими последовательностями. Классификация вредных и нейтральных мутаций в некодирующих регионах.
5. Проклятье размерности. Методы понижения размерности. PCA. Выбор числа компонент. Стохастические методы понижения размерности: t-SNE. UMAP. Проблемы методов понижения размерности. Batch-эффект. Визуализация транскриптомных данных, в частности single-cell данных. Выучивание embedding, semi-supervised UMAP. PLS-DA. Проблемы подхода. Использование представления обученных моделей как нового признакового пространства.
Визуализация транскриптомных данных. Анализ данных, выявление выбросов и батч-эффекта. Визуализация статей.
6. Кластеризация. K-Means. DBSCAN. Affinity propagation. Иерархическая кластеризация. Кластеризация биологических объектов (структуры, лекарства).
Кластеризация химических веществ. Классификация последовательностей вирусов.
Блок 2. Древесные модели и бустинг как state-of-the-art-методы
7. Построение решающих правил при помощи EDA. Решающие деревья. Категориальные признаки и работа с ними (label encoding, one-hot encoding, mean encoding). Категориальные признаки в биологии. Случайный лес. Важность случайного леса в биологии. Диагностика заболеваний при помощи случайного леса.
Отличаем больных от здоровых при помощи случайного леса. Кодирование биологических последовательностей.
8. Градиентный спуск. Градиентный бустинг. Модификации градиентного бустинга: XGBoost, LightGBM, CatBoost. Предсказание свойств лекарств при помощи градиентного бустинга. Оценка важности признаков в дереве решений (Gini impurity и mean accuracy decrease). Boruta. Перестановочный метод. SHAP. Анализ функциональных групп, важных для ингибирования заданного фермента при помощи SHAP.
Анализ важности частей химического соединения во взаимодействиях. Выбор генов, важных для развития опухоли рака молочной железы.
Блок 3. Нейронные сети
9. Нейронные сети. Введение. Фреймворк PyTorch. Стохастический градиентный спуск (SGD). Обратное распространение ошибки (Backpropagation). Дифференцирование сложной функции (Chain rule). Batch. Датасет. Загрузчик данных. Оптимизатор. Критерий. Применение многослойных нейронных сетей к биологическим данным.
Применение torchANI. Предсказание болезней на основе данных экспрессии.
10. Сверточные нейронные сети. Применение в биологии. Диагностика заболеваний, вызванных мутациями в геноме. Предсказание эффектов однонуклеотидных полиморфизмов. Предсказание энергии связывания лиганда с белком.
Классификация медицинских изображений при помощи сверточных нейронных сетей. Обучение с переносом при работе с биологическими изображениями. Предсказание доступности хроматина при помощи сверточных нейронных сетей.
11. Autoencoders. Representation learning. U-Net. Сегментация биологических изображений. Работа с зашумленными данными в биологии при помощи нейронных сетей. Предсказание вредоносных мутаций в кодирующих участках при помощи VAE.
Разделение больных и здоровых тканей в латентном пространстве. Работа с медицинскими изображениями.
12. Методы обучения глубоких нейронных сетей. Activation function. Инициализация весов. Batch-нормализация. Оптимизаторы. Подбор learning rate. LR range test. Learning schedule. One cycle learning schedule.
Классификация некроза и опухоли на гистологических снимках.
13. Рекуррентные нейронные сети. Предсказание вторичной структуры белка. GANs. Drug design. Denoising diffusion model. Stable Diffusion.
Предсказание участков сплайсинга (данные из Kaggle). Предсказание стабильности вторичной структуры РНК на основе последовательности.
14. Механизм attention. Attention transformers. GPT-3. BERT. Анализ биологических текстов при помощи BiBioBERT.
Text-mining биологических статей. Моделирование структур белков. Unsupervised сегментация биологических изображений. Enformer.
15. Representation learning. Self-supervised learning. ESM1. AlphaFold2. DINO. Графовые нейронные сети. Message passing. Фреймворк PyTorch Geometric. Создание своих датасетов. Классификация узлов графа. Классификация целых графов. Применение графовых нейронных сетей для анализа графов взаимодействий белков и болезней.
Предсказание роли белков в развитии болезни на основе графовых данных.
Занятия проводятся на Факультете Биоинженерии и биоинформатики.
В программе курса 30 занятий: 15 лекций и 15 практикумов
Старт курса: с 15 сентября
Занятия будут проходить по четвергам:
Требования к студентам:
Набор на курс 2022 года закрыт
Преподаватели курса:
Зинкевич Арсений Олегович
Образование
Биоинженерия и биоинформатика
Московский государственный университет имени М.В. Ломоносова
Специализация
Биоинформатика, анализ данных NGS, идентификация ДНК-мотивовПензар Дмитрий Дмитриевич
Образование
Биоинженерия и биоинформатика
Московский государственный университет имени М.В. Ломоносова
Специализация
Биоинформатика, статистическая обработка данных, машинное обучение в биологииСигорских Андрей Иванович
Образование
Биоинженерия и биоинформатика
Московский государственный университет имени М.В. Ломоносова
Специализация
Идентификация мишеней лекарств, исследование некодирующих РНК, машинное обучение в биологииЗанятия проводятся на Факультете Биоинженерии и биоинформатики.
В программе курса 30 занятий: 15 лекций и 15 практикумов
Старт курса: с 15 сентября
Занятия будут проходить по четвергам:
Требования к студентам:
Набор на курс 2022 года закрыт
ПО ПЯТНИЦАМ
09:00–10:30 1 пара
10:40–12:10 2 пара
12:10–13.00 Перерыв
13:00–14:30 3 пара
14:40–16:10 4 пара
Преподаватель: А. А. Ганичев
ПО ЧЕТВЕРГАМ
09:00–10:30 1 пара
10:40–12:10 2 пара
12:10–13.00 Перерыв
13:00–14:30 3 пара
14:40–16:10 4 пара
Преподаватель: А. П. Маракулин
ПО ПОНЕДЕЛЬНИКАМ
09:00–10:30 1 пара
10:40–12:10 2 пара
12:10–13.00 Перерыв
13:00–14:30 3 пара
14:40–16:10 4 пара
Преподаватель: Д. Д. Пензар
ПО СУББОТАМ
09:00–10:30 1 пара
10:40–12:10 2 пара
12:10–13.00 Перерыв
13:00–14:30 3 пара
14:40–16:10 4 пара
Преподаватель: И. А. Конюшок