Курсовая по прикладной математике и информатике в НИЯУ МИФИ может идти по двум очень естественным траекториям. В актуальном перечне направления 01.03.02 указаны программы «Математическое и программное обеспечение киберфизических систем» и «Математика и науки о данных».
Официальная страница:
https://admission.mephi.ru/admission/baccalaureate-and-specialty/education/programs/all/view/110
Это сразу задаёт характер хорошей работы: строгая математическая постановка плюс вычислительный эксперимент.
Выберите тип задачи
Киберфизическая:
- model dynamics;
- control;
- sensor;
- estimation.
Data science:
- statistical model;
- prediction;
- clustering;
- anomaly detection.
Не смешивайте всё в одной курсовой.
Формальная постановка
Запишите:
- variables;
- parameters;
- constraints;
- objective;
- assumptions.
Читатель должен понять задачу до кода.
Киберфизическая модель
Например:
x_dot = f(x,u,w)
где:
- x - состояние;
- u - управление;
- w - возмущение.
Опишите физический смысл каждой переменной.
Дискретная модель
Если расчёт цифровой, continuous model нужно дискретизировать.
Шаг времени влияет на:
- accuracy;
- stability;
- computation.
Не выбирайте dt без проверки.
Сходимость
Сравните:
dt
dt/2
dt/4.
Если результат стабилизируется, это аргумент в пользу numerical validity.
Численная устойчивость
Метод может формально сходиться, но плохо вести себя при ошибке данных.
Добавьте небольшое perturbation.
Смотрите, насколько меняется output.
Аналитический benchmark
Для простого режима найдите точное решение.
Например:
- linear case;
- no disturbance;
- steady state.
Сравните numerical result.
Data science
Если тема про данные, начните не с модели, а с структуры dataset.
Проверьте:
- missing;
- outlier;
- class balance;
- time dependence.
Математическая модель должна соответствовать данным.
Probability model
Если предполагается распределение, проверьте его разумность.
Не используйте normal distribution только потому, что формулы удобны.
Оценка параметров
Разделяйте:
- true parameter;
- estimate;
- standard error.
Не называйте estimate точным значением.
Regression
Для модели объясните coefficients.
Не ограничивайтесь p-value.
Покажите:
- sign;
- magnitude;
- uncertainty.
Regularization
L1/L2 меняют bias-variance trade-off.
Проведите validation по parameter.
Не выбирайте lambda после просмотра test.
Optimization
ML и многие математические задачи требуют optimisation.
Покажите:
- loss;
- gradient;
- step;
- stopping.
Не скрывайте весь метод внутри library call.
Gradient check
Для собственной реализации можно сравнить analytical gradient с finite difference.
Это полезная проверка.
Local optimum
Невыпуклая функция может иметь разные результаты от initial point.
Проведите multiple starts.
Не утверждайте глобальность без основания.
Sparse systems
Киберфизические и сетевые задачи часто дают sparse matrix.
Сравните:
- dense memory;
- sparse memory;
- solver time.
Не храните миллион нулей.
