Арифметика: дроби, проценты, порядки величин
Дроби
$$ \frac{a}{b} + \frac{c}{d} = \frac{ad + bc}{bd}, \qquad \frac{a}{b} \cdot \frac{c}{d} = \frac{ac}{bd}, \qquad \frac{a}{b} : \frac{c}{d} = \frac{a}{b} \cdot \frac{d}{c} $$
- Делить на дробь = умножать на перевёрнутую.
- Сокращать можно только множители, не слагаемые: $\frac{2x}{2y} = \frac{x}{y}$, но $\frac{x + 2}{y + 2} \ne \frac{x}{y}$.
Где в ML: precision $= \frac{TP}{TP + FP}$ — это просто дробь «сколько из предсказанных позитивов правильные».
Проценты и доли
| Задача | Формула | Пример |
|---|---|---|
| p% от числа | $N \cdot p / 100$ | 15% от 240 = 36 |
| Какой процент A от B | $A / B \cdot 100\%$ | 36 из 240 = 15% |
| Изменение в процентах | $\frac{\text{новое} - \text{старое}}{\text{старое}} \cdot 100\%$ | 0.80 → 0.84: +5% |
| Процентные пункты (п.п.) | разность процентов | 80% → 84%: +4 п.п. |
⚠️ Ловушка: «accuracy выросла на 4%» и «на 4 п.п.» — разные вещи. С 80% до 84% — это +4 п.п., но +5% относительно. Ошибка «упала с 20% до 16%» — минус 4 п.п., но минус 20% ошибок.
Несколько изменений подряд перемножаются: +10%, затем −10% — это $1.1 \cdot 0.9 = 0.99$, итог −1%, а не 0.
Порядок действий и округление
Скобки → степени → умножение и деление → сложение и вычитание. В коде то же: 2 + 3 * 4 ** 2 == 50.
Значащие цифры: 0.000123 — три значащие цифры. Float32 хранит ~7 значащих цифр, поэтому 1.0 + 1e-8 == 1.0 (подробнее — модуль 13 основного курса).
Научная запись и порядки величин
$123\,000 = 1.23 \cdot 10^5$, $0.00042 = 4.2 \cdot 10^{-4}$. В коде: 1.23e5, 4.2e-4.
| Приставка | Множитель | Пример в ML |
|---|---|---|
| К (кило) | $10^3$ | 4K контекст ≈ 4096 токенов |
| М (мега) | $10^6$ | 125M параметров (GPT-2 small) |
| G / B (гига, billion) | $10^9$ | 7B параметров |
| T (тера, trillion) | $10^{12}$ | 15T токенов обучения |
| P (пета) | $10^{15}$ | PFLOP/s — производительность кластера |
| м (милли) | $10^{-3}$ | lr = 3e-4 = 0.3 милли |
Прикидка «на салфетке» — ключевой навык: $7 \cdot 10^9$ параметров × 2 байта = $14 \cdot 10^9$ байт ≈ 14 ГБ.
🏋️ Практика Б1
Б1.1. Модель улучшила F1 с 0.62 до 0.71. На сколько процентных пунктов и на сколько процентов?
▶️ Ответ
+9 п.п.; относительный рост $(0.71 - 0.62)/0.62 \approx 14.5\%$.Б1.2. Датасет 1.2 млн картинок, батч 256. Сколько шагов в эпохе? Сколько шагов за 90 эпох?
▶️ Ответ
$1\,200\,000 / 256 = 4687.5$ → 4688 шагов (последний батч неполный). За 90 эпох ≈ 421 900 шагов.Б1.3. Сколько гигабайт займут 50 млн эмбеддингов размерности 768 во float32 (4 байта)?