6.4 KiB
Название темы
Краткая формулировка: что изучаем и какую задачу это помогает решать.
Мотивация
Опишите практическую проблему до введения формул:
- где она возникает в анализе данных или машинном обучении;
- почему наивного решения недостаточно;
- какой результат читатель сможет получить после главы.
Хорошая мотивация связывает тему с уже знакомой идеей и называет цену ошибки. Например, неверное понимание масштаба градиента приводит не только к медленному обучению, но и к численной нестабильности.
Интуиция
Сначала дайте мысленную модель без потери математического смысла. Укажите:
- какие объекты участвуют;
- что меняется, а что фиксировано;
- какую величину мы хотим измерить, предсказать или оптимизировать;
- где аналогия перестаёт работать.
При необходимости добавьте маленький числовой пример. Интуиция должна готовить к определению, а не заменять его.
Определения и обозначения
Введите каждый новый термин до первого использования.
- Термин — точное определение.
- Скаляр записывается как
x, вектор — как\mathbf{x}, матрица — как\mathbf{X}. - Размерности указываются явно:
\mathbf{X}\in\mathbb{R}^{n\times d},\mathbf{w}\in\mathbb{R}^{d}. - Все специальные предположения перечисляются рядом с формулой.
Согласуйте запись с NOTATION.md. Если в теме нужна локальная
оговорка, объясните её явно.
Вывод ключевых формул
Не переходите от исходной формулы к ответу одним скачком. Для каждого шага укажите применённое свойство:
\begin{aligned}
L(\mathbf{w})
&= \frac{1}{2}\|\mathbf{X}\mathbf{w}-\mathbf{y}\|_2^2 \\
&= \frac{1}{2}
(\mathbf{X}\mathbf{w}-\mathbf{y})^\top
(\mathbf{X}\mathbf{w}-\mathbf{y})
&& \text{по определению нормы},\\
\nabla_{\mathbf{w}}L
&= \mathbf{X}^\top(\mathbf{X}\mathbf{w}-\mathbf{y})
&& \text{по правилу производной квадратичной формы}.
\end{aligned}
После вывода проверьте:
- совпадают ли размерности обеих частей;
- разумно ли поведение в простом предельном случае;
- какие предположения нужны для результата;
- является ли формула точной или приближённой.
Разобранный пример
Сформулируйте небольшую задачу с конкретными числами.
Дано. Перечислите входные величины и их размерности.
Решение.
- Выберите подходящую формулу и объясните выбор.
- Подставьте значения без пропуска промежуточных вычислений.
- Интерпретируйте число в терминах исходной задачи.
Проверка. Сравните результат с грубой оценкой, альтернативным вычислением или известным частным случаем.
Связь с Python и NumPy
Код должен воспроизводить разобранный пример и запускаться как самостоятельный фрагмент:
import numpy as np
X = np.array([[1.0, 2.0], [3.0, 4.0]])
w = np.array([0.5, -0.25])
y = np.array([0.0, 0.5])
residual = X @ w - y
loss = 0.5 * residual @ residual
gradient = X.T @ residual
print(f"loss = {loss:.6f}")
print("gradient =", gradient)
Поясните соответствие между математикой и кодом: @ — матричное умножение,
.T — транспонирование, а не поэлементная операция. Укажите формы массивов и
не полагайтесь на случайный broadcasting.
Типичные ошибки и ограничения
- Ошибка: распространённое неверное действие. Почему неверно: нарушенное условие или свойство. Как исправить: безопасная проверка или корректная формула.
- Отделите математические ограничения метода от особенностей реализации.
- Назовите случаи, в которых приближение перестаёт быть надёжным.
- Предупредите о переполнении, потере точности и неоднозначных формах массивов, если они возможны.
Краткое резюме
- Одна строка о главной идее.
- Одна строка о ключевой формуле и её условиях.
- Одна строка о практической интерпретации.
- Одна строка о наиболее опасной ошибке.
Связанные материалы
- Базовая глава: относительная ссылка внутри репозитория.
- Следующая тема: относительная ссылка внутри репозитория.
- Термины:
GLOSSARY.md.