@ShawnNg
2016-10-27T14:58:07.000000Z
字数 9452
阅读 4008
机器学习
数学基础
在机器学习中,我们会经常优化函数的值,给定函数,我们要寻找该函数的最小值。最小二乘法(least-squares)、逻辑斯蒂回归(logistic regression)和支持向量机(support vector machines)等模型优化都可以看做一个优化问题。
一般来说,寻找函数的全局最优比较困难,但是有一种优化问题叫凸优化(optimazation problems),我们可以在合理的时间内找到全局最优的结果。
以下是一个凸优化的简单介绍,如果有兴趣深入了解可以阅读书籍《Convex Optimization》[2]
凸优化中,凸集的定义如下:
定义2.1:集合C是凸的,如果对于所有的和有
所有的实数集空间:
证明:当时,很明显,
非负象限:
证明:当时,
标准化的球(Norm balls):标准球面定义为。
证明:当时,
仿射面(Affine subspaces):给定一个矩阵和向量,仿射面定义为,
证明:当时,有
多面体(polyhedra):给定一个矩阵和向量,多面体定义为。
证明:当时,有
凸集的交集:当是凸集时,是一个凸集。但是要记住凸集的并集通常不是一个凸集。
半正定矩阵:半正定矩阵的定义是时,。正定矩阵用符号表示,是一个凸集。
证明:当时,有
凸函数,是凸优化中一个重要的概念。
定义3.1:函数是凸函数,如果函数的定义域是一个凸集,并且对于所有的和,都有:
假设函数是处处可导的。是凸的,当且仅当是凸集,并且对于所有都有:
假设函数处处二阶可导。是凸的,当且仅当是凸集,并且其海塞矩阵(Hessian)是半正定的(即,对所有都有:
假设凸函数的基本定义为:
-sublevel set是比较重要的一种凸函数。给定一个凸函数,和一个实数,-sublevel set定义如下:
这里举一些凸函数的例子,先从单变量开始,然后推广到多变量。
凸优化问题可以看做是以下形式:
值得注意的是,凸函数一定小于等于0。因为是0-sublevel set,可行域是多个凸集的交点,所以可行域也是凸的。如果我们限制某些凸函数,这样可行域将不会是凸集,这样我们就不能保证能找到全局最优解。同时,我们要注意,只有仿射函数才可以是等式约束。我们可以把等式约束看做是两个不等式约束,,所以只有当即是凸集又是凹集的时候才是一个有效的约束。
将优化问题的最优值表示为或者是 ,它等于目标方程再可行域中的最小值:
首先,我们要定义两个概念,局部最优(locally optimal)和全局最优(globally optimal)。局部最优可以认为是一个可行解附近没有比自己有更低的目标值的解。而全局最优是所有可行解中目标值最低的解。具体我们可以定义为:
定义4.1 当是可行解,并且存在使得所有的可行解满足时,是局部最优解
定义4.2 当是可行解,并且对于所有都满足足时,是全局最优解。
在凸优化问题中,一个最关键的点就是对于一个凸优化问题,所有的局部最优解都是全局最优解。直观上凸优化确实就是这么一回事,但我们可以证明:
假设是局部最优解,而不是全局最优解,所以存在一个可行解使得。在局部最优解的定义中,不存在一个可行解并且,但是我们可以选出一个点:
因为各种原因,考虑一般凸规划问题的特定问题会更方便。对于这些特定问题,我们经常会设计一些可以解决大型问题并且十分高效的算法,因此你会看到这些特殊例子就是人们经常使用的凸优化技术。
线性规划(Linear Programming) 当目标方程和不等式约束是仿射函数时,我们说这是一个LP,线性规划问题。其形式如下:
二次规划(Quadratic Programming)
当不等式约束是仿射函数,但目标方程是凸的二次函数食,我们说这是一个二次规划问题。其形式如下:
平方约束的二次规划(Quadratically Constrained Quadratic Programming)
当目标方程和不等式约束都是凸的二次函数时,我们说这是一个平方约束的二次规划问题。其形式如下:
半定规划(Semidefinite Programming)
半定规划在机器学习中越来越常用,所以我们最好要弄懂它。半定规划有以下形式:
其实,二次规划是线性规划的一般形式,平方约束的二次规划又是二次规划的一般形式,然而半定规划是平方约束的二次规划的更一般形式。
在此之前,我们已经看到了凸优化中的大量的让人厌烦的数学和公式,接下来我们会进入最有趣的部分:使用这些技术去解决真正的问题。
- 支持向量机(Support Vector Machines,SVM)
凸优化在机器学习领域使用的最流行的其中一个应用就是SVM分类器。优化SVM分类器的算法可以描述为一个带有松弛变量的优化问题:
带约束的最小二乘法(Constrained least squares)
最小二乘法问题是在已知和。该问题虽然可以通过标准方程(normal equations)来求得解析解,但是假如我们对优化变量加入约束范围,形式如下:
求逻辑回归最大似然(Maximum Likelihood for Logistic Regression)
该模型的对数似然的形式如下:
我们可以使用一些现成的软件包来解决凸优化问题,这是一种快速构建模型的方式,但是这些现成的包的实现会比最好的实现要慢,所以假如你有需要用一个更快的实现时,你需要自己完整实现一个。