🔴 Сложный ⏱️ 55 минут

График функции

График функции 📈

Ты открываешь 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

💪 Начать тренировку
💬 Есть вопрос? Спроси бота!