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

Экстремумы функций

📋 Содержание урока

Экстремумы функций 🏔️

Когда ты запускаешь обучение нейросети, происходит ровно одна вещь, как бы красиво её ни называли в документации. Модель ищет минимум. У неё есть функция потерь $L(w)$ — число, которое говорит «насколько сильно ты сейчас ошибаешься», и есть миллионы весов $w$, которые можно крутить. Обучение — это спуск по этому ландшафту вниз, к точке, где $L$ принимает наименьшее значение. Всё. Никакой магии: градиентный спуск — это алгоритм поиска экстремума, а «модель обучилась» означает «мы нашли достаточно глубокую яму».

И как только ты это понимаешь, сразу вылезают вопросы, на которые школьная фраза «экстремум — это где функция меняет направление» не отвечает. Почему две одинаковые модели, обученные с разного старта, приходят к разному качеству? Почему loss на графике в TensorBoard иногда неделями торчит на плато, а потом внезапно проваливается вниз? Почему исследователи говорят, что в больших сетях проблема не в локальных минимумах, а в чём-то по имени «сёдла»? Ответы на всё это лежат в теме, которую мы разбираем сегодня, — в геометрии максимумов и минимумов.

Давай разберёмся честно и по порядку. Экстремум — это не «самая высокая точка графика» (это распространённое и неверное упрощение) и не «где производная равна нулю» (производную мы будем проходить только в уроке 133, и, забегая вперёд, это условие ни необходимое, ни достаточное в общем виде). Экстремум — это локальное свойство: точка, которая лучше всех своих соседей. Ключевое слово — соседей, а не всех вообще. Именно из этого маленького слова растёт вся разница между локальным и глобальным минимумом, все проблемы оптимизации и половина инженерных трюков в обучении моделей.

В этом уроке мы разберём экстремумы без производной — на определении, на графике, на алгебре. И это не «упрощённая версия для тех, кому производную ещё не дали»: наоборот, тот, кто умеет найти минимум руками, через вершину параболы или через оценку сверху, гораздо лучше понимает, что именно потом будет делать за него производная. Производная — это мощный автомат, но автомат, который иногда врёт (в точках излома вроде ReLU его просто нет). Понимание по определению не врёт никогда.

🎯 Ты узнаешь:

  • Чем точка экстремума (это $x$!) отличается от экстремума (это $y$!) — ошибка №1 на экзаменах и в коде
  • Что такое локальный максимум и минимум строго по определению, через окрестность
  • Почему локальный минимум может быть сколь угодно хуже глобального — и что это значит для обучения моделей
  • Три рабочих способа найти экстремум без производной: полный квадрат, смена монотонности и оценка неравенством
  • Что такое седловая точка, почему в многомерном ландшафте потерь их экспоненциально больше, чем минимумов, и как это тормозит обучение

История: откуда это взялось?

Первым человеком, который поставил задачу поиска максимума как отдельную математическую задачу, а не как частный трюк, был Пьер Ферма. В 1636 году он разослал друзьям-математикам рукопись «Methodus ad disquirendam maximam et minimam» — «Метод отыскания наибольших и наименьших значений». Идея была почти магическая для того времени: Ферма заметил, что вблизи максимума функция «почти не меняется». Если чуть-чуть сдвинуть аргумент — с $x$ на $x + e$, — значение изменится совсем незначительно. Он приравнивал $f(x)$ и $f(x+e)$, сокращал, а потом объявлял $e$ равным нулю. Формально это было чудовищно нестрого (Декарт ругался на этот метод в переписке), но результаты получались правильные — и именно отсюда через полвека вырос дифференциальный анализ Ньютона и Лейбница.

Только задачи такого сорта решали и до Ферма, просто без общего метода. Иоганн Кеплер в 1615 году написал целую книгу «Nova stereometria doliorum vinariorum» — «Новая стереометрия винных бочек». Повод был прозаический: Кеплер купил на своей свадьбе бочку вина, и его возмутило, что торговец меряет объём одной палкой, воткнутой наискосок через отверстие. Кеплер полез разбираться и обнаружил замечательную вещь: у бочек «правильных» австрийских пропорций объём максимален при данной длине измерительной палки, а рядом с максимумом объём меняется очень слабо. То есть грубый метод торговца случайно оказался точным — именно потому, что бочка сидела в точке экстремума. Это первое в истории практическое наблюдение того факта, что около экстремума функция плоская.

Терминология устоялась намного позже: слово «экстремум» (от латинского extremus — «крайний») ввёл в оборот немецкий математик Поль дю Буа-Реймон в 1878 году, а строгая теорема о том, что непрерывная на отрезке функция обязательно достигает наибольшего и наименьшего значений, — это Карл Вейерштрасс, 1860-е. И мостик в сегодня: в 1847 году Огюстен Коши, решая задачу об орбитах небесных тел, опубликовал заметку, где предложил искать минимум функции многих переменных, двигаясь маленькими шажками в сторону наискорейшего убывания. Это буквально первое описание градиентного спуска — того самого алгоритма, который сегодня крутится в каждом обучении нейросети. Между Коши и обучением GPT — 170 лет и ноль изменений в основной идее: шагай туда, где ниже.


Что такое экстремум: точка, которая лучше соседей

Интуиция

Представь, что ты идёшь по горному хребту с завязанными глазами и можешь щупать землю только на расстоянии вытянутой руки. Как понять, что ты стоишь на вершине? Очень просто: во все стороны от тебя — вниз. Ты не знаешь, самая ли это высокая гора в стране, — с завязанными глазами это в принципе не проверить, — но локально ты наверху.

Вот это и есть экстремум. Точка $x_0$ — точка максимума, если в некоторой окрестности вокруг неё значение функции не превышает $f(x_0)$. Слово «окрестность» тут несущее: экстремум — свойство сугубо местное, близорукое. Функция может дальше улететь в космос, но если в маленьком кружке вокруг $x_0$ ты — король, то $x_0$ точка максимума.

Ровно так же устроен градиентный спуск. Алгоритм тоже «слепой»: на каждом шаге он знает только наклон земли прямо под ногами и шагает вниз. Он гарантированно приходит туда, где вокруг всё выше — то есть в локальный минимум. Является ли этот минимум лучшим в мире, алгоритм не знает и знать не может. Именно поэтому одна и та же архитектура с разной случайной инициализацией даёт разное качество: разные старты — разные ямы.

Ещё одна вещь, которая ломает интуицию новичкам. Экстремум — это про сравнение соседей, а не про «график там красиво заворачивает». Функция может иметь острый угол (как $y = |x|$ в нуле) — и там будет самый настоящий минимум. А может иметь идеально гладкую горизонтальную полку (как $y = x^3$ в нуле) — и там экстремума не будет вообще. Определение решает, картинка обманывает.

Определение: Точка $x_0$ называется точкой максимума функции $f$, если существует такая окрестность точки $x_0$ (интервал $(x_0 - \delta;\ x_0 + \delta)$ при некотором $\delta > 0$), что для всех $x$ из этой окрестности выполняется $f(x) \leq f(x_0)$.

Точка $x_0$ называется точкой минимума, если существует окрестность, в которой для всех $x$ выполняется $f(x) \geq f(x_0)$.

Точки максимума и минимума вместе называются точками экстремума, а значения функции в них — экстремумами (соответственно максимумом и минимумом функции).

Важные обозначения и соглашения:

  • $x_{\max}$, $x_{\min}$ — точки экстремума, это значения аргумента (по оси $Ox$)
  • $y_{\max} = f(x_{\max})$, $y_{\min} = f(x_{\min})$ — сами экстремумы, это значения функции (по оси $Oy$)
  • Точка экстремума всегда берётся внутренней точкой области определения: у неё должна существовать двусторонняя окрестность. Концы отрезка точками экстремума не считаются, хотя наибольшее значение вполне может достигаться именно там
  • Если неравенство строгое ($f(x) < f(x_0)$ при $x \neq x_0$) — экстремум называют строгим. У функции-константы каждая точка формально является и точкой максимума, и точкой минимума, только нестрогими

Примеры с разбором

Пример 1 (простой): найди точку экстремума и экстремум функции $y = x^2 - 6x + 11$

Решение:

Шаг 1. Это квадратичная функция, коэффициент при $x^2$ равен $a = 1 > 0$ — значит, ветви параболы направлены вверх, и у неё есть единственная точка минимума (вершина).

Шаг 2. Выделим полный квадрат — это самый честный способ, он сразу даёт и точку, и значение:

$$x^2 - 6x + 11 = (x^2 - 6x + 9) + 2 = (x-3)^2 + 2$$

Шаг 3. Теперь читаем результат прямо из формулы. Квадрат $(x-3)^2$ всегда неотрицателен и обращается в ноль только при $x = 3$. Значит:

$$y = (x-3)^2 + 2 \geq 2 \quad \text{для любого } x$$

причём равенство достигается ровно при $x = 3$.

Проверим наш ответ: $f(3) = 9 - 18 + 11 = 2$ ✅. Возьмём соседей: $f(2) = 4 - 12 + 11 = 3$, $f(4) = 16 - 24 + 11 = 3$ — оба больше двойки, значит в точке 3 действительно локальный минимум ✅

Ответ: $x_{\min} = 3$ — точка минимума, $y_{\min} = 2$ — минимум функции.

📌 Обрати внимание на формулировку ответа: «точка минимума 3, минимум 2». Это не одно и то же число, и путать их — самая частая ошибка в теме.


Пример 2 (средний): найди экстремум функции $y = -x^2 + 4x + 1$

Решение:

Шаг 1. Коэффициент $a = -1 < 0$ — ветви параболы вниз, значит у функции будет точка максимума, а не минимума.

Шаг 2. Выделим полный квадрат. Сначала вынесем минус за скобку у слагаемых с $x$:

$$-x^2 + 4x + 1 = -(x^2 - 4x) + 1$$

Шаг 3. Внутри скобки достроим до полного квадрата: $x^2 - 4x = (x-2)^2 - 4$. Подставим:

$$-\left((x-2)^2 - 4\right) + 1 = -(x-2)^2 + 4 + 1 = -(x-2)^2 + 5$$

Шаг 4. Читаем: $-(x-2)^2 \leq 0$ всегда, ноль достигается только при $x = 2$. Значит

$$y = -(x-2)^2 + 5 \leq 5$$

Проверим наш ответ: $f(2) = -4 + 8 + 1 = 5$ ✅, $f(1) = -1 + 4 + 1 = 4 < 5$ ✅, $f(3) = -9 + 12 + 1 = 4 < 5$ ✅

Ответ: $x_{\max} = 2$, $y_{\max} = 5$.

📌 Быстрая проверка для любой параболы $y = ax^2 + bx + c$: абсцисса вершины $x_0 = -\dfrac{b}{2a}$. Здесь $x_0 = -\dfrac{4}{2 \cdot (-1)} = 2$ ✅ — совпало с полным квадратом. Формулу удобно использовать для скорости, а полный квадрат — когда нужно ещё и доказать, что это именно экстремум.


Пример 3 (сложный): есть ли экстремум у функции $y = x^3$ в точке $x = 0$?

График $y = x^3$ в нуле выглядит «подозрительно»: он там выпрямляется, идёт горизонтально, как будто собирается развернуться. Многие на этом попадаются. Разберём по шагам.

Решение:

Шаг 1. Применим определение буквально. Чтобы $x_0 = 0$ была точкой максимума, нужна окрестность $(-\delta; \delta)$, в которой $f(x) \leq f(0) = 0$ для всех $x$.

Шаг 2. Возьмём любое, сколь угодно маленькое $\delta > 0$. В этой окрестности всегда найдётся положительное число, например $x = \dfrac{\delta}{2}$. Для него:

$$f\left(\frac{\delta}{2}\right) = \frac{\delta^3}{8} > 0 = f(0)$$

Условие максимума нарушено — справа от нуля функция больше нуля.

Шаг 3. Проверим минимум. Нужна окрестность, где $f(x) \geq 0$. Но в любой окрестности есть отрицательное число $x = -\dfrac{\delta}{2}$, и для него:

$$f\left(-\frac{\delta}{2}\right) = -\frac{\delta^3}{8} < 0 = f(0)$$

Условие минимума тоже нарушено.

Шаг 4. Ни одно из двух определений не выполняется ни при каком $\delta$.

Ответ: экстремума в точке $x = 0$ нет. Функция $y = x^3$ строго возрастает на всей числовой прямой и не имеет экстремумов вообще.

Вывод: горизонтальная «полка» на графике — это не признак экстремума. Такая точка называется точкой перегиба, и мы вернёмся к ней в уроке 143. Для экстремума нужно, чтобы функция с обеих сторон уходила в одну сторону: вниз (для максимума) или вверх (для минимума). У $x^3$ она уходит в разные — слева вниз, справа вверх.

Почему это важно

Разница между «полкой» и настоящим минимумом — не педантизм, а живая боль обучения нейросетей. Когда loss на графике перестаёт падать и вытягивается в горизонтальную линию, у инженера есть ровно два сценария: либо модель дошла до дна ямы (настоящий минимум — тогда пора останавливать обучение), либо она попала на плато с почти нулевым наклоном, откуда рано или поздно выберется и продолжит падать. Отличить одно от другого по одной картинке невозможно — точно так же, как невозможно по одному взгляду на «полку» $y = x^3$ решить, экстремум это или нет. Отличают на практике так же, как мы это только что сделали в примере 3: пробуют сдвинуться в стороны (увеличивают learning rate, добавляют шум, перезапускают с другого места) и смотрят, находится ли направление вниз. Строгое понимание определения экстремума — это то, что превращает «loss завис, наверное всё сломалось» в осмысленную диагностику.


Локальное против глобального: почему яма — не всегда та самая яма

Интуиция

Представь, что ты ищешь самую низкую точку в горной стране, но у тебя есть только одна инструкция: «иди вниз, пока идётся». Ты честно спускаешься и приходишь на дно первой встречной ямы. Вокруг всё выше — значит, ты в минимуме. Но в трёхстах километрах отсюда есть Мёртвое море, которое на четыреста метров ниже. Ты о нём не узнаешь никогда: чтобы туда попасть, надо сначала подняться в гору, а инструкция такого не разрешает.

Вот и вся разница между локальным и глобальным экстремумом. Локальный — лучший среди соседей. Глобальный (он же наибольшее и наименьшее значение функции) — лучший вообще на всём рассматриваемом множестве. Каждый глобальный минимум, лежащий внутри области, является и локальным. Обратное неверно, и вот эта асимметрия — источник почти всех неприятностей в оптимизации.

Определение: Число $M$ называется наибольшим значением функции $f$ на множестве $X$, если существует такая точка $x_0 \in X$, что $f(x_0) = M$ и при этом $f(x) \leq M$ для всех $x \in X$. Аналогично определяется наименьшее значение. Их также называют глобальными (или абсолютными) экстремумами.

Ключевые отличия, которые нужно держать в голове:

  • Локальный экстремум требует лишь окрестности, глобальный — сравнения со всем множеством
  • Локальных экстремумов может быть много, наибольшее значение — одно число (хотя достигаться оно может в нескольких точках)
  • Наибольшее значение может достигаться на конце отрезка, где локального максимума по определению нет
  • Ни локальный, ни глобальный экстремум не обязаны существовать: у $y = x$ на всей прямой нет ни того ни другого

Теорема Вейерштрасса: если функция непрерывна на отрезке $[a; b]$ (то есть на замкнутом промежутке, включающем концы), то она обязательно достигает на нём и наибольшего, и наименьшего значения.

Два слова в этой теореме несущие: «непрерывна» и «отрезке». Уберёшь любое — гарантия рассыпается, и мы сейчас это увидим.

Примеры с разбором

Пример 1 (простой): найди все точки экстремума функции $y = (x^2 - 4)^2$ и укажи, какие из них глобальные

Решение:

Шаг 1. Сделаем замену $t = x^2$, тогда $y = (t-4)^2$ — парабола по переменной $t$ с минимумом в $t = 4$.

Шаг 2. Разберёмся, при каких $x$ достигается $t = 4$: $x^2 = 4$, то есть $x = \pm 2$. В этих точках $y = 0$.

Шаг 3. Заметим, что функция чётная: $f(-x) = ((-x)^2-4)^2 = (x^2-4)^2 = f(x)$. Значит, достаточно разобрать поведение при $x \geq 0$, а потом отзеркалить.

При $x \geq 0$ величина $t = x^2$ возрастает вместе с $x$. Функция $(t-4)^2$ убывает при $t \leq 4$ и возрастает при $t \geq 4$. Значит, $y$ убывает на $[0; 2]$ и возрастает на $[2; +\infty)$. По симметрии на $(-\infty; -2]$ функция убывает, а на $[-2; 0]$ возрастает.

Шаг 4. Собираем картину монотонности слева направо:

  • на $(-\infty; -2]$ убывает
  • на $[-2; 0]$ возрастает → в точке $x = -2$ смена убывания на возрастание, это минимум
  • на $[0; 2]$ убывает → в точке $x = 0$ смена возрастания на убывание, это максимум
  • на $[2; +\infty)$ возрастает → в точке $x = 2$ снова минимум

Шаг 5. Считаем значения: $f(-2) = 0$, $f(0) = (0-4)^2 = 16$, $f(2) = 0$.

Проверим наш ответ: $f(1) = (1-4)^2 = 9$ — меньше 16 ✅ и больше 0 ✅, картина сходится.

Ответ: точки минимума $x = -2$ и $x = 2$, минимум равен $0$ — он же глобальный (функция как квадрат неотрицательна, ниже нуля не бывает). Точка максимума $x = 0$, максимум равен $16$ — он только локальный: при $x = 10$ функция даёт $(100-4)^2 = 9216$, что несравнимо больше.


Пример 2 (средний): найди наибольшее и наименьшее значения функции $y = x^2 - 2x - 3$ на отрезке $[-2; 4]$

Решение:

Шаг 1. Функция квадратичная, $a = 1 > 0$, ветви вверх. Найдём вершину: $x_0 = -\dfrac{-2}{2 \cdot 1} = 1$. Точка $x = 1$ лежит внутри отрезка $[-2; 4]$ — значит, её обязательно надо учесть.

Шаг 2. Вычислим значение в вершине:

$$f(1) = 1 - 2 - 3 = -4$$

Шаг 3. Вычислим значения на концах отрезка:

$$f(-2) = 4 + 4 - 3 = 5, \qquad f(4) = 16 - 8 - 3 = 5$$

Шаг 4. Сравним три числа: $-4$, $5$, $5$. Наименьшее — $-4$, наибольшее — $5$.

Ответ: наименьшее значение $-4$ (достигается при $x = 1$), наибольшее значение $5$ (достигается сразу в двух точках: $x = -2$ и $x = 4$).

📌 Два важных момента. Во-первых, наибольшее значение достигается на концах отрезка, а точками локального максимума они не являются — там просто нет окрестности с двух сторон. Во-вторых, наибольшее значение может достигаться в нескольких точках, а само значение при этом всё равно одно.


Пример 3 (сложный): существуют ли наибольшее и наименьшее значения у функции $y = x^2$ на интервале $(0; 1)$?

Решение:

Шаг 1. Функция непрерывна, но множество — интервал, а не отрезок: концы 0 и 1 в него не входят. Теорема Вейерштрасса тут не применима, значит гарантий нет — надо проверять руками.

Шаг 2. Проверим наименьшее значение. Пусть кто-то утверждает, что наименьшее значение равно $m = f(x_0)$ для какого-то $x_0 \in (0;1)$. Возьмём точку $x_1 = \dfrac{x_0}{2}$ — она тоже лежит в интервале $(0;1)$, так как $0 < \dfrac{x_0}{2} < x_0 < 1$.

Шаг 3. Сравним значения: $f(x_1) = \dfrac{x_0^2}{4} < x_0^2 = f(x_0)$. Мы нашли значение меньше «наименьшего» — противоречие. Значит, наименьшего значения не существует.

Шаг 4. Точно так же с наибольшим: для любой $x_0 \in (0;1)$ возьмём $x_2 = \dfrac{x_0 + 1}{2}$ — среднее между $x_0$ и единицей. Оно лежит в интервале и больше $x_0$, значит $f(x_2) > f(x_0)$. Наибольшего тоже нет.

Ответ: ни наибольшего, ни наименьшего значения на интервале $(0;1)$ функция $y = x^2$ не имеет. Значения сколь угодно близко подходят к $0$ и к $1$, но никогда их не достигают.

Вывод: «функция ограничена» и «функция достигает своих границ» — это два разных утверждения. Здесь $0 < y < 1$, функция аккуратно зажата, но ни нижнюю, ни верхнюю границу не берёт. Именно поэтому в теореме Вейерштрасса слово «отрезок» написано не для красоты.

Почему это важно

Вся индустрия обучения глубоких моделей живёт с тем фактом, что градиентный спуск находит локальный минимум, а нужен глобальный. Отсюда практически весь арсенал приёмов: случайная инициализация весов и запуск нескольких прогонов (разные старты — разные ямы, берём лучшую); стохастичность мини-батчей, которая добавляет шум и позволяет «выпрыгнуть» из мелкой ямы; momentum, который даёт оптимизатору инерцию проскочить неглубокую впадину; warm restarts — намеренное периодическое увеличение learning rate, чтобы вытолкнуть модель из текущей ямы и дать ей шанс найти яму получше. И отдельно — приятный эмпирический факт из практики глубокого обучения: в огромных сетях большинство локальных минимумов оказываются примерно одинаковой глубины, поэтому «застрять не в том минимуме» на практике оказалось меньшей проблемой, чем боялись в 1990-е. Настоящий враг оказался другим — и мы дойдём до него в разделе про сёдла.


Три способа найти экстремум без производной

Производная (урок 133) — мощный автомат: приравнял к нулю, получил кандидатов. Но она приходит позже, а искать экстремумы люди умели за двести лет до неё. Разберём три приёма, которые работают всегда и которые полезно уметь даже когда производную уже знаешь, — потому что они работают там, где производной нет.

Способ 1: полный квадрат (для всего, что сводится к параболе)

Идея простая: если функцию удалось переписать в виде $y = a(x - p)^2 + q$, то ответ читается прямо с листа. При $a > 0$ точка $p$ — минимум со значением $q$; при $a < 0$ — максимум со значением $q$. Никаких вычислений, чистая алгебра.

Правило: для квадратичной функции $y = ax^2 + bx + c$ единственная точка экстремума — вершина параболы $x_0 = -\dfrac{b}{2a}$. Это точка минимума при $a > 0$ и точка максимума при $a < 0$.

Работает не только с чистыми параболами, но и со всем, что к ним сводится заменой переменной: $y = x^4 - 8x^2 + 3$ (замена $t = x^2$), $y = (x^2-4)^2$ (та же замена), выражения под корнем, знаменатели дробей.

Способ 2: смена монотонности

Это прямое следствие определения экстремума и главный инструмент, когда парабола не просматривается.

Правило: если функция непрерывна в точке $x_0$, возрастает на промежутке слева от $x_0$ и убывает на промежутке справа от $x_0$, то $x_0$ — точка максимума. Если убывает слева и возрастает справа — точка минимума. Если направление монотонности не меняется, экстремума нет.

Это ровно та связь монотонности (урок 87) и экстремумов, ради которой два урока стоят рядом. Практический алгоритм: находим промежутки монотонности → отмечаем точки стыка → смотрим, как меняется направление.

Способ 3: оценка неравенством

Самый строгий и самый недооценённый приём. Если удалось доказать, что $f(x) \geq m$ для всех $x$ и найти точку, где достигается равенство, — задача решена полностью и без всякого анализа. Такое доказательство железобетонно: оно даёт сразу глобальный экстремум, а не локальный.

Рабочие инструменты для оценок: квадрат неотрицателен ($t^2 \geq 0$), модуль неотрицателен, сумма положительного числа и его обратного не меньше двойки, знаменатель минимален — значит дробь максимальна.

Примеры с разбором

Пример 1 (простой): найди наименьшее значение функции $y = 3 + (x - 2)^4$

Решение:

Шаг 1. Применим способ 3 — оценку. Выражение $(x-2)^4$ — чётная степень, значит оно неотрицательно при любом $x$:

$$(x-2)^4 \geq 0$$

Шаг 2. Прибавим 3 к обеим частям неравенства:

$$3 + (x-2)^4 \geq 3$$

Шаг 3. Найдём, когда достигается равенство: $(x-2)^4 = 0 \iff x = 2$.

Проверим наш ответ: $f(2) = 3 + 0 = 3$ ✅, $f(3) = 3 + 1 = 4 > 3$ ✅, $f(1) = 3 + 1 = 4 > 3$ ✅

Ответ: наименьшее значение равно $3$, достигается в точке $x = 2$. Это глобальный минимум.


Пример 2 (средний): найди наименьшее значение функции $y = x + \dfrac{1}{x}$ при $x > 0$

Эта функция — маленькая классика, и она же модель реальной инженерной задачи: одно слагаемое растёт с ростом параметра, второе убывает, и надо найти баланс.

Решение:

Шаг 1. Попробуем угадать ответ подстановкой: $f(1) = 1 + 1 = 2$, $f(2) = 2 + 0{,}5 = 2{,}5$, $f(0{,}5) = 0{,}5 + 2 = 2{,}5$, $f(4) = 4{,}25$, $f(0{,}25) = 4{,}25$. Похоже, минимум равен 2 при $x = 1$. Теперь это надо доказать, а не «увидеть».

Шаг 2. Заметим, что при $x > 0$ определён $\sqrt{x}$, и рассмотрим заведомо неотрицательное выражение:

$$\left(\sqrt{x} - \frac{1}{\sqrt{x}}\right)^2 \geq 0$$

Шаг 3. Раскроем квадрат по формуле $(a-b)^2 = a^2 - 2ab + b^2$:

$$\left(\sqrt{x}\right)^2 - 2 \cdot \sqrt{x} \cdot \frac{1}{\sqrt{x}} + \left(\frac{1}{\sqrt{x}}\right)^2 = x - 2 + \frac{1}{x}$$

Шаг 4. Значит, для всех $x > 0$:

$$x - 2 + \frac{1}{x} \geq 0 \quad \Longleftrightarrow \quad x + \frac{1}{x} \geq 2$$

Шаг 5. Равенство достигается, когда возведённое в квадрат выражение равно нулю:

$$\sqrt{x} = \frac{1}{\sqrt{x}} \implies x = 1$$

Ответ: наименьшее значение равно $2$, достигается при $x = 1$.

📌 Обрати внимание: мы получили глобальный минимум и строгое доказательство, не зная ни производной, ни теоремы Вейерштрасса. Оценка неравенством — самый сильный из трёх способов, когда она получается.


Пример 3 (сложный): найди все точки экстремума функции $y = |x^2 - 4|$

Решение:

Шаг 1. Раскроем модуль по определению. Подмодульное выражение $x^2 - 4$ неотрицательно при $|x| \geq 2$ и отрицательно при $|x| < 2$. Значит:

$$y = \begin{cases} x^2 - 4, & x \leq -2 \text{ или } x \geq 2 \\ 4 - x^2, & -2 < x < 2 \end{cases}$$

Шаг 2. Разберём монотонность на каждом куске. На $(-\infty; -2]$ работает формула $x^2 - 4$, и там функция убывает (левая ветвь параболы вверх). На $[-2; 0]$ работает $4 - x^2$ — это парабола вниз с вершиной в нуле, слева от вершины она возрастает. На $[0; 2]$ та же парабола вниз справа от вершины — убывает. На $[2; +\infty)$ снова $x^2 - 4$, правая ветвь — возрастает.

Шаг 3. Соберём картину смены направлений:

  • в точке $x = -2$: убывание сменяется возрастанием → минимум
  • в точке $x = 0$: возрастание сменяется убыванием → максимум
  • в точке $x = 2$: убывание сменяется возрастанием → минимум

Шаг 4. Вычислим значения:

$$f(-2) = |4 - 4| = 0, \qquad f(0) = |0 - 4| = 4, \qquad f(2) = |4-4| = 0$$

Проверим наш ответ: $f(-3) = |9-4| = 5 > 0$ ✅, $f(-1) = |1-4| = 3$ — больше нуля ✅ и меньше четырёх ✅, $f(3) = 5 > 0$ ✅. Всё согласуется.

Ответ: точки минимума $x = \pm 2$ (минимум $y = 0$, он же глобальный), точка максимума $x = 0$ (максимум $y = 4$, только локальный — функция уходит в $+\infty$).

Вывод: обрати внимание на точки $x = \pm 2$. Там график имеет излом — острый угол, а не гладкий разворот. Производная в такой точке не существует вообще, и стандартный рецепт «приравнять производную к нулю» эти минимумы просто не увидит. А определение экстремума видит их прекрасно. Держи этот пример в голове: он объясняет, почему одного автомата недостаточно.

Почему это важно

Функция $y = |x|$ и её родственники — не экзотика из учебника, а самая ходовая нелинейность современного глубокого обучения. ReLU, $\text{ReLU}(x) = \max(0, x)$, — это ровно такая же кусочно-линейная функция с изломом в нуле, и именно на ней построено большинство свёрточных сетей. L1-регуляризация штрафует веса на $\sum |w_i|$ — снова модули, снова изломы. И оптимизаторы всё равно работают: там, где производной формально нет, фреймворки подставляют так называемый субградиент (для ReLU в нуле обычно просто ноль). Более того, излом L1-штрафа — это не недостаток, а фича: именно острый угол в нуле заставляет веса точно обнуляться, создавая разреженную модель, чего гладкий L2-штраф никогда не делает. Понимание того, что экстремум определяется сравнением с соседями, а не гладкостью, — это ключ к тому, почему L1 даёт разреженность, а L2 нет.


Сёдловые точки: почему в многомерном мире всё сложнее

Интуиция

Пока мы жили в одномерном мире, у точки было два соседа — слева и справа, — и вариантов было немного: либо оба выше (минимум), либо оба ниже (максимум), либо один выше, другой ниже (не экстремум). Теперь представь настоящий горный перевал. Ты стоишь в седловине между двумя вершинами. Вдоль хребта, влево и вправо, земля идёт вверх — по этому направлению ты в минимуме. А поперёк, вперёд и назад, в долины, земля идёт вниз — по этому направлению ты в максимуме. Одна и та же точка, два взаимоисключающих вердикта.

Такая точка называется седловой — по форме конской седловины, которая ровно так и устроена: вдоль лошади вниз, поперёк вверх.

Определение: Точка называется седловой для функции нескольких переменных, если по одним направлениям она ведёт себя как точка минимума, а по другим — как точка максимума. Экстремумом такая точка не является: в любой её окрестности есть значения и больше, и меньше значения в самой точке.

Классический пример — функция двух переменных

$$f(x, y) = x^2 - y^2$$

в точке $(0; 0)$, где $f = 0$. Если двигаться вдоль оси $Ox$ (то есть при $y = 0$), получаем $f = x^2 \geq 0$ — чистый минимум. Если вдоль оси $Oy$ (при $x = 0$), получаем $f = -y^2 \leq 0$ — чистый максимум. Ни минимумом, ни максимумом нуль тут быть не может: сколь угодно близко есть и положительные, и отрицательные значения.

Примеры с разбором

Пример 1 (средний): исследуй точку $(0;0)$ для функции $f(x,y) = x^2 - y^2$

Решение:

Шаг 1. Вычислим значение в самой точке: $f(0,0) = 0 - 0 = 0$.

Шаг 2. Проверим определение максимума: нужно, чтобы в некоторой окрестности все значения были $\leq 0$. Возьмём точку $(0{,}1;\ 0)$:

$$f(0{,}1;\ 0) = 0{,}01 - 0 = 0{,}01 > 0$$

Есть значение больше нуля, причём сколь угодно близко (можно взять $(\varepsilon; 0)$ при любом маленьком $\varepsilon$). Максимума нет.

Шаг 3. Проверим определение минимума: нужно, чтобы все значения были $\geq 0$. Возьмём $(0;\ 0{,}1)$:

$$f(0;\ 0{,}1) = 0 - 0{,}01 = -0{,}01 < 0$$

Минимума тоже нет.

Шаг 4. При этом по каждому из двух направлений по отдельности точка выглядит как экстремум: вдоль $Ox$ — минимум, вдоль $Oy$ — максимум.

Ответ: точка $(0;0)$ — седловая. Экстремумом не является.

📌 Главный урок: одномерная проверка обманывает. Если срезать многомерную функцию одной прямой и увидеть там красивый минимум, это ничего не доказывает — по другому направлению может быть обрыв вниз.


Пример 2 (сложный): прикидка — чего в ландшафте потерь больше, минимумов или сёдел?

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

Решение:

Шаг 1. Представь точку в пространстве $n$ параметров, где по каждому из $n$ независимых направлений функция ведёт себя либо как парабола вверх («вверх по этому направлению»), либо как парабола вниз («вниз»).

Шаг 2. Всего вариантов расстановки $2^n$ — по два на каждое направление.

Шаг 3. Локальный минимум — это когда все $n$ направлений идут вверх. Такая комбинация ровно одна из $2^n$. Локальный максимум — когда все идут вниз, тоже одна.

Шаг 4. Все остальные $2^n - 2$ комбинации — это смеси: часть вверх, часть вниз. Каждая такая точка — седловая.

Шаг 5. Подставим реальные цифры. Даже для скромной модели с $n = 1000$ параметрами доля «чистых минимумов» составляет $\dfrac{1}{2^{1000}}$ — число, у которого в знаменателе больше трёхсот нулей. Для модели с миллиардом параметров это просто за гранью воображения.

Ответ: в многомерном ландшафте седловых точек подавляюще больше, чем локальных минимумов, и вероятность случайно наткнуться на настоящий локальный минимум ничтожна по сравнению с вероятностью попасть на седло.

Вывод: именно поэтому современный взгляд на обучение больших сетей звучит так: главная проблема оптимизации — не застревание в плохих локальных минимумах, а замедление на сёдлах и плато. Возле седловой точки наклон почти нулевой, шаги градиентного спуска становятся крошечными, и обучение выглядит как «застряло», хотя выход вниз рядом — просто по другому направлению.

Почему это важно

Знание про сёдла напрямую объясняет устройство современных оптимизаторов. Momentum накапливает инерцию и «проскакивает» плоские сёдла вместо того, чтобы вязнуть в них. Adam и RMSprop нормируют шаг по каждому направлению отдельно: там, где наклон долго был крошечным, шаг увеличивается — именно это позволяет быстро уходить с седловины по «плоской» оси. Стохастичность мини-батчей добавляет шум, который сбивает точку с идеального седла. Все эти приёмы — не набор случайных хаков, а прямые инженерные ответы на вопрос «как не залипать в седловых точках многомерного ландшафта». И заметь: чтобы всё это понимать, производная не нужна — нужно понимать, что такое экстремум и чем он отличается от точки, которая только выглядит как экстремум с одной стороны.

Когда мы дойдём до производной в уроке 133, у нас появится автомат для поиска кандидатов в экстремумы: приравнял производную к нулю — получил список подозреваемых. Но это будет именно необходимое условие, а не достаточное: $y = x^3$ пройдёт этот фильтр в нуле и всё равно не будет иметь экстремума, а $y = |x|$ фильтр не пройдёт вообще, хотя минимум там есть. Сегодняшнее понимание по определению — это то, что не даст автомату себя обмануть.


Практика: 30 заданий

Базовые (задания 1-10)

Задание 1: Функция непрерывна, возрастает на промежутке $(-\infty; 2]$ и убывает на $[2; +\infty)$. Известно, что $f(2) = 7$. Назови точку экстремума, тип экстремума и сам экстремум.


Задание 2: Найди точку экстремума и экстремум функции $y = x^2 - 6x + 5$.


Задание 3: Найди точку экстремума и экстремум функции $y = -2x^2 + 8x - 3$.


Задание 4: Найди наименьшее значение функции $y = (x - 4)^2 + 7$.


Задание 5: Найди наибольшее значение функции $y = 10 - (x+3)^2$.


Задание 6: Есть ли точки экстремума у линейной функции $y = 3x - 5$?


Задание 7: Найди точку экстремума и экстремум функции $y = |x - 2|$.


Задание 8: Есть ли экстремумы у функции $y = x^3 + 5$?


Задание 9: Найди точку минимума функции $y = 3x^2 - 12x + 1$.


Задание 10: Модель предсказывает одно и то же число $a$ для двух объектов, у которых истинные значения равны 2 и 6. Ошибка измеряется как $\text{MSE}(a) = (a-2)^2 + (a-6)^2$. При каком $a$ ошибка минимальна и чему она равна?


Средние (задания 11-20)

Задание 11: Найди точку минимума и минимум функции $y = x^2 - 5x + 6$.


Задание 12: Выручка от продажи товара при цене $p$ описывается моделью $R(p) = -p^2 + 6p$ (в условных единицах). При какой цене выручка максимальна и чему она равна?


Задание 13: Найди наибольшее и наименьшее значения функции $y = x^2 - 4x + 3$ на отрезке $[3; 6]$.


Задание 14: Найди наибольшее и наименьшее значения той же функции $y = x^2 - 4x + 3$, но уже на отрезке $[0; 3]$.


Задание 15: Найди наименьшее значение функции $y = x + \dfrac{9}{x}$ при $x > 0$.


Задание 16: Найди все точки экстремума функции $y = x^4 - 8x^2 + 3$ и укажи их тип.


Задание 17: Функция потерь модели с одним весом имеет вид $L(w) = 2w^2 - 12w + 25$. Найди оптимальный вес и минимальное значение потерь.


Задание 18: Найди экстремум функции $y = 5 - |x + 1|$.


Задание 19: Периметр прямоугольника равен 40 см. При каких сторонах его площадь максимальна?


Задание 20: Найди наибольшее значение функции $y = \dfrac{1}{x^2 + 1}$.


Продвинутые (задания 21-30)

Задание 21: Суммарное время обработки одного объекта при размере батча $b$ моделируется как $T(b) = b + \dfrac{4}{b}$ (условные единицы; первое слагаемое — рост накладных расходов на память, второе — амортизация фиксированной подготовки). Найди оптимальный размер батча при $b > 0$.


Задание 22: Докажи, что наименьшее значение функции $y = x^2 + \dfrac{2}{x}$ при $x > 0$ равно 3, и найди точку минимума.


Задание 23: Найди наибольшее значение функции $y = \sqrt{6x - x^2 - 5}$ и её область определения.


Задание 24: Найди наибольшее значение функции $y = \dfrac{1}{(x-1)^2 + 4}$.


Задание 25: Модель без признаков предсказывает одну константу $a$ для четырёх объектов с истинными значениями $1, 2, 6, 7$. Найди $a$, минимизирующее суммарную квадратичную ошибку $\sum (a - x_i)^2$, и саму минимальную ошибку.


Задание 26: Найди наименьшее значение функции $y = |x - 1| + |x + 1|$ и укажи все точки, где оно достигается.


Задание 27: Функция двух переменных $f(x,y) = 3x^2 - y^2$ рассматривается в точке $(0;0)$. Определи характер этой точки: минимум, максимум или седло?


Задание 28: Найди все точки экстремума функции $y = (x^2 - 1)^2$, укажи их тип и определи, какие из экстремумов глобальные.


Задание 29: Бюджет весов фиксирован: $w_1 + w_2 = 12$. L2-регуляризация штрафует сумму квадратов $R = w_1^2 + w_2^2$. Как распределить бюджет, чтобы штраф был минимальным, и чему он равен?


Задание 30: Отладка кода. Скрипт ищет оптимальный вес перебором по сетке, но выдаёт неверный результат. Найди ошибку и исправь её.

import numpy as np

def loss(w):
    return 2*w**2 - 12*w + 25

ws = np.linspace(-10, 10, 21)
best_w = ws[np.argmax(loss(ws))]
print(best_w)   # ожидали 3.0, получили: -10.0

Частые ошибки

Ошибка 1: путают точку экстремума и сам экстремум

Неправильно: для функции $y = x^2 - 6x + 5$ ответить «минимум равен 3».

Правильно: точка минимума $x_{\min} = 3$ — это абсцисса, значение по оси $Ox$. А минимум функции — это $y_{\min} = f(3) = -4$, значение по оси $Oy$. Два разных числа, два разных вопроса.

💡 Почему важно: это ошибка номер один во всей теме, и она живёт не только в тетрадях. В коде она выглядит как путаница между argmin (какой аргумент даёт минимум — то есть точка) и min (какое значение минимально — то есть экстремум). Перепутал — получил не оптимальные веса, а величину ошибки, и модель уехала в неизвестном направлении.


Ошибка 2: считают локальный максимум наибольшим значением функции

Неправильно: у функции $y = (x^2-4)^2$ есть локальный максимум $16$ при $x = 0$, значит наибольшее значение функции равно 16.

Правильно: локальный максимум означает лишь «лучше ближайших соседей». Здесь $f(10) = (100-4)^2 = 9216$, и функция вообще не ограничена сверху — наибольшего значения у неё нет.

💡 Почему важно: это в точности ситуация обучения модели, которая сошлась в неглубокую яму. Loss перестал падать — но это не значит, что достигнут лучший возможный результат. Именно поэтому делают несколько запусков с разной инициализацией и сравнивают итог.


Ошибка 3: видят «полку» на графике и объявляют её экстремумом

Неправильно: у $y = x^3$ в нуле график горизонтальный, значит там экстремум.

Правильно: экстремума нет. Слева от нуля функция меньше нуля, справа — больше, определение не выполняется ни для максимума, ни для минимума. Это точка перегиба.

💡 Почему важно: горизонтальность (в будущих терминах — нулевая производная) является лишь необходимым условием экстремума для гладких функций, но никак не достаточным. Автомат «приравнял производную к нулю» выдаёт список кандидатов, а не список ответов, и каждого кандидата надо ещё проверять сменой монотонности.


Ошибка 4: ищут экстремумы только там, где функция гладкая

Неправильно: у $y = |x-2|$ нет экстремумов, потому что в точке излома производная не существует.

Правильно: минимум есть, и он в точке $x = 2$, где $y = 0$. Определение экстремума про сравнение с соседями, а про гладкость там нет ни слова.

💡 Почему важно: самые ходовые функции глубокого обучения — ReLU и L1-штраф — как раз кусочно-линейные, с изломами. Если считать, что «экстремум обязан быть гладким», непонятно, как вообще работает L1-регуляризация и почему она обнуляет веса.


Ошибка 5: подставляют вершину параболы, не проверив, попадает ли она в отрезок

Неправильно: искать наименьшее значение $y = x^2 - 4x + 3$ на отрезке $[3; 6]$ и написать «в вершине $x = 2$ значение $-1$».

Правильно: точка $x = 2$ не принадлежит отрезку. На $[3; 6]$ функция монотонно возрастает, наименьшее значение достигается на левом конце: $f(3) = 0$.

💡 Почему важно: это самая массовая потеря баллов в задачах на наибольшее/наименьшее значение. Алгоритм всегда один: найти вершину → проверить принадлежность отрезку → сравнить значения в вершине (если попала) и на обоих концах.


Ошибка 6: считают, что экстремум обязан существовать

Неправильно: «у любой функции есть наибольшее и наименьшее значение, надо просто их найти».

Правильно: у $y = x$ на всей прямой нет ни того ни другого. У $y = x^2$ на интервале $(0;1)$ тоже нет ни наибольшего, ни наименьшего, хотя функция ограничена. Гарантию даёт только теорема Вейерштрасса, и то при двух условиях: непрерывность и именно отрезок (с включёнными концами).

💡 Почему важно: практический аналог — оптимизация без ограничений, которая уходит в бесконечность. Если убрать регуляризацию, некоторые модели гонят веса всё дальше и дальше, а loss бесконечно ползёт вниз, никогда не достигая минимума. Регуляризация в этом смысле — способ «замкнуть отрезок» и вернуть существование решения.


Ошибка 7: делают вывод об экстремуме в многомерном случае по одному срезу

Неправильно: «я зафиксировал все параметры кроме одного, построил график, увидел минимум — значит модель в минимуме».

Правильно: это доказывает лишь, что по данному направлению всё хорошо. У $f(x,y) = x^2 - y^2$ срез по $Ox$ выглядит идеальной ямой, а точка при этом седловая — по оси $Oy$ обрыв вниз.

💡 Почему важно: ровно так выглядит типичная диагностика «застрявшего» обучения. Спуск может стоять на месте не потому, что достиг дна, а потому что сидит на седле, где по большинству направлений плоско, а спуск вниз возможен по одному-двум редким направлениям.


Главное запомнить

Точка экстремума — это $x$, экстремум — это $y$. Точка минимума и минимум — разные числа. В коде это разница между argmin и min.

Экстремум — свойство локальное. $x_0$ — точка максимума, если существует окрестность, в которой $f(x) \leq f(x_0)$. Про «весь график» в определении нет ни слова.

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

Локальный ≠ глобальный. Глобальный экстремум (наибольшее/наименьшее значение) — лучший на всём множестве. Каждый внутренний глобальный экстремум локален, обратное неверно.

Теорема Вейерштрасса: непрерывная на отрезке функция обязательно достигает наибольшего и наименьшего значений. На интервале или при разрыве гарантии нет.

Смена монотонности = экстремум. Возрастание сменилось убыванием → максимум; убывание сменилось возрастанием → минимум; направление не менялось → экстремума нет. У строго монотонной функции экстремумов не бывает.

Для параболы $y = ax^2 + bx + c$ единственная точка экстремума — вершина $x_0 = -\dfrac{b}{2a}$: минимум при $a > 0$, максимум при $a < 0$.

Алгоритм наибольшего/наименьшего на отрезке: найти вершину → проверить, попадает ли в отрезок → сравнить значения в ней и на обоих концах.

Гладкость не требуется: $y = |x|$ имеет настоящий минимум в точке излома. И наоборот, горизонтальная «полка» ($y = x^3$ в нуле) экстремумом не является.

Оценка неравенством — самый сильный приём: если доказал $f(x) \geq m$ и нашёл точку равенства, ты получил сразу глобальный минимум, без всякого анализа.

В многомерном мире большинство «подозрительных» точек — сёдла, а не экстремумы: по одним направлениям вниз, по другим вверх. Из $2^n$ комбинаций направлений минимуму соответствует ровно одна.


Связь с другими темами курса

Что было раньше: монотонность функций (урок 87) — прямой фундамент сегодняшней темы: экстремум по определению есть точка смены направления монотонности. Квадратичная функция (урок 80) дала вершину параболы — главный вычислительный инструмент этого урока. Преобразования графиков (урок 84) объясняют, почему запись $y = a(x-p)^2 + q$ моментально выдаёт координаты вершины: это сдвинутая и растянутая парабола. А чётность и нечётность (урок 85) экономят половину работы: у чётной функции экстремумы расположены симметрично, достаточно разобрать правую половину.

Что дальше: следующий урок — асимптоты (урок 89), где мы разберём поведение функции на бесконечности; вместе с экстремумами это даёт почти полный портрет графика, и в уроке 90 мы соберём общую схему исследования функции. Настоящий прорыв случится в уроке 133, где появится производная: она превратит поиск экстремумов из искусства в алгоритм. Урок 140 (возрастание и убывание через производную) и урок 141 (точки экстремума) — это буквально сегодняшняя тема, переписанная с новым инструментом. А урок 142 про наибольшее и наименьшее значение на отрезке использует ровно тот алгоритм «вершина плюс концы», который мы уже освоили.

Где это применяется в жизни и в ML/данных:

📊 В машинном обучении: обучение любой модели — это минимизация функции потерь, то есть поиск экстремума. Градиентный спуск, momentum, Adam, warm restarts — все инженерные приёмы посвящены тому, чтобы найти яму поглубже и не залипнуть на седле или плато.

📈 В статистике и data science: метод наименьших квадратов (минимум суммы квадратов отклонений — среднее), метод максимального правдоподобия (максимум функции правдоподобия по параметрам), подбор гиперпараметров по сетке или байесовской оптимизацией — везде ищется экстремум.

⚙️ В инженерии и логистике: формула Уилсона для оптимального размера заказа (минимум суммы «затраты на хранение плюс затраты на доставку» — тот самый вид $x + \frac{C}{x}$), выбор размера батча и буфера, частота чекпоинтов при обучении.

💰 В экономике: максимизация прибыли, оптимальная цена (задание 12), портфель Марковица — минимум риска при заданной доходности.

🔬 В физике: принцип наименьшего действия — вся классическая механика формулируется как задача на экстремум; свет идёт по пути наименьшего времени (принцип Ферма — того самого Ферма из исторической справки).


Интересные факты

💡 Кеплер и винная бочка. Задачу об оптимальной форме бочки Кеплер решал не из любви к абстракции: его возмутил метод торговца, меряющего объём наискосок воткнутой палкой. Разбираясь, он открыл замечательный эффект: около максимума объём меняется настолько слабо, что даже заметная ошибка в пропорциях бочки почти не влияет на результат. Этот же эффект сегодня объясняет, почему модель с гиперпараметрами, выставленными «примерно правильно», работает почти так же хорошо, как идеально настроенная: около экстремума ландшафт плоский, и промах в пятой цифре учебного шага никого не убивает.

💡 Принцип Ферма — та же математика, другая вселенная. Пьер Ферма, придумавший метод поиска максимумов, сформулировал ещё и физический принцип: свет между двумя точками идёт по пути, требующему наименьшего времени. Из этой одной идеи выводятся и закон отражения, и закон преломления. То есть природа буквально «решает задачу на экстремум» каждый раз, когда луч переходит из воздуха в воду.

💡 Проблема локальных минимумов оказалась переоценённой. В 1990-е одним из главных аргументов против глубоких сетей был именно страх застревания в плохих локальных минимумах. К 2014–2015 годам исследования показали неожиданную вещь: в очень многомерных ландшафтах подавляющее большинство критических точек — сёдла, а найденные локальные минимумы по качеству почти не отличаются друг от друга. Страшилка тридцатилетней давности во многом растворилась, но вместо неё пришла работа с сёдлами и плато.

💡 Симплекс-метод и Нобелевские премии. Линейное программирование — поиск экстремума линейной функции при линейных ограничениях — было разработано Леонидом Канторовичем в 1939 году для задачи оптимальной загрузки фанерного производства и независимо Джорджем Данцигом в 1947 году. Канторович получил за это Нобелевскую премию по экономике 1975 года. Метод до сих пор ежедневно решает задачи вроде составления расписаний авиарейсов и маршрутов доставки — и это всё та же тема: где функция принимает наибольшее значение.

💡 Тест «а что если сдвинуться» вместо аналитики. Прежде чем доверять минимуму, найденному алгоритмом, инженеры часто применяют приём прямо из определения экстремума: делают несколько случайных небольших возмущений параметров и смотрят, стало ли хуже. Если по всем пробам хуже — вероятно, это настоящий минимум. Если хотя бы по одному направлению лучше — это было седло. Определение экстремума в чистом виде, только на GPU.


Лайфхаки и полезные трюки

1. Для параболы считай вершину, а не рисуй график

Формула $x_0 = -\dfrac{b}{2a}$ занимает три секунды. А чтобы получить значение, не подставляй в исходное выражение через дробь с ошибками — если координата вершины дробная, часто быстрее выделить полный квадрат: форма $a(x-p)^2 + q$ даёт сразу и точку $p$, и экстремум $q$.


2. Ищи структуру «квадрат плюс константа»

Всё, что удаётся привести к виду «неотрицательная штука плюс число», решается мгновенно: $(x-a)^2$, $(x-a)^4$, $|x-a|$, $\sqrt{\ldots}$ — все они неотрицательны, минимум достигается там, где они обращаются в ноль. Если перед этой штукой стоит минус, ситуация переворачивается: было минимумом — стало максимумом.


3. Дробь с постоянным числителем — переверни задачу

Для $y = \dfrac{C}{g(x)}$ при $C > 0$ и положительном знаменателе: максимум дроби там, где минимум знаменателя, и наоборот. Не мучай дробь — исследуй знаменатель, он обычно квадратичный и решается за строчку.


4. Составную функцию режь на «внутренность» и «обёртку»

Если внешняя функция возрастающая (корень, куб, удвоение), экстремум достигается там же, где у внутренней: $\sqrt{4 - (x-3)^2}$ максимален там же, где $4 - (x-3)^2$. Если внешняя убывающая (минус, деление единицы на), максимум и минимум меняются местами. Это экономит массу вычислений.


5. Замена переменной превращает страшное в параболу

Увидел $x^4$ и $x^2$ — подставь $t = x^2$ (не забыв, что $t \geq 0$). Увидел $(x^2-4)^2$ — та же замена. Дальше решай школьную параболу по $t$, а в конце возвращайся к $x$ и не забудь про оба корня — из-за них у чётной функции точки экстремума всегда идут парами $\pm x$.


6. Всегда проверяй ответ соседями

Нашёл кандидата $x_0$ — подставь $x_0 - 1$ и $x_0 + 1$ (или ближе, если функция резкая). Для минимума оба соседа должны дать больше, для максимума — меньше. Тридцать секунд проверки ловят и арифметическую описку, и перепутанный знак $a$, и ложный экстремум типа «полки».


7. В задачах на отрезок держи чек-лист из трёх пунктов

Вершина → попадает ли в отрезок → сравнить со значениями на обоих концах. Три строки, ноль потерянных баллов. Если вершина вне отрезка, функция на нём монотонна, и ответ автоматически на концах.


8. В коде проверяй argmin против min вслух

Каждый раз, когда пишешь оптимизацию, проговаривай: «мне нужен аргумент, дающий минимум, или само значение минимума?» Это ровно то же различение, что «точка экстремума против экстремума», и цена ошибки в проде выше, чем в тетради.


Экстремумы — это та точка курса, где математика перестаёт быть описанием и становится инструментом принятия решений. Любой вопрос вида «как сделать лучше всего» — минимальная ошибка, максимальная прибыль, оптимальный размер батча, кратчайший маршрут, лучшие веса модели — на языке математики звучит одинаково: найди экстремум. Сегодня ты умеешь находить его руками — через вершину параболы, через смену монотонности, через честную оценку неравенством, — и, что важнее, понимаешь, чем локальная яма отличается от глобальной и почему седловая точка умеет притворяться минимумом.

Дальше будет асимптотика, потом общее исследование функций, а в уроке 133 придёт производная — и превратит всё сегодняшнее в короткий алгоритм. Но алгоритм без понимания опасен: он не увидит минимума у ReLU и радостно предложит тебе «полку» $x^3$ в качестве экстремума. Ты теперь знаешь, что у него спросить. А когда в следующий раз увидишь в консоли ползущий вниз loss — вспомни, что смотришь не на магию, а на спуск по ландшафту к точке, которая лучше всех своих соседей. 🏔️

Понял тему? Закрепи в боте! 🚀

Попрактикуйся на задачах и получи персональные рекомендации от AI

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