ПРОГРАММА КУРСА
Data Science: машинное обучение и нейронные сети. Профессиональный уровень
Необходимая математическая база. Начало.
  • Повторение основных понятий. Вектор, матрица, векторное пространство. Действия над векторами и матрицами. Транспонирование матрицы, обратная матрица, единичная и нулевая матриц.
  • Теория вероятности. Комбинаторика. Случайные величины. Дисперсия случайной величины. Условная вероятность. Формула Байеса. Распределения и доверительные интервалы.

Необходимая математическая база. Продолжение.
  • Знакомство с производной. Производные n-го порядка. Частные производные. Разложение производной на граф. Понятие "Тензор". Понятие градиента. Матрица Якоби. Матрица Гессе. Гауссиана. Лапласиана.
  • Построение алгоритма автоматизированного дифференцирования (autograd)

Линейная регрессия. Основы scikit-learn.
  • Линейная регрессия. Наименьшие квадраты. Функция стоимости. Градиентный спуск. Простая линейная регрессия. Обзор Scikit-Learn. Scikit-Learn - оценка работы модели. Графики остатков - Residual Plots.
  • Внедрение модели и интерпретация коэффициентов.

Полиномиальная регрессия. Регуляризация.
  • Полиномиальная регрессия. Теория, создание признаков, обучение и оценка модели. Дилемма смещения-дисперсии. Регуляризация. Масштабирование признаков.

Проектирование признаков и подготовка данных
  • Проектирование признаков
  • Категориальные признаки. Текстовые признаки. Признаки для изображений. Производные признаки. Внесение отсутствующих данных. Конвейеры признаков.

Ансамблевое обучение и случайные леса

  • Ансамбли оценивателей. Деревья решений и случайные леса. Создание дерева принятия решений.
  • Деревья принятия решений и переобучение. Регрессия с помощью случайных лесов.

Метод главных компонент. Метод k-средних

  • Использование метода главных компонент для фильтрации шума.
  • Знакомство с методом k-средних. Алгоритм k-средних

NLP и наивный Байесовский классификатор

  • NLP. Теорема Байеса. Наивный Байесовский алгоритм.

Иерархическая кластеризация данных. Кластеризация на основе плотности данных
  • Понятие иерархии кластеризации данных.
  • Понятие плотности данных. Кластеризация.

PyTorch
  • Знакомство с PyTorch.
  • Введение в искусственные нейронные сети.
  • PyTorch vs TensorFlow

СНС. Начало
  • Сверточные нейронные сети (СНС).
  • Причины возникновения.
  • Биологическое подобие.
  • Понятие математической операции свертка.
  • Типы сверток. Аффинные преобразования

СНС. Продолжение
  • Построение многослойной сверточной сети. Выделение фильтров.
  • Использование СНС для решения задач временны́х рядов.
  • Обработка текста СН

Рекуррентные нейронные сети. Начало
  • Рекуррентные нейроны.
  • Ячейки памяти.
  • Входные и выходные последовательности.
  • Базовые рекуррентные нейронные сети.
  • Статическое развертывание во времени.
  • Динамическое развертывание во времени.
  • Обработка входных последовательностей переменной длины.
Рекуррентные нейронные сети. Продолжение
  • Обучение рекуррентных нейронных сетей. Обучение классификатора последовательностей.
  • Обучение для прогнозирования временных рядов.
  • Креативная рекуррентная нейронная сеть.
  • Глубокие рекуррентные нейронные сети.
  • Распределение глубокой рекуррентной нейронной сети между множеством графических процессоров.
Автоматическое дифференцирование. Гистограмма направленных градиентов (HOG)
  • Ручное дифференцирование.
  • Символическое дифференцирование.
  • Численное дифференцирование.
  • Автоматическое дифференцирование в прямом режиме.
  • Автоматическое дифференцирование в обратном режиме.
  • Метод HOG. Задача на распознавание лиц.
Популярные архитектуры нейронных сетей
  • Машины Больцмана.
  • Ограниченные машины Больцмана.
  • Самоорганизующиеся карты.
  • Глубокие сети доверия