凸集、凸函数/强凸函数的定义和性质

版权声明:站在巨人的肩膀上学习。 https://blog.csdn.net/zgcr654321/article/details/84894171

凸函数是机器学习中经常见到的一种形式。它具有许多良好的性质。

凸集:

如果一个集合C 被称为凸集,那么这个集合中的任意两点间的线段仍然包含在集合中。即:对于任意两个点 和任意一个处于[0,1]之间的实数θ,都有:

举例:

凸函数/强凸函数:

凸函数的定义域就是一个凸集。凸函数必须满足Jensen 不等式,即:

给定函数中任意两点x, y和任意一个处于[0,1]之间的实数θ。有

只要证明一个函数满足Jensen不等式,那么这个函数就是凸函数。

如果上式中没有等号,那么这个函数就是强凸函数。

另外,还有两种其他的方法证明凸函数:

一阶导数条件:

令x,y是函数f的任意两个点,只要下式成立:

那么f就是凸函数。

二阶导数条件:

令x是函数f的任意一点,只要下式成立:

那么f就是凸函数。

注意上面的两种方法都是充要条件。

举例:

f(x) = x2

凸函数/强凸函数的性质:

如果一个点是凸函数的局部最优值,那么这个点就是函数的全局最优值。如果这个函数是强凸函数,那么这个点是函数唯一的全局最优值。

证明:

当一个点x是凸函数的局部最优值时,它的导数为0 ,那么对于任意的点y,都有

当函数为强凸函数时,大于等于号将变为大于号。

这一点在机器学习时非常有用,当我们使用梯度下降方法找到一个局部最优值时,如果函数是凸函数,这个局部最优值就是全局最优值。

常见凸函数:

指数函数

幂函数,x∈R+,1≤a或者a≤0;

负对数函数-log(x);

负熵函数xlog(x)。

猜你喜欢

转载自blog.csdn.net/zgcr654321/article/details/84894171