График функции 📈
Ты открываешь TensorBoard и видишь, как loss падает вниз на графике. Или смотришь на кривую accuracy, которая выходит на плато. Или читаешь статью, где сравнивают ReLU и Sigmoid через их графики. Всё это — графики функций. И если ты хочешь не просто «тыкать в PyTorch», а понимать, что происходит внутри нейронки, тебе нужно свободно читать и строить графики.
График функции — это «фотография» поведения функции. Как пульсометр записывает пульс во время тренировки, так и график записывает, что делает функция при разных входных значениях. По графику ты мгновенно видишь: где функция растёт, где падает, где у неё максимум, минимум, разрывы — всю историю целиком.
В этом уроке мы пройдём путь от самых основ — что такое точка на координатной плоскости — до построения графиков, которые ты встретишь в реальной работе с нейросетями и данными.
🎯 Ты узнаешь: - Как построить график любой функции по точкам - Почему одни функции «плавные», а другие «ломаные» - Как читать информацию с графика (нули, экстремумы, монотонность) - Как графики функций активации влияют на обучение нейросети - Где графики используются в ML, Data Science и повседневной жизни
Координатная плоскость: система координат
Что это такое простыми словами
Представь шахматную доску. Чтобы сказать, где стоит конь, ты говоришь: «E4» — буква по горизонтали, цифра по вертикали. Координатная плоскость работает так же, только вместо букв и цифр — числа по обеим осям, и осей ровно две: горизонтальная и вертикальная.
В ML ты постоянно с этим работаешь: ось X — эпохи обучения, ось Y — значение loss. Или: ось X — значение признака, ось Y — предсказание модели. Координатная плоскость — это холст, на котором рисуется вся математика.
Строгое определение
Определение: Координатная (декартова) плоскость — это плоскость с двумя взаимно перпендикулярными числовыми прямыми (осями), пересекающимися в точке $O$ (начало координат). Горизонтальная ось $Ox$ называется осью абсцисс, вертикальная ось $Oy$ — осью ординат.
Определение: Каждой точке $M$ на координатной плоскости соответствует упорядоченная пара чисел $(x, y)$ — её координаты, где $x$ — абсцисса (расстояние по горизонтали от оси $Oy$), $y$ — ордината (расстояние по вертикали от оси $Ox$).
Обозначения: - $O$ — начало координат, точка $(0, 0)$ - $Ox$ — ось абсцисс (горизонтальная, она же «ось иксов») - $Oy$ — ось ординат (вертикальная, она же «ось игреков») - $(x, y)$ — координаты точки: первое число — по горизонтали, второе — по вертикали
Примеры с подробным разбором
Пример 1 (простой): Нанеси точку $A(3, 2)$ на координатную плоскость.
Решение:
Шаг 1: Смотрим на первое число в скобках — это $3$. Это абсцисса, то есть положение по горизонтали. Отсчитываем $3$ единицы вправо от начала координат (от нуля).
Шаг 2: Смотрим на второе число — это $2$. Это ордината, положение по вертикали. Из точки, где мы остановились (на отметке $3$ по горизонтали), поднимаемся на $2$ единицы вверх.
Шаг 3: Где оказались — там и ставим точку. Подписываем: $A(3, 2)$.
📌 Запомни порядок: первое число — вправо/влево, второе — вверх/вниз. Не наоборот!
y
4 |
3 |
2 | • A(3,2)
1 |
0 +---+---+---+---→ x
1 2 3 4
Ответ: Точка $A$ находится в первой четверти (I), на $3$ единицы правее и $2$ единицы выше начала координат.
Пример 2 (средний): Нанеси точки $B(-2, 3)$, $C(4, -1)$, $D(-3, -2)$ и определи, в какой четверти находится каждая.
Решение:
Шаг 1: Вспомним четверти. Координатные оси делят плоскость на 4 части — четверти. Нумеруются они против часовой стрелки, начиная с правого верхнего угла:
y
|
II | I
(x<0, | (x>0,
y>0) | y>0)
----------O--------→ x
III | IV
(x<0, | (x>0,
y<0) | y<0)
|
Шаг 2: Точка $B(-2, 3)$. Первое число $-2$ — значит идём влево на $2$. Второе число $3$ — идём вверх на $3$. Мы оказались слева и сверху — это II четверть. Проверяем: $x = -2 < 0$, $y = 3 > 0$ — да, II четверть ✅
Шаг 3: Точка $C(4, -1)$. Первое число $4$ — идём вправо на $4$. Второе число $-1$ — идём вниз на $1$. Справа и снизу — IV четверть. Проверяем: $x = 4 > 0$, $y = -1 < 0$ — да, IV четверть ✅
Шаг 4: Точка $D(-3, -2)$. Влево на $3$, вниз на $2$. Слева и снизу — III четверть. Проверяем: $x = -3 < 0$, $y = -2 < 0$ — да, III четверть ✅
y
3 | • B(-2,3)
2 |
1 |
--+--+--+--0--+--+--+--→ x
-3 -2 -1 1 2 3 4
-1 | • C(4,-1)
-2 | • D(-3,-2)
Ответ: $B$ — II четверть, $C$ — IV четверть, $D$ — III четверть.
Пример 3 (ML-контекст): Пиксель изображения.
В задаче компьютерного зрения изображение — это сетка пикселей. Каждый пиксель имеет координаты $(x, y)$ на этой сетке. Пиксель $(0, 0)$ — левый верхний угол. Пиксель $(127, 63)$ — это 128-й столбец, 64-я строка. Когда ты применяешь свёртку (convolution), ядро скользит по координатной сетке изображения — это та же координатная плоскость, только дискретная и с перевёрнутой осью $y$.
Почему это важно
Координатная плоскость — это язык визуализации данных. Без неё нет ни scatter plot, ни линейной регрессии, ни t-SNE проекций. Когда ты делаешь plt.plot(x, y) в matplotlib — ты строишь точки на координатной плоскости и соединяешь их.
Что такое график функции
Зацепка
Когда ты обучаешь нейронку и смотришь, как loss падает от эпохи к эпохе, ты видишь график функции $L(\text{epoch})$. Когда смотришь на sigmoid — видишь график $\sigma(x) = \frac{1}{1 + e^{-x}}$. Но что такое «график функции» формально?
Интуитивное объяснение
У тебя есть функция — «машина», которая получает число и выдаёт число. Подал $x = 2$ — получил $y = 4$ (если функция $y = x^2$). Подал $x = 3$ — получил $y = 9$. Каждый такой эксперимент — это одна точка на плоскости: $(2, 4)$, $(3, 9)$.
А теперь представь, что ты провёл все возможные эксперименты — для каждого допустимого $x$ подставил его в формулу и записал результат. Получилась бесконечная коллекция точек. Если нанести их все на координатную плоскость — получится линия. Эта линия и есть график.
Аналогия: GPS-трек. Ты бежишь, и каждую секунду GPS записывает твою позицию. Соединив все позиции, получаешь маршрут на карте. Так и с функцией: «маршрут» всех пар $(x, f(x))$ — это её график.
Строгое определение
Определение: Графиком функции $y = f(x)$ называется множество всех точек координатной плоскости вида $(x, f(x))$, где $x$ принадлежит области определения функции $f$.
$$\text{График } f = {(x, y) \in \mathbb{R}^2 \mid y = f(x), \ x \in D(f)}$$
Обозначения: - $f(x)$ — функция, которая каждому $x$ ставит в соответствие $y$ - $D(f)$ — область определения (все допустимые значения $x$) - $(x, f(x))$ — одна точка графика
Примеры с подробным разбором
Пример 1 (простой): Построй график функции $y = 2x$ для $x$ от $-2$ до $3$.
Давай разберём по шагам — подробно, чтобы было кристально ясно.
Решение:
Шаг 1: Составляем таблицу значений. Берём несколько значений $x$ и для каждого считаем $y$ по формуле $y = 2x$. Просто умножаем $x$ на $2$:
$$\begin{array}{c|cccccc}
x & -2 & -1 & 0 & 1 & 2 & 3
\hline
y = 2x & -4 & -2 & 0 & 2 & 4 & 6
\end{array}$$
Как мы считали каждое значение: - $x = -2$: подставляем в формулу $y = 2 \cdot (-2) = -4$. Получили точку $(-2, -4)$. - $x = -1$: $y = 2 \cdot (-1) = -2$. Точка $(-1, -2)$. - $x = 0$: $y = 2 \cdot 0 = 0$. Точка $(0, 0)$. - $x = 1$: $y = 2 \cdot 1 = 2$. Точка $(1, 2)$. - $x = 2$: $y = 2 \cdot 2 = 4$. Точка $(2, 4)$. - $x = 3$: $y = 2 \cdot 3 = 6$. Точка $(3, 6)$.
Шаг 2: Наносим точки на плоскость. Каждая пара $(x, y)$ из таблицы — это одна точка. Первое число — по горизонтали, второе — по вертикали:
- Точка $(-2, -4)$: идём влево на $2$, вниз на $4$
- Точка $(-1, -2)$: влево на $1$, вниз на $2$
- Точка $(0, 0)$: начало координат
- Точка $(1, 2)$: вправо на $1$, вверх на $2$
- Точка $(2, 4)$: вправо на $2$, вверх на $4$
- Точка $(3, 6)$: вправо на $3$, вверх на $6$
Шаг 3: Соединяем точки. Поскольку функция $y = 2x$ — линейная ($x$ в первой степени, без $x^2$, $x^3$ и прочего), все точки лежат на одной прямой. Проводим через них прямую линию:
y
6 | •
5 | /
4 | • /
3 | /
2 | • /
1 | /
0 +---•-/-+---+---+---→ x
-1 | / -1 0 1 2 3
-2 •/
-3 /
-4 •
-2
Шаг 4: Проверяем. Подставим $x = 1.5$ (точку, которую мы не считали): $y = 2 \cdot 1.5 = 3$. Смотрим на график — точка $(1.5, 3)$ должна лежать на нашей прямой. Если лежит — построили правильно ✅
Ответ: Прямая линия, проходящая через начало координат. Наклон $2$ означает: каждый шаг на $1$ вправо по $x$ даёт шаг на $2$ вверх по $y$.
💡 Что значит «наклон $2$» для ML: Если это линейная модель $y = wx$ с весом $w = 2$, то увеличение входа на $1$ увеличивает выход на $2$. Вес = наклон прямой!
Пример 2 (средний): Построй график функции $y = x^2 - 4$.
Решение:
Шаг 1: Таблица значений. Подставляем $x$ в формулу. Тут два действия: сначала возводим $x$ в квадрат, потом вычитаем $4$.
$$\begin{array}{c|ccccccc}
x & -3 & -2 & -1 & 0 & 1 & 2 & 3
\hline
x^2 & 9 & 4 & 1 & 0 & 1 & 4 & 9
\hline
y = x^2 - 4 & 5 & 0 & -3 & -4 & -3 & 0 & 5
\end{array}$$
Разберём пошагово каждое значение: - $x = -3$: сначала $(-3)^2 = 9$, потом $9 - 4 = 5$. Точка $(-3, 5)$. - $x = -2$: $(-2)^2 = 4$, потом $4 - 4 = 0$. Точка $(-2, 0)$. - $x = -1$: $(-1)^2 = 1$, потом $1 - 4 = -3$. Точка $(-1, -3)$. - $x = 0$: $0^2 = 0$, потом $0 - 4 = -4$. Точка $(0, -4)$. - $x = 1$: $1^2 = 1$, потом $1 - 4 = -3$. Точка $(1, -3)$. - $x = 2$: $2^2 = 4$, потом $4 - 4 = 0$. Точка $(2, 0)$. - $x = 3$: $3^2 = 9$, потом $9 - 4 = 5$. Точка $(3, 5)$.
Шаг 2: Наносим $7$ точек на плоскость.
Шаг 3: Соединяем. Это не прямая! Функция с $x^2$ — это парабола (плавная U-образная кривая). Соединяем точки плавно, без углов:
y
5 |• •
4 |
3 |
2 |
1 |
0 +--•--+---+---+--•--→ x
-3 -2 -1 0 1 2 3
-1 |
-2 |
-3 | • •
-4 | • ← вершина (самая нижняя точка)
Шаг 4: Находим ключевые точки.
- Вершина параболы: $(0, -4)$ — это минимум. Ниже этой точки график не опускается.
- Нули функции (где $y = 0$, где график пересекает ось $x$): решаем $x^2 - 4 = 0$, получаем $x^2 = 4$, значит $x = 2$ или $x = -2$. Точки: $(-2, 0)$ и $(2, 0)$.
- Ось симметрии: прямая $x = 0$. Левая и правая половины параболы — зеркальные копии друг друга.
Ответ: Парабола с вершиной в точке $(0, -4)$, ветви направлены вверх, пересекает ось $x$ в точках $(-2, 0)$ и $(2, 0)$.
Пример 3 (ML-контекст): Функция ReLU.
Функция ReLU (Rectified Linear Unit): $f(x) = \max(0, x)$.
Что это значит по-русски? Если $x$ положительный — возвращаем $x$ как есть. Если $x$ отрицательный или ноль — возвращаем $0$. Всё. Вот так просто.
Шаг 1: Таблица значений.
$$\begin{array}{c|ccccccc}
x & -3 & -2 & -1 & 0 & 1 & 2 & 3
\hline
\max(0,\, x) & 0 & 0 & 0 & 0 & 1 & 2 & 3
\end{array}$$
Разберём: - $x = -3$: $\max(0, -3) = 0$ (берём ноль, потому что $0 > -3$) - $x = -1$: $\max(0, -1) = 0$ (опять ноль побеждает) - $x = 0$: $\max(0, 0) = 0$ - $x = 1$: $\max(0, 1) = 1$ (теперь $x$ больше нуля — берём его) - $x = 3$: $\max(0, 3) = 3$
Шаг 2: График.
y
3 | •
2 | • /
1 | • /
0 •───•───•───•/──+───+───→ x
-3 -2 -1 0 1 2 3
Слева от нуля — горизонтальная линия на уровне $y = 0$ (все отрицательные входы «обрезаются» до нуля). Справа от нуля — прямая с наклоном $1$ (то есть $y = x$). В точке $x = 0$ — «излом», резкий угол. Функция непрерывна (нет разрыва), но не гладкая (есть угол).
Почему это важно для ML: ReLU стала стандартной функцией активации потому, что: - Справа от нуля градиент (наклон) = $1$. При обратном распространении ошибки сигнал не затухает — он проходит как есть. - Слева от нуля градиент = $0$. Нейрон «выключен» и не участвует в обучении. - Это решило проблему vanishing gradient, которая мучила sigmoid и tanh в глубоких сетях.
Пример 4 (сложный): Sigmoid — $\sigma(x) = \frac{1}{1 + e^{-x}}$.
Формула выглядит страшно, но давай разберём пошагово.
Шаг 1: Что тут происходит? Возьмём $x = 2$ и пройдём по формуле: 1. Берём $x = 2$ 2. Меняем знак: $-x = -2$ 3. Возводим $e$ в эту степень: $e^{-2} \approx 0.135$ 4. Прибавляем $1$: $1 + 0.135 = 1.135$ 5. Делим $1$ на результат: $1 / 1.135 \approx 0.88$
Вот и всё — $\sigma(2) \approx 0.88$.
Шаг 2: Считаем для нескольких значений ($e \approx 2.718$):
$$\begin{array}{c|ccccccc}
x & -4 & -2 & -1 & 0 & 1 & 2 & 4
\hline
e^{-x} & 54.6 & 7.39 & 2.72 & 1 & 0.37 & 0.14 & 0.018
\hline
1 + e^{-x} & 55.6 & 8.39 & 3.72 & 2 & 1.37 & 1.14 & 1.018
\hline
\sigma(x) & 0.018 & 0.12 & 0.27 & 0.5 & 0.73 & 0.88 & 0.982
\end{array}$$
Шаг 3: Что видно из таблицы? - При $x = 0$: $\sigma(0) = 0.5$ — ровно посередине между $0$ и $1$. - Чем больше $x$ → $\sigma(x)$ всё ближе к $1$, но никогда не достигает $1$. - Чем меньше $x$ → $\sigma(x)$ всё ближе к $0$, но никогда не достигает $0$. - Функция всегда возрастает (каждое следующее значение больше предыдущего). - График имеет характерную S-образную форму (отсюда название «сигмоида»).
Шаг 4: График:
y
1 |·························•──── (асимптота: y → 1)
0.8| • /
0.5| • /
0.2| • /
0 |•──────/──────────────────── (асимптота: y → 0)
+───+───+───+───+───+───+→ x
-4 -2 -1 0 1 2 4
Для ML: Sigmoid «сжимает» любое число в диапазон от $0$ до $1$. Подал $-100$ — получил почти $0$. Подал $+100$ — получил почти $1$. Это идеально для последнего слоя в бинарной классификации: модель выдаёт logit (любое число), а sigmoid превращает его в вероятность.
Ответ: S-образная кривая от $0$ до $1$, с точкой перегиба в $(0, 0.5)$, монотонно возрастающая.
Пример 5 (прикладной): MSE Loss как функция веса.
Допустим, у тебя один нейрон с одним весом $w$, без bias. Тренировочные данные — один пример: вход $x = 2$, правильный ответ $y = 6$. Предсказание модели: $\hat{y} = w \cdot x = 2w$.
MSE Loss = (предсказание − правильный ответ)² = $(2w - 6)^2$
Давай построим график этой функции, где по оси $x$ — значение веса $w$, а по оси $y$ — значение loss.
Шаг 1: Таблица.
$$\begin{array}{c|cccccc}
w & 0 & 1 & 2 & 3 & 4 & 5
\hline
2w - 6 & -6 & -4 & -2 & 0 & 2 & 4
\hline
(2w - 6)^2 & 36 & 16 & 4 & 0 & 4 & 16
\end{array}$$
Разберём пару значений: - $w = 0$: предсказание $= 2 \cdot 0 = 0$, ошибка $= 0 - 6 = -6$, loss $= (-6)^2 = 36$ (огромный!) - $w = 3$: предсказание $= 2 \cdot 3 = 6$, ошибка $= 6 - 6 = 0$, loss $= 0^2 = 0$ (идеально! 🎯) - $w = 5$: предсказание $= 2 \cdot 5 = 10$, ошибка $= 10 - 6 = 4$, loss $= 4^2 = 16$ (перестарался)
Шаг 2: Это парабола!
Loss
36 |•
|
|
16 | • •
|
|
4 | • •
0 | •
+───+───+───+───+───→ w
0 1 2 3 4 5
Минимум параболы при $w = 3$ — это оптимальный вес. Градиентный спуск «скатывается» по этой параболе к точке $w = 3$.
Ответ: График loss — парабола с минимумом при $w = 3$, что и есть оптимальный вес.
💡 Ключевое для ML: Весь процесс обучения нейронки — это поиск минимума на графике loss-функции. Только вместо одного $w$ у тебя миллионы параметров, и вместо параболы — сложнейший ландшафт в многомерном пространстве. Но принцип тот же.
Как читать информацию с графика
График — это не просто картинка. Это карта поведения функции. Вот $6$ вещей, которые ты можешь прочитать:
1. Нули функции — точки, где $y = 0$ (где линия пересекает горизонтальную ось). В ML: нули функции потерь — точки, где модель идеально предсказывает.
2. Знак функции — где линия выше горизонтальной оси ($y > 0$), где ниже ($y < 0$). В ML: знак выхода ReLU определяет, «включён» нейрон или нет.
3. Возрастание и убывание — где линия идёт вверх (слева направо), где вниз. В ML: если loss убывает — модель учится. Если loss растёт — что-то пошло не так.
4. Экстремумы — самые высокие точки (максимумы) и самые низкие (минимумы). В ML: глобальный минимум loss — идеальные веса. Локальные минимумы — «ловушки» для оптимизатора.
5. Асимптоты — линии, к которым график приближается, но никогда не касается. В ML: sigmoid стремится к $0$ и $1$, но никогда их точно не достигает.
6. Симметрия — если правая и левая половины зеркальные (чётная функция), или одна — перевёрнутая копия другой (нечётная). В ML: $\tanh$ — нечётная ($\tanh(-x) = -\tanh(x)$), что помогает центрировать выходы около нуля.
Пример: чтение графика $y = x^3 - 3x$.
Шаг 1: Таблица.
$$\begin{array}{c|ccccc}
x & -2 & -1 & 0 & 1 & 2
\hline
x^3 & -8 & -1 & 0 & 1 & 8
\hline
-3x & 6 & 3 & 0 & -3 & -6
\hline
y = x^3 - 3x & -2 & 2 & 0 & -2 & 2
\end{array}$$
Шаг 2: Читаем с графика: - Нули: $x = 0$, $x \approx 1.73$ ($\sqrt{3}$), $x \approx -1.73$ ($-\sqrt{3}$) - Локальный максимум при $x = -1$: $y = 2$ - Локальный минимум при $x = 1$: $y = -2$ - При $x \to +\infty$: $y \to +\infty$, при $x \to -\infty$: $y \to -\infty$ - Функция нечётная: $f(-x) = -f(x)$
Построение графика по точкам: алгоритм
Вот пошаговый алгоритм, который работает для любой функции:
Шаг 1. Область определения. Определи, для каких $x$ функция существует. Нельзя делить на ноль, нельзя извлекать корень из отрицательного числа (в вещественных числах).
Шаг 2. Ключевые точки. Найди: - Значение при $x = 0$ (точка пересечения с осью $Oy$) - Нули функции (где $y = 0$, пересечение с осью $Ox$) - Точки экстремумов (если умеешь находить производную — пока можно пропустить)
Шаг 3. Таблица значений. Подставь $7$–$10$ значений $x$ и посчитай $y$.
Шаг 4. Нанеси точки на координатную плоскость.
Шаг 5. Соединяй плавной кривой (для большинства функций — без «разрывов»). Соединяй в порядке возрастания $x$.
Шаг 6. Проверь. Подставь дополнительную точку и убедись, что она лежит на твоей кривой.
Преобразования графиков
Это суперспособность: зная график $y = f(x)$, ты можешь быстро нарисовать десятки других графиков, не строя таблицы.
Сдвиг вверх/вниз: $y = f(x) + c$
Прибавляешь к функции число $c$ — график сдвигается вверх на $c$ единиц (если $c > 0$) или вниз (если $c < 0$).
Пример: $y = x^2$ → $y = x^2 + 3$. Вся парабола поднимается на $3$ вверх. Вершина была в $(0, 0)$ — стала в $(0, 3)$.
ML-аналогия: Это как bias в нейроне. Добавление bias $b$ к выходу $wx$ сдвигает функцию активации по вертикали.
Сдвиг влево/вправо: $y = f(x - a)$
Замена $x$ на $(x - a)$ сдвигает график вправо на $a$ (если $a > 0$) или влево (если $a < 0$).
⚠️ Осторожно с минусом! $y = (x - 2)^2$ — сдвиг вправо на $2$. А $y = (x + 2)^2 = (x - (-2))^2$ — сдвиг влево на $2$. Знак обманчив!
Растяжение/сжатие: $y = k \cdot f(x)$
Умножение функции на $k > 1$ — растягивает график по вертикали. На $0 < k < 1$ — сжимает. На $k < 0$ — ещё и отражает относительно оси $Ox$.
ML-аналогия: Это как вес $w$ в нейроне. Вес масштабирует входной сигнал.
Отражение: $y = -f(x)$ и $y = f(-x)$
- $y = -f(x)$: отражение относительно оси $Ox$ (переворот «вверх ногами»)
- $y = f(-x)$: отражение относительно оси $Oy$ (зеркало по горизонтали)
Графики основных функций — справочник
Вот графики, которые стоит знать наизусть. Каждый из них встретится тебе в ML.
1. Линейная: $y = kx + b$ Прямая линия, $k$ — наклон, $b$ — сдвиг по вертикали. ML: линейная регрессия $y = wx + b$.
2. Квадратичная: $y = x^2$ Парабола, ветви вверх. ML: MSE Loss пропорциональна квадрату ошибки.
3. Модуль: $y = |x|$ V-образный график, «излом» в нуле. ML: MAE Loss (Mean Absolute Error).
4. Корень: $y = \sqrt{x}$ Половинка параболы, повёрнутая набок, определена для $x \geq 0$.
5. Гипербола: $y = \frac{1}{x}$ Две ветви в I и III четвертях, не определена при $x = 0$. ML: learning rate scheduling ($lr = \frac{c}{\text{step}}$).
6. Экспонента: $y = e^x$ Быстрый рост вправо, стремится к $0$ влево. ML: softmax, sigmoid, экспоненциальное скользящее среднее.
7. Логарифм: $y = \ln(x)$ Обратная к экспоненте, медленный рост, определена для $x > 0$. ML: Cross-Entropy Loss = $-\ln(p)$.
Практика: 30 заданий
Базовые (задания 1–10)
Задание 1: Нанеси на координатную плоскость точки $A(1, 3)$, $B(-2, 1)$, $C(0, -4)$, $D(3, 0)$. Определи четверть каждой.
Задание 2: Построй таблицу значений и нарисуй график $y = 3x - 1$ для $x \in [-2, 3]$.
Задание 3: Построй график $y = -x + 2$.
Задание 4: Построй график $y = x^2$ для $x \in [-3, 3]$.
Задание 5: Построй график $y = |x|$.
Задание 6: По графику $y = x^2 - 1$ определи нули функции.
Задание 7: Функция $y = 2x + 3$. Найди пересечение с осью $Oy$ и пересечение с осью $Ox$.
Задание 8: Построй график $y = x^2 + 2$.
Задание 9: Принадлежит ли точка $(2, 7)$ графику функции $y = x^2 + 3$?
Задание 10: Принадлежит ли точка $(3, 10)$ графику $y = x^2$?
Средние (задания 11–20)
Задание 11: Построй на одном графике $y = x^2$, $y = x^2 + 3$, $y = x^2 - 2$. Опиши, как они связаны.
Задание 12: Построй график $y = (x - 3)^2$.
Задание 13: Построй график $y = -x^2 + 4$.
Задание 14: Построй на одном графике $y = x$ и $y = |x|$. Где они совпадают?
Задание 15: Построй графики ReLU $y = \max(0, x)$ и Leaky ReLU $y = \max(0.1x, x)$ на одной плоскости.
Задание 16: Функция $y = \frac{1}{x}$. Построй и укажи: область определения, асимптоты, знак.
Задание 17: Нарисуй график $y = \sqrt{x}$ для $x \in [0, 9]$.
Задание 18: Как получить график $y = 2|x|$ из $y = |x|$?
Задание 19: Построй график $y = |x - 2| + 1$.
Задание 20: Вычисли $\sigma(0)$ и $\tanh(0)$. Какой диапазон значений у каждой функции?
Продвинутые (задания 21–30)
Задание 21: Построй графики $y = e^x$ и $y = \ln(x)$ на одной плоскости. Покажи, что они — отражения друг друга.
Задание 22: Нарисуй график Cross-Entropy Loss: $L(p) = -\ln(p)$, где $p \in (0, 1]$ — предсказанная вероятность правильного класса.
Задание 23: Дан один обучающий пример: вход $x = 3$, правильный ответ $y = 5$. Модель: $\hat{y} = wx$. Построй график MSE Loss $L(w) = (3w - 5)^2$ и найди оптимальный $w$.
Задание 24: Построй график Softplus: $y = \ln(1 + e^x)$. Сравни с ReLU.
Задание 25: Построй графики $y = 2^x$, $y = e^x$, $y = 10^x$ при $x \in [-2, 2]$.
Задание 26: На графике loss видно: loss падает первые 50 эпох, потом стабилизируется, а на 80-й эпохе val loss начинает расти (при этом train loss продолжает падать). Что происходит?
Задание 27: Построй график Swish/SiLU: $y = x \cdot \sigma(x) = \frac{x}{1 + e^{-x}}$. Сравни с ReLU.
Задание 28: Построй график cosine similarity как функцию угла: $\cos(\theta)$ для $\theta \in [0°, 180°]$. При каком угле два embedding’а ортогональны?
Задание 29: Learning rate decay: $lr(t) = \frac{lr_0}{1 + \alpha t}$, где $lr_0 = 0.01$, $\alpha = 0.1$. Построй график для $t \in [0, 100]$.
Задание 30: Huber Loss при $\delta = 1$:
$$L_\delta(a) = \begin{cases} \frac{1}{2}a^2, & |a| \leq 1 \ |a| - \frac{1}{2}, & |a| > 1 \end{cases}$$
Построй график для $a \in [-3, 3]$ и объясни, почему она лучше MSE для данных с выбросами.
Частые ошибки
❌ Ошибка 1: Перепутаны оси Неправильно: Точка $(3, 2)$ — $3$ вверх, $2$ вправо. Правильно: Первая координата — по горизонтали ($x$), вторая — по вертикали ($y$). $(3, 2)$ — $3$ вправо, $2$ вверх. Почему важно: В ML, когда ты путаешь оси на scatter plot, ты можешь сделать ложные выводы о корреляции.
❌ Ошибка 2: Мало точек для кривой Неправильно: Построить параболу по $3$ точкам и соединить прямыми отрезками. Правильно: Использовать минимум $7$ точек и соединять плавной кривой. Почему важно: При малом числе точек ты можешь «потерять» экстремумы и нули.
❌ Ошибка 3: Сдвиг по горизонтали — знак наоборот Неправильно: $y = (x + 3)^2$ — сдвиг вправо на $3$. Правильно: $y = (x + 3)^2 = (x - (-3))^2$ — сдвиг влево на $3$. Почему важно: Одна из самых частых ошибок. Знак противоположный тому, что стоит в скобках.
❌ Ошибка 4: Забывают проверить область определения
Неправильно: Рисовать $y = \sqrt{x}$ при $x < 0$.
Правильно: Корень из отрицательного числа не определён в вещественных числах. График начинается с $x = 0$.
Почему важно: В ML тоже бывает: log(0) = -inf, что убивает обучение. Всегда добавляй $\varepsilon$: log(p + 1e-8).
❌ Ошибка 5: Путают «функция возрастает» и «значение положительное» Неправильно: «Функция положительна, значит, возрастает». Правильно: Функция $y = 5 - x$ положительна при $x < 5$, но убывает при любом $x$. Возрастание — это когда $y$ увеличивается при увеличении $x$, а не когда $y > 0$. Почему важно: Если loss положительный, это не значит, что он растёт — он может убывать (и это хорошо!).
Главное запомнить
📝 Ключевые понятия
✅ Координатная плоскость: две перпендикулярные оси, точка задаётся парой $(x, y)$. Первое — горизонталь, второе — вертикаль.
✅ График функции: множество всех точек $(x, f(x))$ — визуальная «фотография» поведения функции.
✅ Нули функции: точки, где $f(x) = 0$ — пересечение графика с осью $Ox$.
✅ Возрастание/убывание: читается по направлению графика: вверх = рост, вниз = убывание.
✅ Экстремумы: локальные максимумы и минимумы — «пики» и «впадины» графика.
✅ Асимптоты: линии, к которым график приближается бесконечно, но не достигает.
✅ Вертикальный сдвиг: $f(x) + c$ — график двигается вверх/вниз на $c$.
✅ Горизонтальный сдвиг: $f(x - a)$ — график двигается вправо на $a$ (знак обманчив!).
✅ Масштабирование: $k \cdot f(x)$ — растяжение/сжатие по вертикали.
✅ $7$ базовых графиков: $x$, $x^2$, $x^3$, $|x|$, $\sqrt{x}$, $1/x$, $e^x$ — все остальные строятся из них преобразованиями.
Связь с другими темами курса
Что нужно было знать до этого урока: - Понятие функции — что такое «правило, которое ставит в соответствие $x$ значение $y$» - Координатная плоскость — как устроены оси и координаты - Числовые множества — что такое $\mathbb{R}$, интервалы
Что изучить дальше: - Линейная функция — подробный разбор $y = kx + b$, наклон, пересечение - Квадратичная функция — параболы, дискриминант, вершина - Производная — как определить наклон графика в любой точке (критично для градиентного спуска!) - Исследование функции — полный алгоритм построения графика с помощью производных
Где это нужно в жизни:
- 💻 В программировании:
matplotlib.pyplot.plot()— ты буквально строишь графики функций каждый день при визуализации данных - 🤖 В ML/AI: графики loss-функций, функций активации (ReLU, sigmoid, tanh, GELU, Swish), learning rate schedules — всё это определяет поведение нейросети
- 📊 В Data Science: распределения данных, ROC-кривые, Precision-Recall кривые — всё это графики функций
- 💰 В финансах: графики цен, доходности, волатильности — функции от времени
- 🔬 В науке: любой экспериментальный график — это визуализация зависимости $y = f(x)$
Интересные факты
💡 Рене Декарт и мухи. По легенде, Декарт придумал систему координат, наблюдая за мухой на потолке. Он понял, что положение мухи можно описать двумя числами — расстояниями до стен. Так родилась аналитическая геометрия, соединившая алгебру и геометрию.
💡 Графики функций активации решают всё. Выбор между ReLU, sigmoid и tanh — это выбор формы графика. Именно «ломаный» характер ReLU (постоянный ненулевой градиент при $x > 0$) позволил обучать глубокие нейросети — то, что было невозможно с sigmoid из-за vanishing gradient problem.
💡 t-SNE и UMAP — графики в многомерных пространствах. Когда ты визуализируешь embedding’и слов или изображений на 2D scatter plot, ты проецируешь многомерные точки на координатную плоскость. Каждая точка — это «сжатый» вектор из $768$ или $1536$ измерений.
💡 TensorBoard = «графики функций» в реальном времени. Когда ты обучаешь модель и видишь, как loss падает, accuracy растёт, а learning rate уменьшается по расписанию — ты читаешь графики функций от номера эпохи.
Лайфхаки и полезные трюки
1. Правило «подставь ноль» Всегда начинай с $x = 0$: значение $f(0)$ — это точка пересечения с осью $Oy$. Для $y = x^2 + 5x - 3$: $f(0) = -3$. Уже одна точка есть!
2. Симметрия экономит работу вдвое Если функция чётная ($f(-x) = f(x)$), достаточно построить правую половину и отразить. Примеры: $x^2$, $|x|$, $\cos(x)$.
3. Быстрая проверка: подставь крайние значения Хочешь понять поведение на бесконечности? Подставь $x = 100$ и $x = -100$ мысленно. Для $y = x^2 - x$: при $x = 100$ получим $\approx 10000$ — явно растёт.
4. Знак коэффициента при старшей степени Положительный коэффициент при $x^2$ → ветви параболы вверх. Отрицательный → ветви вниз. Работает и для $x^3$, $x^4$ и так далее.
5. «Якорные» графики Запомни $7$ базовых графиков наизусть: $x$, $x^2$, $x^3$, $|x|$, $\sqrt{x}$, $1/x$, $e^x$. Все остальные — их преобразования (сдвиги, растяжения, отражения).
6. В Python проверяй себя
import numpy as np
import matplotlib.pyplot as plt
x = np.linspace(-5, 5, 100)
y = x**2 - 4
plt.plot(x, y)
plt.grid(True)
plt.axhline(y=0, color='k')
plt.axvline(x=0, color='k')
plt.show()
Построил вручную — проверь в коде. Привычка, которая экономит часы отладки.
7. Для ML: визуализируй всё Перед тем как выбрать функцию активации или loss, нарисуй её график. Увидишь асимптоты, градиенты, особенности. Это занимает $30$ секунд и часто предотвращает ошибки.
💡 Совет: Не пытайся запомнить все графики — пойми принцип. Зная $7$ базовых функций и $4$ преобразования (сдвиг, масштаб, отражение по каждой оси), ты можешь построить график практически любой элементарной функции. А для всего остального есть matplotlib.
Следующий шаг: изучи линейную функцию $y = kx + b$ — это основа линейной регрессии, и ты будешь встречать её в ML буквально на каждом шагу.
Понял тему? Закрепи в боте! 🚀
Попрактикуйся на задачах и получи персональные рекомендации от AI
💪 Начать тренировку