在《数值优化》中,我们根据问题是否有约束条件,会把问题拆分成无约束优化问题和带约束优化问题。 同时在数值优化中,我们的重点放在了数值上,我们介绍了很多实际的算法,然后需要通过编程来实际解决问题。 但是其实优化本身的思想,和它发展的源头,事实上远比我们想象的要早,尽管主要的潮流认为,优化学科在二战得以兴起。 对于凸优化,我们最容易产生的疑惑就是它与最优化(数值优化)有什么区别? 虽然它们俩本质上都是优化,但是凸优化的研究范围更窄,可以看出对“凸”的要求更高。
较长的凸包可以作为加强肋提高零件的强度和减小零件变形,另外可以利用凸包来获得与钣金基准平面不同高度的特征,桥状的凸包也可以作为卡扣对零件进行固定。 接着再次翻看Boyd的《凸优化》,突然发现貌似没有以前那么难了,很多概念能模模糊糊地看懂了。 本来我的课题是多目标优化,主要研究内容是将智能优化算法扩展到多目标优化领域。 涉及的优化算法主要是遗传算法,差分进化,粒子群算法等。 读的文献清一色地“鼓吹”智能优算优于传统的(基于梯度的)优化算法,如最速下降法,牛顿法,拟牛顿法等。 可以说,我跟传统的数学优化算法无缘,大家楚汉之界,泾渭分明。
凸速成: 9 向量优化
(1)凸集: 凸集的概念简单来说就是把集合中任意两点用线段连接起来,如果该 线段上的所有点仍属于这个集合,则该集合是凸的。 从图像上来看就 是没有“凹陷”的集合,示例如下图所示。 中 间不是凸集,因为把左上角和左下角的点相连,中间缺的那部分并不 在集合内。 同样的,我们可以证明这个函数的Hessian矩阵半正定,事实上,如果正则化项的系数大于0,它是严格正定的。 前面在将广义不等式和凸集的时候,我们讲过最小元和极小元的概念,这两个概念是不是已经忘得差不多啦!
由于凸优化的的目标函数是凸函数,Hessian矩阵半正定,因此不会出现鞍点,所以找到的梯度为0的点一定是极值点。 前面介绍的所有优化问题的目标函数都是标量(尽管约束可能会出现广义不等式),如果目标函数为向量怎么办呢? 前面的章节中我们介绍了广义的凸函数,同样也是基于锥定义的(实际上高维空间中“比大小”我们一般都需要通过锥来定义)。 注意这种带有广义不等式约束的凸优化问题与普通凸优化问题有着相同的性质,比如可行集为凸的,局部最优解就是全局最优解等。 显然,这些不等式约束都是线性的,因此定义的可行域是凸集,另外我们可以证明目标函数是凸函数,因此这是一个凸优化问题。 Boyd的《凸优化》分分为三部分:理论,应用和算法。
凸速成: 凹凸點打"倉頡"?
凸优化在机器学习,深度学习等人工智能与大数据相关的方向都有举足轻重的作用。 虽然现在很多实际的深度学习项目和课题中,多半不会直接利用上凸优化的知识,但学习凸优化有助于从一个更高的角度来思考相关的问题(当然了,这也是数学学科的一大优势了)。 而且事实上,在当今的算法工程师面试中,很多企业都会加入对面试者凸优化知识的考查。 相信很多相关专业的本科生和研究生,也修过学校的《凸优化》这一门课。 这一结论的意义在于,如果一组约束是线性不等式约束,则它定义的可行域是凸集。 在实际应用中,我们遇到的等式和不等式约束一般是线性的,因此非常幸运,它们定义的可行域是凸集。
这样的话原始矩阵A的性质就被破坏了,因此在数值上就不一定是一个值得提倡的方法了。 关于优化的实例我们之前说的不算多,这里给大家补几个例子来丰富这一节的内容。 凸速成 这里的每一个例子都有一些高阶的设计思想在,有些理解的话需要对高等代数有比较深刻的认识。 凸速成2023 不过即使没有理解也没有关系,用来看看优化可以做什么的,也足够了。
凸速成: hkcards 倉頡字典
随着时间的发展,到了二战的前后,其实出现了很多有趣的发展。 凸速成2023 很多发现其实体现在与优化紧密联系的运筹学中。 比方说1940年,Bellman发展了动态规划算法 (Dynamic Programming,DP)。
一是这门课比较精简,并不需要花太多时间在上面,学习起来比较有动力;二是因为 Ryan 是个非常好的老师,绝不是照本宣科那种。 尽管看上去非常年轻,但是非常循循善诱,讲课的功底非常好。 说实话,这么多年,我遇到过的能把数学课讲得深入浅出的,一个手都能数得过来。 其实如果不是专业研究运筹学或者优化理论,不太需要把整本书完整的看下来,也不需要去看太多专业的优化书籍。 究其原因在于,对于初学者来说,如此厚重的书有时却不一定友好,因为不知道哪些东西该跳过(或者可以跳过),只能硬着头皮从头看到尾,生怕错过了什么重要部分。 但书本身又太厚重,花费很多时间,结果才发现看了1/10,很容易坚持不下去。
凸速成: 理解凸优化
对于优化问题,有时候我们的参数比如 a_i,b_i 等都是不确定的,他们可能是在一定范围内属于某个集合,也可能是一个随机变量,这个时候就引入了鲁棒优化的概念。 拟凸函数跟凸函数有一些相似的性质,尤其是拟凸函数的任意下水平集都是凸集,因此很多时候对于拟凸问题,也可以用凸优化的一些方法有效解决。 看完之后,再看Boyd的图书,就畅通无阻了。 什么对偶理论,KKT条件,原本面目可憎,居然亲切起来。
繁體中文常用輸入法並無與中文破折號相對應按鍵。 倉頡輸入法「ZXAY」會得出一條em dash「—」(U+2014);速成輸入法中輸入「ZY」也可在候選字表中選擇同樣的符號。 虽然锥我们在《数值优化》里给出了定义,但是对于锥究竟是什么,我们这里还是需要多画一些图来做一些解释。
凸速成: Re: 凹凸點打"倉頡"?
之所以凸优化问题的定义要求目标函数是凸函数而且优化变量的可行域是凸集,是因为缺其中任何一个条件都不能保证局部最优解是全局最优解。 根据凸函数的定义,很容易证明该集合是一个凸集。 这个概念的用途在于我们需要确保优化问题中一些不等式约束条件定义的可行域是凸集,如果是凸函数构成的不等式,则是凸集。 在上图中可行域不是凸集,中间有断裂,目标函数还是凸函数。 在曲线的左边和右边各有一个最小值,不能保证局部最小值就是全局最小值。 可以很容易把这个例子推广到3维空间里的2元函数(曲面)。
在SIGAI之前的公众号文章“理解梯度下降法”中我们介绍了最优化的基本概念以及梯度下降法。 如果读者对目标函数,优化变量,可行域,等式约束,不等式约束,局部极小值,全局极小值的概念还不清楚,请先阅读那篇文章。 同时满足这两个限制条件的最优化问题称为凸优化问题,这类问题有一个非常好性质,那就是局部最优解一定是全局最优解。
凸速成: 理解凸优化
然后就在网上找了台湾国立交通大学的公开课,上面有美国北卡莱罗纳大学方述诚教授暑期课程线性规划,就像当年看陆吾生教授的课一样,感觉棒棒哒! 凸速成 方老师采用启发式教学,很多概念都会用几何的语言解释,学习的过程畅快淋漓。 上完课的收获就是,我感觉我自己智力还在线,内功已经修炼到一定程度,可以攻克凸优化这个大山了。 另外提一点,方老师开设的另外一门课《非线性规划》也是非常的好(还未看完)。 于是在网上寻找相关的视频教程,发现都是运筹学的相关课程,内容又乱又杂,良莠不齐,很是让人失望,几乎没有人讲得清晰透彻。
所以一个重要的思想就是:求解方程的根和优化函数的极小值,二者很多时候可以等价。 凸速成2023 这个思想在《数值优化》中也被多次提及过。 类似的方法也被Gauss-Seidel和Jacobi所利用(对,就是数值分析里面的那两种求解线性方程组的迭代法),它们是为了求解这样的一个问题。 如果一个局部最优解不是全局最优解,在它的任何邻域内还可以找到函数值比该点更小的点,这与该点是局部最优解矛盾。
凸速成: Re: 凹凸點打"倉頡"?
如胀形模、缩口模、扩口模、起伏成形模、翻边模、整形模等。 2、弯曲模:使板料毛坯或其他坯料沿着直线(弯曲线)产生弯曲变形,从而获得一定角度和形状的工件的模具。 W3C《中文排版需求書》規定,破折號可用兩條U+2014 — EM DASH(顯示如「——」)表示,也可用U+2E3A ⸺ TWO-EM DASH表示。 [3]前者為現時網上常用的方法,與後者相比更方便輸入。
- 而分體字如「前」、「花」等,則因為筆劃不相連而可分成字首、字身的部分,有些字更可細分出次字首和次字身。
- 1982年,朱邦復先生登報公開放棄倉頡輸入法專利權,不收取專利費免費開放給人使用,所以主流的中文作業系統都有內置倉頡輸入法。
- 由于凸优化的的目标函数是凸函数,Hessian矩阵半正定,因此不会出现鞍点,所以找到的梯度为0的点一定是极值点。
- 上图中优化变量的可行域是整个实数集,显然是凸集,目标函数不是凸函数,有两个局部最小值,这不能保证局部最小值就是全局最小值。
- 当然了这个算法就我自己看来算是很困难的,也是算法工程师面试必考的代码算法之一。
- 这个问题就是机器学习中的主成分分析,形式上可能不同地方写的不一样,这里给大家放一个我录的视频作为辅助理解。
- 不过课程后半段有个印度裔老师,说的英语我就听得不太懂。。
上图中优化变量的可行域是整个实数集,显然是凸集,目标函数不是凸函数,有两个局部最小值,这不能保证局部最小值就是全局最小值。 然而,古人云“天下大事,分久必合,合久必分”,近几年,多目标优化领域最新的研究方向就是将智能优化算法与传统的优化算法相结合。 在这个方向上,华人学者张青富提出的MOEA/D是典型代表,该算法的核心思想是将多目标优化问题通过权重向量转化为多个单目标优化问题,并同时求解。 但这里要注意的是这样的做法在有些时候是不推荐的。 如果说A是一个稀疏矩阵,那么一般来说M就会是一个稠密矩阵,因为A低秩的可能性比较大,所以A的零空间的秩就不会小。
凸速成: 9 向量优化
至于凸优化的应用,包络信号处理,图像处理,计算金融,控制,几何问题,试验设计等等。 学习完陆老师的课之后,就接触了凸优化领域相当著名的一本书,美国斯坦福大学Boyd教授(2017年当选中国工程院院士)所著的《Convex 凸速成 Optimization》。 凸速成2023 凸速成 怀着激动地心情翻开前几页,心情down到了谷底,这TM都讲的什么?
- 另外,Youtube上还有Boyd教授的上课视频作为补充(课程代号EE364A),虽然我认为他讲的课没有书写的好。
- 如果读者感兴趣,我们后面的公众号文章中会给出证明过程。
- 后来才知道,这本书是美国加州大学伯克利分校上课的教材,作者Laurent El Ghaoui确实了解学生学习的难度。
- 之後,朱邦復先生及助手沈紅蓮女仕一起改良「形意檢字法」,使之能應用在中文電腦上。
- 凸优化在机器学习,深度学习等人工智能与大数据相关的方向都有举足轻重的作用。
- 根据凸函数的定义,很容易证明该集合是一个凸集。
- 但是一个关键的地方在于空集,单点集也是凸集。
对于多元函数,如果它是凸函数,则其Hessian矩阵为半正定矩阵。 如果Hessian矩阵是正定的,则函数是严格凸函数。 這是倉頡字典,可查詢倉頡碼和速成碼,同時提供「三代倉頡」及「五代倉頡」的倉頡碼。 收錄19000餘字,當中約有8000個常用字配有拆碼圖解。 看 Boyd 的书以及看 Boyd 的视频都没坚持下来的我,竟然把这门课完整地看下来了。