Подготовка курса Компьютерный практикум

Курс Компьютерный практикум по математическому моделированию.

Содержание

1 Идеология курса

  • Языком программирования на курсе является язык Julia.
  • Курс состоит в выполнении лабораторных работ.
  • К лабораторным работам даются видео-описания.

2 Информация по предмету

  • Наименование дисциплины: Компьютерный практикум по математическому моделированию
  • Объем курса:
    • 6 кредитов,
    • общая трудоёмкость: 216 часа
    • контактные часы: часа
    • лекции: 0 часов
    • лабораторные работы: 36 часов
    • самостоятельная работа: часа
    • контроль: часов
  • Курс: 4
    • Семестр: 7
    • Модуль: 13, 14
  • Продолжительность курса: 17 недель
  • Лекции: 0 часов
  • Лабораторные работы: 2 часа в неделю

3 Лабораторные работы

3.1 Основы Julia

3.1.1 Julia. Установка и настройка. Основные принципы

  • Подготовка инструментария к работе
  • Основы работы в блокноте Jupyter
  • Основы синтаксиса Julia

3.1.2 Структуры данных

  • Кортежи
  • Словари
  • Множества
  • Массивы

3.1.3 Управляющие структуры

  • Циклы while и for
  • Условные выражения
  • Функции
  • Сторонние библиотеки (пакеты) в Julia

3.1.4 Линейная алгебра

  • Поэлементные операции над многомерными массивами
  • Транспонирование, след, ранг, определитель и инверсия матрицы
  • Вычисление нормы векторов и матриц, повороты, вращения
  • Матричное умножение, единичная матрица, скалярное произведение
  • Факторизация. Специальные матричные структуры
  • Общая линейная алгебра

3.1.5 Построение графиков

  • Основные пакеты для работы с графиками в Julia
  • Опции при построении графиков
  • Точечный график
  • Аппроксимация данных
  • Две оси ординат
  • Полярные координаты
  • Параметрический график
  • График поверхности
  • Линии уровня
  • Векторные поля
  • Анимация
  • Errorbars
  • Использование пакета Distributions
  • Подграфики

3.1.6 Решение моделей в непрерывном и дискретном времени

  • Решение обыкновенных дифференциальных уравнений
  • Модели
    • Модель экспоненциального роста
    • Система Лоренца
    • Модель Лотки–Вольтерры

3.2 Машинное обучение

3.2.1 Визуализация статистических данных

  • Пакеты для визуализации статистических данных
  • Одномерные данные
  • Распределения
  • Варианты визуализации
    • Ящики с усами
    • Скрипки
    • QQ-графики
    • Тепловые карты

3.2.2 Аналитико-численный подход к моделированию

  • Пакет ModelingToolkit.jl
  • Пакет Catalyst.jl
  • Модели
    • Модель экспоненциального роста
    • Система Лоренца
    • Модель Лотки–Вольтерры

3.2.3 Оптимизация

  • Линейное программирование
  • Векторизованные ограничения и целевая функция оптимизации
  • Оптимизация рациона питания
  • Путешествие по миру
  • Портфельные инвестиции
  • Восстановление изображения

3.2.4 Манипулирование данными. Структуры данных для работы со статистической информацией

  • DataFrames. Расширенное описание
  • Данные с категориями
  • Ввод/вывод структур данных
  • Разбиение и слияние данных
  • Запросы к данным

3.2.5 Введение в работу с данными

  • Julia для науки о данных
    • Считывание данных
    • Запись данных в файл
    • Словари
    • DataFrames
    • RDatasets
    • Работа с переменными отсутствующего типа (Missing Values)
    • FileIO
  • Обработка данных: стандартные алгоритмы машинного обучения в Julia
    • Кластеризация данных. Метод \(k\)-средних
    • Кластеризация данных. Метод \(k\) ближайших соседей
    • Обработка данных. Метод главных компонент
    • Обработка данных. Линейная регрессия

3.2.6 Обучение с учителем

  • Перекрёстная проверка
  • Классификация k-ближайших соседей
  • Деревья классификации и регрессии
  • Bootstrap
  • Random Forests
  • Градиентный бустинг

3.2.7 Обучение без учителя

  • Анализ основных компонентов
  • Алгоритм максимизации ожидания
  • Кластеризация данных. Метод k-средних
  • Вероятностный анализ главных компонент

3.2.8 Нейронные сети

  • Построение нейронной сети для классификации фруктов
  • Нейронная сеть для данных MNIST

4 Материалы для курса

4.1 Julia-in-DS


Дмитрий Сергеевич Кулябов
Дмитрий Сергеевич Кулябов
Профессор кафедры теории вероятностей и кибербезопасности

Мои научные интересы включают физику, администрирование Unix и сетей.

Похожие