【通俗理解】凸优化

640?wx_fmt=png

注:以下内容参考了Shu-Cherng Fang教授2009年在清华的夏季学期课程《Global Optimization with Applications》讲义。


今天介绍一点凸优化方面的知识~内容可能有点无聊,看懂了这篇文章,会对求极值和收敛有进一步理解,比如:

  1. 了解为什么向量机(SVM)等的推导中,求极值时可以把约束条件加在目标函数后面来变成一个无约束的优化问题。

  2. 理解EM算法(聚类,GMM等)为什么收敛。


之前文章有介绍过,一个算法有效至少要满足两个条件:1)极值存在,2)收敛。极值不存在说明模型无效,算法无意义。算法不能收敛意味着找不到极值,也没有价值。这两个问题凸优化都可以帮我们回答。


在开始之前,我们先来回顾一下支持向量机(SVM)的推导过程。

640?wx_fmt=jpeg

SVM的任务就是寻找这样一个超平面H把样本无误地分割成两部分,并且使H1和H2的距离最大。要找到这样的超平面,只需最大化间隔Margin,也就是最小化w^2。

640?wx_fmt=gif

然后直接告诉你:对于不等式约束的条件极值问题,可以用拉格朗日方法求解。而拉格朗日方程的构造规则是:用约束方程乘以非负的拉格朗日系数,然后再从目标函数中减去。于是得到拉格朗日方程如下:

640?wx_fmt=gif

为什么可以这样做?看完本文你就能理解了。



凸集合与凸函数:在前面一篇党给我智慧给我胆,梯度给我努力的方向中,已经说明了梯度的作用,并指出个人的行为都自觉或无意地顺着梯度方向。


这不难理解。如果让一个蒙上眼睛的人去山顶,他自然会选择海拔升高的方向行走。至于最后能不能到达,要看地形。要是一个土丘(凸函数)那没问题,如果要是连绵不断的群山(非凸函数),只能保证到达一个小山峰(极值),而这个不一定是所有山峰中最高的(最值)。


由于凸函数的极值点就是最值点,相对于非凸函数,我们更喜欢凸函数。这里不但要求目标函数是凸的,其定义的空间也必须是凸的集合。正如要求地形是凸的,能走的路构成的集合也必须是凸的。


凸凸凸,到底啥是凸集合,啥是凸函数???


凸集合:满足集合内任意两点的连线也在这个集合里的就是凸集合。凸集合有个有趣的separating性质,以二维空间为例,任意一点y不属于这个凸集合,则一定存在一条直线把这个点和凸集合分开。


凸函数:下面两个图画出了凸函数,也给出了凸函数的两个性质:

  1. 两点永远太高

  • 3
    点赞
  • 29
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值