原文地址:SVM - Understanding the math - convex-functions/ by Brandon Amos
感谢参与翻译同学:@程亚雄 && @张蒙 && @jozee
时间:2018年1月。
出处:http://blog.csdn.net/han_xiaoyang/article/details/70214565
声明:版权所有,转载请联系寒小阳 (hanxiaoyang.ml@gmail.com)并注明出
1.引言
这是SVM数学基础系列教程第5部分。现在我们来学习凸函数相关的知识。如果你没有读过之前的文章,建议从《第一部分》开始学习。
1.1 如何找到全局最小值
有一种简单的方法可以找到全局最小值:
- 找到所有的局部极小值
- 最小的局部极小值就是全局最小值
还有另一种方法就是研究需要极小化的目标函数。如果这个函数是凸函数,那么就可以确保该函数的局部极小值即是全局最小值
定理:凸函数的局部极小值就是全局最小值 (Proof page 9)
2.凸函数
2.1 什么是凸函数
判断凸函数的条件是函数上的任意两点之间的线段与函数没有交点。
然而,如果有交点,那么该函数就不是凸函数。
正如上图所示,函数两点之间的红色线段与函数曲线存在交点,这就意味着该函数是非凸函数。但是,请注意,上图中在某些特定的区间内,函数是满足凸函数条件,比如:区间[-1,+1]。
你可以在这里了解关于凸函数更加严谨的定义。但是当前最重要的是理解凸函数的局部极小值就是全局最小值。这有助于我们更加容易的求出凸函数的全局最小值。
通常,如果函数 −f 是凸函数,那么 f 就是凹函数。
原先对于凸函数的定义同样适用于凹函数。即函数上的任意两点之间的线段与函数没有交点,那么该函数为凹函数。。。
因此,数学家们给出了凸函数更加严格的定义:
凸函数判定条件修正为如果函数上镜图(epigraph)(函数曲线上的点和函数曲线上方所有的点的集合)是凸集,那么该函数就是凸函数
2.2 什么是凸集
在欧几里得空间中,凸集表示一个区域,区域内任意两个点之间的线段都包含在该区域内。(