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

Выпуклость и точки перегиба

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

Выпуклость и точки перегиба 🥣

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

В предыдущих трёх уроках мы честно обходились одной первой производной. Урок 140 отвечал на вопрос «где функция растёт», урок 141 — «какие критические точки настоящие экстремумы», урок 142 — «каково наибольшее значение на отрезке». И каждый раз в тексте всплывала сноска: «а вот это мы разберём в 143-м». Пора отдавать долги. Сегодня вторая производная перестаёт быть техническим упражнением из урока 136 («продифференцируй ещё раз») и становится полноценным инструментом со своим геометрическим смыслом.

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

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

🎯 Ты узнаешь:

  • Что такое выпуклость вниз и вверх, почему это про наклон, а не про саму функцию, и как не запутаться в терминах: русское «выпуклая вверх» и английское concave — про одно и то же, а convex в ML почти всегда значит «чаша»
  • Определение выпуклости через хорду — то, которое не требует производной вообще и работает даже для функций с изломами
  • Признак: $f'' > 0$ на интервале означает выпуклость вниз, $f'' < 0$ — вверх, и почему это прямое следствие урока 140
  • Что такое точка перегиба, почему условие $f''(x_0) = 0$ необходимо, но недостаточно, и два обязательных контрпримера: $y = x^4$ и $y = \sqrt[3]{x}$
  • Второй достаточный признак экстремума — обещанный в уроке 141 способ различать максимум и минимум одной подстановкой
  • Почему у выпуклой функции локальный минимум обязан быть глобальным — и почему это главный водораздел в оптимизации
  • Как из второй производной вырастают гессиан, седловые точки, ограничение на learning rate, метод Ньютона, Adam и неравенство Йенсена

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

Слово «выпуклый» в математике старше самого анализа. Ещё Архимед в III веке до н. э. в трактате «О шаре и цилиндре» формулировал аксиому о выпуклых линиях: из двух линий с общими концами, лежащих по одну сторону от соединяющей их прямой, объемлемая короче объемлющей. Он пользовался этим, чтобы доказать, что периметр вписанного многоугольника меньше длины окружности — то есть чтобы вычислить $\pi$. Никакой производной у него, разумеется, не было: выпуклость определялась чисто геометрически, через положение хорды относительно кривой. Ровно это определение мы разберём во втором разделе — оно оказалось не только самым древним, но и самым живучим.

Аналитическая формулировка появилась вместе с исчислением. Ньютон в «Методе флюксий» (написан около 1671 года, издан посмертно в 1736-м) прямо связал изменение кривизны со второй флюксией и ввёл понятие punctum flexus contrarii — «точка противоположного изгиба», откуда и пошёл наш термин «точка перегиба». Лейбниц в 1684 году в своей первой публикации по дифференциальному исчислению (Nova methodus, та самая шестистраничная статья в Acta Eruditorum) писал: там, где график вогнут к оси, $ddy$ положительно, а точка перегиба — там, где $ddy$ меняет знак. Двойное $d$ — это его обозначение второй производной, прямой предок нашего $\frac{d^2y}{dx^2}$.

Настоящая же карьера выпуклости началась в XX веке. В 1905 году датский математик Йохан Йенсен опубликовал работу о выпуклых функциях, где доказал неравенство, носящее теперь его имя, — и оказалось, что почти все классические неравенства (Коши, Гёльдера, Минковского) — его частные случаи. В 1934 году Вернер Фенхель и позже Ральф Рокафеллар построили выпуклый анализ как отдельную дисциплину; книга Рокафеллара Convex Analysis (1970) до сих пор стоит на полке у каждого, кто занимается оптимизацией. А в 2004 году вышла Convex Optimization Стивена Бойда и Ливена Ванденберга — учебник, по которому училось поколение ML-инженеров. Его главный тезис звучит так: граница между «легко» и «трудно» в оптимизации проходит не между линейным и нелинейным, а между выпуклым и невыпуклым. Всё, что нужно, чтобы эту границу увидеть в одномерном случае, — знак $f''$.


Что такое выпуклость: изгиб, а не рост

Интуиция: чаша и купол

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

Теперь возьми две простые картинки. Парабола $y = x^2$ — это чаша: если налить в неё воду, вода останется. Перевёрнутая парабола $y = -x^2$ — это купол: вода стечёт. Вот и вся геометрия, дальше — только аккуратные формулировки.

Что происходит с наклоном на чаше $y = x^2$? Посчитаем $f'(x) = 2x$ в нескольких точках: $f'(-2) = -4$, $f'(-1) = -2$, $f'(0) = 0$, $f'(1) = 2$, $f'(2) = 4$. Наклон монотонно растёт: сначала крутой спуск, потом пологий, потом дно, потом пологий подъём, потом крутой. Сама функция при этом сначала убывает, потом возрастает — то есть ведёт себя немонотонно, а вот наклон растёт всё время.

На куполе $y = -x^2$ всё зеркально: $f'(x) = -2x$ даёт $4,\ 2,\ 0,\ -2,\ -4$ — наклон монотонно падает.

Вот ключевая мысль урока, ради которой стоит остановиться:

Выпуклость — это монотонность наклона, а не монотонность функции.

Отсюда сразу видно, почему выпуклость нельзя определить по тому, растёт функция или падает. Возьми $y = e^x$ — растёт и загибается вверх (чаша). Возьми $y = e^{-x}$ — падает и тоже чаша. Возьми $y = \ln x$ — растёт, но купол. Возьми $y = -\ln x$ — падает, купол... нет, стоп: $(-\ln x)'' = +\frac{1}{x^2} > 0$, это чаша. Проверь себя на этом месте — именно здесь путаются чаще всего, и лечится это только вычислением второй производной, а не интуицией.

Второй способ увидеть: касательная

Есть ещё одна картинка, очень полезная для ML. Проведи касательную к графику в любой точке (урок 134).

Если график — чаша, то касательная лежит под графиком: чаша «убегает» вверх от своей касательной в обе стороны. Проверим на $y = x^2$ в точке $x_0 = 1$: касательная $y = 2x - 1$, и разность $x^2 - (2x-1) = (x-1)^2 \geq 0$ — график всегда не ниже касательной, равенство только в точке касания.

Если график — купол, касательная лежит над графиком. Для $y = \ln x$ в точке $x_0 = 1$ касательная $y = x - 1$, и известное неравенство $\ln x \leq x - 1$ говорит ровно это.

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

Терминологическая ловушка

А теперь предупреждение, которое сэкономит тебе часы недоумения при чтении литературы. Терминология здесь разъехалась, и разъехалась неудачно.

В русской школьной и вузовской традиции говорят так:

Форма графика Русский школьный термин Знак $f''$
Чаша 🥣 (вода держится) выпуклая вниз (вогнутая) $f'' > 0$
Купол ⛰️ (вода стекает) выпуклая вверх $f'' < 0$

Слово «вниз» тут означает направление, куда смотрит «пузо» кривой, а не куда она открыта. Часть русских учебников (например, старые издания по матанализу) вместо «выпуклая вниз» говорит «вогнутая» — и это тот же самый объект. Отсюда путаница уже внутри русского языка.

В англоязычной литературе, а значит и во всей документации ML-библиотек, терминов ровно два, и они однозначны:

Форма графика Английский термин Знак $f''$ Что это в ML
Чаша 🥣 convex $f'' > 0$ «хорошая» функция потерь
Купол ⛰️ concave $f'' < 0$ «хорошая» функция полезности/правдоподобия

Соответствие такое:

  • русское «выпуклая вниз» = «вогнутая» = английское convex;
  • русское «выпуклая вверх» = английское concave.

И главное практическое правило: если в ML-тексте написано просто «выпуклая функция» (convex function) без уточнения направления — почти наверняка имеется в виду чаша, $f'' \geq 0$. Причина простая: в оптимизации по умолчанию всё минимизируют (лоссы), а у чаши минимум ведёт себя хорошо. Когда нужен максимум (логарифм правдоподобия, функция полезности), говорят concave — и это просто чаша, перевёрнутая знаком минус: $f$ вогнута тогда и только тогда, когда $-f$ выпукла.

Чтобы не запутаться, держи в голове форму, а не слово. Дальше в уроке я буду пользоваться школьными терминами «выпуклость вниз/вверх», но каждый раз дублировать их картинкой «чаша/купол» и английским словом.

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

Различать наклон и изгиб приходится всякий раз, когда речь идёт о процессе во времени. «Заболеваемость растёт» и «заболеваемость растёт всё медленнее» — принципиально разные новости, и вторая означает, что $f' > 0$, но $f'' < 0$. Ровно этот сюжет был главной темой весны 2020 года под названием «сгладить кривую»: никто не обещал, что число случаев начнёт падать, речь шла о том, чтобы пройти точку перегиба раньше. В ML то же самое: лосс падает — хорошо; лосс падает всё медленнее ($f' < 0$, $f'' > 0$) — обучение выходит на плато, пора думать о смене learning rate или об early stopping. Одна первая производная эти два сюжета не различает.


Определение через хорду: выпуклость без производной

Интуиция: натянутая верёвка

Вернёмся к архимедовой картинке — она честнее аналитической, потому что не требует ни производной, ни даже гладкости.

Возьми на графике две точки, $A = (x_1, f(x_1))$ и $B = (x_2, f(x_2))$, и соедини их отрезком — хордой. Посмотри, где хорда относительно куска графика между ними.

Для чаши $y = x^2$ возьми $x_1 = 1$, $x_2 = 5$. Хорда соединяет $(1;1)$ и $(5;25)$. В середине, при $x = 3$, хорда даёт $\frac{1 + 25}{2} = 13$, а график — $9$. Хорда выше. И так будет для любой пары точек: у чаши дуга провисает под хордой.

Для купола $y = \ln x$ возьми $x_1 = 1$, $x_2 = 9$, середина $x = 5$: хорда даёт $\frac{\ln 1 + \ln 9}{2} = \frac{0 + 2{,}1972}{2} \approx 1{,}0986$, а график $\ln 5 \approx 1{,}6094$. График выше хорды.

Осталось записать это формулой. Любая точка отрезка $[x_1, x_2]$ представима как смесь концов: $x = \lambda x_1 + (1-\lambda)x_2$, где $\lambda$ пробегает $[0;1]$. При $\lambda = 1$ получаем $x_1$, при $\lambda = 0$ — $x_2$, при $\lambda = \tfrac12$ — середину. А значение хорды в этой точке — точно такая же смесь значений: $\lambda f(x_1) + (1-\lambda)f(x_2)$ (это просто параметрическая запись отрезка, проверяется подстановкой концов).

Определение: Функция $f$ называется выпуклой вниз (convex) на промежутке $I$, если для любых $x_1, x_2 \in I$ и любого $\lambda \in [0;1]$

$$f\big(\lambda x_1 + (1-\lambda)x_2\big) \;\leq\; \lambda f(x_1) + (1-\lambda) f(x_2).$$

Если при $x_1 \neq x_2$ и $\lambda \in (0;1)$ неравенство строгое, выпуклость называется строгой. Функция выпукла вверх (concave), если неравенство выполняется в обратную сторону; равносильно — если $-f$ выпукла вниз.

Прочитаем неравенство по-человечески, потому что в такой записи оно выглядит страшнее, чем есть:

  • слева — значение функции в точке-смеси: сначала смешали аргументы, потом посчитали функцию;
  • справа — смесь значений: сначала посчитали функцию в каждом конце, потом смешали;
  • знак $\leq$ говорит: у выпуклой вниз функции «сначала смешать, потом посчитать» даёт результат не больше, чем «сначала посчитать, потом смешать».

Слоган, который стоит запомнить: у выпуклой функции значение в среднем не больше среднего значения. Именно из этой формы вырастает неравенство Йенсена, к которому мы придём в ML-разделе.

Обрати внимание на важную вещь: в определении нет ни слова про производную. Функция $y = |x|$ выпукла вниз на всей прямой (проверь по определению: модуль суммы не превосходит суммы модулей), хотя в нуле у неё производной нет. Это не мелочь: функция потерь MAE и активация ReLU — ровно такие, с изломом, и они выпуклы, несмотря на отсутствие производной в одной точке. Определение через хорду их покрывает, а признак через $f''$ — нет.

Пример 1 (простой): проверка для $y = x^2$

Возьмём $x_1 = 1$, $x_2 = 5$, $\lambda = 0{,}25$.

Слева: точка-смесь $x = 0{,}25 \cdot 1 + 0{,}75 \cdot 5 = 0{,}25 + 3{,}75 = 4$, значение $f(4) = 16$.

Справа: $0{,}25 \cdot f(1) + 0{,}75 \cdot f(5) = 0{,}25 \cdot 1 + 0{,}75 \cdot 25 = 0{,}25 + 18{,}75 = 19$.

$16 \leq 19$ — неравенство выполнено, причём строго. Так будет при любых $x_1 \neq x_2$: общее доказательство сводится к тому, что разность правой и левой частей равна $\lambda(1-\lambda)(x_1 - x_2)^2 \geq 0$. Раскрой скобки и проверь — это одна строчка алгебры.

Пример 2 (средний): проверка для $y = \sqrt{x}$

$x_1 = 1$, $x_2 = 9$, $\lambda = 0{,}5$.

Слева: $f(5) = \sqrt{5} \approx 2{,}2361$.

Справа: $\frac{\sqrt 1 + \sqrt 9}{2} = \frac{1+3}{2} = 2$.

Теперь $2{,}2361 > 2$ — неравенство выполняется в обратную сторону. Значит, корень выпуклый вверх (concave) на $(0; +\infty)$. Это, кстати, содержательный факт: он означает, что средний корень не больше корня среднего, — частный случай неравенства о средних.

Пример 3 (сложный): а вот $y = x^3$ не выпукла ни в одну сторону на $\mathbb{R}$

Возьмём $x_1 = -2$, $x_2 = 2$, $\lambda = 0{,}5$: слева $f(0) = 0$, справа $\frac{-8 + 8}{2} = 0$. Равенство, пока ничего не понятно.

Сместим: $x_1 = -2$, $x_2 = 4$, $\lambda = 0{,}5$: слева $f(1) = 1$, справа $\frac{-8 + 64}{2} = 28$. Здесь $1 \leq 28$, как у выпуклой вниз.

А теперь $x_1 = -4$, $x_2 = 2$, $\lambda = 0{,}5$: слева $f(-1) = -1$, справа $\frac{-64 + 8}{2} = -28$. Здесь $-1 > -28$ — неравенство перевернулось.

Одна и та же функция на одной паре точек ведёт себя как чаша, на другой — как купол. Значит, на всей прямой $x^3$ не выпукла ни вниз, ни вверх. А вот на $[0; +\infty)$ она выпукла вниз, на $(-\infty; 0]$ — вверх, и точка $x=0$ разделяет эти режимы. Это и есть точка перегиба, к которой мы скоро придём.

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

Определение через хорду — то, которым реально пользуются в теории оптимизации, и вот почему. Во-первых, оно работает для негладких функций (MAE, ReLU, hinge loss в SVM — все с изломами). Во-вторых, оно дословно переносится в многомерный случай: $x_1$ и $x_2$ становятся векторами весов, и ничего в записи не меняется. В-третьих, из него напрямую, без всякой производной, доказывается главная теорема выпуклой оптимизации: локальный минимум выпуклой функции обязан быть глобальным. А признак через $f''$ — это уже удобный вычислительный критерий для гладкого случая, следствие, а не суть.


Признак выпуклости через вторую производную

Теперь свяжем геометрию с вычислениями. Мостик короткий, и он целиком построен на уроке 140.

В уроке 140 доказана связка: если производная функции положительна на промежутке, функция на нём возрастает. Применим её не к $f$, а к $f'$. Производная функции $f'$ — это $f''$. Значит:

$$f'' > 0 \;\Longrightarrow\; f' \text{ возрастает} \;\Longrightarrow\; \text{наклон растёт} \;\Longrightarrow\; \text{чаша}.$$

Никакой новой теории не понадобилось — только применить старую теорему на этаж выше.

Теорема (признак выпуклости): Пусть функция $f$ дважды дифференцируема на интервале $(a;b)$. Если $f''(x) > 0$ для всех $x \in (a;b)$, то $f$ выпукла вниз (convex) на $(a;b)$. Если $f''(x) < 0$ для всех $x \in (a;b)$, то $f$ выпукла вверх (concave) на $(a;b)$. Обратно: если дважды дифференцируемая функция выпукла вниз на интервале, то $f'' \geq 0$ на нём (нестрого — знак равенства в отдельных точках допустим).

Отдельная строка про «обратно» здесь принципиальна, и она устроена так же, как в уроке 140 с монотонностью: возрастание даёт $f' \geq 0$, а не $f' > 0$. Функция $y = x^4$ выпукла вниз на всей прямой, но $f''(0) = 0$. Отдельные нули второй производной выпуклость не портят — портит только смена знака.

Пример 1 (простой): парабола

$f(x) = ax^2 + bx + c$, $f'(x) = 2ax + b$, $f''(x) = 2a$.

Вторая производная постоянна и равна $2a$. Значит, парабола выпукла в одну сторону на всей прямой: при $a > 0$ — чаша, при $a < 0$ — купол. Никаких перегибов у параболы нет и быть не может.

Проверим на числах: $y = 2x^2 - 8x + 3$ даёт $f'' = 4 > 0$ — чаша на всей $\mathbb{R}$. А $y = 5 - 3x - x^2$ даёт $f'' = -2 < 0$ — купол на всей $\mathbb{R}$.

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

Пример 2 (средний): $y = e^x$ и $y = \ln x$

Для экспоненты (таблица производных, урок 138): $f'(x) = e^x$, $f''(x) = e^x$. Экспонента дифференцируется сама в себя, поэтому $f'' = e^x > 0$ при любом $x$. Вывод: $e^x$ выпукла вниз на всей числовой прямой, перегибов нет. Это и есть аналитическое выражение того, что экспоненциальный рост «загибается вверх» всё круче.

Для логарифма: $f'(x) = \frac1x$, $f''(x) = -\frac{1}{x^2}$. Область определения — $(0;+\infty)$, и там $x^2 > 0$, значит $f'' < 0$ всюду. Вывод: $\ln x$ выпукла вверх (concave) на всей области определения, перегибов нет.

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

Полезное следствие: функция $-\ln x$ имеет $f'' = \frac{1}{x^2} > 0$, то есть выпукла вниз. Она нам ещё встретится: минус логарифм — это основа лог-функции потерь.

Пример 3 (сложный): многочлен третьей степени

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

Шаг 1. $f'(x) = 3x^2 - 12x + 9$.

Шаг 2. $f''(x) = 6x - 12 = 6(x-2)$.

Шаг 3. Решаем $f'' = 0$: $x = 2$. Прямая $6(x-2)$ меняет знак в этой точке.

Шаг 4. Таблица знаков:

Промежуток $(-\infty;\,2)$ $x = 2$ $(2;\,+\infty)$
знак $f''$ $-$ $0$ $+$
форма купол ⛰️ перелом чаша 🥣

Шаг 5. Проверим контрольными точками: $f''(0) = -12 < 0$, $f''(4) = 12 > 0$. Совпало.

Ответ: выпуклость вверх на $(-\infty;2)$, выпуклость вниз на $(2;+\infty)$; в точке $x=2$ (значение $f(2) = 8 - 24 + 18 - 2 = 0$) изгиб переворачивается.

И общий вывод про кубические многочлены: у любого из них $f''$ — линейная функция, а значит ровно один нуль и ровно одна смена знака. У всякой кубической параболы ровно одна точка перегиба — и, между прочим, её график центрально симметричен относительно этой точки.

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

Признак через $f''$ превращает геометрический вопрос в чисто механическую процедуру: продифференцировал дважды, решил неравенство, выписал промежутки. В прикладных задачах это способ формально ответить на вопрос «процесс ускоряется или замедляется» — а именно он обычно и интересует. Скорость роста выручки, темп набора аудитории, динамика лосса: везде интересна не столько сама величина, сколько то, разгоняется она или выдыхается.


Точки перегиба

Интуиция: где руль поворачивается в другую сторону

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

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

Определение: Точка $x_0$ называется точкой перегиба функции $f$, если

  1. в точке $x_0$ функция непрерывна и у графика есть касательная (возможно, вертикальная);
  2. существует такая окрестность точки $x_0$, что по одну сторону от $x_0$ функция выпукла вниз, а по другую — выпукла вверх.

Иначе говоря, точка перегиба — это точка, в которой направление выпуклости меняется на противоположное.

Разберём оба пункта, потому что оба работают.

Пункт 1 отсекает разрывы и изломы. У функции $y = |x|$ в нуле выпуклость направление не меняет (она везде чаша), но даже если бы меняла — касательной там нет, излом, и перегибом такую точку не назовут. У функции $y = \frac1x$ вторая производная меняет знак при переходе через $0$, но в нуле функции просто нет — и это не перегиб, а разрыв. Требование непрерывности и касательной убирает обе патологии.

Пункт 2 — это суть: смена направления. И именно из-за него формулировка «перегиб там, где $f'' = 0$» неверна.

Необходимое условие (и почему его недостаточно)

Теорема (необходимое условие перегиба): Если $x_0$ — точка перегиба функции $f$, то либо $f''(x_0) = 0$, либо $f''(x_0)$ не существует.

Логика та же, что у необходимого условия экстремума из урока 141. Если $f''$ непрерывна и в точке перегиба была бы, скажем, положительной, то по свойству сохранения знака она осталась бы положительной в целой окрестности — и никакой смены выпуклости бы не было. Остаются два варианта: ноль или отсутствие.

Точки, удовлетворяющие этому условию, называют критическими точками второго рода (по аналогии с критическими точками первого рода из урока 139, где то же самое требовалось от $f'$). Это кандидаты, и только кандидаты.

Контрпример 1 (обязательный): $y = x^4$ в нуле.

$f'(x) = 4x^3$, $f''(x) = 12x^2$. В нуле $f''(0) = 12\cdot 0 = 0$ — необходимое условие выполнено, кандидат есть.

Но посмотрим на знак: $f''(x) = 12x^2 \geq 0$ при любом $x$, и слева от нуля, и справа. При $x=-1$ получаем $12$, при $x=1$ — тоже $12$. Знак не меняется. Функция $y = x^4$ выпукла вниз на всей прямой, это чаша целиком, только с очень плоским дном. Перегиба в нуле нет.

Запомни этот пример как противоядие: $f''(x_0) = 0$ — это ещё не перегиб. Ровно как $f'(x_0) = 0$ — ещё не экстремум (там контрпримером был $y = x^3$).

Контрпример 2 (обязательный): $y = \sqrt[3]{x}$ в нуле.

Здесь ситуация зеркальная: перегиб есть, а второй производной нет.

$f(x) = x^{1/3}$, $f'(x) = \frac13 x^{-2/3} = \dfrac{1}{3\sqrt[3]{x^2}}$, $f''(x) = -\frac29 x^{-5/3} = -\dfrac{2}{9\sqrt[3]{x^5}}$.

В нуле ни $f'$, ни $f''$ не существуют — знаменатели обращаются в ноль. Но функция там непрерывна ($\sqrt[3]{0} = 0$), и касательная есть: $f'(x) \to +\infty$ при $x \to 0$, то есть касательная вертикальная, совпадает с осью $Oy$. Пункт 1 определения выполнен.

Смотрим знак $f''$. При $x > 0$: $\sqrt[3]{x^5} > 0$, значит $f'' < 0$ — купол. При $x < 0$: $\sqrt[3]{x^5} < 0$, минус на минус даёт $f'' > 0$ — чаша. Проверим числами: $f''(-1) = -\frac{2}{9\cdot(-1)} = +\frac29 > 0$; $f''(1) = -\frac29 < 0$. Знак меняется, направление выпуклости переворачивается.

Вывод: $x = 0$ — точка перегиба кубического корня, хотя $f''(0)$ не существует. Именно поэтому в необходимом условии стоит «или не существует» — без этой оговорки формулировка была бы неполной.

Достаточное условие и алгоритм

Теорема (достаточное условие перегиба): Пусть функция $f$ непрерывна в точке $x_0$ и дважды дифференцируема в некоторой проколотой окрестности $x_0$. Если $f''$ имеет разные знаки слева и справа от $x_0$, то $x_0$ — точка перегиба. Если знаки одинаковые — перегиба нет.

Алгоритм получается точно такой же по форме, как алгоритм поиска экстремумов из урока 141, только этажом выше — вместо $f'$ везде $f''$.

Алгоритм поиска промежутков выпуклости и точек перегиба:

  1. Найти область определения $D(f)$ — про неё забывают чаще всего, и именно из-за этого $\frac1x$ «получает» несуществующий перегиб в нуле.
  2. Найти $f'$, затем $f''$.
  3. Найти критические точки второго рода: решить $f''(x) = 0$ и отметить точки, где $f''$ не существует (но функция определена).
  4. Нанести эти точки и точки разрыва на числовую прямую, разбив $D(f)$ на промежутки.
  5. Определить знак $f''$ на каждом промежутке — подстановкой удобной контрольной точки или по виду разложения на множители.
  6. Выписать ответ: промежутки выпуклости вниз (где $f'' > 0$), промежутки выпуклости вверх (где $f'' < 0$), точки перегиба — только те кандидаты, где знак реально сменился и функция непрерывна.
  7. Для точек перегиба посчитать $f(x_0)$, если нужны координаты.

Промежутки выпуклости, как и промежутки монотонности, не объединяют знаком $\cup$, если между ними есть разрыв или точка смены. Пишут через точку с запятой или словом «и» — это та же дисциплина оформления, о которой шла речь в уроке 140.

Пример 1 (простой): $f(x) = x^4 - 6x^2 + 5$

Шаг 1. $D(f) = \mathbb{R}$.

Шаг 2. $f'(x) = 4x^3 - 12x$, $f''(x) = 12x^2 - 12 = 12(x^2 - 1) = 12(x-1)(x+1)$.

Шаг 3. $f'' = 0$ при $x = \pm 1$. Точек, где $f''$ не существует, нет.

Шаг 4–5. Три промежутка, знаки берём по произведению $(x-1)(x+1)$:

Промежуток $(-\infty;-1)$ $(-1;1)$ $(1;+\infty)$
контрольная точка $x=-2$ $x=0$ $x=2$
$f''$ $12\cdot 3 = 36$ $-12$ $36$
знак $+$ $-$ $+$
форма чаша 🥣 купол ⛰️ чаша 🥣

Шаг 6–7. Знак меняется в обеих точках, обе — перегибы. $f(1) = 1 - 6 + 5 = 0$, $f(-1) = 0$.

Ответ: выпуклость вниз на $(-\infty;-1)$ и $(1;+\infty)$, выпуклость вверх на $(-1;1)$; точки перегиба $(-1;0)$ и $(1;0)$.

Пример 2 (средний): $f(x) = xe^{-x}$

Шаг 1. $D(f) = \mathbb{R}$.

Шаг 2. По правилу произведения (урок 136) и цепному правилу (урок 137):

$$f'(x) = 1\cdot e^{-x} + x\cdot(-e^{-x}) = e^{-x}(1 - x),$$

$$f''(x) = -e^{-x}(1-x) + e^{-x}\cdot(-1) = e^{-x}(x - 1 - 1) = e^{-x}(x-2).$$

Шаг 3. Множитель $e^{-x}$ положителен всегда, поэтому знак $f''$ определяется скобкой: $f'' = 0$ при $x = 2$.

Шаг 4–5. Два промежутка:

Промежуток $(-\infty;2)$ $(2;+\infty)$
знак $(x-2)$ $-$ $+$
знак $f''$ $-$ $+$
форма купол ⛰️ чаша 🥣

Шаг 6–7. $f(2) = 2e^{-2} = \dfrac{2}{e^2} \approx 0{,}2707$.

Ответ: выпуклость вверх на $(-\infty;2)$, выпуклость вниз на $(2;+\infty)$; точка перегиба $\left(2;\ \dfrac{2}{e^2}\right)$.

Полезное наблюдение: у этой функции максимум в точке $x=1$ (там $f' = 0$ со сменой знака), а перегиб — в $x=2$, уже после максимума. Экстремум и перегиб — разные точки и разные вопросы; они совпадают только случайно.

Пример 3 (сложный): $f(x) = \dfrac{x}{x^2+1}$

Шаг 1. Знаменатель $x^2+1$ никогда не равен нулю, значит $D(f) = \mathbb{R}$.

Шаг 2. По правилу частного:

$$f'(x) = \frac{1\cdot(x^2+1) - x\cdot 2x}{(x^2+1)^2} = \frac{1 - x^2}{(x^2+1)^2}.$$

Дифференцируем ещё раз (частное плюс цепное правило), после приведения подобных получается

$$f''(x) = \frac{2x(x^2-3)}{(x^2+1)^3}.$$

Проверим формулу численно в одной точке: при $x=1$ она даёт $\frac{2\cdot(1-3)}{8} = -0{,}5$, и центральная разность второго порядка для исходной функции даёт то же $-0{,}5$. Сходится.

Шаг 3. Знаменатель $(x^2+1)^3 > 0$ всегда, значит знак определяет числитель $2x(x^2-3) = 2x(x-\sqrt3)(x+\sqrt3)$. Нули: $x = -\sqrt3,\ 0,\ \sqrt3$.

Шаг 4–5. Четыре промежутка. Произведение трёх линейных множителей меняет знак при переходе через каждый нуль:

Промежуток $(-\infty;-\sqrt3)$ $(-\sqrt3;0)$ $(0;\sqrt3)$ $(\sqrt3;+\infty)$
контрольная точка $-2$ $-1$ $1$ $2$
$f''$ $-0{,}032$ $+0{,}5$ $-0{,}5$ $+0{,}032$
форма купол ⛰️ чаша 🥣 купол ⛰️ чаша 🥣

Шаг 6–7. Все три кандидата дали смену знака — все три перегибы. Значения: $f(0) = 0$, $f(\sqrt3) = \frac{\sqrt3}{4} \approx 0{,}433$, $f(-\sqrt3) = -\frac{\sqrt3}{4}$.

Ответ: выпуклость вниз на $(-\sqrt3;0)$ и $(\sqrt3;+\infty)$, выпуклость вверх на $(-\infty;-\sqrt3)$ и $(0;\sqrt3)$; три точки перегиба: $\left(-\sqrt3;-\frac{\sqrt3}{4}\right)$, $(0;0)$, $\left(\sqrt3;\frac{\sqrt3}{4}\right)$.

Три перегиба у такой простой на вид дроби — хорошее напоминание, что число перегибов ничем не ограничено, а у синуса их и вовсе бесконечно много (в каждой точке $\pi k$).

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

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


Второй достаточный признак экстремума

В уроке 141 экстремумы искали по смене знака первой производной: нашли критическую точку, построили таблицу знаков $f'$, посмотрели, как знак меняется. Метод универсальный, но громоздкий: ради одной точки приходится рисовать всю таблицу и подбирать контрольные значения. Там же было обещано, что появится способ короче. Вот он.

Идея простая. Пусть $f'(x_0) = 0$ — касательная горизонтальна. Если в этой точке график — чаша, то дно чаши и есть минимум. Если купол — вершина купола, максимум. А чаша или купол, мы теперь умеем определять одной подстановкой.

Теорема (второй достаточный признак экстремума): Пусть $f$ дважды дифференцируема в точке $x_0$ и $f'(x_0) = 0$. Тогда:

  • если $f''(x_0) > 0$, то $x_0$ — точка локального минимума;
  • если $f''(x_0) < 0$, то $x_0$ — точка локального максимума;
  • если $f''(x_0) = 0$, признак не даёт ответа — нужно возвращаться к смене знака $f'$.

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

Пример 1 (простой): $f(x) = x^3 - 3x$

Шаг 1. $f'(x) = 3x^2 - 3 = 3(x^2-1)$, критические точки $x = \pm 1$.

Шаг 2. $f''(x) = 6x$.

Шаг 3. Подставляем: $f''(1) = 6 > 0$ — минимум; $f''(-1) = -6 < 0$ — максимум.

Шаг 4. Значения: $f(1) = 1 - 3 = -2$, $f(-1) = -1+3 = 2$.

Ответ: локальный максимум $f(-1) = 2$, локальный минимум $f(1) = -2$.

Сравни с работой по первому признаку: там пришлось бы разбить прямую на три промежутка и в каждом посчитать знак $f'$. Здесь — две подстановки в $6x$ в уме.

Пример 2 (средний): $f(x) = 2x^3 - 3x^2 - 12x$

Шаг 1. $f'(x) = 6x^2 - 6x - 12 = 6(x^2 - x - 2) = 6(x-2)(x+1)$. Критические точки $x = 2$ и $x = -1$.

Шаг 2. $f''(x) = 12x - 6$.

Шаг 3. $f''(2) = 24 - 6 = 18 > 0$ — минимум. $f''(-1) = -12-6 = -18 < 0$ — максимум.

Шаг 4. $f(2) = 16 - 12 - 24 = -20$; $f(-1) = -2 - 3 + 12 = 7$.

Ответ: локальный максимум $f(-1) = 7$, локальный минимум $f(2) = -20$.

Бонусом здесь же виден перегиб: $f'' = 0$ при $x = 0{,}5$, знак меняется, значит $(0{,}5;\ f(0{,}5)) = (0{,}5;\ -6{,}5)$ — точка перегиба. Она лежит ровно посередине между максимумом и минимумом, как и положено кубической параболе.

Пример 3 (сложный): когда признак бесполезен

Возьмём три функции, у всех $f'(0) = 0$ и $f''(0) = 0$.

$f(x) = x^4$: $f' = 4x^3$, $f'' = 12x^2$, обе в нуле равны нулю. Второй признак молчит. Возвращаемся к первому: $f' = 4x^3$ отрицательна слева от нуля, положительна справа — знак меняется с минуса на плюс, значит минимум, $f(0) = 0$.

$f(x) = -x^4$: аналогично $f'(0) = f''(0) = 0$, признак молчит; $f' = -4x^3$ меняет знак с плюса на минус — максимум.

$f(x) = x^3$: $f'(0) = f''(0) = 0$, признак молчит; $f' = 3x^2 \geq 0$ по обе стороны, знак не меняется — экстремума нет вовсе, это точка перегиба с горизонтальной касательной (та самая «пустышка» из урока 141).

Три разных ответа при одинаковых $f'(0) = f''(0) = 0$ — вот почему случай $f''(x_0) = 0$ действительно неразрешим вторым признаком и требует возврата к первому.

Какой признак когда выбирать

Ситуация Удобнее
Критических точек мало, $f''$ считается легко Второй признак: подстановка вместо таблицы
Нужно исследовать функцию целиком (промежутки монотонности тоже нужны) Первый: таблица знаков $f'$ и так строится
$f''(x_0) = 0$ Только первый
$f'$ не существует в точке (излом, острие) Только первый: второй признак требует $f'(x_0) = 0$
$f''$ громоздкая (сложная дробь, корни) Первый: считать $f''$ дороже, чем построить таблицу

Практический вывод: второй признак — не замена первому, а быстрая проверка для случаев, когда $f''$ дешёвая (многочлены, экспоненты). В полном исследовании функции из урока 144 обычно строят таблицу знаков $f'$ в любом случае — и тогда второй признак не нужен.

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

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


Выпуклость функции целиком: почему это меняет всё

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

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

Теорема (главное свойство выпуклой функции): Пусть $f$ выпукла на промежутке $I$. Тогда:

  1. любая точка локального минимума $f$ на $I$ является точкой глобального минимума;
  2. множество точек минимума — промежуток (возможно, пустой или из одной точки);
  3. если $f$ строго выпукла, точка минимума не более чем одна;
  4. у выпуклой функции нет локальных максимумов внутри промежутка (кроме тривиального случая постоянной функции) и нет точек перегиба.

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

Идея доказательства пункта 1 — прямо из определения через хорду, без всякой производной. Пусть $x^*$ — локальный минимум, а где-то есть точка $z$ с $f(z) < f(x^*)$. Возьмём точки на отрезке между $x^*$ и $z$, очень близкие к $x^*$: $x_\lambda = \lambda z + (1-\lambda)x^*$ при маленьком $\lambda$. По неравенству выпуклости

$$f(x_\lambda) \leq \lambda f(z) + (1-\lambda) f(x^*) < \lambda f(x^*) + (1-\lambda)f(x^*) = f(x^*).$$

Значит, сколь угодно близко к $x^*$ есть точки со строго меньшим значением — а это противоречит тому, что $x^*$ локальный минимум. Противоречие закрывает вопрос.

Как проверить, что функция выпукла целиком

Для дважды дифференцируемой функции критерий один: $f''(x) \geq 0$ на всей области определения, и область эта — промежуток. Разберём галерею.

Выпуклы (чаша целиком):

  • $f(x) = x^2$: $f'' = 2 > 0$. Строго выпукла, минимум единственный — $x=0$.
  • $f(x) = e^x$: $f'' = e^x > 0$ всюду. Строго выпукла, но минимума нет вообще (инфимум $0$ не достигается) — выпуклость гарантирует единственность минимума, а не его существование.
  • $f(x) = -\ln x$ на $(0;+\infty)$: $f'' = \frac{1}{x^2} > 0$. Строго выпукла.
  • $f(x) = x\ln x$ на $(0;+\infty)$: $f'' = \frac1x > 0$. Строго выпукла — эта функция стоит внутри формулы энтропии.
  • $f(x) = |x|$: производной в нуле нет, но по определению через хорду выпукла. Не строго (на любом отрезке, не содержащем ноль, она линейна... точнее, линейна на каждой из двух полупрямых).
  • $f(x) = x^4$: $f'' = 12x^2 \geq 0$, ноль только в одной точке. Строго выпукла, минимум единственный.

Не выпуклы:

  • $f(x) = x^3$: $f'' = 6x$ меняет знак. Ни выпукла, ни вогнута на $\mathbb{R}$.
  • $f(x) = \sin x$: $f'' = -\sin x$ меняет знак бесконечно много раз. Бесконечно много локальных минимумов, ни один не «лучше» другого — но локальный анализ этого не знает.
  • $f(x) = \frac1x$: на $(0;+\infty)$ выпукла ($f'' = \frac{2}{x^3} > 0$), на $(-\infty;0)$ вогнута, но целиком не выпукла хотя бы потому, что область определения — не промежуток.
  • Сигмоида $\sigma(z) = \frac{1}{1+e^{-z}}$: перегиб в нуле, слева чаша, справа купол. Не выпукла и не вогнута.

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

Полезные правила комбинирования

Проверять $f''$ каждый раз не обязательно: выпуклость хорошо сохраняется при операциях.

  • Сумма выпуклых выпукла: если $f'' \geq 0$ и $g'' \geq 0$, то $(f+g)'' \geq 0$. Поэтому лосс с L2-регуляризацией $L(w) + \lambda w^2$ остаётся выпуклым, если выпукл был $L$.
  • Умножение на положительное число сохраняет выпуклость, на отрицательное — переворачивает.
  • Максимум выпуклых выпукл (по определению через хорду; через $f''$ это не видно, потому что максимум может иметь излом). Отсюда выпуклость hinge loss $\max(0,\ 1-yz)$ в SVM.
  • Композиция: выпуклая неубывающая функция от выпуклой выпукла. Например, $e^{x^2}$ выпукла, потому что $e^u$ выпукла и возрастает, а $x^2$ выпукла.
  • Произведение выпуклых выпуклым быть не обязано: $x^2 \cdot x^2 = x^4$ выпукла, а $x \cdot x^3 = x^4$... тоже. Зато $(x^2)\cdot(e^{-x})$ уже нет — у неё, как мы считали, два перегиба.

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

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


Кривизна, гессиан и learning rate: выпуклость в машинном обучении

Водораздел: выпуклые задачи и все остальные

Начнём с карты. Вот классические модели и их статус:

Модель Функция потерь Выпукла по параметрам? Что это даёт
Линейная регрессия MSE Да (строго, если признаки независимы) Минимум один, есть даже формула в явном виде
Гребневая регрессия (Ridge) MSE + $\lambda\|w\|^2$ Да, строго Минимум единственный всегда
Логистическая регрессия Log-loss Да Минимум глобальный, сходимость гарантирована
SVM Hinge loss + регуляризация Да (негладкая) Глобальный оптимум, двойственная задача
Нейросеть (2+ слоя) Любая Нет Гарантий нет, результат зависит от инициализации
Дерево решений Задача комбинаторная Жадные эвристики

Первые четыре строки — та самая «классика», которая работает предсказуемо. Пятая — то, чем занят современный deep learning. И вся разница описывается словом «выпуклость».

Почему MSE линейной регрессии выпукла — видно из одномерного случая. Пусть модель $\hat y = wx$, данные $(x_i, y_i)$, лосс

$$L(w) = \sum_i (w x_i - y_i)^2.$$

Тогда $L'(w) = 2\sum_i x_i(wx_i - y_i)$, а $L''(w) = 2\sum_i x_i^2 \geq 0$ — сумма квадратов, она не может быть отрицательной. Вторая производная не зависит от $w$: парабола, единственный минимум, никаких сюрпризов. Для трёх точек $x = (1,2,3)$ получим $L'' = 2(1+4+9) = 28$ — константа, и минимум находится решением одного линейного уравнения.

А почему нейросеть невыпукла — тоже видно на игрушечном примере. Возьми сеть без активаций из двух «слоёв» с одним весом каждый: $\hat y = w_2 (w_1 x)$. При $x = 1$, $y = 1$ лосс равен $L(w_1,w_2) = (w_1w_2 - 1)^2$. Пройдём вдоль диагонали $w_1 = w_2 = t$:

$$L(t) = (t^2-1)^2 = t^4 - 2t^2 + 1, \qquad L''(t) = 12t^2 - 4.$$

При $t = 0$ получаем $L''(0) = -4 < 0$ — купол. При $t = 1$: $L''(1) = 8 > 0$ — чаша. Функция меняет выпуклость, у неё два глобальных минимума ($t = \pm 1$) и локальный максимум между ними. Уже на двух весах без всяких нелинейностей выпуклость сломалась — просто потому, что параметры перемножаются. Добавь ReLU и миллион весов — станет только хуже.

Кривизна, гессиан и седло

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

$$H = \begin{pmatrix} \dfrac{\partial^2 L}{\partial w_1^2} & \dfrac{\partial^2 L}{\partial w_1 \partial w_2} \\[8pt] \dfrac{\partial^2 L}{\partial w_2 \partial w_1} & \dfrac{\partial^2 L}{\partial w_2^2}\end{pmatrix}.$$

Роль знака $f''$ здесь играют собственные числа гессиана — они показывают кривизну по «главным направлениям»:

  • все собственные числа положительны — по всем направлениям чаша, точка с нулевым градиентом это локальный минимум;
  • все отрицательны — купол по всем направлениям, локальный максимум;
  • есть и положительные, и отрицательные — по одним направлениям вверх, по другим вниз: седловая точка;
  • есть нулевые — критерий не работает, ровно как одномерный случай $f''(x_0)=0$.

Вот и разгадка «пустышек» из урока 141 в многомерном виде. Функция $L(w_1,w_2) = w_1^2 - w_2^2$ имеет нулевой градиент в начале координат, а гессиан $\begin{pmatrix}2 & 0\\ 0 & -2\end{pmatrix}$ с собственными числами $2$ и $-2$. Разные знаки — седло: вдоль $w_1$ мы на дне ямы, вдоль $w_2$ — на вершине холма. Градиентный спуск в такой точке останавливается, хотя минимума нет.

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

Кривизна задаёт максимальный learning rate

Это самый практический вывод урока. Посмотрим, как градиентный спуск ведёт себя на квадратичной функции $f(w) = \frac{a}{2}w^2$, у которой $f'(w) = aw$ и $f''(w) = a$ — постоянная кривизна.

Шаг спуска: $w_{k+1} = w_k - \eta f'(w_k) = w_k - \eta a w_k = (1 - \eta a) w_k$.

Получилась геометрическая прогрессия со знаменателем $q = 1 - \eta a$. Она сходится к нулю тогда и только тогда, когда $|q| < 1$, то есть

$$0 < \eta < \frac{2}{a} = \frac{2}{f''}.$$

Проверим на числах при $a = 8$ (то есть $f'' = 8$, порог $\eta < 0{,}25$), стартуя из $w_0 = 1$:

  • $\eta = 0{,}1$: $q = 0{,}2$, через 10 шагов $w \approx 1{,}02\cdot10^{-7}$ — быстрая сходимость;
  • $\eta = 0{,}2$: $q = -0{,}6$, через 10 шагов $w \approx 0{,}006$ — сходится, но с колебаниями через ноль;
  • $\eta = 0{,}25$: $q = -1$, вес прыгает $1, -1, 1, -1,\dots$ — не сходится никогда, ровно на границе;
  • $\eta = 0{,}3$: $q = -1{,}4$, через 10 шагов $w \approx 28{,}9$ — расходится, и дальше будет nan в логах.

Вот и весь механизм «слишком большой learning rate ломает обучение»: шаг обязан быть меньше $2/f''$, то есть чем круче кривизна, тем меньше допустимый шаг. В многомерном случае в этой формуле стоит наибольшее собственное число гессиана: $\eta < 2/\lambda_{\max}$.

Но шаг ограничен сверху самым крутым направлением, а скорость движения определяется самым пологим. Их отношение $\varkappa = \lambda_{\max}/\lambda_{\min}$ — число обусловленности, и оно ровно и есть тот «овраг», о котором шла речь в уроке 139. Для $L = w_1^2 + 4w_2^2$ гессиан равен $\mathrm{diag}(2;8)$, $\varkappa = 4$ — терпимо. В реальных сетях $\varkappa$ бывает порядка $10^4$ и выше, и тогда спуск ползёт вдоль дна оврага тысячи итераций.

Метод Ньютона и почему гессиан не считают

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

$$w_{k+1} = w_k - \frac{f'(w_k)}{f''(w_k)},$$

то есть делит градиент на кривизну. На квадратичной функции он попадает в минимум за один шаг — проверь на $f = \frac{a}{2}w^2$: $w_1 = w_0 - \frac{aw_0}{a} = 0$. Никакого подбора learning rate, никаких тысяч итераций.

Почему же в глубоком обучении не используют метод Ньютона? Арифметика. Для $N$ параметров градиент — вектор длины $N$, а гессиан — матрица $N \times N$. При $N = 10^9$ (скромная по нынешним меркам модель) гессиан содержит $10^{18}$ чисел: в float32 это порядка четырёх миллиардов гигабайт памяти. Плюс его нужно обратить, а это ещё дороже. Метод Ньютона в чистом виде физически неприменим, и это не вопрос лени разработчиков.

Компромисс — дешёвые оценки кривизны. Adam и RMSProp хранят не всю матрицу, а её грубую диагональ: для каждого параметра — скользящее среднее квадрата градиента $v_t$, и шаг делится на $\sqrt{v_t}$. По сути это индивидуальный learning rate для каждого веса, обратно пропорциональный «типичной крутизне» по этой координате: там, где градиенты большие и кривизна велика, шаг автоматически уменьшается. Память — $O(N)$ вместо $O(N^2)$, и именно поэтому Adam стал стандартом. Это вторая производная, ужатая до одного числа на параметр.

Сюда же — семейство квазиньютоновских методов (L-BFGS), которое строит приближение обратного гессиана по истории градиентов. В классическом ML на небольших задачах L-BFGS работает отлично — например, sklearn использует его по умолчанию для логистической регрессии, где задача выпуклая и параметров немного.

Неравенство Йенсена

И последнее, ради чего стоило вводить определение через хорду. Неравенство выпуклости для двух точек $\lambda f(x_1) + (1-\lambda)f(x_2) \geq f(\lambda x_1 + (1-\lambda)x_2)$ можно прочитать вероятностно: пусть случайная величина $X$ принимает значение $x_1$ с вероятностью $\lambda$ и $x_2$ с вероятностью $1-\lambda$. Тогда слева стоит $\mathbb{E}[f(X)]$, а справа $f(\mathbb{E}[X])$. Обобщение на любое число точек и на непрерывные распределения даёт

Неравенство Йенсена: для выпуклой (вниз) функции $f$ и случайной величины $X$

$$f\big(\mathbb{E}[X]\big) \;\leq\; \mathbb{E}\big[f(X)\big].$$

Для вогнутой знак противоположный.

Числовой пример: $X$ равна $1$ или $3$ с вероятностью по $0{,}5$. Для выпуклой $f(x) = x^2$: слева $f(2) = 4$, справа $\frac{1 + 9}{2} = 5$, и правда $4 \leq 5$. Для вогнутой $f(x) = \ln x$: слева $\ln 2 \approx 0{,}693$, справа $\frac{\ln 1 + \ln 3}{2} \approx 0{,}549$ — знак перевернулся, как и обещано.

Где это всплывает в ML:

  • Log-loss. Логарифм вогнут, поэтому $\log$ от среднего не меньше среднего от $\log$. Из-за этого усреднять вероятности и усреднять их логарифмы — разные вещи, и ансамбль, усредняющий предсказанные вероятности, всегда имеет log-loss не хуже среднего log-loss своих членов. Ансамбли работают в том числе поэтому.
  • ELBO в вариационном выводе. Правдоподобие $\log p(x) = \log \mathbb{E}_q\!\left[\frac{p(x,z)}{q(z)}\right]$ считать напрямую невозможно, но по Йенсену (для вогнутого логарифма) оно не меньше $\mathbb{E}_q\!\left[\log \frac{p(x,z)}{q(z)}\right]$. Эта нижняя оценка и называется ELBO — Evidence Lower Bound. Вариационные автоэнкодеры (VAE) максимизируют её вместо неподъёмного правдоподобия. Весь метод держится на одном неравенстве, которое ты только что вывел из картинки с хордой.

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

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


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

Порядок работы одинаковый почти везде: область определения → $f'$ → $f''$ → нули и точки разрыва $f''$ → знаки на промежутках → вывод. Считай сам, ответ открывай после.

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

Задание 1: Найди промежутки выпуклости и точку перегиба функции $f(x) = x^3 - 6x^2 + 5x$.


Задание 2: Найди промежутки выпуклости и все точки перегиба функции $f(x) = x^4 - 6x^2 + 8$.


Задание 3: Определи характер выпуклости функции $f(x) = 2x^2 - 8x + 3$ и выясни, есть ли у неё точки перегиба.


Задание 4: Определи характер выпуклости функции $f(x) = 5 - 3x - x^2$.


Задание 5: Докажи, что $x = 0$ не является точкой перегиба функции $f(x) = x^4$, хотя $f''(0) = 0$.


Задание 6: Найди точку перегиба функции $f(x) = x^3 + 3x^2 - 9x + 1$.


Задание 7: Найди все точки перегиба функции $f(x) = x^5 - 5x^4 + 2x$.


Задание 8: Найди промежутки выпуклости и точки перегиба функции $f(x) = x^4 - 4x^3 + 6$.


Задание 9: Функция $f(x) = x^3 - 3x$. Определи, какую форму имеет её график в точке $x = 2$ и в точке $x = -2$: чашу или купол.


Задание 10: С помощью второго достаточного признака найди точки экстремума функции $f(x) = x^3 - 3x^2 + 2$.


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

Задание 11: Найди промежутки выпуклости и точку перегиба функции $f(x) = xe^{x}$.


Задание 12: Найди точки перегиба функции $f(x) = x^2 e^{x}$.


Задание 13: Найди промежутки выпуклости и точки перегиба функции $f(x) = \ln(1+x^2)$.


Задание 14: Докажи, что функция $f(x) = x\ln x$ выпукла вниз на всей своей области определения, и объясни, почему у неё нет точек перегиба.


Задание 15: Исследуй на выпуклость функцию $f(x) = x^4 - 4x^3 + 6x^2 + 1$. Есть ли у неё точки перегиба?


Задание 16: Функция $f(x) = \dfrac{1}{x}$. Вторая производная меняет знак при переходе через $x = 0$. Является ли $x = 0$ точкой перегиба?


Задание 17: Найди все точки перегиба функции $f(x) = \dfrac{x}{x^2+4}$.


Задание 18: Покажи, что $x = 0$ — точка перегиба функции $f(x) = x^{5/3}$, хотя $f''(0)$ не существует.


Задание 19: С помощью второго признака найди экстремумы функции $f(x) = x + \dfrac{4}{x}$.


Задание 20: Найди точку перегиба сигмоиды $\sigma(z) = \dfrac{1}{1+e^{-z}}$ и определи, на каких промежутках она выпукла вниз, а на каких вверх.


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

Задание 21: При каком значении параметра $a$ точка $x = 1$ является точкой перегиба функции $f(x) = x^3 + ax^2 + 3x$?


Задание 22: При каких значениях параметра $a$ функция $f(x) = x^4 + ax^3 + 6x^2$ выпукла вниз на всей числовой прямой?


Задание 23: Проверь по определению через хорду выпуклость двух функций на конкретных числах: (а) $f(x) = x^2$ при $x_1 = 1$, $x_2 = 5$, $\lambda = 0{,}25$; (б) $g(x) = \sqrt{x}$ при $x_1 = 1$, $x_2 = 9$, $\lambda = 0{,}5$. Что каждая проверка говорит о направлении выпуклости? Переформулируй результат (а) как неравенство Йенсена.


Задание 24: Найди точки перегиба гауссовой кривой $f(x) = e^{-x^2}$ и объясни, чем они замечательны.


Задание 25: Покажи, что для функций $f(x) = x^4$, $g(x) = -x^4$ и $h(x) = x^3$ второй достаточный признак экстремума в точке $x=0$ не работает, и определи характер точки $x=0$ для каждой первым признаком.


Задание 26: Дана выборка $x = (1;\,2;\,3)$, $y = (2;\,4;\,7)$ и модель $\hat y = wx$ с одним параметром. Докажи, что MSE-лосс $L(w) = \sum_i (wx_i - y_i)^2$ выпукл по $w$, и найди точку минимума.


Задание 27: Докажи, что логистическая функция потерь $L(z) = \ln\left(1 + e^{-z}\right)$ выпукла по $z$, и посчитай её кривизну в точках $z = 0$ и $z = 3$.


Задание 28: Двухслойная линейная сеть $\hat y = w_2(w_1 x)$ обучается на единственном примере $x = 1$, $y = 1$ с лоссом $L = (\hat y - y)^2$. Исследуй лосс вдоль прямой $w_1 = w_2 = t$ и покажи, что по параметрам сети он невыпукл.


Задание 29: Градиентный спуск минимизирует $f(w) = 4w^2$, стартуя с $w_0 = 1$. Найди все допустимые значения шага $\eta$ и проследи 10 итераций для $\eta = 0{,}1$, $\eta = 0{,}25$ и $\eta = 0{,}3$.


Задание 30: Для функции потерь $L(w_1,w_2) = w_1^2 + 4w_2^2$ выпиши гессиан, определи по нему тип точки $(0;0)$, посчитай число обусловленности и максимальный шаг градиентного спуска. Затем повтори то же для $M(w_1,w_2) = w_1^2 - 4w_2^2$.


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

Ошибка 1: «нашёл $f''(x_0)=0$ — значит, перегиб»

Неправильно: для $f(x) = x^4$ написать «$f''(0) = 0$, следовательно $x=0$ — точка перегиба».

Правильно: $f''(x) = 12x^2 \geq 0$ по обе стороны от нуля, знак не меняется, перегиба нет. Функция выпукла вниз на всей прямой.

💡 Почему важно: равенство $f''(x_0)=0$ — необходимое условие, то есть фильтр кандидатов, а не приговор. Точно так же в уроке 141 $f'(x_0)=0$ не означало экстремума. Правило одно на оба случая: условие «производная равна нулю» отбирает подозреваемых, а решает смена знака. Практическая проверка занимает две подстановки, и пропускать её нельзя никогда.


Ошибка 2: путают знак $f'$ и знак $f''$

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

Правильно: $y = \ln x$ возрастает на всей области определения, но выпукла вверх ($f'' = -\frac{1}{x^2} < 0$). А $y = e^{-x}$ убывает и при этом выпукла вниз ($f'' = e^{-x} > 0$).

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


Ошибка 3: объединяют промежутки выпуклости через разрыв

Неправильно: для $f(x) = \frac1x$ написать «выпуклость меняется в точке $x=0$, значит $x=0$ — точка перегиба» или «функция выпукла вниз на $(-\infty;0)\cup(0;+\infty)$».

Правильно: нуль не входит в область определения, перегиба там нет. Функция выпукла вверх на $(-\infty;0)$ и выпукла вниз на $(0;+\infty)$ — это два отдельных промежутка, знак $\cup$ между ними ставить нельзя.

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


Ошибка 4: считают, что перегиб бывает только там, где $f''$ существует

Неправильно: «у $y = \sqrt[3]{x}$ вторая производная в нуле не существует, значит и перегиба нет».

Правильно: перегиб есть. $f'' = -\frac{2}{9\sqrt[3]{x^5}}$ меняет знак с плюса (слева) на минус (справа), функция непрерывна, касательная существует — она вертикальная. Все условия определения выполнены.

💡 Почему важно: необходимое условие звучит «$f''(x_0)=0$ или $f''(x_0)$ не существует», и вторую половину теряют регулярно. Пропуск таких точек — типичная причина неверного эскиза графика в задачах урока 144, где функции с корнями встречаются постоянно.


Ошибка 5: применяют второй признак экстремума, когда $f''(x_0)=0$

Неправильно: «$f'(0)=0$ и $f''(0)=0$, значит в нуле ни максимума, ни минимума».

Правильно: при $f''(x_0)=0$ признак не даёт никакой информации. У $x^4$ там минимум, у $-x^4$ максимум, у $x^3$ экстремума нет — и все три случая выглядят одинаково. Нужно возвращаться к смене знака $f'$.

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


Ошибка 6: путают терминологию «выпуклая вверх/вниз» и convex/concave

Неправильно: прочитав в документации the loss is convex, решить, что лосс имеет форму купола, потому что «convex» похоже на «выпуклый вверх».

Правильно: convex = выпуклая вниз = чаша = $f'' \geq 0$. concave = выпуклая вверх = купол.

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


Ошибка 7: считают, что выпуклость гарантирует существование минимума

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

Правильно: $y = e^x$ строго выпукла на всей прямой, но минимума не имеет: значения убывают к нулю, никогда его не достигая. Выпуклость гарантирует единственность и глобальность минимума, если он есть, но не его существование.

💡 Почему важно: ровно этот сюжет — причина расходимости логистической регрессии на линейно разделимых данных. Log-loss выпукл, но на разделимой выборке его инфимум равен нулю и не достигается: веса уезжают в бесконечность, обучение не сходится. Лечится добавлением регуляризатора $\lambda\|w\|^2$ — сумма выпуклых остаётся выпуклой, но теперь минимум существует и единственен.


Ошибка 8: ищут перегиб там, где экстремум, и наоборот

Неправильно: «нашёл, где кривая роста заказов перестаёт расти — это точка перегиба».

Правильно: место, где рост прекращается, — это экстремум ($f'=0$). Точка перегиба — там, где рост перестаёт ускоряться ($f''=0$), и она обычно наступает раньше. Для $f(x) = xe^{-x}$ максимум в $x=1$, а перегиб в $x=2$; для сигмоиды экстремумов нет вовсе, а перегиб есть.

💡 Почему важно: в прикладной аналитике это разница между «предупредить заранее» и «констатировать пост-фактум». Перегиб на кривой заражений весной 2020 года был первым сигналом, что меры работают, — задолго до того, как число случаев начало падать.


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

📝 Ключевые понятия

Выпуклость — про наклон, а не про функцию: $f''$ — производная от $f'$, поэтому её знак говорит, растёт или убывает наклон. Растёт наклон — чаша, падает — купол. Сама функция при этом может и расти, и убывать.

Признак: $f'' > 0$ на интервале ⟹ выпуклость вниз (чаша 🥣, convex); $f'' < 0$ ⟹ выпуклость вверх (купол ⛰️, concave). Обратное — с нестрогим знаком: выпуклая функция даёт $f'' \geq 0$.

Терминология: русское «выпуклая вниз» = «вогнутая» = английское convex = $f''\geq 0$. Русское «выпуклая вверх» = concave. В ML «выпуклая функция» без уточнения — почти всегда чаша, потому что лоссы минимизируют.

Определение через хорду: $f(\lambda x_1 + (1-\lambda)x_2) \leq \lambda f(x_1) + (1-\lambda)f(x_2)$ — «значение в среднем не больше среднего значения». Производная в нём не участвует, поэтому оно работает и для $|x|$, ReLU, hinge loss.

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

Необходимое условие: $f''(x_0)=0$ или $f''(x_0)$ не существует. Оно не достаточно: у $y=x^4$ в нуле $f''=0$, а перегиба нет. И оно не требует существования $f''$: у $y=\sqrt[3]{x}$ в нуле $f''$ нет, а перегиб есть.

Достаточное условие: смена знака $f''$ при переходе через точку. Алгоритм: $D(f)$ → $f''$ → нули и точки, где $f''$ не существует → плюс точки разрыва → таблица знаков → вывод.

Второй признак экстремума: если $f'(x_0)=0$, то $f''(x_0)>0$ даёт минимум, $f''(x_0)<0$ — максимум, $f''(x_0)=0$ — ответа нет, возвращаемся к смене знака $f'$. Удобен, когда $f''$ дешёвая и точек мало.

Выпуклость целиком = гарантия: у выпуклой функции всякий локальный минимум глобален, а у строго выпуклой он ещё и единственный. Выпуклая функция не имеет точек перегиба. Выпуклы: $x^2$, $e^x$, $-\ln x$, $x\ln x$, $|x|$, $x^4$. Не выпуклы: $x^3$, $\sin x$, сигмоида.

Операции: сумма выпуклых выпукла, максимум выпуклых выпукл, умножение на положительное число сохраняет выпуклость, на отрицательное — переворачивает. Поэтому лосс с L2-регуляризацией остаётся выпуклым.

Гессиан — многомерная $f''$: знак заменяется набором собственных чисел. Все положительны — минимум, все отрицательны — максимум, разных знаков — седло, есть нули — критерий не работает. В больших размерностях нулевой градиент чаще всего означает именно седло.

Кривизна ограничивает шаг: на квадратичной функции градиентный спуск сходится тогда и только тогда, когда $\eta < \dfrac{2}{f''}$ (в многомерном случае $\eta < 2/\lambda_{\max}$). Отсюда «слишком большой learning rate ломает обучение», овраги и число обусловленности $\varkappa = \lambda_{\max}/\lambda_{\min}$.

Метод Ньютона делает шаг $-\frac{f'}{f''}$ и на квадратичной попадает в минимум за одну итерацию, но требует $N^2$ памяти под гессиан. Adam и RMSProp — дешёвая диагональная оценка кривизны за $O(N)$; L-BFGS — приближение обратного гессиана по истории градиентов.

Неравенство Йенсена: для выпуклой $f$ верно $f(\mathbb{E}[X]) \leq \mathbb{E}[f(X)]$, для вогнутой знак обратный. Отсюда ELBO в вариационном выводе и свойства log-loss в ансамблях.


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

Что нужно было знать до этого урока:

  • Урок 80, квадратичная функция — «ветви вверх / ветви вниз» и есть выпуклость, сказанная школьным языком; теперь понятно, что за этим стоит знак $f'' = 2a$.
  • Урок 134, геометрический смысл производной — картинка с касательной, которая у чаши лежит под графиком, а у купола над ним, держится целиком на том, что $f'(x_0)$ — угловой коэффициент касательной.
  • Урок 135, физический смысл производной — вторая производная как ускорение. Знак ускорения и знак выпуклости графика координаты — одно и то же утверждение.
  • Урок 136, правила дифференцирования и высшие производные — оттуда взято само понятие $f'' = (f')'$ и техника повторного дифференцирования; здесь она впервые понадобилась по делу.
  • Урок 138, производные элементарных функций — без таблицы не посчитать $f''$ для $e^x$, $\ln x$, сигмоиды, а без цепного правила (урок 137) — для $e^{-x^2}$ и $\ln(1+x^2)$.
  • Уроки 139–141, знак производной и критические точки — весь алгоритм этого урока построен по образцу тамошнего, только на этаж выше: вместо $f'$ везде $f''$. И теорема о монотонности из урока 140, применённая к $f'$, — это и есть признак выпуклости.

Что изучить дальше:

  • Урок 144, построение графиков — прямое продолжение. Там обе производные работают вместе в единой схеме исследования: $f'$ даёт монотонность и экстремумы, $f''$ — выпуклость и перегибы, и только вместе они дают точный эскиз. Всё, что здесь разобрано, туда войдёт целым блоком.
  • Университетский блок — формула Тейлора (урок 189), где $f''$ отвечает за квадратичный член приближения; кривизна кривой и радиус кривизны; частные производные (210) и гессиан в явном виде; условия второго порядка в задачах на экстремум функции нескольких переменных (213–214).
  • ML-блок — методы оптимизации второго порядка, Adam и его родня, разбор ландшафта функции потерь, выпуклая оптимизация как отдельная дисциплина, вариационный вывод и VAE, где неравенство Йенсена работает в полную силу.

Где это нужно в жизни:

💻 В программировании: сглаживание кривых и сплайны (точки перегиба задают, где кривая «переливается»), кривые Безье в графических редакторах и шрифтах, easing-функции в анимации (ускорение и замедление движения — это ровно знак второй производной), детекция изломов в временных рядах.

🤖 В ML/AI: выпуклость как критерий «задача решаема надёжно», диагностика седловых точек, выбор и расписание learning rate через кривизну, методы второго порядка и их дешёвые аналоги, регуляризация как способ сделать задачу строго выпуклой, неравенство Йенсена в вариационном выводе и в анализе ансамблей.

📊 В Data Science: поиск точки перелома тренда (change point), анализ насыщения — момент, когда прирост метрики от вложений начинает падать; кривые отклика в маркетинге (закон убывающей отдачи — это про $f''<0$); точки перегиба логистической кривой при моделировании проникновения продукта.

🔬 В науке и инженерии: нормальное распределение и его точки перегиба на расстоянии $\sigma$ от среднего; эпидемические кривые и «сглаживание кривой»; профили дорог и железнодорожных путей, где переход из левого поворота в правый делают через переходную кривую именно потому, что резкая смена кривизны бьёт по конструкции; форма линз и зеркал.

💰 В финансах и экономике: выпуклость облигации (convexity) — вторая производная цены по доходности, стандартная метрика риска рядом с дюрацией; гамма опциона — вторая производная стоимости по цене базового актива; функции полезности, вогнутость которых и есть математическое выражение неприятия риска (по Йенсену: гарантированная сумма ценнее лотереи с тем же средним).


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

💡 «Сгладить кривую» — это про точку перегиба. Весной 2020 года лозунг flatten the curve обошёл весь мир, и математически он означал не «остановить рост», а «пройти точку перегиба раньше и с меньшим значением». Эпидемические кривые моделируют логистической функцией, у которой ровно один перегиб — момент максимальной скорости распространения. Все меры были направлены на то, чтобы сдвинуть эту точку влево и вниз; экстремум при этом наступал позже, а не раньше.

💡 Одно стандартное отклонение можно увидеть глазами. У колокола нормального распределения точки перегиба стоят ровно на расстоянии $\sigma$ от среднего — там, где кривая перестаёт заваливаться наружу и начинает выполаживаться в хвост. Это единственная характеристика распределения, которую видно на графике без всякой линейки: правило «68% данных внутри одного сигма» имеет буквальное геометрическое место.

💡 Выпуклость облигации — вторая производная, которой торгуют. На финансовых рынках convexity — стандартная величина в терминале трейдера: она показывает, насколько цена облигации отклоняется от линейного приближения при изменении ставки. Из-за положительной выпуклости облигация растёт при падении ставок сильнее, чем падает при их росте на ту же величину, — и за эту асимметрию инвесторы готовы платить. То же и с «гаммой» опциона: это буквально $f''$ стоимости по цене актива.

💡 Йенсен доказал своё неравенство, будучи инженером-телефонистом. Йохан Йенсен всю жизнь проработал в Копенгагенской телефонной компании, дослужившись до главного инженера, а математикой занимался вечерами и никогда не имел академической должности. В 1906 году он опубликовал работу о выпуклых функциях, где вывел неравенство, ставшее фундаментом теории вероятностей, теории информации и вариационного вывода. Формула, на которой стоят современные вариационные автоэнкодеры, была получена математиком-любителем на досуге.

💡 Дороги строят по кривой, которую придумали ради железных дорог. Между прямым участком и круговым поворотом на автотрассах и железнодорожных путях всегда вставляют переходную кривую — клотоиду, у которой кривизна нарастает линейно. Причина ровно в этом уроке: если состыковать прямую (кривизна ноль) сразу с дугой (кривизна постоянна), кривизна изменится скачком, и на пассажира резко подействует боковое ускорение. Клотоида делает вторую производную непрерывной — комфорт и безопасность оказались задачей о выпуклости.


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

1. Мнемоника знака: улыбка и грусть

$f'' > 0$ — график «улыбается» 😊 (чаша, минимум внизу). $f'' < 0$ — «грустит» ☹️ (купол, максимум наверху). Тот же значок работает и во втором признаке экстремума: плюс — улыбка — минимум.

Пример: для $f = x^3 - 3x^2 + 2$ в критической точке $x=0$ считаем $f''(0) = -6$ — «грустит» — максимум. Одна подстановка вместо таблицы знаков.


2. У кубического многочлена всегда ровно один перегиб — и он посередине между экстремумами

Если $f$ — многочлен третьей степени, то $f''$ линейна, а значит имеет ровно один корень с гарантированной сменой знака. Больше того, этот корень — среднее арифметическое корней $f'$, то есть перегиб стоит ровно посередине между максимумом и минимумом (если они есть). График кубической параболы центрально симметричен относительно этой точки.

Пример: у $f = 2x^3 - 3x^2 - 12x$ экстремумы в $x=-1$ и $x=2$, перегиб в $\frac{-1+2}{2} = 0{,}5$ — совпадает с корнем уравнения $12x - 6 = 0$. Проверять решение стало вдвое быстрее.


3. Множитель, который всегда положителен, можно выкинуть из анализа знака

В выражениях с $e^{u}$, $(x^2+1)^n$, знаменателями в чётной степени знак определяется только «содержательной» скобкой. Не раскрывай ничего — сразу отбрасывай положительный множитель.

Пример: $f'' = e^{-x}(x-2)$ — знак равен знаку $(x-2)$, и весь анализ занимает одну строку. То же с $f'' = \frac{2x(x^2-12)}{(x^2+4)^3}$: знаменатель выбрасываем, работаем с числителем.


4. Разложи $f''$ на множители и читай знаки по чётности кратности

Как и для $f'$ в уроке 141: при переходе через корень нечётной кратности знак меняется, через корень чётной кратности — нет. Это мгновенно отсекает ложные перегибы.

Пример: $f'' = 20x^2(x-3)$ — корень $x=0$ имеет кратность 2 (чётная, знак не меняется, перегиба нет), корень $x=3$ кратность 1 (перегиб есть). Ответ получен без единой контрольной точки.


5. Проверяй $f''$ численно центральной разностью второго порядка

Формула $f''(x_0)\approx\dfrac{f(x_0+h) - 2f(x_0) + f(x_0-h)}{h^2}$ при $h\approx 10^{-4}$ даёт три-четыре верных знака и ловит ошибку в дифференцировании за полминуты.

Пример: для $f = \frac{x}{x^2+4}$ формула $f'' = \frac{2x(x^2-12)}{(x^2+4)^3}$ в точке $x=1$ даёт $\frac{2(1-12)}{125} = -0{,}176$; численная проверка — тоже $-0{,}176$. Совпало — можно спокойно строить таблицу знаков.


6. Быстрая проверка выпуклости «на глаз»: сравни значение в середине с полусуммой

Не хочется дифференцировать — возьми две точки и проверь неравенство хорды для $\lambda = 0{,}5$: сравни $f\left(\frac{x_1+x_2}{2}\right)$ с $\frac{f(x_1)+f(x_2)}{2}$. Меньше — похоже на чашу, больше — на купол.

Пример: для $f = \sqrt{x}$ при $x_1=1$, $x_2=9$: $\sqrt5 \approx 2{,}24$ против $\frac{1+3}{2} = 2$. Середина выше хорды — купол. Один тест, конечно, не доказательство, но неверную гипотезу он убивает мгновенно.


7. Знаешь выпуклость $f$ — знаешь выпуклость $-f$, $f + C$ и $kf$

Прибавление константы и сдвиг по $x$ выпуклость не меняют вообще (вторая производная от константы — ноль). Умножение на $k>0$ сохраняет, на $k<0$ переворачивает. Это экономит половину вычислений в задачах с однотипными функциями.

Пример: $\ln x$ вогнута ⟹ $-\ln x$ выпукла ⟹ $-\ln x + 5$ тоже выпукла ⟹ $-3\ln x$ выпукла. Ни одной новой производной считать не пришлось.


8. В ML первым делом спроси: перемножаются ли параметры

Если в модели параметры входят линейно, а лосс выпукл по предсказанию (MSE, log-loss, hinge), задача выпукла. Стоит параметрам перемножиться (слои сети, факторизация матриц, произведение весов) — выпуклость почти наверняка исчезнет.

Пример: $L = (w_1w_2 - 1)^2$ вдоль $w_1=w_2=t$ даёт $L'' = 12t^2 - 4$, меняющую знак, — уже невыпукло. А $L = (w_1 + w_2 - 1)^2$ выпукла при любых весах: параметры складываются, а не перемножаются.


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

И держи в голове ту связку, ради которой писался урок: знак $f''$ — это форма, форма — это гарантии. Чаша означает единственный минимум и предсказуемую оптимизацию; смена знака означает перегиб, перелом тренда, ландшафт с седлами и никаких гарантий. Один символ $f''$ решает, в каком из двух миров ты работаешь.

Дальше — урок 144, построение графиков с помощью производной. Там всё, что мы разобрали в блоке 139–143, впервые соберётся в одну процедуру: область определения, чётность, асимптоты, монотонность и экстремумы по $f'$, выпуклость и перегибы по $f''$ — и на выходе точный эскиз графика, построенный не по точкам, а по свойствам. Переходи, финал блока получился красивым.

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

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

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