为什么机器学习当中将很多函数定义为凸性的?
凸集->凸函数->凸优化.
当可以取得等号时,则函数是凸函数但不是严格凸的。无法取得等号的时候,则说明是严格凸函数。
为什么机器学习当中将很多函数定义为凸性的?
凸函数斜率是正的,单调不减,而凹函数为负,斜率在减少,所以当逆着斜率方向的时候,只有在损失函数为凸函数的时候损失才会降低。
数学——Lipschitz连续
Lipschitz连续如何理解
定义:Lipschitz连续,要求函数图像的曲线上任意两点连线的斜率一致有界,就是任意的斜率都小于同一个常数,这个常数就是Lipschitz常数。
从局部看:我们可以取两个充分接近的点,如果这个时候斜率的极限存在的话,这个斜率的极限就是这个点的导数。也就是说函数可导,又是Lipschitz连续,那么导数有界。反过来,如果可导函数,导数有界,可以推出函数Lipschitz连续。
从整体看:Lipschitz连续要求函数在无限的区间上不能有超过线性的增长,所以这些函数在无限区间上不是Lipschitz连续的。
非凸优化基石:Lipschitz Condition
凸优化中strongly convex和L-smooth(此处可以简单考虑成 Gradient Lipschitz)有什么应用?
粗暴一点的看的话:感觉就像,一上一下,强迫你的目标函数长得像一个二次函数.
如果梯度是L-Lipschitz的,就有了一个二次函数的上界:
如果是 [公式] -strongly convex的,就有了一个二次函数的下界:
由于被迫长成一个二次函数的样子,于是很多算法在 [公式] -strongly convex + Gradient L-Lipschiz下都有比较好的表现。
函数平滑smooth
平滑的定义是:
这个函数被称为β-smooth,实质上这个性质以看就与梯度有关。为什么定义这个概念呢?
实际上,在优化算法求解的过程当中,函数的梯度理论上会逐渐趋于0,因此,我们通过平滑这个概念就可以看出函数梯度的变化程度。