Выпуклая функция — это тип функции, которая обладает важным свойством: её сегмент линии, соединяющий любые две точки графика этой функции, находится выше или на графике функции.
В математическом анализе и оптимизации, выпуклые функции играют ключевую роль благодаря своим уникальным свойствам и применениям в различных областях, включая экономику, инженерию, исследование операций и машинное обучение.
Функция \(f: \mathbb{R}^n \rightarrow \mathbb{R}\) называется выпуклой, если для любых двух точек \(x, y \in \mathbb{R}^n\) и любого \(\theta \in [0, 1]\) выполняется неравенство:
\[f(\theta x + (1-\theta)y) \leq \theta f(x) + (1-\theta)f(y)\]
Это определение говорит о том, что значение функции в точке на прямой, соединяющей \(x\) и \(y\), не превышает средневзвешенного значения функций в этих точках.
Выпуклые функции обладают рядом важных свойств:
- Локальный минимум выпуклой функции также является глобальным минимумом.
- Если функция выпукла, то её эпиграф (множество точек, лежащих выше графика функции) также выпукл.
- Сумма выпуклых функций также является выпуклой функцией.
Примерами выпуклых функций являются:
- \(f(x) = x^2\), квадратичная функция
- \(f(x) = e^x\), экспоненциальная функция
- \(f(x) = |x|\), модуль \(x\)
Рассмотрим пример, демонстрирующий проверку, является ли функция \(f(x) = x^2\) выпуклой на интервале. Мы воспользуемся определением выпуклости функции, проверяя неравенство для различных значений \(x\), \(y\) и \(\theta\).
def f(x):
return x**2
def is_convex(f, x, y, theta):
return f(theta*x + (1-theta)*y) <= theta*f(x) + (1-theta)*f(y)
# Проверка на интервале от -10 до 10 с шагом 1 и theta = 0.5
x_values = range(-10, 11)
y_values = range(-10, 11)
theta = 0.5
convex = True
for x in x_values:
for y in y_values:
if not is_convex(f, x, y, theta):
convex = False
break
if convex:
print("Функция выпукла")
else:
print("Функция не выпукла")
Этот код проверяет выпуклость функции \(f(x) = x^2\) на заданном интервале, используя средневзвешенное значение для различных \(x\) и \(y\) с фиксированным \(\theta = 0.5\). В данном случае, вывод будет подтверждать, что \(f(x) = x^2\) является выпуклой функцией, что соответствует теоретическим свойствам квадратичной функции.
Ноутбук, не требующий дополнительной настройки на момент написания статьи, можно скачать здесь.
© Лена Капаца. Все права защищены.