Материалы курса "Машинное обучение в биологии"
Курс проходит один раз в неделю, две/две с половиной пары в неделю.
Блок 1. Классическое машинное обучение
Занятие 1
Машинное обучение. Виды задач, примеры. Машинное обучение в биологии. Громкие успехи AlphaFold2. SpliceAI. DeepVariant. U-Net. Громкие неудачи машинного обучения в биологии
Занятие 2
Метод k-ближайших соседей. Его применение при наличии хорошего признакового описания. Задача классификации. Переобучение, недообучение. Разбиение на train и test. Метрика Accuracy. Обучение на геномных эмбеддингах. Работа с веществами в Python. Классификация веществ и проблемы разбиения их на обучение и тест.
Занятие 3
Задача регрессии. Стандартизация признаков. KNN-Regressor. Линейная регрессия. Функция потерь и градиентный спуск. Регуляризация. Ridge. Lasso. Регуляризация ElasticNet.
Занятие 4
Логистическая регрессия. Матрица ошибок. F-score. Интегральные метрики качества классификации.
Занятие 5
Метод опорных векторов. Kernel trick. Применение в биологии (gkmSVM+deltaSVM).
Материалы для самостоятельного ознакомления
Занятие 6
Гиперпараметры. Почему нельзя подбирать на тесте? Трейн-тест-сплит. Проблема правильного разбиения биологических данных. TargetFinder - проблема с leakage. Ошибки при работе с геномными, медицинскими, хемоинформатическими данными.
Занятие 7
Проклятье размерности. Методы понижения размерности. PCA. Выбор числа компонент. Стохастические методы понижения размерности: t-SNE. UMAP. Проблемы методов понижения размерности. Batch-эффект. Визуализация транскриптомных данных, в частности single-cell данных. Выучивание embedding, semi-supervised UMAP. PLS-DA. Проблемы подхода. Использование представления обученных моделей как нового признакового пространства. Визуализация транскриптомных данных. Анализ данных, выявление выбросов и батч-эффекта.
Материалы для самостоятельного изучения
Занятие 8
Кластеризация. K-Means. DBSCAN. Affinity propagation. Иерархическая кластеризация. Кластеризация биологических объектов (структуры, лекарства). Кластеризация химических веществ. Классификация последовательностей вирусов.
Занятие 9
Построение решающих правил при помощи EDA. Решающие деревья. Категориальные признаки и работа с ними (label encoding, one-hot encoding, mean encoding). Категориальные признаки в биологии.
Занятие 10
Случайный лес. Важность случайного леса в биологии. Диагностика заболеваний при помощи случайного леса. Отличаем больных от здоровых при помощи случайного леса. Кодирование биологических последовательностей.
Занятие 11
Градиентный спуск. Градиентный бустинг. Модификации градиентного бустинга: XGBoost, LightGBM, CatBoost. Предсказание свойств лекарств при помощи градиентного бустинга.
Занятие 12
Оценка важности признаков в дереве решений (Gini impurity и mean accuracy decrease). Boruta. Перестановочный метод. SHAP. Анализ функциональных групп, важных для ингибирования заданного фермента при помощи SHAP.
Блок 2. Глубокое машинное обучение
Занятие 13
Нейронные сети. Введение. Фреймворк PyTorch. Стохастический градиентный спуск (SGD). Обратное распространение ошибки (Backpropagation). Дифференцирование сложной функции (Chain rule).
Занятие 14
Batch. Датасет. Загрузчик данных. Оптимизатор. Критерий. Применение многослойных нейронных сетей к биологическим данным. Применение torchANI. Предсказание болезней на основе данных экспрессии.
Занятие 15 (1.5 пары)
Сверточные нейронные сети. ImageNet. Свертки. Сверточный слой. Receptive field. Pooling. Global pooling. AlexNet. VGG. Идея блоков в сети. GoogLeNet. Pointwise convolution. Проблема с обучением глубоких сетей. ResNet. DenseNet. Depthwise и Depthwise-separable convolutions. SE-block. EfficientNetV2. ConvNeXt
Занятие 16
Применение сверточных в биологии. Диагностика заболеваний, вызванных мутациями в геноме. Предсказание эффектов однонуклеотидных полиморфизмов. Предсказание энергии связывания лиганда с белком. Классификация медицинских изображений при помощи сверточных нейронных сетей. Обучение с переносом при работе с биологическими изображениями. Предсказание доступности хроматина при помощи сверточных нейронных сетей.
Занятие 17 (2 пары)
Методы обучения глубоких нейронных сетей. Activation function. Инициализация весов. Batch-нормализация. Оптимизаторы. Подбор learning rate. LR range test. Learning schedule. One cycle learning schedule.
Занятие 18 (2 пары)
Autoencoders. Representation learning. U-Net. Сегментация биологических изображений. Работа с зашумленными данными в биологии при помощи нейронных сетей. Предсказание вредоносных мутаций в кодирующих участках при помощи VAE.
Занятие 19
GANs. Drug design.
Занятие 20
Рекуррентные нейронные сети. Предсказание вторичной структуры белка.
Занятие 21
Механизм attention. Attention transformers. GPT-3. BERT.
Занятие 22
Анализ биологических текстов при помощи BiBioBERT Text-mining биологических статей. Моделирование структур белков. Unsupervised сегментация биологических изображений. Enformer. Representation learning. Self-supervised learning. ESM1. DINO. Успехи и неудачи AlphaFold
Дополнительные занятия
Занятие 24
Модели машинного обучения для работы с табличными данными в медицине. Работа с пропущенными данными (приглашенный лектор)
Занятие 25
Машинное обучение для предсказания активности регуляторных районов генов
Рекомендцемые материалы для курса
Основная литература
1. The Elements of Statistical Learning by Trevor Hastie, Robert Tibshirani, and Jerome Friedman
2. Hands-on Machine Learning with Scikit-Learn, Keras and TensorFlow, Aurelien Geron
3. Deep Learning by Ian Goodfellow, Youshua Bengio, Aaron Courvil
4. Learning from Data, Y. S. Abu-Mostafa
Дополнительная литература
1. Machine Learning: A Probabilistic Perspective by Kevin Patrick Murphy
2. Pattern Recognition and Machine Learning by Christopher M. Bishop
Дополнительные источники
1. https://statquest.org/ - канал о машинном обучении и статистике
2. https://www.youtube.com/c/3blue1brown - канал о линейной алгебре, математических конструкциях и машинном обучении