简单总结下我知道的几类能够快速得到globally optimal solutions的nonconvex optimization:
1. Geometric Programming
https:// stanford.edu/~boyd/pape rs/pdf/gp_tutorial.pdf
思路: 通过变量代换将nonconvex problem转化为convex problem。这个例子说明(non)convexity是coordinate dependent的。
2. Compressed Sensing
参考Donoho, Candes 和Tao的一系列发表在TIT上的文章。具体的我也不懂,就不乱说了。
3. Quadratically Constrained Quadratic Programming (inequality constraints数量小于等于2)
https:// web.iem.technion.ac.il/ images/user-files/becka/papers/13.pdf
思路: 考虑dual problem,证明strong duality。当inequality constraint数量为1的时候一个重要的特例是Trust region subproblem。
4. Large-scale Separate Nonconvex Optimization Problem
http://www. mit.edu/~dimitrib/Duali ty_Gap.pdf
思路: 通过Shapley-Folkman Theorem证明了当separate terms趋于无穷的时候,duality gap趋于0,因此可以通过求解dual problem来得到原问题的optimal solution。一个通信中重要的应用是
http://www. comm.utoronto.ca/~weiyu /01658226.pdf
5. Singular Value Decomposition及其应用
先来两个小例子热热身
(Principle component analysis)
令 的SVD为, 则第一个问题的最优解是
第二个问题的最优解是
在通信和信号处理里面非常重要的一类问题有下面的形式
其中 是matrix increasing且concave的, 是任意的Hermitian matrix. 注意到当 时,这个问题退化成上面的第3类问题。当 是一个任意的满足matrix increasing以及concave的函数时,我们可以对 做SVD: , 然后通过manifold optimization来刻画出unitary matrices 和 的结构,最后优化 .
这是目前想到的比较重要的几类,有空继续更新。
非凸优化本就该受到高度的关注,原因就如同上面“月光宝盒。。。”说的一样,现实问题中凸问题测度为0,绝大多数优化问题都是非凸的。所以我觉得问题应该是,为什么非凸优化现在才开始受到越来越多的关注。 凸优化与梯度方法紧密联系在一起,并不是因为梯度方法有多强,而是因为凸优化有多简单。其实优化的原理很简单,寻找关于最优解的信息,然后走向最优解。凸优化之所以简单,那就是每一个局部点的(负)梯度方向都指向最优解,因此求导就知道该往哪个方向走。而非凸、尤其是有大量局部极值的非凸优化问题,梯度与最优解不再有什么关系,最多是指向局部极值,因此梯度方法在有许多局部极值的非凸问题上不再有效。 上面有人讲了很多凸放松的例子,比如用L1范式代替L0、用nuclear norm代替rank等等,只有在很有限的范围下,这样的放松不会改变问题,更一般的情况,非凸问题进行凸放松,往往会改变原始问题。这是数学家最爱做的事,把不能解决的问题拉到能解决的范围。虽然优化变得好解了,然而离我们的目标可能更远了。 关于深度神经网络,似乎用梯度效果不错,是不是梯度方法就够了,可见最近ICML'17上的文章 “Failures of Gradient-Based Deep Learning“。 所以,优化是学习最重要的部分吗?我觉得不是,学习可以看作“表示+评价+优化”,优化只是学习的实施工具,泛化才是最关键的问题,如何设计更好的数据表示、更好的模型结构、更好的目标,以取得更好的泛化能力,是更需要考虑的问题。 然而,当我们只有梯度这一种实施工具的时候,表示得想着线性、模型要顾着简单、目标最好是凸的,削足适履,牺牲了设计机器学习系统的自由,失去了更多的可能性。 非凸优化的研究,是否是在凸优化的基础上继续往前走就可以解决,凸优化是否是非凸优化的基础,我感觉不会。两者是性质差别巨大,会搭积木也不是会盖大楼的基础,不同的问题需要有不同的方法。 顺便推销一下,其实有另一类优化方法——“非梯度优化”,更适合非凸优化问题。可见 https://www.zhihu.com/question/38677354/answer/151325951 这一类方法已显示出很好可用性,但还有很多富有挑战的问题有待研究。(打个广告)欢迎尝试非梯度优化python工具包 ZOOpt https://github.com/eyounx/ZOOpt 其中示例有非凸损失分类器学习、直接策略优化强化学习、L0范数稀疏回归直接求解等。梯度与非梯度的混合,可能更具潜质。 欢迎加入非梯度优化和学习的研究! for more possibilities! for freedom!
本站所有内容均为互联网搜索引擎提供的公开搜索信息,本站不存储任何数据与内容,任何内容与数据均与本站无关,如有需要请联系相关搜索引擎包括但不限于百度,google,bing,sogou 等
© 2025 tinynews.org All Rights Reserved. 百科问答小站 版权所有