系列文章目录
凸优化理论学习一|最优化及凸集的基本概念
凸优化理论学习二|凸函数及其相关概念
凸优化理论学习三|凸优化问题(一)
凸优化理论学习四|凸优化问题(二)
凸优化理论学习五|对偶性
凸优化理论学习六|近似和拟合
凸优化理论学习七|统计估计
文章目录
一、极值椭球体
(一)最小体积椭球包络问题
寻找一组点集的最小体积椭球是计算几何和优化领域中一个常见的数学问题,通常被称为最小体积椭球包络问题,可以通过凸优化来解决。
假设我们有一个有限点集 C = x 1 , x 2 , … , x m C = {x_1, x_2, \ldots, x_m} C=x1,x2,…,xm,我们的目标是找到一个最小体积的椭球,使得这个点集 C C C包含在这个椭球内部(即Löwner-John椭球)。
- 这个椭球参数化为 E = { v ∣ ∥ A v + b ∥ 2 ≤ 1 } E = \{v \mid \lVert Av + b \rVert_2 \leq 1\} E={v∣∥Av+b∥2≤1}
- A A A是一个对称正定矩阵, b b b是一个向量
为了解决这个问题,我们可以将其转化为一个凸优化问题:
- 目标函数:最小化 F ( A , b ) = log det A − 1 F(A, b) = \log \det A^{-1} F(A,b)=logdetA−1
- 约束条件: ∥ A v + b ∥ 2 ≤ 1 , i = 1 , . . . , m \lVert Av + b \rVert_2 \leq 1,\ i=1,...,m ∥Av+b∥2≤1, i=1,...,m
(二)内接椭球最大体积问题
内接椭球最大体积问题是一个经典的几何优化问题,通常被称为"最大体积内接椭球问题"。给定一个凸体 C C C(如多面体或凸集),我们的目标是找到包含在该凸体内部的最大体积椭球。
- 这个椭球参数化为 E = { B u + d ∣ ∥ u ∥ 2 ≤ 1 } E = \{Bu+d|\ \Vert u\Vert_2\leq 1\} E={Bu+d∣ ∥u∥2≤1}
- B B B是一个对称正定矩阵, d d d 是一个向量。
- 椭球的体积与 B B B 的行列式成正比。
为了解决这个问题,我们可以将其转化为一个凸优化问题:
- 目标函数:最大化 log det B \log \det B logdetB
- 约束条件: ∥ B a i ∥ 2 + a i T d ≤ b i , i = 1 , . . . , m \lVert Ba_i \rVert_2 +a_i^Td\leq b_i,\ i=1,...,m ∥Bai∥2+aiTd≤bi, i=1,...,m
如果 C C C 是一个多面体,可以通过一系列线性不等式来描述,比如 a i T x ≤ b i {a_i^T x \leq b_i} aiTx≤bi,那么约束条件可以被表示为 ∥ B a i ∥ 2 + a i T d ≤ b i \lVert B a_i \rVert_2 + a_i^T d \leq b_i ∥Bai∥2+aiTd≤bi,其中 a i a_i ai 和 b i b_i bi 是多面体描述中的常数向量。这个约束条件来自于对所有顶点 x x x 满足 a i T x ≤ b i a_i^T x \leq b_i aiTx≤bi 的条件取最大值,等效于 sup ∥ u ∥ 2 ≤ 1 a i T ( B u + d ) = ∥ B a i ∥ 2 + a i T d \sup_{\lVert u \rVert_2 \leq 1} a_i^T (Bu + d) = \lVert B a_i \rVert_2 + a_i^T d sup∥u∥2≤1aiT(Bu+d)=∥Bai∥2+aiTd。
(三)椭球近似的效率
椭圆形近似方法在处理具有非空内部的凸有界集合时提供了精确性和计算效率之间的平衡。两种常用的椭圆形近似是 Löwner-John 椭圆和最大体积内切椭圆。
- Löwner-John 椭圆:这个椭圆代表着包含凸集 C C C 的最小体积椭圆。通过将这个椭圆以其中心为中心收缩一个因子 n n n,确保了缩小后的椭圆仍完全位于 C C C 内部。这保证了紧密拟合同时最小化体积。
- 最大体积内切椭圆:这个椭圆代表着完全位于 C C C 内部的最大体积椭圆。通过将这个椭圆以其中心为中心扩展一个因子 n n n,确保了扩展后的椭圆完全覆盖了 C C C。这保证了对集合的全面覆盖。
如果集合
C
C
C是对称的,那么可以将因子
n
n
n改进为
√
n
√n
√n。这是因为对称性使得椭圆的边界更对称,因此在适当的方向上扩展或收缩椭圆时,相对于非对称情况,我们可以更有效地利用空间。这种改进可以提高椭圆近似的效率,并且在保持准确性的同时减少了计算成本。
扩张或收缩因子的作用是指导我们如何理解椭圆近似的适用性。较小的扩张因子或较大的收缩因子通常意味着更好的近似,因为它们表示内部椭圆和外部椭圆之间更接近的大小关系。
二、中心
(一)凸集的中心概念
"中心"的概念在处理凸集合 C C C时有许多可能的定义。其中两种常见的定义是:
- 切比雪夫中心
- 最大内切球的中心
- 对于多面体而言,可以通过线性规划来找到切比雪夫中心
- 最大体积内切椭球体的中心
- 这个中心具有一个重要的特性,即它在仿射坐标变换下保持不变
(二)一组不等式的解析中心
凸不等式 f i ( x ) ≤ 0 , i = 1 , . . . , m f_i(x) \leq 0,\ i=1,...,m fi(x)≤0, i=1,...,m 和 线性方程组 F x = g Fx = g Fx=g的解析中心被定义为以下问题的解:
- 目标函数:最小化 − ∑ i = 1 m log ( − f i ( x ) ) - \sum_{i=1}^{m} \log(-f_i(x)) −∑i=1mlog(−fi(x))
- 约束条件: F x = g Fx = g Fx=g
这个目标函数被称为不等式的对数障碍函数。它的作用是通过惩罚违反不等式约束来寻找在约束集内部的点,其中对于任何违反不等式约束的点,其目标函数值会趋于无穷大,因此最小化该目标函数将导致寻找在不等式约束下尽可能远离违规区域的点。
与最大体积内接椭圆(MVE)或切比雪夫中心相比,解析中心通常更容易计算。这是因为解析中心的计算通常涉及求解非线性优化问题,而对于凸问题,这样的问题通常具有良好的解。另外,需要注意的是,两组不等式可能描述相同的集合,但其解析中心可能是不同的,这取决于不等式约束的具体形式和约束集合的几何性质。
(三)线性不等式的解析中心
线性不等式的解析中心可以通过求解以下优化问题得到:
- 目标函数:最小化 − ∑ i = 1 m log ( b i − a i T x ) - \sum_{i=1}^{m} \log(b_i-a_i^Tx) −∑i=1mlog(bi−aiTx)
- 约束条件: a i T x ≤ b i , i = 1 , 2 , . . . , m a_i^Tx\leq b_i,i=1,2,...,m aiTx≤bi,i=1,2,...,m
解析中心
x
a
c
x_{ac}
xac是满足上述优化问题的解。在图形上,解析中心通常位于对数障碍函数
Φ
(
x
)
Φ(x)
Φ(x) 的等高线的交汇处,这些等高线是虚线表示的。解析中心在凸多边形内部,其位置对应于在所有不等式约束下尽可能均匀地远离约束边界的点
(四)根据解析中心构造内部和外部椭圆形
E i n n e r ⊆ { x ∣ a i T x ≤ b i , i = 1 , . . . , m } ⊆ E o u t e r E_{inner}⊆\{x|a_i^Tx\leq b_i,i=1,...,m\}⊆E_{outer} Einner⊆{x∣aiTx≤bi,i=1,...,m}⊆Eouter
- 内部椭圆
E
i
n
n
e
r
E_{inner}
Einner:内部椭圆是以解析中心
x
a
c
x_{ac}
xac为中心,根据二阶梯度
Δ
2
Φ
(
x
a
c
)
\Delta^2\Phi(x_{ac})
Δ2Φ(xac)构造的椭圆。它的半径是对应于二阶梯度的特征向量的长度的倒数,这确保了椭圆完全包含在所有线性不等式约束集合内部。
E i n n e r = { x ∣ ( x − x a c ) T Δ 2 Φ ( x a c ) ( x − x a c ) ≤ 1 } E_{inner}=\{x|(x-x_{ac})^T\Delta^2\Phi(x_{ac})(x-x_{ac})\leq 1\} Einner={x∣(x−xac)TΔ2Φ(xac)(x−xac)≤1} - 外部椭圆
E
o
u
t
e
r
E_{outer}
Eouter:外部椭圆也以解析中心
x
a
c
x_{ac}
xac为中心构造,但其半径更大。它的半径是对应于二阶梯度的特征向量的长度的倒数乘以
m
(
m
−
1
)
m(m-1)
m(m−1)的平方根。这确保了椭圆完全覆盖了所有线性不等式约束集合的区域,并提供了一定的余量。
E o u t e r = { x ∣ ( x − x a c ) T Δ 2 Φ ( x a c ) ( x − x a c ) ≤ m ( m − 1 ) } E_{outer}=\{x|(x-x_{ac})^T\Delta^2\Phi(x_{ac})(x-x_{ac})\leq m(m-1)\} Eouter={x∣(x−xac)TΔ2Φ(xac)(x−xac)≤m(m−1)}
椭圆的扩张/收缩因子为 m ( m − 1 ) \sqrt{m(m-1)} m(m−1),这是由于该因子考虑了约束数量 m m m和椭圆内部的自由度。与Löwner-John 或最大体积内接椭圆的扩张/收缩因子 n n n 不同,这里的因子更多地考虑了线性约束的数量和结构。
三、分类
(一)线性判别
将两组点 { x 1 , . . . , x N } \{x_1,..., x_N\} {x1,...,xN}, { y 1 , . . . , y M } \{y_1,..., y_M\} {y1,...,yM} 通过一个超平面分开,可以理解为寻找一个法向量 a ∈ R n a\in R^n a∈Rn和一个偏移量 b ∈ R b\in R b∈R,使得对于第一组点,有 a T x i + b > 0 a^Tx_i+b>0 aTxi+b>0,对于第二组点,有 a T x i + b < 0 a^Tx_i+b<0 aTxi+b<0。
由于超平面的齐次性质,可以等价地表示为:
- a T x i + b ≥ 1 , i = 1 , . . . , N a^Tx_i+b\geq1,i=1,...,N aTxi+b≥1,i=1,...,N
- a T x i + b ≤ − 1 , i = 1 , . . . , M a^Tx_i+b\leq-1,i=1,...,M aTxi+b≤−1,i=1,...,M
这组线性不等式形成了一个线性规划的可行性问题。我们需要找到一个满足这些不等式的向量 a 和标量 b,使得两组点被分开。这通常可以通过线性规划求解器来解决。
(二)鲁棒的线性判别
超平面 H 1 = { z ∣ a T z + b = 1 } H_1=\{z|a^Tz+b=1\} H1={z∣aTz+b=1}和 H 2 = { z ∣ a T z + b = − 1 } H_2=\{z|a^Tz+b=-1\} H2={z∣aTz+b=−1}之间的(欧几里得)距离为 d i s t ( H 1 , H 2 ) = 2 / ∥ a ∥ 2 dist(H_1,H_2)=2/\Vert a\Vert_2 dist(H1,H2)=2/∥a∥2
以最大间隔分隔两组点:
- 目标函数:最小化 ( 1 / 2 ) ∥ a ∥ 2 2 (1/2)\Vert a\Vert_2^2 (1/2)∥a∥22
- 约束条件:
- a T x i + b ≥ 1 , i = 1 , . . . , N a^Tx_i+b\geq 1,i=1,...,N aTxi+b≥1,i=1,...,N
-
a
T
y
i
+
b
≤
−
1
,
i
=
1
,
.
.
.
,
M
a^Ty_i+b\leq -1,\ i=1,...,M
aTyi+b≤−1, i=1,...,M
(三)不可分离集合的近似线性分离
当两组点不可线性分离时,我们可以采用一种近似线性分离的方法,通过最小化违反原始不等式的总和来找到一个最优超平面。这个问题可以表述为一个线性规划问题。
- 目标函数:最小化 1 T u + 1 T v 1^Tu+1^Tv 1Tu+1Tv
- 约束条件:
- a T x i + b ≥ 1 − u i , i = 1 , . . . , N a^Tx_i+b\geq 1-u_i,i=1,...,N aTxi+b≥1−ui,i=1,...,N
- a T x i + b ≤ − 1 + v i , i = 1 , . . . , M a^Tx_i+b\leq -1+v_i,i=1,...,M aTxi+b≤−1+vi,i=1,...,M
- u ≥ 0 , v ≥ 0 u\geq 0,v\geq 0 u≥0,v≥0
最优状态下, u i = m a x { 0 , 1 − a T x i − b } u_i = max\{0, 1 − a^T x_i − b\} ui=max{0,1−aTxi−b}, v i = m a x { 0 , 1 + a T y i + b } v_i = max\{0, 1 + a^T y_i + b\} vi=max{0,1+aTyi+b},相当于最小化原始不等式的违反总和。
(四)支持向量分类器
支持向量分类器(Support Vector Classifier, SVC)通过在优化间隔和分类误差之间找到一个平衡点,来实现对数据点的分类。SVC的目标是找到一个超平面,使得数据点尽可能被正确分类,并且分类间隔尽可能大。分类误差通过松弛变量来度量。
- 目标函数:最小化 ∥ a ∥ 2 + γ ( 1 T u + 1 T v ) \Vert a\Vert_2+\gamma(1^Tu+1^Tv) ∥a∥2+γ(1Tu+1Tv)
- 约束条件:
- a T x i + b ≥ 1 − u i , i = 1 , . . . , N a^Tx_i+b\geq 1-u_i,i=1,...,N aTxi+b≥1−ui,i=1,...,N
- a T x i + b ≤ − 1 + v i , i = 1 , . . . , M a^Tx_i+b\leq -1+v_i,i=1,...,M aTxi+b≤−1+vi,i=1,...,M
- u ≥ 0 , v ≥ 0 u\geq 0,v\geq 0 u≥0,v≥0
- 优化目标函数由两部分组成:第一部分 ∥ a ∥ 2 \Vert a\Vert_2 ∥a∥2表示分类超平面的间隔的倒数,最小化 ∥ a ∥ 2 \Vert a\Vert_2 ∥a∥2意味着最大化分类间隔;第二部分 γ ( 1 T u + 1 T v ) \gamma(1^Tu+1^Tv) γ(1Tu+1Tv)表示分类误差的总和,松弛变量 u i u_i ui和 v i v_i vi分别表示第 i i i个正类点和负类点的违反程度。最小化这部分意味着减少分类错误。
- 约束条件确保:正类点 x i x_i xi被正确分类,允许一定的违反程度 u i u_i ui;负类点 y i y_i yi被正确分类,允许一定的违反程度 v i v_i vi;
支持向量分类器的这个优化问题可以通过二次规划(Quadratic Programming, QP)求解器来解决。
(五)非线性判别
为了进行非线性判别,可以将两组点 { x 1 , . . . , x N } \{x_1,..., x_N\} {x1,...,xN}, { y 1 , . . . , y M } \{y_1,..., y_M\} {y1,...,yM} 通过一个非线性函数 f 分开,使得对于第一组点,有 f ( x i ) > 0 , i = 1 , . . . , N f(x_i)>0,i=1,...,N f(xi)>0,i=1,...,N,对于第二组点,有 f ( x i ) < 0 , i = 1 , . . . , M f(x_i)<0,i=1,...,M f(xi)<0,i=1,...,M。
我们可以选择一组线性参数化的函数族来表示非线性函数
f
f
f:
f
(
z
)
=
θ
T
F
(
z
)
f(z)=\theta^TF(z)
f(z)=θTF(z)
通过这种参数化形式,非线性判别问题可以转化为一个关于参数向量
θ
θ
θ 的线性不等式系统:
θ
T
F
(
x
i
)
≥
1
,
i
=
1
,
.
.
.
,
N
;
θ
T
F
(
y
i
)
≤
−
1
,
i
=
1
,
.
.
.
,
M
\theta^TF(x_i)\geq 1,i=1,...,N;\\\theta^TF(y_i)\leq -1,i=1,...,M
θTF(xi)≥1,i=1,...,N;θTF(yi)≤−1,i=1,...,M
这些不等式表示在新的高维空间中,我们希望找到一个超平面,使得经过基函数变换后的点
F
(
x
i
)
F(x_i)
F(xi) 和
F
(
y
i
)
F(y_i)
F(yi) 分别位于超平面的不同侧。
通过选择适当的基函数 F F F 和参数向量 θ θ θ,可以将非线性判别问题转化为线性不等式系统,并通过线性规划或二次规划求解,从而实现对非线性可分数据的分类。二次判别和多项式判别是两种常见的方法,它们通过不同形式的非线性函数来分离数据点:
- 二次判别:考虑二次函数
f
(
z
)
=
z
T
P
z
+
q
T
z
+
r
f(z)=z^TPz+q^Tz+r
f(z)=zTPz+qTz+r,将参数
θ
\theta
θ定义为
(
P
,
q
,
r
)
(P,q,r)
(P,q,r),优化问题就可以表示为:
- 求解 P ∈ S n , q ∈ R n , r ∈ R P\in S^n,q\in R^n,r\in R P∈Sn,q∈Rn,r∈R
- 使得 x i T P x i + q T x i + r ≥ 1 , i = 1 , . . . , N x_i^TPx_i+q^Tx_i+r\geq 1,i=1,...,N xiTPxi+qTxi+r≥1,i=1,...,N; y i T P y i + q T y i + r ≤ − 1 , i = 1 , . . . , M y_i^TPy_i+q^Ty_i+r\leq -1,i=1,...,M yiTPyi+qTyi+r≤−1,i=1,...,M
- 如果需要,我们可以添加额外的约束条件,例如 P ≻ − I P≻−I P≻−I(即 P P P 半正定),以确保分离是通过一个椭球进行的。
- 多项式判别:选择
F
(
z
)
F(z)
F(z)为包含所有给定次数
d
d
d的单项式的向量
- 以 n = 2 n=2 n=2和 d = 3 d=3 d=3为例, F ( z ) = ( 1 , z 1 , z 2 , z 1 2 , z 1 z 2 , z 2 2 , z 1 3 , z 1 2 z 2 , z 1 z 2 2 , z 2 3 ) F(z)=(1,z_1,z_2,z_1^2,z_1z_2,z_2^2,z_1^3,z_1^2z_2,z_1z_2^2,z_2^3) F(z)=(1,z1,z2,z12,z1z2,z22,z13,z12z2,z1z22,z23)
四、布局和设施位置
在设施选址和布置问题中,我们通常需要在平面或三维空间中放置若干个点,并且这些点之间的某些位置是已知的,另一些位置是变量。每对点之间都有一个成本函数 f i j ( x i , x j ) f_{ij}(x_i,x_j) fij(xi,xj)目标是最小化所有点对之间的总成本 m i n ∑ i ≠ j f i j ( x i , x j ) min\sum_{i\neq j}f_{ij}(x_i,x_j) min∑i=jfij(xi,xj)。