凸和非凸的理解

article/2025/9/11 18:09:42

目录

  • 一句话概括
  • 一、凸和非凸的区别
  • 二、凸函数和非凸函数
  • 三、凸优化和非凸优化
    • 凸优化:
    • 常见的凸优化方法:
    • 凸优化的一般求解过程
    • 非凸优化:

一句话概括

凸(Convex):在该区间函数图象上的任意两点所连成的线段上的每一个点都位于函数图象的下方(或上方)。

非凸(Non-Convex):函数在该区间上有多个极值,即系统有多个稳定的平衡态。

一、凸和非凸的区别

直观判断一个集合是否为Convex的方法,如下图:

Convex or Non-Convex
若集合中任意两点连线上的点都在集合内,则该集合为凸集。

具体的,若 χ \chi χ为凸集,集合中任意两点 x 1 , x 2 ∈ χ x_1, x_2\in\chi x1,x2χ,则有 t x 1 + ( 1 − t ) x 2 ∈ χ , t ∈ [ 0 , 1 ] tx_1+(1-t)x_2\in\chi,t\in[0,1] tx1+(1t)x2χ,t[0,1]

反之,若存在 t x 1 + ( 1 − t ) x 2 ∉ χ tx_1+(1-t)x_2\notin\chi tx1+(1t)x2/χ,则为非凸集合。

二、凸函数和非凸函数

凸函数就是一个定义在某个向量空间的凸子集 χ \chi χ(区间)上的实值函数。对于凸子集 χ \chi χ中任意两个向量 x 1 , x 2 x_1, x_2 x1,x2 f ( ( x 1 + x 2 ) / 2 ) ≤ ( f ( x 1 ) + f ( x 2 ) ) / 2 f((x_1+x_2)/2)\leq(f(x_1)+f(x_2))/2 f((x1+x2)/2)(f(x1)+f(x2))/2成立。常见的凸函数有:指数函数,非负对数函数,仿射函数,二次函数,常见的范数函数,凸函数非负加权的和等。

一个典型的凸函数 y = − x 2 y=-x^2 y=x2,任意两点连线上所有的点都在函数图像的下方,如下图:凸函数举例
非凸函数 y = s i n ( x ) y=sin(x) y=sin(x),两点连线上的点可能分布在函数图像的两侧,如下图:
在这里插入图片描述

三、凸优化和非凸优化

凸优化:

任何局部最优解即为全局最优解。通常使用一个局部优化算法,如贪婪算法(Greedy Algorithm)或梯度下降算法(Gradient Decent)来计算局部最优解。

实际问题中,判断是否凸优化问题可以参考以下几点:

  • 目标函数 f f f如果不是凸函数,则不是凸优化问题。
  • 决策变量 x x x中包含离散变量(0-1变量或整数变量),则不是凸优化问题。
  • 约束条件写成 g ( x ) ≤ 0 g(x)\le0 g(x)0时, g g g如果不是凸函数,则不是凸优化问题。

常见的凸优化方法:

1. 线性规划(LP, Linear Programming):
m i n c T x + d s . t . G ( x ) ⪯ h A ( x ) = b min \quad c^Tx+d \\ s.t. \quad G(x) \preceq h \\ A(x)=b mincTx+ds.t.G(x)hA(x)=b
其中目标函数和不等式约束都是仿射函数(最高次数为1的多项式函数),且 ⪯ \preceq 表示按元素小于等于。

2. 二次规划(QP, Quadratic Programing):
m i n 1 2 x T P x + c T x + d s . t . G ( x ) ⪯ h A ( x ) = b min \quad \frac{1}{2}x^TPx+c^Tx+d \\ s.t. \quad G(x) \preceq h \\ A(x)=b min21xTPx+cTx+ds.t.G(x)hA(x)=b
其中目标函数为凸二次型,不等式约束为仿射函数。

3. 二次约束的二次规划(QCCP, Quadratically Contrained Quaratic Programing):
m i n 1 2 x T P x + c T x + d s . t . 1 2 x T Q i x + r i x + s i ≤ 0 , i = 1 , 2 , . . . m A ( x ) = b min \quad \frac{1}{2}x^TPx+c^Tx+d \\ s.t. \quad \frac{1}{2}x^TQ_i x+r_i x+s_i \leq0,i=1,2,...m \\ A(x)=b min21xTPx+cTx+ds.t.21xTQix+rix+si0,i=1,2,...mA(x)=b
其中目标函数和不等式约束都是凸二次型。

4. 半正定规划(SDP, Semidefinite Programing):
m i n t r ( C X ) s . t . t r ( A i X ) = b i , i = 1 , 2 , . . . p X ⪰ 0 min \quad tr(CX) \\ s.t. \quad tr(A_i X)=b_i,i=1,2,...p \\ X \succeq0 mintr(CX)s.t.tr(AiX)=bi,i=1,2,...pX0
其中需要最优化的变量 X X X是一个对称的半正定矩阵,且 C , A 1 , . . . , A p C, A_1,...,A_p C,A1,...,Ap为对阵矩阵。

凸优化的一般求解过程

找到一个点列使得目标函数值持续减少,直到触发停止条件或达到一个最小值。

设为 x k x_k xk第k次迭代的值, d k d_k dk为第k次搜索方向, α k \alpha_k αk为第k次迭代的步长,则第k次迭代公式为:
x k + 1 = x k + α k d k x_{k+1}=x_k+\alpha_kd_k xk+1=xk+αkdk
其中第k次的搜索方向满足:
▽ f ( x k ) T d k < 0 f ( x k + 1 ) = f ( x k + α k d k ) < f ( x k ) \bigtriangledown f(x_k)^Td_k<0 \\ f(x_{k+1})=f(x_k+\alpha_kd_k)<f(x_k) f(xk)Tdk<0f(xk+1)=f(xk+αkdk)<f(xk)

非凸优化:

通常情况下较难求解,可行域集合可能存在无数个局部最优点,求解全局最优算法复杂度是指数级(NP hard)。

因为非凸优化的难度较高,可以考虑将非凸优化转化为凸优化问题解决:

  • 修改目标函数,使之转化为凸函数。
  • 抛弃一些约束条件,使新的可行域为凸集并且包含原可行域。

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

相关文章

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

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

最优化——凸集

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

凸集

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

凸集(Convex sets)

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

【深度学习】logistic回归模型

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

十分钟理解logistic回归原理

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

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

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

logistic回归分类与softmax回归

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

spss-logistic回归

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

logistic回归——PYTHON实现

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

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

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

Logistic回归--实例

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

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

SPSS&#xff08;八&#xff09;logistic回归 我们之前的线性回归也好、线性回归衍生方法也好、非线性回归也好&#xff0c;因变量的类型都是连续性的&#xff0c;假如因变量的类型是分类的呢&#xff1f;logistic回归针对的是二分类的因变量 logistic回归 基于线性回归模型…

2.2、logistic回归

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

Logistic Regression(逻辑回归)详细讲解

Logistic Regression(逻辑回归) 以前在学校学到Logistic Regression的时候&#xff0c;虽然最后会使用&#xff0c;但是对于许多地方有很多的疑惑&#xff0c;今天在这里详细梳理一下Logistic Regression的过程&#xff1a; Logistic Regression逻辑回归 回归的思想Logistic R…

第13章Stata Logistic回归分析

目录 13.1二元Logistic回归分析 案例延伸 延伸1&#xff1a;设定模型预测概率得具体值 延伸2&#xff1a;使用Probit模型对二分类因变量进行拟合 13.2多元Logistic回归分析 案例延伸 延伸&#xff1a;根据模型预测每个样本视力低下程度的可能性 13.3有序Logistic回归 …

机器学习笔记-Logistic回归

0 - 回顾 l i n e a r r e g r e s s i o n linear\ regression linear regression如果使用平方错误的话&#xff0c;我们可以很方便的解析出最好的 w w w是什么。即 w b e s t X † y w_{ best}X^{\dagger} y wbest​X†y 1 - 逻辑斯蒂回归问题 1.1 - 问题的提出 从一个人…

logistic回归详解

逻辑斯谛回归&#xff08;logistic regression&#xff09;是统计学习中的经典分类方法&#xff0c;虽然带有回归的字眼&#xff0c;但是该模型是一种分类算法&#xff0c;逻辑斯谛回归是一种线性分类器&#xff0c;针对的是线性可分问题。利用logistic回归进行分类的主要思想是…

机器学习笔记(六)Logistic回归

目录 一、什么是Logistics回归 二、sigmoid函数 三、梯度上升法 四、代码实现 数据导入 决策边界 梯度上升 五、总结 一、什么是Logistics回归 logistic回归是一种广义线性回归&#xff08;generalized linear model&#xff09;&#xff0c;因此与多重线性回归分析有很多相…

【机器学习】Logistic回归(重新整理)

Logistic回归学习笔记 Logistic回归学习线路预备知识&#xff1a;建议先去B站学习一下信息量&#xff0c;熵&#xff0c;BL散度&#xff0c;交叉熵的概念。Logistic回归的函数模型损失函数、损失最小化架构对数损失作为损失函数损失最小化架构 分类函数最大概率分类函数阈值分类…