Skip to content

Myashka/MIPT_Basic_ML

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

15 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Basic course of Machine learning at MIPT.

Открытый курс по ML от ФПМИ МФТИ Были изучены материалы курса, законспектированы лекции, выполнены лабораторные работы. Ниже приведено описание проделанной работы.

My homeworks:

Тип Название Описание
lab ML Pipeline & SVM Лабораторная работа состояла из 3-ёх частей.
1. В первой части было выполнено матричное дифференцирование.
2. Во второй части были произведены эксперименты с данными: выполнена предобработка, визуализировано с PCA, построена модель логистической регрессии, оценён ROC-AUC score. Также были протестированы модели RandomForest и Bagging над решающими деревьями, сделана визуализация разделяющих гиперплоскостей от Дерева принятия решений. Оценен Learning curve.
3. В третьей части были произведены эксперименты с SVM классификатором над датасетом make_moons. Использованы различные ядра, построены визуализации, также использованы поиномиальные данные. Решен датасет make_circules.
lab DL Лабораторная работа состояла из 5-и частей 3 основные, 2 опциональные. Были выполнено 2-4 части. (первая часть была выполнена по ходу выполнения assigments).
1. Во второй части я боролся с переобучением сети над датасетом FashionMNIST. Для этого была упрощена структура модели, добавлены Dropout слои.
2. В третьей части Было выполнена генерация стихов на основе Шейкспира. Для этого были предобработаны текстовые данные. Построена простая языковая Seq2Seq модель c LSTM. Произведены эксперименты с температурой SofrMax'a. То же самое было проделано с текстом Евгения Онегина.
3. В четвертой части решалась задача HAR (human activity recognission). Для этого выполнена визуализация PCA c 2 компонентами, сформирован PyTorch датасет. Были произведены различные эксперименты по поводу каким именно образом и с какой инициализацией весов лучше работает LSTM для данной проблемы. Так была отмечена зависимость, что при использовании NLLLoss результаты лучше, чем с CrossEntropyLoss, вероятно из-за числовой стабильности. Accuracy = 0.9.
assignment kNN Реализован класс KNearestNeighbor, классификатор на основе алгоритма ближайших соседей, измерена разница во времени работы алгоритма в зависимости от наличия циклов в имплементации. Произведено сравнение с sklearn kNN.
assignment kNN Реализован класс KNearestNeighbor, классификатор на основе алгоритма ближайших соседей, измерена разница во времени работы алгоритма в зависимости от наличия циклов в имплементации. Произведено сравнение с sklearn kNN.
assignment Linear Regression Решены примеры на матричное дифференцирование. Имплементированы функции ошибок и производных в loss_and_derivatives. Выполнен градиентный спуск c L2 регуляризацией, выполнено сравнение с sklearn.
assignment SVM Имплементирован SVM метод с rbf ядром на основе интерфейса sklearn и градиентной оптимизацией PyTorch (файл) Протестирована работа и произведено сравнение с sklearn SVC.
assignment Tree Имплементированы различные критерии информативности. Также структура дерева , создание сплита и выбор лучшего (файл) Протестирована имплементация, выполнен GridSearch.
assignment NN from scratch Имплементированы различные слои для нейронной сети, такие как Linear, SoftMax, LogSoftMax, BatchNorm, DropOut. Функции активации: ReLU, LeakyReLu, ELU, SoftPlus. Функции потерь: MSE, NLL. Оптимизаторы: SGD Momentum, Adam. (файл) Реализованные модули Протестированы.

Seminars and practics:

Неделя Семинар Описание
01_1 Предобработка данных Работы с данными в Pandas, работа с пропусками, преобразование нечисловых значений, добавление признаков.
01_2 Naive Bias Naive Bias from Skratch implementation, сравнение с kNN, реализация ядерного сглаживания (KDE), сравнение результатов.
02_1 Linear Regression, GD Линейная регрессия, GD, SGD, несколько сюжетов про числа обусловленности, sklearn pipeline.
02_2 Loss Functions, Regularization Вероятностный взгляд на MSE и регуляризацию, функции потерь.
03_1 Logistic Regression with PyTorch Знакомство с PyTorch, AutoGrad, логистическая регрессия.
04_1 SVM Реализация SVM на основе sklearn и PyTorch. Различные опыты с Sklearn SVC.
04_2 SVD Pictures compression with SVD.
04_3 Bias Variance decomposition Bias Variance разложение, опыты с полиномами разных степеней.
05_1 Decision trees Деревья принятия решений, критерии информативности: Джини, энтропия Шеннона, ошибка классификации. Критерии для регрессии. Визуализации, pruning.
05_2 Ensembles Bootstrap, bagging, RandomForest. Эксперименты с RandomForest из sklearn, влияние гиперпараметров на обобщающую способность, feature importance.
05_3 Cross_validation Кросс-валидация, подбор гиперпараметров.
06_1 Gradient Boosting Градиентный бустинг, зависимость обучения от гиперпараметров.
08_1 PyTorch, DataLoaders Обучение модели в PyTorch, работа с загрущиками данных.
10_1 Embeddings, Seq2Seq Embeddings, RNN, LSTM, генерация имен.
11_1 CNN Own class for CNN training, fine-tuning, Data Augmentation.

About

Open Machine Learning base course at MIPT

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published