椭圆是一个凸集的证明
常见的凸集
我们在 Affine set 和 convex set 的定义 一文中讲解了凸集(convex set)的概念。我们先来回顾一下凸集的定义:
如果连接集合 C C C 当中的任何两点构成的线段也在集合 C C C 之中,那么我们就说集合 C C C 是一个 convex set。
或者我们用数学的语言来描述:
对于集合 C C C 中的任何 x 1 , x 2 x_1, x_2 x1,x2,对任意 0 ≤ θ ≤ 1 0 \leq \theta \leq 1 0≤θ≤1,如果我们有 θ x 1 + ( 1 − θ ) x 2 ∈ C \theta x_1 + (1 - \theta) x_2 \in C θx1+(1−θ)x2∈C。我们就说这个集合是一个凸集合 (convex set)。
一些常见的是凸集的集合可以总结如下:
- 空集 ∅ \empty ∅。
- 只有一个元素的集合 { x 0 } \{x_0\} {x0}。
- 整个 R n \mathbb{R}^n Rn 空间。
- 任意直线。
- 任意线段。
- R n \mathbb{R}^n Rn 中的任意线性空间。
上述的6个例子都是较为明显的凸集合的例子。在本文中我们将要重点看另外一个常见的例子,椭圆(ellipsoid)。
我们容易想象到,如果连接椭圆中的任意两点,那么得到的线段也将在椭圆中,所以椭圆自然是一个凸集合。
但是我们怎么从数学上严格得证明椭圆是一个凸集合呢?这就是本文将要讨论的问题。
椭圆是凸集的证明
从定义上证明椭圆是一个凸集合
我们先来看椭圆集合的数学定义。我们用集合
E = { x ∣ ( x − x c ) T P − 1 ( x − x c ) ≤ 1 } \mathscr{E} =\{x \vert (x - x_c)^T P^{-1} (x - x_c) \leq 1 \} E={x∣(x−xc)TP−1(x−xc)≤1}
表示椭圆。其中 P P P 是一个对称正定的矩阵。通常我们用 P ≻ 0 P \succ 0 P≻0 表示矩阵 P P P 是正定的。 x c ∈ R n x_c \in \mathbb{R}^n xc∈Rn 称为椭圆的中心。
下面我们从定义上去证明 E \mathscr{E} E 这个集合是凸集合。
对于 ∀ x , y ∈ E \forall x, \, y \in \mathscr{E} ∀x,y∈E,以及任意 0 ≤ θ ≤ 1 0 \leq \theta \leq 1 0≤θ≤1,我们想要证明 θ x + ( 1 − θ ) y \theta x + (1 - \theta) y θx+(1−θ)y 也属于集合 E \mathscr{E} E。
因为
x
,
y
∈
E
x, \, y \in \mathscr{E}
x,y∈E,所以我们有
(
x
−
x
c
)
T
P
−
1
(
x
−
x
c
)
≤
1
,
(
y
−
x
c
)
T
P
−
1
(
y
−
x
c
)
≤
1
(x - x_c)^T P^{-1} (x - x_c) \leq 1, \\ (y - x_c)^T P^{-1} (y - x_c) \leq 1
(x−xc)TP−1(x−xc)≤1,(y−xc)TP−1(y−xc)≤1.
我们希望证明
(
θ
x
+
(
1
−
θ
)
y
−
x
c
)
T
P
−
1
(
θ
x
+
(
1
−
θ
)
y
−
x
c
)
≤
1
(
∗
)
(\theta x + (1 - \theta) y -x_c)^T P^{-1} (\theta x + (1 - \theta) y -x_c) \leq 1 \hspace{5cm} (*)
(θx+(1−θ)y−xc)TP−1(θx+(1−θ)y−xc)≤1(∗)
我们把
(
∗
)
(*)
(∗) 式的左边展开,我们可以得到
LHS
=
θ
2
(
x
−
x
c
)
T
P
−
1
(
x
−
x
c
)
+
(
1
−
θ
)
2
(
y
−
x
c
)
T
P
−
1
(
y
−
x
c
)
+
(
1
−
θ
)
θ
(
y
−
x
c
)
T
P
−
1
(
x
−
x
c
)
+
θ
(
1
−
θ
)
(
x
−
x
c
)
T
P
−
1
(
y
−
x
c
)
≤
θ
2
+
(
1
−
θ
)
2
+
2
θ
(
1
−
θ
)
(
x
−
x
c
)
T
P
−
1
(
y
−
x
c
)
\begin{aligned}\text{LHS} = & \theta^2 (x-x_c)^T P^{-1} (x - x_c) + \\ &(1 - \theta)^2 (y - x_c)^T P^{-1} (y - x_c) + \\ & (1 - \theta) \theta (y - x_c)^T P^{-1} (x - x_c) + \\ & \theta (1 - \theta) (x - x_c)^T P^{-1} (y - x_c) \\ \leq & \theta^2 + (1 - \theta)^2 + 2 \theta (1 - \theta) (x - x_c)^T P^{-1} (y - x_c) \end{aligned}
LHS=≤θ2(x−xc)TP−1(x−xc)+(1−θ)2(y−xc)TP−1(y−xc)+(1−θ)θ(y−xc)TP−1(x−xc)+θ(1−θ)(x−xc)TP−1(y−xc)θ2+(1−θ)2+2θ(1−θ)(x−xc)TP−1(y−xc).
这里我们应用了 P − 1 = ( P − 1 ) T P^{-1} = \left( P^{-1} \right)^T P−1=(P−1)T,并且 ( y − x c ) T P − 1 ( x − x c ) = ( x − x c ) T P − 1 ( y − x c ) (y - x_c)^T P^{-1} (x - x_c) =(x - x_c)^T P^{-1} (y - x_c) (y−xc)TP−1(x−xc)=(x−xc)TP−1(y−xc)。
所以为了证明 LHS ≤ 1 \text{LHS} \leq 1 LHS≤1,我们只须要证明 ( y − x c ) T P − 1 ( x − x c ) ≤ 1 (y - x_c)^T P^{-1} (x - x_c) \leq 1 (y−xc)TP−1(x−xc)≤1 即可。
因为 P ≻ 0 P \succ 0 P≻0 并且 P P P 是对称的,我们有 P − 1 P^{-1} P−1 也是正定对称的。
那么,怎么证明 P − 1 P^{-1} P−1 也是正定对称的呢?
首先,因为 P P P 是对称的,所以 P − 1 P^{-1} P−1 也是对称的。下面我们去证明 P − 1 P^{-1} P−1 是正定的,即对于 ∀ x ∈ R n \forall x \in \mathbb{R}^n ∀x∈Rn 且 x ≠ 0 x \neq \mathbf{0} x=0,我们须要证明 x T P − 1 x > 0 x^T P^{-1} x > 0 xTP−1x>0。因为 P P P 是可逆的,所以对于 x x x,我们能找到一个向量 y ∈ R n y \in \mathbb{R}^n y∈Rn,使得 x = P y x = P y x=Py。因为 x ≠ 0 x \neq \mathbf{0} x=0,所以 y ≠ 0 y \neq \mathbf{0} y=0。 于是, x T P − 1 x = y T P T P − 1 P y = y T P y > 0 \displaystyle x^T P^{-1} x = y^T P^T P^{-1} P y = y^T P y > 0 xTP−1x=yTPTP−1Py=yTPy>0。从而 P − 1 P^{-1} P−1 也是正定的。
证明了 P − 1 P^{-1} P−1 是正定的,我们可以把 P − 1 P^{-1} P−1 写成 P − 1 = U Λ U T P^{-1} =U \Lambda U^T P−1=UΛUT,其中 U U U 是正交化(orthogonal)矩阵,即 U T U = I U^T U = I UTU=I。 Λ \Lambda Λ 是一个对角矩阵,且对角线的元素均大于 0。 从而我们可以定义 ( P − 1 ) 1 / 2 = U Λ 1 / 2 U T (P^{-1})^{1/2} = U \Lambda^{1/2} U^T (P−1)1/2=UΛ1/2UT。
现在我们来看
(
y
−
x
c
)
T
P
−
1
(
x
−
x
c
)
(y - x_c)^T P^{-1} (x - x_c)
(y−xc)TP−1(x−xc),
(
y
−
x
c
)
T
P
−
1
(
x
−
x
c
)
=
(
y
−
x
c
)
T
(
P
−
1
)
1
/
2
(
P
−
1
)
1
/
2
(
x
−
x
c
)
(y - x_c)^T P^{-1} (x - x_c) =(y - x_c)^T (P^{-1})^{1/2} (P^{-1})^{1/2} (x - x_c)
(y−xc)TP−1(x−xc)=(y−xc)T(P−1)1/2(P−1)1/2(x−xc)。
根据 Cauch-Schwartz 不等式, ∣ ∣ x y ∣ ∣ 2 ≤ ∣ ∣ x ∣ ∣ 2 ∣ ∣ y ∣ ∣ 2 \vert \vert xy \vert \vert^2 \leq \vert \vert x \vert \vert^2 \vert \vert y \vert \vert^2 ∣∣xy∣∣2≤∣∣x∣∣2∣∣y∣∣2
我们有, ∣ ∣ [ ( y − x c ) T ( P − 1 ) 1 / 2 ] [ ( P − 1 ) 1 / 2 ( x − x c ) ] ∣ ∣ 2 ≤ ∣ ∣ ( P − 1 ) 1 / 2 ( y − x c ) ∣ ∣ 2 ⋅ ∣ ∣ ( P − 1 ) 1 / 2 ( x − x c ) ∣ ∣ 2 ≤ 1 ⋅ 1 = 1 \bigg| \bigg| \left[ (y - x_c)^T (P^{-1})^{1/2} \right] \left[ (P^{-1})^{1/2} (x - x_c) \right] \bigg| \bigg|^2 \\ \leq || (P^{-1})^{1/2} (y - x_c)||^2 \cdot || (P^{-1})^{1/2} (x - x_c) ||^2 \\ \leq 1 \cdot 1 = 1 [(y−xc)T(P−1)1/2][(P−1)1/2(x−xc)] 2≤∣∣(P−1)1/2(y−xc)∣∣2⋅∣∣(P−1)1/2(x−xc)∣∣2≤1⋅1=1
其中最后一个不等式来自于
x
,
y
∈
E
x, y \in \mathscr{E}
x,y∈E,即
(
x
−
x
c
)
T
P
−
1
(
x
−
x
c
)
≤
1
,
(
y
−
x
c
)
T
P
−
1
(
y
−
x
c
)
≤
1
(x - x_c)^T P^{-1} (x - x_c) \leq 1, \\ (y - x_c)^T P^{-1} (y - x_c) \leq 1
(x−xc)TP−1(x−xc)≤1,(y−xc)TP−1(y−xc)≤1.
这样我们就证明了对任意 0 ≤ θ ≤ 1 0 \leq \theta \leq 1 0≤θ≤1, θ x + ( 1 − θ ) y \theta x + (1 - \theta) y θx+(1−θ)y 也属于集合 E \mathscr{E} E。
于是,我们就从数学上证明了椭圆集合是一个凸集合。
从 norm 的角度去看 ellipsoid
下面,我们来看如何从 norm 的角度去看椭圆。
如果 || ⋅ \cdot ⋅ || 是 R n \mathbb{R}^n Rn 上的一个 norm,那么对应于 || ⋅ \cdot ⋅ || 的 norm ball 定义为集合 { x ∣ ∣ ∣ x − x c ∣ ∣ < = r } \{x \vert \hspace{2mm} ||x - x_c|| <= r \} {x∣∣∣x−xc∣∣<=r}。其中 x c x_c xc 称为 norm ball 的中心, r r r 称为 norm ball 的半径。
我们可以证明 norm ball 是一个凸集合。
对于不熟悉 norm 定义的读者,我们先来快速回顾一下 norm 的定义。
如果
∣
∣
⋅
∣
∣
|| \cdot ||
∣∣⋅∣∣ 满足下面三个性质,那么
∣
∣
⋅
∣
∣
|| \cdot ||
∣∣⋅∣∣ 就称为 norm。
- 对于任意的 x ∈ R n x \in \mathbb{R^n} x∈Rn, ∣ ∣ x ∣ ∣ ≥ 0 || x || \geq 0 ∣∣x∣∣≥0, ∣ ∣ x ∣ ∣ = 0 ||x || = 0 ∣∣x∣∣=0 当且仅当 x = 0 x = 0 x=0.
- ∣ ∣ c x ∣ ∣ = c ⋅ ∣ ∣ x ∣ ∣ || c x || = c \cdot ||x|| ∣∣cx∣∣=c⋅∣∣x∣∣,对于任意 c ∈ R , c > 0 c \in R, c > 0 c∈R,c>0.
- 三角不等式,即 ∣ ∣ x + y ∣ ∣ ≤ ∣ ∣ x ∣ ∣ + ∣ ∣ y ∣ ∣ || x + y || \leq ||x|| + || y || ∣∣x+y∣∣≤∣∣x∣∣+∣∣y∣∣.
于是,对于 norm ball, 即集合
C
=
{
x
∣
∣
∣
x
−
x
c
∣
∣
<
=
r
}
C = \{x \vert \hspace{2mm} ||x - x_c|| <= r \}
C={x∣∣∣x−xc∣∣<=r},如果有
x
,
y
∈
C
x, \, y \in C
x,y∈C,以及
0
≤
θ
≤
1
0 \leq \theta \leq 1
0≤θ≤1,那么
∣
∣
θ
x
+
(
1
−
θ
)
y
−
x
c
∣
∣
=
∣
∣
θ
(
x
−
x
c
)
+
(
1
−
θ
)
(
y
−
x
c
)
∣
∣
≤
∣
∣
θ
(
x
−
x
c
)
∣
∣
+
∣
∣
(
1
−
θ
)
(
y
−
x
c
)
∣
∣
≤
θ
r
+
(
1
−
θ
)
r
=
r
\begin{aligned}|| \theta x + (1 - \theta) y - x_c || &= || \theta(x - x_c) + \\ & (1 - \theta) (y - x_c) || \\ & \leq || \theta (x - x_c) || + ||(1 - \theta) (y - x_c)|| \\ & \leq \theta r + (1 - \theta)r = r \end{aligned}
∣∣θx+(1−θ)y−xc∣∣=∣∣θ(x−xc)+(1−θ)(y−xc)∣∣≤∣∣θ(x−xc)∣∣+∣∣(1−θ)(y−xc)∣∣≤θr+(1−θ)r=r
从而 θ x + ( 1 − θ ) y \theta x + (1 - \theta) y θx+(1−θ)y 也属于集合 C C C。即 C C C 是一个 convex set。
为了从 norm 的角度去看椭圆这个集合,我们先来看 Mahalanobis norm。
Mahalanobis norm
我们定义 Mahalanobis norm 为 ∣ ∣ x ∣ ∣ p = x T P x ||x||_p = \sqrt{x^T P x} ∣∣x∣∣p=xTPx。其中 x ∈ R n x \in \mathbb{R}^n x∈Rn, P P P 是对称的,且 P ≻ 0 P \succ 0 P≻0,即 P P P 是对称正定的。
我们先证明 Mahalanobis norm 是一个 norm。
- 如果 ∣ ∣ x ∣ ∣ p = 0 ||x||_p = 0 ∣∣x∣∣p=0,那么 x T P x = 0 x^T P x = 0 xTPx=0。而根据 P ≻ 0 P \succ 0 P≻0,当 x T P x = 0 x^T P x = 0 xTPx=0 时,我们有 x = 0 x = 0 x=0.
- 对于任意 c ∈ R , c > 0 c \in R, c > 0 c∈R,c>0, ∣ ∣ c x ∣ ∣ p = c x T P x = c ∣ ∣ x ∣ ∣ p ||c x||_p =c \sqrt{x^T P x} = c ||x||_p ∣∣cx∣∣p=cxTPx=c∣∣x∣∣p。
- 三角不等式。根据 Mahalanobis norm 的定义,我们有
∣
∣
x
+
y
∣
∣
p
2
=
(
x
+
y
)
T
P
(
x
+
y
)
=
x
T
P
x
+
y
T
P
y
+
x
T
P
y
+
y
T
P
x
=
x
T
P
x
+
y
T
P
y
+
2
x
T
P
y
|| x + y||_p^2 = (x + y)^T P (x + y) =x^TPx + y^TPy + x^TPy + y^TPx = x^TPx + y^TPy +2x^TPy
∣∣x+y∣∣p2=(x+y)TP(x+y)=xTPx+yTPy+xTPy+yTPx=xTPx+yTPy+2xTPy. 因为
P
P
P 是对称且正定的,所以我们可以将
P
P
P 写成
P
=
U
Λ
U
T
P =U\Lambda U^T
P=UΛUT. 其中
U
U
U 是正交化矩阵,即
U
T
U
=
I
U^TU = I
UTU=I,
Λ
\Lambda
Λ 是对角矩阵,对角线上的元素都是正的。类似于之前的讨论,我们可以定义
P
1
/
2
=
U
Λ
1
/
2
U
T
P^{1/2} = U \Lambda^{1/2} U^T
P1/2=UΛ1/2UT. 从而,
∣ ∣ x + y ∣ ∣ p 2 = ∣ ∣ x ∣ ∣ p 2 + ∣ ∣ y ∣ ∣ p 2 + 2 x T P 1 / 2 P 1 / 2 y ≤ ∣ ∣ x ∣ ∣ p 2 + ∣ ∣ y ∣ ∣ p 2 + 2 ∣ x T P 1 / 2 P 1 / 2 y ∣ ≤ ∣ ∣ x ∣ ∣ p 2 + ∣ ∣ y ∣ ∣ p 2 + 2 ∣ ∣ P 1 / 2 x ∣ ∣ 2 ⋅ ∣ ∣ P 1 / 2 y ∣ ∣ 2 = ∣ ∣ x ∣ ∣ p 2 + ∣ ∣ y ∣ ∣ p 2 + 2 ∣ ∣ x ∣ ∣ p ⋅ ∣ ∣ y ∣ ∣ p \begin{aligned}||x + y||_p^2 &= ||x||_p^2 + ||y||_p^2 + 2 x^T P^{1/2} P^{1/2}y \\ & \leq ||x||_p^2 + ||y||_p^2 + 2 | x^T P^{1/2} P^{1/2}y | \\ & \leq ||x||_p^2 + ||y||_p^2 + 2 ||P^{1/2}x||_{2} \cdot ||P^{1/2}y||_{2} \\ &= ||x||_p^2 + ||y||_p^2 + 2 ||x||_p \cdot ||y||_p \end{aligned} ∣∣x+y∣∣p2=∣∣x∣∣p2+∣∣y∣∣p2+2xTP1/2P1/2y≤∣∣x∣∣p2+∣∣y∣∣p2+2∣xTP1/2P1/2y∣≤∣∣x∣∣p2+∣∣y∣∣p2+2∣∣P1/2x∣∣2⋅∣∣P1/2y∣∣2=∣∣x∣∣p2+∣∣y∣∣p2+2∣∣x∣∣p⋅∣∣y∣∣p
所以三角不等式成立。
这里倒数第二步的不等式用到了 Cauch-Schwartz 定理。
我们证明了 Mahalanobis norm 确实是一个 norm。那么它与椭圆有什么关系呢?
椭圆是一个 norm ball
实际上,椭圆就是在 Mahalanobis norm 下的一个 norm ball。因为在 Mahalanobis norm 下,一个 norm ball 就定义为:
C = { x ∣ ∣ ∣ x − x c ∣ ∣ p ≤ r } C = \{x \vert \hspace{2mm} ||x - x_c||_p \leq r \} C={x∣∣∣x−xc∣∣p≤r} ,
即 C = { x ∣ ( x − x c ) T P ( x − x c ) ≤ r } C = \{x \vert \hspace{2mm} \sqrt{(x - x_c)^T P (x - x_c) } \leq r \} C={x∣(x−xc)TP(x−xc)≤r}。
取 r = 1 r = 1 r=1,我们就得到了椭圆的定义。所以,椭圆就是在 Mahalanobis norm 下的一个 norm ball。而我们之前证明了 Mahalanobis norm 是一个 norm,并且任意 norm 上的 norm ball 都是一个凸集合。自然得,椭圆也是凸集合。
从仿射的角度看椭圆
参考文献
Convex optimization, Chapter 1, Stephen Boyd, Lieven Vandenberghe, Cambridge University Press, (2004)