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

Выпуклые функции: основа машинного обучения

Выпуклые функции: основа машинного обучения

🎯 Зачем это нужно?

Представь, что ты тренируешь нейросеть для распознавания котиков в TikTok 🐱. Алгоритм ищет минимум функции ошибок - место, где модель работает лучше всего.

Если функция выпуклая, то у неё есть единственная самая низкая точка - как дно чаши. Градиентный спуск гарантированно её найдёт! А если функция не выпуклая (как горный рельеф), алгоритм может “застрять” в локальной ямке, не добравшись до настоящего минимума.

Почему это критично: 📈 Netflix: их рекомендательная система использует выпуклую оптимизацию для матричной факторизации 🚗 Tesla: автопилот оптимизирует выпуклые функции для планирования траектории
🎯 Google: PageRank решает выпуклую задачу поиска собственного вектора

📚 История вопроса

В 1906 году датский математик Йенсен формализовал понятие выпуклости, но настоящую славу выпуклые функции обрели в эпоху машинного обучения!

Дело в том, что обучение нейросети - это поиск минимума функции потерь по миллионам параметров. Если функция выпуклая, то любой локальный минимум = глобальный минимум. Это революция в оптимизации! 🚀

💡 Интуиция

Выпуклая функция = “чашка” или “улыбка” 😊

Возьми любые две точки на графике выпуклой функции и соедини их прямой линией. Эта линия всегда будет выше графика функции (или касаться его).

[МЕДИА: image_01] Описание: График выпуклой функции в виде параболы с двумя точками, соединёнными прямой линией, которая лежит выше графика Промпт: “educational illustration of convex function as upward parabola, two points connected by straight line above the curve, clear mathematical visualization, modern clean style, blue and orange colors”

Простая аналогия: Если ты катишь мячик по выпуклой поверхности, он всегда скатится в самую низкую точку. В невыпуклой поверхности мячик может застрять в “ложной” ямке!

📐 Формальное определение

Функция f(x) называется выпуклой на интервале, если для любых x₁, x₂ из этого интервала и любого λ ∈ [0,1] выполняется:

f(λx₁ + (1-λ)x₂) ≤ λf(x₁) + (1-λ)f(x₂)

Переводим на человеческий: значение функции в любой точке отрезка не превышает значения на прямой, соединяющей концы.

Практические критерии выпуклости:

🔸 Для дважды дифференцируемых функций: f’’(x) ≥ 0 на всём интервале 🔸 Геометрически: график “улыбается” вверх 🔸 Алгебраически: вторая производная неотрицательна

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

Пример 1: Квадратичная функция f(x) = x²

Проверим выпуклость:

  • f’’(x) = 2 > 0 ✅
  • График - парабола, “смотрящая” вверх ✅

В машинном обучении: Функция потерь линейной регрессии L(w) = ||Xw - y||₂² - выпуклая квадратичная форма.

[МЕДИА: image_02] Описание: Пошаговое доказательство выпуклости для f(x) = x², включая график второй производной Промпт: “step-by-step mathematical proof showing convexity of quadratic function, graph of f(x)=x^2, graph of second derivative f’’(x)=2, clear annotations”

Пример 2: Экспонента f(x) = eˣ

Проверим:

  • f’’(x) = eˣ > 0 для всех x ✅
  • Всегда “выгибается” вверх ✅

Применение: Логистическая регрессия использует log-likelihood функцию, основанную на экспоненте.

Пример 3: Логарифм f(x) = ln(x) при x > 0

Проверим:

  • f’’(x) = -1/x² < 0 для x > 0 ❌
  • График “выгибается” вниз ❌

Вогнутая функция! Но -ln(x) будет выпуклой (часто используется в оптимизации).

🎮 Практика

Базовый уровень 🟢

Задание 1: Определи, выпуклые ли функции: a) f(x) = 3x²
b) f(x) = x³
c) f(x) = |x|
d) f(x) = sin(x)

Задание 2: Найди вторую производную и определи выпуклость f(x) = x⁴ - 2x²

Задание 3: Объясни, почему функция f(x) = x² + 3x + 5 выпуклая

Задание 4: Докажи выпуклость f(x) = e^(2x) используя определение через неравенство Йенсена

Продвинутый уровень 🟡

Задание 5: В нейросети с функцией потерь L(w) = ½||Xw - y||₂² объясни, почему градиентный спуск найдёт глобальный минимум

Задание 6: Функция f(x) = ax² + bx + c выпукла при каких условиях на коэффициенты?

Задание 7: Докажи, что если f и g выпуклые функции, то f + g тоже выпукла

Задание 8: Найди минимум выпуклой функции f(x) = x² - 4x + 7 аналитически и объясни единственность решения

Челлендж 🔴

Задание 9: Функция потерь в логистической регрессии: L(w) = Σᵢ ln(1 + e^(-yᵢwᵀxᵢ)). Докажи её выпуклость

Задание 10: Adam optimizer сходится к глобальному минимуму только для выпуклых функций. Что происходит с невыпуклыми функциями потерь в deep learning?

Задание 11: Создай пример кусочно-линейной выпуклой функции и объясни, почему субградиентный метод работает даже при отсутствии производной

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

Ошибка: “Если f’’(x) > 0 в точке x₀, то функция выпукла”
Правильно: f’’(x) ≥ 0 должно выполняться на всём интервале
💡 Почему: Выпуклость - глобальное свойство функции, а не локальное

Ошибка: “Выпуклая функция всегда имеет минимум”
Правильно: Выпуклая функция может не иметь минимума (например, f(x) = x)
💡 Почему: Нужна ещё и ограниченность снизу + замкнутость области

Ошибка: “В machine learning все функции потерь выпуклые”
Правильно: Нейросети с нелинейными активациями имеют невыпуклые функции потерь
💡 Почему: Произведение весов создаёт невыпуклость, поэтому и нужны продвинутые методы оптимизации

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

Суть: Выпуклая функция = “чашка”, любой локальный минимум = глобальный ✅ Ключевой критерий: f’’(x) ≥ 0 на интервале
Применение: Основа для гарантированной сходимости алгоритмов оптимизации

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

Откуда пришли: Производные и исследование функций → Критерий через вторую производную
Куда идём: Градиентный спуск → Adam optimizer → Оптимизация нейросетей → Выпуклая оптимизация в computer vision

Мост к практике: Следующий урок - “Градиентный спуск для выпуклых функций”, где увидишь, как теория превращается в алгоритмы!

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

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

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