凸函数相关

简介: 凸函数是凸集中元素的数学特征, 体现了凸集中元素所呈现的规律性.

1.3 凸函数

凸函数是凸集中元素的数学特征, 体现了凸集中元素所呈现的规律性. 它被定义为某个向量空间的凸子集 $C$ 上的实值函数 $f$. 若在其定义域 $C$ 上的任意两点 $x_1,x_2$, 及 $α in [0,1]$, 均有

$$ f(αx_1 +(1-α)x_2) \leq αf(x_1) + (1-α)f(x_2) $$

1.3.1 凸函数的判定

  1. 设 $f_1,f_2,\cdots, f_k$ 是凸集 $S$ 上的凸函数,令 $phi(x)= displaystylesum_{i=1}^k λ_if_i(x)$,其中 $∀ λ_i geq 0 $,则 $\psi(x)=\displaystyle\max_{1\leq i \leq k} f_i(x)$ 与 $\phi(x)$ 都是 $S$ 上的凸函数。
  2. 设在凸集 $D \subset \mathbb{R}^n $ 上 $f(x)$ 可微, 则 $f(x)$ 在 $D$ 上的为凸函数的充要条件是对于任意的 $x,y\in D $, 都有

$$ f(y) \geq f(x) + \nabla f(x)^T(y-x) $$

  1. 设在开凸集 $D \subset \mathbb{R}^n $ 上 $f(x)$ 二阶可微,则 $f(x)$ 在 $D$ 上的为凸函数的充要条件是对于任意的 $x\in D$,$f(x)$ 的 Hesse 矩阵半正定。

$$ G(x) = ∇^2 f(x) = \begin{bmatrix} \frac{∂^2f}{∂x_1^2} & \cdots & \frac{∂^2f}{∂x_1x_n}\\ \vdots & \ddots & \vdots\\ \frac{∂^2f}{∂x_nx_1} & \cdots & \frac{∂^2f}{∂x_n^2} \end{bmatrix} $$

1.3.2 常用的凸函数

  • 线性函数和仿射函数都是凸函数
  • 最大值函数
  • 幂函数: 当 $\alpha\in [0,1]$ 时, $x^{\alpha}$ 是一个凸函数; 绝对值幂函数也是凸函数。
  • 对数函数 $\log(x)$ 在 $\mathbb{R}_{++}$ 上是凸函数
  • $f(x) = \log(\displaystyle\sum_{i=1}^n \exp(x_i))$ 是 $\mathbb{R}^n$ 上的凸函数
  • 几何平均: $ f(x) = (displaystyle∏_{i=1}^n x_i)^{frac{1}{n}} $ 是定义在 $\mathbb{R}_{++}^n$ 上的凸函数
  • 范数

1.3.3 凸函数的性质

  • 任一局部极小 (大) 点也是全局极小 (大) 点,且全局极小 (大) 点的集合为凸集。
  • 任一局部最优解都是它的整体最优解。

在最优化理论中,局部最优解被称为满意解,全局最优解被称为最优解。大多数传统的最优化理论和算法都只能保证找到满意解,因而人们尽可能的使用凸函数作为优化问题的目标函数。对于那些无法转换为凸函数的优化问题,只有通过穷举法来计算函数的所有值 (如果可能) 来找到全局最优解。当然针对一些特定的问题可以通过,诸如模拟退火法、隐马尔科夫链算法等随机优化方法来寻找最优解。但这不是我们讨论的要点,我们主要列举一些我认为比较重要的凸函数的相关知识点。

目录
相关文章
|
SQL 关系型数据库 MySQL
mysql 组复制
mysql 组复制
|
缓存 监控 JavaScript
【Vue面试题二十六】、SSR解决了什么问题?有做过SSR吗?你是怎么做的?
这篇文章详细介绍了服务端渲染(SSR)的原理、解决了哪些问题、以及如何在Vue应用中实现SSR,包括项目配置、代码结构、路由配置、数据预取和服务器端的渲染流程。
【Vue面试题二十六】、SSR解决了什么问题?有做过SSR吗?你是怎么做的?
|
开发者
Flutter笔记:Widgets Easier组件库(12)使用消息吐丝(Notify Toasts)
Flutter笔记:Widgets Easier组件库(12)使用消息吐丝(Notify Toasts)
215 0
|
数据采集 机器学习/深度学习 数据挖掘
从混乱到有序,Python数据清洗术,让你的数据分析之路畅通无阻!
【7月更文挑战第20天】数据清洗在数据分析中至关重要,它确保数据质量,影响分析准确性和效率。Python的Pandas库是数据预处理的得力工具。基本步骤包括:导入数据(如`pd.read_csv()`)、检查概况(`head()`, `info()`, `describe()`)、处理缺失值(`fillna()`或`dropna()`)、转换数据类型(`pd.to_numeric()`)、去除重复项(`drop_duplicates()`)、排序和筛选数据,以及对分类变量编码(如使用`LabelEncoder`)。
272 3
|
数据可视化 Java 程序员
通过文字图像——代码图形注释自动生成
大家在学(CTRL)习(C)别人代码的时候,看到别人的代码程序,在日志中有很多很酷的代码注释,或者是有一些图形化注释方便理解。之前本人以为都是一个个手敲出来的。然后在网上一番搜索,找到了很多神奇的好网站,以用于图形注释生成。 代码图形注释自动生成技术是一种将代码逻辑和结构可视化的创新工具。它通过解析编程代码,并将代码的功能、结构和逻辑关系转换成直观的图形注释,从而使得程序员能够更加轻松地理解和分析代码。这种技术特别适合于复杂代码的解读,帮助开发人员快速定位代码中的关键部分和潜在问题。此外,对于团队合作和代码教育来说,图形注释可以作为沟通和学习的桥梁,让代码的理解变得更加直观和高效。总的来说,
377 0
|
XML Java 数据格式
Spring高手之路13——BeanFactoryPostProcessor与BeanDefinitionRegistryPostProcessor解析
在Spring框架中,BeanFactoryPostProcessor和BeanDefinitionRegistryPostProcessor是两个重要的后置处理器,它们在容器的启动过程中起到了至关重要的作用。本文深入探讨了这两者的定义、功能、执行时机以及如何在实际项目中使用它们。同时,通过对比分析,为读者揭示了它们与其他后置处理器之间的差异。无论你是初学者还是有一定经验的开发者,都能从中获得深入的理解和启示。
527 2
Spring高手之路13——BeanFactoryPostProcessor与BeanDefinitionRegistryPostProcessor解析
|
Kubernetes 应用服务中间件 nginx
k8s(7)Deployment(部署)与ReplicaSet(副本集)
Deployment(部署)与ReplicaSet(副本集)
255 0
|
分布式计算 运维 搜索推荐
基于阿里云Maxcompute搭建商业广告数据分析系统
互联网时代,信息流广告越来越多。而信息流广告的投放以大数据测算为依托,同样的数据,不同的解读方式,在进行投放指导时会产生不同的效果。
539 0
基于阿里云Maxcompute搭建商业广告数据分析系统
|
编解码 计算机视觉
【方便的Opencv】实现实时监测电脑屏幕与摄像头前的人
【方便的Opencv】实现实时监测电脑屏幕与摄像头前的人
1255 0
【方便的Opencv】实现实时监测电脑屏幕与摄像头前的人