Скоро Machine Learning для начинающих [2022] [karpov.courses] [Нерсес Багиян, Никита Табакаев, Эмиль Каюмов, Алексей Кожарин]

Статус
В этой теме нельзя размещать новые ответы.
VkurseBot

VkurseBot

Модератор
20 Сен 2020
0
641
50
Голосов: 0
#1
Machine Learning для начинающих [2022]
START ML [2022]
karpov.courses
Нерсес Багиян, Никита Табакаев, Эмиль Каюмов, Алексей Кожарин


Всё про самую увлекательную профессию 21 века: от сбора данных до оценки эффекта от моделей машинного обучения.

Мы включили в программу теорию по математике в необходимом для практики объеме. Она подаётся совместно с основным уроком, так что учить отдельно не придется.

Мы старались включить как можно больше приближенных к реальности заданий, чтобы задачи на работе не оказались для вас сюрпризом.

Для кого эта программа:
1. Старт карьеры
Хотите изучить машинное обучение, но не знаете, с чего начать. Курс научит вас необходимой математической базе для работы в ML и даст навыки для старта карьеры.​
2. Уже работает в IT
Вы уже работаете в IT, но хотите перейти в новую сферу или расширить свои знания и навыки, чтобы применить их в различных областях машинного обучения.​

Модуль 1 - Прикладная разработка на Python
Python — один из самых популярных инструментов для анализа данных. В этом блоке мы научимся работать с этим языком, познакомимся с основными библиотеками для ML и узнаем, как грамотно использовать Python при командной работе. Полученных знаний будет достаточно для работы не только в области анализа данных, но и в классической разработке на Python.

1. Основные сведения о Python
  • Познакомимся с основными определениями, узнаем, что такое дин, типизация и проcтой синтаксис.
  • Изучим базовые структуры данных — list, tuple, dict, set, и операции с ними.
  • Узнаем, как писать for, while, if (пока без with, try/except), break, continue.
2. Функции. Ссылочная модель данных. Погружение в типы. Изменяемые типы, срезы, работа со строками
  • Разберём, как написать свою функцию.
  • Изучим обязательные аргументы, аргументы по-умолчанию и ссылочную модель данных.
  • Рассмотрим изменяемые и неизменяемые типы.
  • Выясним, как выглядит модификация неизменяемых типов «под капотом» и как устроен полный синтаксис.
3. Внешние модули. Экосистема PyPi. Установка пакетов в виртуальные окружения
  • Импортируем встроенные модули, узнаем, где искать сторонние библиотеки и как их устанавливать от начала до конца на примере numpy, pandas.
  • Разберёмся, зачем и как нужно создавать окружения, а также зачем нужно фиксировать версии библиотек.
4. Классы и ООП
  • Познакомимся с понятием «класс» и философией ООП.
  • Рассмотрим основные принципы построения классов и их реализацию на Python.
5. Версионирование кода и git
  • Познакомимся со способами применения и преимуществами версионирования и ветвления.
  • Настроим git, разберем новые команды (clone,add,commit), научимся создавать «ветки».
  • Познакомимся с merge и origin, изучим форматирование коммитов по шаблону и теги.
6. Обзор numpy, pandas, jupyter. Основы jupyter
  • Обзор основных библиотек из арсенала DS: numpy, pandas, matplotlib.
  • Начнём работать с jupyter и numpy.
7. Pandas
  • Познакомимся с основными операциями библиотеки pandas.
8. Базы данных в Python: основы и ORM
  • Рассмотрим SQL, научимся подключаться к БД в Python на примере PostgresSQL.
  • Познакомимся с концепцией ORM, разберем интеграцию SQLAlchemy с pandas.
9. Backend-разработка: что это такое. Фреймворк FastAPI для прототипирования backend-сервера
  • Узнаем, чем может быть полезен backend-сервер в ML.
  • Познакомимся с основами backend: методы GET, POST, передача параметров, JSON в body, status code, ответ сервера.
  • Разберём подключение БД 3 способами: через сырые SQL, через SQLAlchemy, через веб-сервер.
10. Airflow: обзор платформы
  • Познакомимся с возможностями Airflow: шедулинг задач, трекинг прогресса, логгирование.
  • Рассмотрим основные концепции: DAG, task, operator.
  • Напишем простой DAG с зависимостями и PythonOperator.
  • Разберёмся, как Airflow может использоваться в ETL-процессах.
11. Полезные вещи в разработке
  • Выясним, как передавать кредентиалы в код, как выносить подвижные части в config и когда это делать.
  • Познакомимся с концепцией single source of truth и узнаем, как она упрощает жизнь разработчика.
  • Разберёмся, что такое идемпотентность и как она помогает в Airflow и Jupyter notebook.
  • Научимся расширять PYTHONPATH через консоль и через sys.path.append.
Модуль 2 - Машинное обучение и приложения
Классические методы машинного обучения — это основа для большинства современных способов анализа данных, например, для оптимизации банковского ценообразования. Мы изучим основной теоретический инструментарий для успешного построения ML-дизайна в острых проблемах реальной индустрии и отточим новые навыки на практике.

1. Введение в МО: векторное описание объектов, постановка задач
  • Узнаем, что такое МО и зачем оно нужно.
  • Разберемся с основной терминологией при постановке задач: объекты, метрики, регрессия, классификация, ранжирование, выборка.
  • Научимся решать задачу поиска коэффициентов линейной регрессии без кода (OLS) и готовить сырые данные.
2. Линейная регрессия: градиентный спуск (OLS). Обобщающая способность модели. Кросс-валидация
  • Обсудим механику и интуицию градиентного спуска, установим теоретически возможные проблемы метода спуска.
  • Реализуем OLS без привлечения сторонних библиотек.
  • Разберем, как использовать кросс-валидацию для оценки модели.
3. Линейная регрессия: ЛЗ регрессоры, мультиколлинеарность и масштабирование. Регуляризация линейных моделей.
  • Обсудим природу возникновения мультиколлинеарности, научимся с ней бороться с помощью основных подходов регуляризации линейных моделей: Ridge и Lasso.
  • Узнаем, зачем нормализовать фичи: интерпретация, вес оценки коэффициента и оптимальность градиентного спуска.
4. Метрики качества регрессии: MAPE, MAE, ядровой подход и др.
  • Узнаем разницу между метрикой и лоссом.
  • Обсудим цену знака ошибки и робастность при подборе функционала качества.
  • Научимся подбирать правильную метрику и лосс в зависимости от бизнес-контекста задачи.
  • Математически покажем разницу в ошибке для различных объектов, обсудим статистические свойства оценок при различных методах их получения.
5. Обработка фичей
  • Научимся кодировать категориальные признаки.
  • Покажем, как нелинейные преобразования фичей могут из плохой модели сделать идеальную и научимся подбирать функциональную зависимость по точкам.
6. Линейная классификация: оценка вероятности
  • Научимся запускать и настраивать простейшую модель бинарной классификации — логистическую регрессию.
  • Посмотрим, как могут меняться аутпуты на выбросах в зависимости от функции активации.
  • Обсудим базовые методы оценки качества классификации: accuracy, precision, recall, F-мера.
7. ROC, PR-кривые. AUC-ROC, AUC-PR. Калибровка
  • На примере с предыдущего занятия построим ROC, PR кривые, посчитаем метрики, сравним со случайно моделью.
  • Формально введем определение ROC-AUC, PR-AUC, поговорим про калибровку вероятностей и научимся интерпретировать результаты логистической регрессии.
8. Метод опорных векторов
  • Обсудим интуицию построения разделяющей гиперплоскости с помощью метода опорных векторов.
  • Узнаем, чем знаменит SVM и сравним оценки качества модели с логрегом.
  • Запустим SVM из коробки, сравним качество и порисуем.
  • Научимся выбирать лучший метод для каждой задачи.
9. Метод K ближайших соседей: обоснование нелинейности, гиперпараметры и подбор метрики близости объектов
  • Познакомимся с первым нелинейным способом — моделью KNN как для задачи классификации, так и для задачи регрессии.
  • Обсудим мелочи и научимся подбирать подходящую под конкретную задачу функцию расстояния между объектами.
10. Отбор признаков и понижение размерности признакового пространства
  • Предложим альтернативы регуляризации при отборе фичей — валидацию на признаках.
  • Узнаем, как бороться с разряженным признаковым пространством объектов с помощью метода главных компонент.
  • Научимся визуализировать результаты сложных высокоразмерных меоделей с помощью t-SNE метода и делать адекватные выводы модели.
11. Многоклассовая классификая: one vs rest, one vs one.
  • Введем новую задачу многоклассовой классификации.
  • Покажем формальные отличия от бинарной классификации.
  • Запустим из коробки, сравним различия в качестве оценки при использовании двух подходов и закрепим навыки визуализации.
12. Решающее дерево
  • Узнаем, как устроены решающие деревья для задач машинного обучения.
  • Запустим дерево на датасете для задачи регрессии и аналогичное дерево для задачи классификации.
  • Изучим всевозможные гиперпараметры модели и поймем, на что влияет каждый из них.
  • Узнаем критерии построения следующей вершины и все-все, что понадобится для механического и интуитивного понимания работы дерева.
  • Научимся визуализировать и интерпретировать результаты модели.
13. Композиции алгоритмов. Случайный лес.
  • Узнаем основные методы ансамблирования, познакомимся с понятием метамодели.
  • Обучим стекинг, случайный лес и убедимся в их невероятной пользе.
  • Научимся выбирать лучший из способов ансамблирования в контексте разных задач.
14. Градиентный бустинг. Bias-variance trade-off.
  • Обсудим идею и интуицию градиентного бустинга.
  • Узнаем про главную диллему машинного обучения: bias-variance tradeoff и на примере научимся раскладывать ошибку на смещение и разброс, сравнивая результат с аналогичными показателями для случайного леса.
15. Кластеризация
  • Рассмотрим задачу обучение без учителя, k-means, dbscan для кластеризации.
  • Попрактикуемся в визуализации обученных кластеров (t-sne).
  • Узнаем, как кластерный анализ может улучшить процесс построения классических моделей.
16. Рекомендательные системы
  • Введем задачу построения рекомендательной системы.
  • Обсудим, почему старые методы работают относительно плохо.
  • Научимся использовать user-based, item-based подходы и реализуем коллаборативную фильтрацию.
17. Машинное обучение: классические задачи и алгоритмы
  • Проведём полный разбор популярных, сложных и интересных кейсов, которые могут встретиться на будущих собеседованиях.
  • Закрепим изученный материал: от описания конкретных параметров модели до ml-дизайна.
Модуль 3 - Обзор основ Deep Learning
Глубинное обучение с использованием нейронных сетей появляется тогда, когда классические модели бессильны: детекция объектов с картинки, генерация осмысленного текста, определение тональности звуковой дорожки и многое другое. В данном курсе мы обзорно посмотрим на решения, которые можно сделать с помощью deep learning, и попробуем в них разобраться.

1. Нейронные сети: полносвязный перцептрон
  • Освоим главные библиотеки по работе с нейронными сетями: tensorflow, torch.
  • Построим своей первый полносвязный перцептрон и познакомимся с базовыми структурными элементами DL.
2. Градиентный спуск в обучении нейронных сетей
  • Поймём принцип обучения нейронных сетей.
  • Рассмотрим проблемы затухания и взрыва градиента.
  • Узнаем современные подходы: SGD, Adam.
  • Замерим скорость и эффективность работы каждого из них.
3. Оптимизация в deep learning
  • Познакомимся с технологиями в рамках архитектуры нейронных сетей, которые помогают делать обучение еще более быстрым и эффективным: BatchNorm, DropOut.
4. Свёрточные нейронные сети
  • Узнаем особенности работы свёрточных нейронных сетей для задач Computer Vision.
  • Познакомимся с особенностями построения фильтров: receptive field, padding'и, pooling'и.
  • Построим свою первую CNN архитектуру для классификации объектов изображений.
5. Популярные архитектуры CNN
  • Узнаем о самых популярных существующих CNN системах.
  • Поймем их архитектурные отличия.
  • Разберем механику новых приемов, использующихся в этих сетях: например, data augmentation.
6. Какие еще задачи решают с помощью сверточных нейросетей?
  • Обзор на прочие частые задачи, решаемые свёрточными нейросетями.
  • Зачем нужны автокодировщики и как их обучать? Как решать задачи сегментации и детекции?
7. Способы кодировки слов: Эмбеддинги в NLP
  • Научимся кодировать текст для обучения семантических моделей.
  • Познакомимся с основными подходами: bag of words, word2vec, skip-gram.
8. Рекуррентные нейронные сети: структура модели и backprop
  • Рассмотрим задачи NLP.
  • Формально поставим задачу, укажем на особенности градиентного спуска для рекуррентных моделей, поговорим про память модели при обучении.
9. Архитектуры нейросетей: LSTM и seq2seq
  • Узнаем особенности подходов LSTM, seq2seq и применим их на практике.
10. Машинное обучение: задачи про глубинное обучение
  • Проведем полный разбор ряда задач глубинному обучению из пула потенциальных вопросов на будущих собеседованиях.
Модуль 4 - Статистика и A/B тесты
В этом блоке мы изучим основные понятия математической статистики, необходимые для улучшения моделей. Научимся правильно проводить A/B тестирование, чтобы достоверно измерять влияние внедрения ML моделей на продукт и бизнес. Обсудим нюансы при проведении экспериментов и способы оценки метрик при невозможности проведения A/B-теста.

1. Зачем нужна статистика и A/B тесты
  • Узнаем, почему недостаточно сделать более классную модель.
  • Разберёмся, как правильно оценивать онлайн-метрики и учитывать шум.
2. Доверительные интервалы
  • Изучим способы оценки доверительных интервалов случайных величин.
  • Разберём примеры непрерывных случайных величин.
3. Статистики распределений, взаимосвязь случайных величин, показатели корреляции
  • Какие статистические показатели существуют для оценивания распределений: мода, медиана, математическое ожидание, дисперсия.
  • Узнаем, как можно оценивать взаимосвязь двух случайных величин и как это можно применить в машинном обучении.
4. Проверка гипотез, параметрические статистические критерии
  • Узнаем, что стоит за проверкой статистических гипотез.
  • Разберём разницу между ошибками первого и второго рода.
  • Поймём суть параметрических статистических критериев и выясним, какие они бывают.
5. Непараметрические статистические критерии
  • Изучим суть непараметрических статистических критериев и узнаем, какие они бывают.
6. Метод максимума правдоподобия и ядерная оценка плотности
  • Узнаем, как оценивать распределение: параметрический и непараметрический подходы.
7. Дизайн A/B эксперимента
  • Выясним, как проходит A/B эксперимент: выбор метрики, определение проверяемой гипотезы, разделение на группы, определение длительности эксперимента и минимального размера выборки, применение статистического критерия.
8. А/А-эксперименты и валидация методики экспериментирования
  • Разберёмся, как по историческим данным провалидировать метрики и схему проведения A/B экспериментов, как оценить мощность.
9. Ошибки при проведении A/B тестов
  • Узнаем, какие ошибки возникают при проведении A/B тестов: множественная проверка гипотез, проверка p-value каждый день, ложные прокраски из-за нарушения тестирования, ошибки в разбиение групп.
10. Увеличение чувствительности А/В тестов
  • Разберём техники для уменьшения дисперсии и увеличения мощности тестов.
11. Невозможность проведения А/В тестов
  • Выясним, в каких случаях и почему может не подходить классический A/B-тест.
  • Узнаем, как проводить эксперименты при наличии сетевого эффекта и в других ситуациях.
12. Собеседования по теории вероятности, статистике и А/B тестированию
  • Разберём задачи, которые часто встречаются на собеседованиях.
Модуль 5 - Собеседования и как их пройти
В последнем блоке курса мы еще раз вспомним основные моменты из всего курса и обсудим, как проходят собеседования на младшего специалиста в машинном обучении, как к ним готовиться и как их проходить. Мы хотим поделиться своим опытом и помочь пройти первый этап в поиске профессии мечты.

1. Программирование на Python: что обычно спаршивают на собеседованиях, какие вопросы могут встречаться
  • Расскажем, о чем вас могут спросить в русских и зарубежных компаниях.
  • В конце урока проведем пробное собеседование и подробно его разберем.
2. Программирование на Python: сложность вычислений и их оценка
  • Узнаем, что означает "работает за квадратичное время".
  • Научимся оценивать сложность по внутренностям цикла.
3. Программирование на Python: задачи и теория на массивы, одно/двух-связные списки, не алгоритмические вещи
  • Разберем задачи на массивы, которые могут встретиться на собеседованиях.
  • Познакомимся с односвязным и двусвязным списком, рассмотрим связанные с ним задачи.
  • Напоследок поговорим про отдельный тип задач на умение внимательно продумывать код и рассматривать граничные случаи — такие часто используются на собеседованиях для проверки внимательности кандидата.
4. Программирование на Python: задачи и теория на деревья и графы
  • Разберём задачи на графы и их популярную вариацию — деревья.
  • Изучим основные алгоритмы на графах и популярные приемы при решении задач.
5. Программирование на Python: задачи и теория про динамическое программирование
  • Разберём новый тип задач и подход к их решению— динамическое программирование.
  • Узнаем, как правильно подступаться к решению, какие есть подводные камни и попробуем свои силы на практических примерах.
6. Машинное обучение
  • В этом уроке мы вспомним материалы из блоков про машинное обучение и еще раз обсудим, с какими задачами можно столкнуться на собеседовании.
7. Прикладная статистика
  • В этом уроке мы вспомним материалы из блока про статистику и А/B теста и еще раз обсудим, с какими задачами можно столкнуться на собеседовании.

 
Последнее редактирование модератором:
Статус
В этой теме нельзя размещать новые ответы.

О нас

Слив платных курсов - скачать бесплатно

На форуме мы делимся сливами популярных курсов в различных областях знаний! Если вы хотите повысить свою профессиональную квалификацию, но не хотите тратить много на курсы, то вы попали по адресу.

VKURSE.INFO регулярно публикует:

  • слив курсов от лучших онлайн-школ, инфобизнесменов и блогеров;
  • вебинары, марафоны, мануалы, от популярных блогеров на тему здоровья и саморазвития;
  • торрент-курсы, книги и гайды, обучения веб-дизайну, программированию, создания сайтов, бизнеса, продвижения в социальных сетях актуальных сегодня.

Мы ежедневно обновляем нашу коллекцию, чтобы вы могли бесплатно найти и скачать необходимый слив курсов обучения

Быстрая навигация

Меню пользователя