这学期上了李英红老师的凸优化,老师每堂课都写满黑板好几轮,激情澎湃地讲完3个45分钟。作为一个电子信息专业的学生,我选择上这门课完全是出于兴趣,能够得到老师这么认真的对待,实在非常感动且感激。
这篇笔记是教材1章的内容,在国庆假期期间整理的。后来时间紧,自己的效率也不高,忙培养方案内课程,这门课就没再整理博客。但期末复习它还是耗费了我很大的精力,一千余小时,最终只考了84分。最后一节课上考完试,我把复习资料拿去给老师签字,算是弥补了一些小小的遗憾。
整理草稿箱看到了这篇,觉得不如发出来。
1.引言
一、MP: 数学规划
f
(
x
)
h
i
(
x
)
=
0
,
i
=
1
,
.
.
.
,
m
g
j
(
x
)
≤
0
,
j
=
1
,
.
.
.
,
k
\ f(x)\\h_i(x) = 0, i=1,...,m\\g_j(x) \leq 0, j=1,...,k\,
f(x)hi(x)=0,i=1,...,mgj(x)≤0,j=1,...,k
- 约束:等式约束hi、不等式约束gj
- 定义域:X ∈ Rn,x = (x1,x2,…,xn)为列向量(与系数矩阵相乘时),列向量中元素称为决策变量。
- 可行域:定义域+约束
S = X ∩ { x ∈ R n : h i ( x ) = 0 , i = 1 , . . , m , g j ( x ) ≤ 0 , j = 1 , . . . , k } , S = X \cap \{ x \in R^n : h_i(x) = 0, i=1,..,m,g_j(x) \leq 0,j=1,...,k \}, S=X∩{x∈Rn:hi(x)=0,i=1,..,m,gj(x)≤0,j=1,...,k},
二、基本概念
- 全局极小点:表示为 x ∗ x_* x∗, f ( x ∗ ) ≤ f ( x ) f(x_*) \leq f(x) f(x∗)≤f(x)。可能没有,比如 f ( x ) = 1 x f(x)= \tfrac{1}{x} f(x)=x1。
- 下确界: f ∗ = i n f { f ( x ) : x ∈ S } f_*=inf \{f(x):x \in S \} f∗=inf{f(x):x∈S},即使无全局极小点,下确界依然可以有限。
- 局部极小点:定义
欧氏球
如下: B ( x ∗ , r ) = { x ∈ R n : ∣ ∣ x − x ∗ ∣ ∣ 2 < r } B(x_*,r)=\{x \in R^n:||x-x_*||_2<r\} B(x∗,r)={x∈Rn:∣∣x−x∗∣∣2<r}。局部极小点定义为:点 x ∗ ∈ S x_*\in S x∗∈S且存在某 r > 0 r>0 r>0,使得对所有的 x ∈ S ∩ B ( x ∗ , r ) x\in S \cap B(x_*,r) x∈S∩B(x∗,r)有 f ( x ∗ ) ≤ f ( x ) f(x_*) \leq f(x) f(x∗)≤f(x)成立。全局极小点一定是局部极小点,反之不一定成立。
这是一个讲解范数的链接
这是另一个链接 - 规划们
线性规划 | 无约束优化 | 离散优化 | 连续优化 |
---|---|---|---|
f ( x ) = c 1 x 1 + c 2 x 2 + . . . + c n x n ≡ c T x X ∈ S = { x ∈ R n : a i T x ≤ b i , i = 1 , . . . , m } Ax ≤ b \ f(x)=c_1x_1+c_2x_2+...+c_nx_n \equiv \textbf{c}^T\textbf{x}\\X\in S=\{x\in R^n:a_i^Tx \leq b_i,i=1,...,m\}\\\textbf{Ax} \leq \textbf{b} f(x)=c1x1+c2x2+...+cnxn≡cTxX∈S={x∈Rn:aiTx≤bi,i=1,...,m}Ax≤b其中 A \textbf{A} A为 m ∗ n m*n m∗n矩阵,第i行是 a i T a_i^T aiT | S = R n S=R^n S=Rn | 定义域 X X X是离散集 | S S S连续,比如 R n R^n Rn、 { x ∈ R n : a ≤ x ≤ b } ) \{x \in R^n:a \leq x \leq b\}) {x∈Rn:a≤x≤b})、单纯形(没看懂什么是单纯形,是指const吗?) |
2.凸集
2.1 定义和性质
定义
(1)一般:
x
,
y
∈
X
→
(
1
−
θ
)
x
+
θ
y
∈
X
∀
θ
∈
[
0
,
1
]
\textbf{x},\textbf{y} \in X \rightarrow (1-\theta)\textbf{x}+\theta \textbf{y} \in X\ \forall\theta\in [0,1]
x,y∈X→(1−θ)x+θy∈X ∀θ∈[0,1]
(2)特殊:单点集
{
x
}
\{x\}
{x}和
∅
\emptyset
∅都是凸集
更多例子
- 超平面:
(1) 定义: w T x + b = 0 w^Tx+b=0 wTx+b=0(教材上写作: s T x = c s^Tx=c sTx=c,可知关系 w = s w=s w=s、 b = − c b=-c b=−c)。
对超平面定义的理解:
w \textbf{w} w | x \textbf{x} x | b \textbf{b} b |
---|---|---|
超平面的法向量,一个n维列向量, w = ( w 1 , w 2 , . . . w n ) T w=(w_1,w_2,...w_n)^T w=(w1,w2,...wn)T。其指向的方向为超平面的正面,反向为反面。 正面: w T x + b > 0 反面: w T x + b < 0 超平面上: w T x + b = 0 \ 正面:w^Tx+b>0\\反面:w^Tx+b<0\\超平面上:w^Tx+b=0 正面:wTx+b>0反面:wTx+b<0超平面上:wTx+b=0 | 组成超平面的点集, x = ( x 1 , x 2 , . . . , x n ) T x=(x_1,x_2,...,x_n)^T x=(x1,x2,...,xn)T,可以理解为,超平面就是由一堆n维空间中的点,组成的n-1维的仿射子空间(与线性子空间区分,见表格下注[1]),本质为自由度比向量空间小1。 | 一个常数。几何意义:超平面到原点的距离。推导过程见表下。 |
注[1]:线性空间V的线性子空间为关于自身运算封闭的非空子集,对线性运算封闭:
k
∈
R
,
v
∈
V
,
k
v
∈
V
k\in R,\textbf{v}\in V,k\textbf{v}\in V
k∈R,v∈V,kv∈V,当
k
=
0
k=0
k=0时一定过原点。而仿射子空间可以看作线性子空间平移某向量
a
\textbf{a}
a的结果,不一定过原点。比如超平面就不一定过原点,而当
w
T
x
+
b
=
0
w^Tx+b=0
wTx+b=0中
b
=
0
b=0
b=0时,才过原点。此时超平面为凸锥。(仿射集在很近的后面会提到)
我在查阅资料的过程中,看到有的文章说超平面过原点,感觉和b的几何意义矛盾,翻了评论才明白线性子空间和仿射子空间的区别。
(2)理解:在n维空间中,给出一个超平面,其上点组成点集
I
(
x
1
,
x
2
,
.
.
.
,
x
n
)
I(x_1,x_2,...,x_n)
I(x1,x2,...,xn),给出超平面上一已知点
P
P
P及超平面法向量
n
\textbf{n}
n,则有:
n
(
I
−
P
)
=
0
\textbf{n}(I-P)=0
n(I−P)=0
可变化为:
n
I
=
n
P
=
c
o
n
s
t
\textbf{n}I=\textbf{n}P=const
nI=nP=const,
n
=
w
T
\textbf{n}=\textbf{w}^T
n=wT
(3)样本空间中点到超平面的距离公式:
d
i
s
t
a
n
c
e
=
∣
w
T
x
+
b
∣
∣
∣
w
∣
∣
distance=\dfrac{|w^Tx+b|}{||w||}
distance=∣∣w∣∣∣wTx+b∣
推导:
超平面上满足
w
T
x
+
b
=
0
w^Tx+b=0
wTx+b=0,若
x
0
x_0
x0也为超平面上一点,则有
w
T
x
0
+
b
=
0
w^Tx_0+b=0
wTx0+b=0。向量
(
x
−
x
0
)
(x-x_0)
(x−x0)在法向量方向上的投影为:
d
=
∣
w
T
(
x
−
x
0
)
∣
∣
∣
w
∣
∣
d=\dfrac{|w^T(x-x_0)|}{||w||}
d=∣∣w∣∣∣wT(x−x0)∣内积的几何意义用途:(1)求夹角(2)求对方方向上投影
因为
w
T
x
0
=
−
b
w^Tx_0=-b
wTx0=−b,故
w
T
(
x
−
x
0
)
=
w
T
x
+
b
w^T(x-x_0)=w^Tx+b
wT(x−x0)=wTx+b,得证。
当
x
0
x_0
x0为原点时,??
-
半空间: H + = { x ∈ R n : s T x ≥ c } H − = { x ∈ R n : s T x ≤ c } H^+=\{x\in R^n:s^Tx \geq c\}\\ H^-=\{x \in R^n:s^Tx \leq c\} H+={x∈Rn:sTx≥c}H−={x∈Rn:sTx≤c}
-
多面体: { x ∈ R n : Ax ≤ b } \{\textbf{x}\in R^n:\textbf{Ax} \leq \textbf{b}\} {x∈Rn:Ax≤b}有限个半空间的交集 → \rightarrow →有限个凸集的交还是凸集。
-
范数单位球: ∀ a ∈ R n \forall \textbf{a}\in R^n ∀a∈Rn, { x ∈ R n : ∣ ∣ x - a ∣ ∣ < r } \{\textbf{x}\in R^n:||\textbf{x - a}||<r\} {x∈Rn:∣∣x - a∣∣<r}为凸的。
二范数单位球??
区分多维椭球与番薯单位球的意义???范数: 定义 性质 (1)正齐次性 (2)三角不等式
-
椭球:
我对椭球的理解就是,每个维度的变量的平方和。如果等式右侧常数恰好为1,且左侧各平方系数相等,两边同时开方,可以得到2范数单位球。 -
凸集的 ϵ \epsilon ϵ-领域
这部分的作业题目以及解答如下图:
- 判断给出集合凸性
凸组合与凸包
- 凸组合: k ∈ N + k \in N^+ k∈N+,点 x 1 , . . . , x k ∈ R n x_1,...,x_k\in R^n x1,...,xk∈Rn的凸组合是系数非负且系数之和为1的线性组合: ∑ i = 1 k θ i x i \sum_{i=1}^{k} \theta_i x_i i=1∑kθixi
- 凸集的内表示(凸集的一种刻画):集合 X ⊊ R n X\subsetneq R^n X⊊Rn凸当且仅当关于取凸组合的运算封闭。
- 凸包:
(1)从外部刻画:包含 X X X的最小凸集是 X X X的凸包,记作 c o n v X convX convX。
(2)从内部刻画:由凸组合得到凸包 → \rightarrow →凸包是所有凸组合组成的集合。 c o n v X = X ^ = { ∑ i = 1 k θ i x i : ∀ k ∈ Z + + , x i ∈ X , θ i ≥ 0 ∀ i , ∑ i θ i = 1 } convX=\hat{X}=\{ \sum_{i=1}^{k} \theta_i \textbf{x}_i: \forall k \in Z_{++},\textbf{x}_i \in X,\theta_i \geq 0\ \forall i,\sum_{i} \theta_i =1\} convX=X^={i=1∑kθixi:∀k∈Z++,xi∈X,θi≥0 ∀i,i∑θi=1}
证明:(证明两个集合相等==证它们相互包含)
X ^ ⊆ c o n v X \hat{X}\subseteq convX X^⊆convX:包含 X X X的集合必然包含 X X X的点得到的凸组合,易证。
c o n v X ⊆ X ^ convX \subseteq \hat{X} convX⊆X^:先后运用凸组合和凸集的定义证明 X ^ \hat{X} X^的凸性。
推论: X X X凸当且仅当 c o n v X = X convX=X convX=X
仿射
最后:回忆线性代数
余子式:
M
i
j
M_{ij}
Mij
代数余子式:
A
i
j
=
(
−
1
)
i
+
j
M
i
j
A_{ij}=(-1)^{i+j}M_{ij}
Aij=(−1)i+jMij
→
\rightarrow
→按行展开、按列展开,乘代数余子式