【机器学习】凸集、凸函数、凸优化、凸优化问题、非凸优化问题概念详解

article/2025/9/12 2:36:43

目录

  • 1 基本概念
  • 2 凸优化问题
  • 3 非凸优化问题
  • 4 总结

1 基本概念

(1)凸集和非凸集
凸集是一个点集, 这个点集有一个性质, 就是在这个集合中任取不同的两个点x和y, 他们之间的线段(包括端点)上的点都属于这个点集,那么就说这个点集是一个凸集。比如下图中左边的图形是凸集,而右边就是非凸集,因为可以找到两个点,使它们之间的线段上的点不在集合中
在这里插入图片描述

(3)凸函数(Convex function)和非凸函数(Convave function)
通常把函数分为凸函数和非凸函数。凸函数的几何意义在于,定义域中任意两点连线组成的线段都在这两点的函数曲线(面)上方。如图所示。凸函数是有且只有全局最优解的,而非凸函数可能有多个局部最优解。
在这里插入图片描述

判定方法:

  • 对于一元函数f(x),首先必须定义域是凸集,其次通过其二阶导数f′′(x) 的符号来判断。如果函数的二阶导数总是非负,即f′′(x)≥0 ,则f(x)是凸函数。
  • 对于多元函数f(X),首先必须定义域是凸集,其次通过其Hessian矩阵(Hessian矩阵是由多元函数的二阶导数组成的方阵)的正定性来判断。如果Hessian矩阵是半正定矩阵,则是f(X)凸函数。

(4)凸优化和非凸优化
在最小化(最大化)的优化要求下,目标函数是凸函数且约束条件所形成的可行域集合是一个凸集的优化方法,因此凸优化的判定条件有两个

  • 函数定义域是凸集
  • 目标函数是凸函数

(4)水平子集(sublevel sets)
由凸函数的概念出发,我们可以引出水平子集(sublevel set)的概念。假定f(x)是一个凸函数, 给定一个实数α∈R,我们把集合
{ x ( f ) ∣ f ( x ) ≤ α } \{ x(f)| f(x) \leq \alpha \} {x(f)f(x)α}
叫做α−水平子集。 也就是说α水平子集是所有满足f(x)≤α的点构成的集合。利用凸函数性质,我们可以证明水平子集也是凸集:
f ( θ x + ( 1 − θ y ) ) ≤ θ f ( x ) + ( 1 − θ ) f ( y ) ≤ θ α + ( 1 − θ ) α f(\theta x +(1-\theta y)) \leq \theta f(x)+(1-\theta)f(y) \leq \theta \alpha +(1-\theta)\alpha f(θx+(1θy))θf(x)+(1θ)f(y)θα+(1θ)α
水平子集告诉我们,给凸函数添加一个上限,定义域内剩下的点构成的点集还是一个凸集。
(5)仿射函数(affine functions)
数学上,我们把形如
h ( x ) = A x + b h(x)=Ax+b h(x)=Ax+b
的函数叫做仿射函数。其中,A是一个m*n的矩阵,x是一个k向量,b是一个m向量。直观上理解,仿射函数将一个n维空间的向量通过线性变换A映射到m维空间,并在其基础上加上向量b,进行了平移。实际上反映了一种从 k维到m维的空间映射关系。

2 凸优化问题

(1)定义
数学上表示为
m i n f ( x ) s . t x ∈ C min \space f(x)\\ s.t\space x∈C min f(x)s.t xC
其中f是凸函数,C是凸集。以下是用仿射函数的表示法
m i n f ( x ) s . t g i ( x ) ≤ 0 , i = 1 , . . . , m h i ( x ) = 0 , i = 1 , . . , p min \space f(x)\\ s.t\space g_i(x) ≤0,i = 1,...,m\\ h_i(x) = 0,i = 1,..,p min f(x)s.t gi(x)0,i=1,...,mhi(x)=0,i=1,..,p
其中g(x)是凸函数,h(x)是仿射函数。原约束集C表示为了一系列凸集的交集。
(2)简介
优化方法是几乎所有机器学习模型中最重要的核心部分,凸优化是优化方法论中的特例,是一个非常大的领域。
例如针对逻辑回归、线性回归这样的凸函数,使用梯度下降或者牛顿法可以求出参数的全局最优解,针对神经网络这样的非凸函数,我们可能会找到许多局部最优解。
(3)经典凸优化问题

  • Least squares(最小二乘法,常用,目标:线性关系;限制条件:线性关系)
  • Convex quadratic minimization with linear constraints(线性约束条件下的二次规划问题,常用,目标:平方关系;限制条件:线性关系)
  • Linear programming(线性规划)
  • Quadratic minimization with convex quadratic constraints(具有凸二次约束的二次最小化)
  • Conic optimization(圆锥优化)
  • Geometric programming(几何规划)
  • Second order cone programming(二阶锥规划)
  • Semidefinite programming(半定规划)
  • Entropy maximization with appropriate constraints(具有适当约束的熵最大化)

3 非凸优化问题

(1)简介
在实际解决问题过程中,都希望我们建立的目标函数是凸函数,这样我们不必担心局部最优解问题,但实际上,我们遇到的问题大多数情况下建立的目标函数都是非凸函数,因此我们需要根据场景选择不同的优化方法。
我们在寻找优化方法论时,一定要选择更合理的方法论。很多非凸优化问题可以转化(并非是等价的)为凸优化问题,并给出问题的近似解。
当非凸优化应用到机器学习中时,目标函数可以允许算法设计者编码适当和期望的行为到机器学习模型中,例如非凸优化中的目标函数可以表示为衡量拟合训练数据好坏的损失函数。正如 Goodfellow 所说,一般的非凸优化和深度学习中的非凸优化,最大的区别就是深度学习不能直接最小化性能度量,而只能最小化损失函数以近似度量模型的性能。而对目标函数的约束条件是允许约束模型编码行为或知识的能力,例如约束模型的大小。
(2)传统解决方法
面对非凸问题及其与 NP-hard 之间的关系,传统的解决方案是修改问题的形式化或定义以使用现有工具解决问题,即凸松弛(Relaxation),对问题限制条件的松弛,将原问题等价为凸优化问题。但是我们求出来的最优解与原问题的最优解可能是相等,也可能有一定的误差的,所以通过relaxation,我们需要证明relaxation得出的最优解和原问题的最优解的误差范围。
由于该方法允许使用类似的算法技术,所谓的凸松弛方法得到了广泛研究。例如,推荐系统和稀疏回归问题都应用了凸松弛方法。对于稀疏线性回归,凸松弛方法带来了流行的 LASSO 回归。
(3)非凸优化方法
机器学习和信号处理领域出现了一种新方法,不对非凸问题进行松弛处理而是直接解决。引起目标是直接优化非凸公式,该方法通常被称为非凸优化方法。非凸优化方法常用的技术包括简单高效的基元(primitives),如投影梯度下降、交替最小化、期望最大化算法、随机优化及其变体。这些方法在实践中速度很快,且仍然是从业者最喜欢用的方法。
如果该问题具备较好的结构,那么不仅可以使用松弛方法,还可以使用非凸优化算法。在这类案例中,非凸方法不仅能避免 NP-hard,还可以提供可证明的最优解。事实上,在实践中它们往往显著优于基于松弛的方法,不管是速度还是可扩展性

4 总结

当我们拿到一个业务问题,一定需要按照算法思维去做,先将问题转换为一个严谨的数学问题,判断我们写出的目标函数的凹凸性,如果目标函数非凸,我们需要对问题的限制条件做一些转化,进而求出转化后问题的近似解,并证明其与原问题的误差范围。如果是凸函数,我们需要选择相应的优化方法论进行优化,因为优化问题是机器学习算法中的核心部分。


http://chatgpt.dhexx.cn/article/OqvLs8Mc.shtml

相关文章

凸优化学习(一)凸集与凸函数、凸优化问题

4.1 凸集 convex sets 仿射集(Affine Sets):如果一个集合 C ∈ R n C\in\mathbb{R}^n C∈Rn 是仿射的,则在C中两点的直线也在C中,若 x 1 ∈ C , x 2 ∈ C , 则 x θ x 1 ( 1 − θ ) x 2 ∈ C , θ ∈ R x_1\in C,x…

【凸优化笔记二】凸函数基本性质和例子

【凸优化笔记二】凸函数基本性质和例子 凸函数的四个定义定义一定义二定义三定义四 一些栗子 凸函数的四个定义 定义一 其中 dom f f f 是函数 f f f 的 定义域(前域),为凸集——这个很重要,后面的一些定义中也会用到&#xff…

凸函数

凸函数有一个很好的性质,即只要能证明我们求解的问题是凸函数,最终得到的解一定是全局最优解 首先得注意一下: 中国大陆数学界某些机构关于函数凹凸性定义和国外的定义是相反的。Convex Function在中国大陆某些的数学书中,比如说…

最优化理论基础与方法学习笔记——凸集与凸函数以及手写定理证明

文章目录 凸集的定义凸集的几何意义有关凸集的定理 定理1.4.2内点、边界点和闭包的定义定义1.4.3 超平面的定义定理1.4.3 投影定理定理1.4.4 点与凸集的分离定理定理1.4.5 支撑超平面定理定义1.4.4 凸函数的定义定义1.4.5 水平集定理1.4.6 凸函数的水平集还是凸集定理1.4.7 函数…

凸优化 - 2 - 凸集和凸函数

本总结是是个人为防止遗忘而作,不得转载和商用。 前提说明:为了方便查阅,我将整个凸优化的内容分成了很多部分,因为后面的部分用到了前面的知识,所以,如果你的目的是查看后面的内容但对前面的某个知识点不甚…

凸和非凸的理解

目录 一句话概括一、凸和非凸的区别二、凸函数和非凸函数三、凸优化和非凸优化凸优化:常见的凸优化方法:凸优化的一般求解过程非凸优化: 一句话概括 凸(Convex):在该区间函数图象上的任意两点所连成的线段…

凸集与非凸集,凸函数与凹函数,凸优化

关于凸集与非凸集,凸函数与凹函数,凸优化的概念一直混淆,在此整理下相关定义和概念,希望给有需要的人。 凸集:集合中的任意两点连线的点都在该集合中,则称该集合为凸集;凹集为非凸集。 函数的…

最优化——凸集

引言 这是中科大最优化理论的笔记,中科大凌青老师的凸优化课程,详尽易懂,基础扎实。不论是初学者还是从业多年的人,都值得系统地好好学一遍。 本文介绍什么是凸集、凸包与凸锥包。 仿射集 我们先来看最简单的凸集——仿射集(A…

凸集

本文参考自清华大学研究生公共课教材——数学系列《最优化理论与算法》(第二版) 一:凸集 定义:设S为n维欧式空间中中的一个集合,若对S中任意两点,联结它们的线段仍属于S,称这样的集合S是一个凸…

凸集(Convex sets)

凸集(Convex sets) 1.仿射集和凸集 仿射集(Affine set): 定义:如果通过C中任意两个不同点的线位于C中,则集合C⊆Rn就是仿射 其中, 凸集(Convex set): 定义:如果C中的任意两点之间的…

【深度学习】logistic回归模型

目录 神经网络 数据、符号准备: logistic回归: 损失函数和代价函数: 梯度下降法: 向量化: 神经网络 我们学习深度学习的目的就是用于去训练神经网络,而神经网络是什么呢?我们先来看下面一…

十分钟理解logistic回归原理

关于逻辑回归的分类算法,很多书籍都有介绍,比较来看,还是**李航老师的书《统计学习方法》**里介绍的更清楚,若大家有时间,请不要偷懒,还是建议从头开始看李航老师的书,这本书简洁明了&#xff0…

python数据挖掘学习笔记——logistic逻辑回归实现

Logistic逻辑回归分析 logistic模型的基本介绍python中实现logistic回归模型的评价混淆矩阵ROC曲线,AUC值 Logistic模型是经典的用于分类问题的模型,通常用于判断一件事物的好坏或将其分类。本文着重介绍logistic模型的在二分类上的应用,对于…

logistic回归分类与softmax回归

目录 Logistic回归 逻辑回归的定义式: 损失函数 梯度下降 Logistic回归防止过拟合: Softmax回归: loss函数 逻辑回归与Softmax回归的联系 与神经网络的关系 logistic回归(多分类)和softmax的关系&#xff1a…

spss-logistic回归

logistic回归的因变量可以是二分类的,也可以是多分类的,但是二分类的更为常用,也更加容易解释,多类可以使用softmax方法进行处理。 Logistic回归分析也用于研究影响关系,即X对于Y的影响情况。Y为定类数据,…

logistic回归——PYTHON实现

logistic回归——PYTHON实现 概述: ​ logistic回归又称logistic回归分析,是一种线性回归模型。logistic回归应用最广泛的是处理二分类问题。比如,探讨引发疾病的危险因素,判断该病人是否患有该病;探讨房价的涨跌&am…

二项logistic回归案例分析(附操作数据)

当因变量数据类型为分类变量时,线性回归不再适用,应当做logistic回归。根据因变量分类水平的不同,具体包括二项logistic回归、多项logistic回归和有序logistic回归。 1.案例背景与分析策略 1.1 案例背景介绍 现收集到银行贷款客户的个人、…

Logistic回归--实例

逻辑回归 Logistic回归一种二分类算法,它利用的是Sigmoid函数阈值在[0,1]这个特性。Logistic回归进行分类的主要思想是:根据现有数据对分类边界线建立回归公式,以此进行分类。其实,Logistic本质上是一个基于条件概率的判别模型(D…

SPSS(八)logistic回归(图文+数据集)

SPSS(八)logistic回归 我们之前的线性回归也好、线性回归衍生方法也好、非线性回归也好,因变量的类型都是连续性的,假如因变量的类型是分类的呢?logistic回归针对的是二分类的因变量 logistic回归 基于线性回归模型…

2.2、logistic回归

一、什么是logistics回归 首先我们先要了解回归的概念,现有一些数据点,我们用 一条直线对这些点进行拟合,该线称为最佳拟合直线,这个拟合过程就称作回归。logistic回归虽然说是回归,但确是为了解决分类问题&#xff0…