凸优化问题01:概述
凸优化问题01:概述
前言
最近在学习数据挖掘相关过程,之前已经学习了朴素贝叶斯和SVM,但没有及时记录下来,之后可能会补发相关的学习笔记,目前的学习系列是凸优化的学习内容,内容会比较详细,可能涉及公式推导之类的基础问题。
凸优化基础知识体系
在正式讲述什么是凸优化之前,我们需要大致了解一些凸优化的相关概念,进而引入凸优化,以下是几个重要相关概念的笔记:
一个简单的定理证明
定理证明
在介绍凸优化相关概念之前,首先介绍一个简单的定理,这个定理的内容是:
For any x1,x2, 且 x1<x2, 若x0,则
这个定理是很容易证明的,具体如下:
如图,该直线上有三个点:x0,x1和x2,其中x0位于x1和x2之间,引入一个参数 t:
t的范围即为[0,1]
从而得证。
从一维推导至多维
上述结论可以由一维推广到多维,具体来说:
For any X,Y, 其中 X = (x1, x2, …, xd), Y = (y1, y2, …,yd), 若任取一个Z 位于X, Y的连线上,则
凸集(convex sets)
凸集,定义目标函数和约束函数的定义域。
英文的准确表述为:
A set C is convex if the lines segment between any two points in C lines in C, i.e., if for any x1, x2, and any with 0<<1, we have:
举个例子来说:
(one convex, two nonconvex sets)
凸集(convex sets)与仿射集(Affine Set)区分
仿射集:如果通过集合 C 中任意两个不同点之间的直线仍在集合C中,那么称集合C是仿射的。
凸集:如果通过集合 C 中任意两个不同点之间的线段仍在集合C中,那么称集合C是凸的。
因为仿射集的条件比凸集的条件强,所以仿射集必然是凸集。
凸函数(convex function)
凸函数定义
函数f(x): RnR 为凸函数,当且仅当满足如下条件:
- x的定义域 D(f) 为凸;即for any x, y D(f),
- 对上述x, y, 满足 f(x+(1-)y) f(x)+ (1-) f(y)
凸函数举例
-
一维上
几何意义表示为函数任意两点连线上的值大于对应自变量处的函数值,示意图如下:
由图可以看出,f(z) = f(x+(1-)y) < f(x)+ (1-) f(y)
一维情况下,不严格的说,凸函数是弦在上的函数。 -
二维上
由图可以看出,f(x0) = f(x1+(1-)x2) < f(x1)+ (1-) f(x2)
凸优化
凸优化是约束优化的特殊形式(即要求定义域和目标函数均为凸函数)
其具体定义为:
A convex optimization problem is one of the form
where the function f0, ,fm: RnR are convex, i.e., satisfy
for all x, y Rn and all , R with = 1, , .