ai_learning/common/NOTE_TEMPLATE.md

6.4 KiB
Raw Blame History

Название темы

Краткая формулировка: что изучаем и какую задачу это помогает решать.

Мотивация

Опишите практическую проблему до введения формул:

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

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

Интуиция

Сначала дайте мысленную модель без потери математического смысла. Укажите:

  1. какие объекты участвуют;
  2. что меняется, а что фиксировано;
  3. какую величину мы хотим измерить, предсказать или оптимизировать;
  4. где аналогия перестаёт работать.

При необходимости добавьте маленький числовой пример. Интуиция должна готовить к определению, а не заменять его.

Определения и обозначения

Введите каждый новый термин до первого использования.

  • Термин — точное определение.
  • Скаляр записывается как 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}

После вывода проверьте:

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

Разобранный пример

Сформулируйте небольшую задачу с конкретными числами.

Дано. Перечислите входные величины и их размерности.

Решение.

  1. Выберите подходящую формулу и объясните выбор.
  2. Подставьте значения без пропуска промежуточных вычислений.
  3. Интерпретируйте число в терминах исходной задачи.

Проверка. Сравните результат с грубой оценкой, альтернативным вычислением или известным частным случаем.

Связь с 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.