Advertisement

判断目标函数的凹凸性

阅读量:

1 梯度法

通过直接计算目标函数的值来确定其凸性。具体步骤包括对目标函数求一阶和二阶导数,并进而完成凸性判定。

凸函数的一阶充要条件

这里写图片描述

右侧为函数在x点处的一阶泰勒展开式。
该条件所表达的意思在于:对于定义域内的所有自变量取值,
函数值均大于或等于其一阶泰勒展开式的值。
具体来说,则可以通过图形直观地体现这一特性。

这里写图片描述

借助图形我们可以清晰理解这一充分必要条件。
具体而言,在应用中我们无法对每个点逐一求解其一阶导数。
因此下面这个充分必要条件的应用更具实用性。

凸函数的二阶充要条件

这里写图片描述

很容易证明,在某个区间内若某连续可微的二元实值标量场f(x,y)的二阶偏导数矩阵半正定,则该标量场是定义域内的凸函数。图形无需额外说明即可直观看出其性质变化规律,在此情况下该标量场的一阶偏导数值呈现递增趋势,则其在该点处必定满足凸性的基本要求。

通过暴力计算法,可以很快地判断函数是不是凸函数。凹函数同理。

2 结构分析法

通常情况下, 我们不需要直接计算就能通过对目标函数结构进行分析, 从而在某些特定条件下可以判断该函数是否为凸函数. 具体来说,

  1. 指数型的数学模型具有凸性特征;
  2. 自然对数属于凹型曲线,在取负后则呈现出典型的凸性特征;
  3. 对于一个已知的凸形曲线执行一次线性平移操作后得到的结果仍然是一个具有相同性质的新曲线;
  4. 在二次项系数为正的情况下,则对应的二次方程呈现开口向上的特性;
  5. 高斯分布的概率密度曲线属于凹型曲线;
  6. 多个不同类型的多个 convex 函数执行线性加权求和时(即权值非负),其总和也是一个 convex 的形状。

下面出一道题目:如何判断最大似然函数一定有最大值?

思路:为了求取最大值的目标达成目标,则所涉及的数学模型必须具备凹性特征。我们采用广为使用的对数似然方法作为示例,在其计算公式中由多个独立的自然对数项构成,并且每个项的权重均为1。在进一步分析时,请注意观察各组成部分是否存在嵌套关系。

机器学习中的最优化问题

在机器学习领域中广泛使用的各种算法往往都涉及建立最优化问题。识别目标函数是否为凸或凹属于初步步骤;仅作为最优化过程的基础条件存在;那么,在实际应用中我们通常会遇到哪些具体的最优化问题呢?

  • 线性规划
  • 二次规划
  • 二次约束的二次规划
  • 半正定规划

有哪些最优化的手段呢?常见的有:

  • 梯度上升(下降)法
  • 牛顿法 / 拟牛顿法
  • 坐标下降法

参考资料:

http://www.cnblogs.com/tornadomeet/p/3300132.html

转载地址:https://www.cnblogs.com/Allen-rg/p/6637181.html

转载于:https://www.cnblogs.com/AcceptedLin/p/9568063.html

全部评论 (0)

还没有任何评论哟~