Чему вы научитесь
- Разберетесь в нюансах реализации того или иного алгоритма машинного обучения.
- Повторите и закрепите базовые темы классического машинного обучения.
- Составите неплохое портфолио на GitHub (из реализованных алгоритмов).
О курсе
Один из самых эффективных способов разобраться как работает тот или иной алгоритм - реализовать его самому. Этим мы и займемся в данном курсе.
Для разбора возьмем основные алгоритмы классического машинного обучения:
- Линейный модели:
- Линейная регрессия (Linear Regression)
- Логистическая регрессия (Logistic Regression)
- Метод опорных векторов (Support Vector Machine, SVM) - Метрические алгоритмы:
- Метод k-ближайших соседей (k-nearest neighbors algorithm, k-NN) - Деревья решений (Decision Trees)
- Ансамбли:
- Бэггинг (Bagging)
- Случайный лес (Random Forest)
- Бустинг над деревьями решений (Boosting) - Кластеризация:
- Метод k-средних (K-means)
- Агломеративная кластеризация (Agglomerative Clustering)
- DBSCAN - Понижение размерности:
- Метод главных компонент (Principal Component Analysis, PCA)
Помимо этого будут реализованы такие функции как:
- Функции потерь для классификации и регрессии
- Метрики качества для классификации и регрессии
- Различные регуляризации
- Стохастический градиентный спуск
И все это будет реализовано на чистом Python и двух наиболее популярных библиотеках хранения и манипуляции данными – Pandas и NumPy. И никаких Scikit-learn и прочих готовых библиотек.
В отличие от других курсов по машинному обучению, в данном курсе основной упор в подаче материала будет сделан именно на алгоритм с т.з. программирования, а не с т.з. математики. Хотя основные математические концепции и будут даны.
Для успешного прохождения курса вам понадобится понимание основ машинного обучения: для чего делить выборку на трейн и тест, что такое таргет и фича, и прочие базовые концепции, а также профессиональный жаргон. Помимо этого, вам необходимо относительно неплохо разбираться в языке Python, его алгоритмах и структурах данных.
Если Вы не знакомы Python, то рекомендую пройти парочку курсов по нему тут же на Stepik'е. А отточить свои навыки в Python вы сможете на специализированных сайтах. Например:
По машинному обучению могу порекомендовать два курса, которые я сам прошел:
По Pandas и NumPy неплохо бы знать следующее:
- 100 numpy exercises
- Python Numpy Tutorial
- 10 Minutes to pandas
- 101 Pandas Exercises for Data Analysis
- Pandas 100 tricks
- Pandas Exercises
Все это, конечно, условности. При должном усердии (и использовании навыков поиска в интернете) любой сможет осилить этот курс :)
Если у вас возникнут вопросы – пишите их в комментариях – так вы поможете "коллегам" с теми же проблемами. А для более оперативной связи я создал чат в телеграмм: https://t.me/algorithm_ml_course
Телеграмм-канала автора: https://t.me/ds_private_sharing
Для кого этот курс
Курс рассчитан на тех, кто уже знаком с основами машинного обучения и хочет на базовом уровне разобраться в реализации классических алгоритмов машинного обучения.
Начальные требования
- Python
- Основы машинного обучения
- NumPy
- Pandas
Наши преподаватели
Как проходит обучение
Курс состоит из текстовых лекций и практических заданий. В каждом задании вам необходимо будет написать класс на языке Python, который реализовывает тот или иной алгоритм машинного обучения. Причем с каждым шагом вы будете дорабатывать свой класс, усложняя его и добавляя в него новый функционал.