机器学习数学基础--凸优化
- 1.计算几何是研究什么的?
- 2.计算几何理论中(或凸集中)过两点的一条直线的表达式,是如何描述的?与初中数学中那些直线方程有什么差异?有什么好处?
- 3.凸集是什么? 直线是凸集吗?是仿射集吗?
- 4.三维空间中的一个平面,如何表达?
- 5.更高维度的“超平面”,如何表达?
- 6.什么是“凸函数”定义?什么是Hessian Matrix 矩阵? 如何判别一个函数是凸函数?f(x)=x^3 函数是凸函数吗?
- 7.什么是“凸规划”?如何判别一个规划问题是凸规划问题。下例是凸规划问题吗?
- 参考资料
1.计算几何是研究什么的?
计算几何研究的对象是几何图形,研究几何模型和数据处理的学科,讨论几何形体的计算机表示、分析和综合,研究如何方便灵活、有效地建立几何形体的数学模型以及在计算机中更好地存贮和管理这些模型数据。
2.计算几何理论中(或凸集中)过两点的一条直线的表达式,是如何描述的?与初中数学中那些直线方程有什么差异?有什么好处?
过两点的一条直线表达式:
y
=
θ
x
1
+
(
1
−
θ
)
x
2
(
x
1
≠
x
2
)
y=\theta x_1+(1-\theta)x_2\quad(x_1\not=x_2)
y=θx1+(1−θ)x2(x1=x2)
直线的两点方程式推导过程:
(1)设直线L上的两点P1、P2的坐标分别为
(
x
1
,
y
1
)
、
(
x
2
,
y
2
)
,
且
(
x
1
≠
x
2
)
(x_1,y_1)、(x_2,y_2),且(x_1≠x_2)
(x1,y1)、(x2,y2),且(x1=x2)
则直线L的斜率为:
K
=
y
2
−
y
1
x
2
−
x
1
K=\frac{y_2-y_1}{x_2-x_1}
K=x2−x1y2−y1
(2)在直线L上任取一点P(x, y)
将直线l的斜率K,P点的坐标代入直线的点斜式方程
y
−
y
0
=
k
(
x
−
x
0
)
y-y_0=k(x-x_0)
y−y0=k(x−x0)中得:
y
−
y
1
=
y
2
−
y
1
x
2
−
x
1
∗
(
x
−
x
1
)
y-y_1=\frac{y_2-y_1}{x_2-x_1}*(x-x_1)
y−y1=x2−x1y2−y1∗(x−x1)
化简得:
y
−
y
1
y
2
−
y
1
=
x
−
x
1
x
2
−
x
1
\frac{y-y_1}{y_2-y_1}=\frac{x-x_1}{x_2-x_1}
y2−y1y−y1=x2−x1x−x1
即为直线L的两点式方程。
区别的对象 | 两者的区别 |
---|---|
几何理论 | 广泛的表示n维欧式空间内所有的两个点连成的直线,它能够表达二维平面上的任何直线。 |
初中数学 | 是一个直观的几何对象,二维坐标系(平面)中求解的直线方程,是初中生在二维空间了解直线的起点。两点式方程不能用来表示坐标轴或与坐标轴平行的直线。 |
3.凸集是什么? 直线是凸集吗?是仿射集吗?
在凸几何中,凸集(convex set)是在凸组合下闭合的仿射空间的子集。更具体地说,在欧氏空间中,凸集是对于集合内的每一对点,连接该对点的直线段上的每个点也在该集合内。例如,立方体是凸集,但是任何中空的或具有凹痕的例如月牙形都不是凸集。
在一维空间中,凸集是单点或一条不间断的线,所以直线是凸集。
仿射集亦称仿射流形、线性流形、仿射簇,是实线性空间中的一类子集。
仿射集是指欧氏空间Rn 中具有以下性质的点集 M :对任意
x
,
y
∈
M
x,y\in M
x,y∈M,以及任意实数λ ,总有
(
1
−
λ
)
x
+
λ
y
∈
M
(1 - λ)x+λy\in M
(1−λ)x+λy∈M。不难证明,包含原点的仿射集 M 是Rn的子空间,反之亦然。此外,可以证明,对于不含原点的非空仿射集 M ,必有唯一的子空间 L 以及
a
∈
R
n
a\in R^n
a∈Rn使
M
=
L
+
a
:
=
{
x
+
a
∣
x
∈
L
}
M=L+a:= \lbrace x+a|x\in L \rbrace
M=L+a:={x+a∣x∈L}。
非空间射集 M 的维数定义为上述子空间 L 的维数。空集的维数定义为-1。维数分别为0、1,以及2的仿射集为点、直线和平面。Rn中n-1维点仿射集称为超平面。
根据仿射集定义,当维数为1时,仿射集为直线。
4.三维空间中的一个平面,如何表达?
平面的法向量为:
n
⃗
=
(
a
,
b
,
c
)
T
\vec{n}=(a,b,c)^T
n
=(a,b,c)T
平面的一个已知点:
P
=
(
x
0
,
y
0
,
c
0
)
T
P =(x_0,y_0,c_0)^T
P=(x0,y0,c0)T
平面方程为:
a
x
+
b
y
+
c
z
−
(
a
x
0
+
b
y
0
+
c
z
0
)
=
0
ax+by+cz-(ax_0+by_0+cz_0)=0
ax+by+cz−(ax0+by0+cz0)=0
另一种写法为:
a
x
+
b
y
+
c
z
+
d
=
0
ax+by+cz+d = 0
ax+by+cz+d=0
5.更高维度的“超平面”,如何表达?
6.什么是“凸函数”定义?什么是Hessian Matrix 矩阵? 如何判别一个函数是凸函数?f(x)=x^3 函数是凸函数吗?
设f(x)在区间I上有定义,f(x)在区间I称为凸函数当且仅当:
∀
x
1
,
x
2
∈
I
,
\forall x_1,x_2\in I,
∀x1,x2∈I,有
f
[
(
x
1
+
x
2
)
2
]
≥
f
(
x
1
)
+
f
(
x
2
)
2
f[\frac {(x_1+x_2)}{2}]\geq \frac {f(x_1)+f(x_2)}{2}
f[2(x1+x2)]≥2f(x1)+f(x2)
∀
x
1
,
x
2
,
.
.
.
x
n
∈
I
\forall x_1,x_2,...x_n\in I
∀x1,x2,...xn∈I成立
Hessen矩阵是是一个多元函数的二阶偏导数构成的方阵,描述了函数的局部曲率,利用黑塞矩阵可判定多元函数的极值问题。
二元函数的黑塞矩阵
将上述展开式携程矩阵形式,则有:
多元函数的黑塞矩阵
(1)对于一元函数f(x),我们可以通过其二阶导数f′′(x) 的符号来判断。如果函数的二阶导数总是非负,即f′′(x)≥0 ,则f(x)是凸函数.
(2)对于多元函数f(X),我们可以通过其Hessian矩阵(Hessian矩阵是由多元函数的二阶导数组成的方阵)的正定性来判断。如果Hessian矩阵是半正定矩阵,则是f(X)凸函数。
根据一元函数如何判断该函数是否是凸函数,f’’(x)=6x,当x<0时,f’’(x)<0;当x>0时,f’’(x)>0,不满足函数的二阶导数总是非负,所以f(x)=x^3不是凸函数。
7.什么是“凸规划”?如何判别一个规划问题是凸规划问题。下例是凸规划问题吗?
1.判断f(x)是否为凸函数
2.判断不等式约束函数是否为凸函数
3.举例说明
判断下图是否为凸规划问题
推导过程如下:
则,该问题是凸规划问题。
参考资料
https://blog.csdn.net/iostreamhvoid/article/details/116307396
https://blog.csdn.net/qq_44830040/article/details/105667642