瞎扯最优化【算法大神力作】
图:十二少摄于某山洞
前言:这篇是跟算法大神“不如再见”的约稿,相当不容易约到啊,因为大神很忙,百忙之中还能按时履约,真是非常不容易,还用visio画了插图,这认真负责的态度,真是让人感动。
字数:1650字
什么是最优化?
我们时时刻刻都会遇到最优化问题,比如买哪种颜色的衣服(穷)?选哪一个人耍朋友结婚(意淫)?这些都比较头疼,假如你需要在一万个美女中挑选一个,你更头疼,不过这也疼不过阿尔法狗,从数亿的棋局中找到最致命一招的蛋疼,单身狗可不能承受。
优化,优是“好”,“好”是一种预定的标准,“化”是一个过程,优化即是变“好”的过程;局部与全局,“局”是系统,是对象,“部”是其中一部分,“全”即全部、所有,局部就是系统的一部分或者一方面,全局就是整个系统或者对象,全局包含了局部。
局部优化就是将系统的一部分达到一个最好的状态,求出局部最优;全局优化就是整个系统达到最好的状态,求出全局最优,很显然全局优化比局部优化“好”。
有语文常识就可以理解上面的概念,而要理解下面的概念,还需要数学常识。
抽象上面的概念:局部、全局、优、化,对于计算机可实现的算法来说,全局一般是一个多维空间,这个多维空间并不一定是向量空间,它是抽象空间,包含所有的信息;局部是多维空间的一个子集,包含了一部分信息;优是一种预定的标准,即一种评判方法,这在算法中对应函数(如评价函数、适应函数、优劣函数、罚函数、置信函数等各种一看就知道是算出个好坏的函数),更通俗一点,优用来量化,即是打一个分数,而这个分数需要用函数来计算出来,因此优等价于分数,分数等价于函数,因此函数能知道当前系统或对象的“优”的程度。化就比较具体了,它是要实现寻找优的过程,也就是要实现具体的组织、查找、计算、比较等繁琐的事。现在比较好的寻优过程是并行寻找,即在多个子集(子局)中同时寻找,并进行迭代。
寻找最优的一般方法是坚持正确的方向(优的方向),一步一个脚印(反复迭代)。如下图,如果看不明白可以略过。
图1:坚持正确的方向、一步一个脚印
有了语文、数学常识,如果还有历史常识可以继续。
一般来说,我们认为美(漂亮)应该算是优,比较美是较优,很美是很优,那貂蝉属于何种优?特别优,至少应该是古今四最优之一,哈哈!但是从最优的理论(扯淡)角度来说,她也只是个局部最优,甚至是很局部的优,因为她没有评价优的函数,没有发现优的过程,她是偶然的优,她缺少选美的过程证明自己比其它妹纸优,直白一点,其实和村花差不多,村花是在一个小局里证明自己是局部最优,貂蝉妹子也不过是那一小片地儿里的局部最优,尽管她们的优的程度可能差距很大,但从最优化的过程来说,是一样的。但貂蝉的真实实力毕竟是相对最优(假设接近全局最优),这也说明全局最优的发现可以有其偶然性。但偶然毕竟不靠谱,寻找最优还得按科学方法,在这方面,比貂蝉妹子晚出生几十来年的晋武帝司马炎是行家,帝王掌握天下,这天下即是全局,各州县即是局部,先找局部最优,再在局部最优中寻找全局最优,这样得到的优,是必然的最优。司马炎禁止天下嫁娶,天下所有的女人进行层层选美,选择最靓的美女纳入后宫,谁敢说这不是最优,我跟他急!
历史局讲完了,生活常识还得有。
生活就太简单了,比如泡妹纸要去女生集中(局更大)的地方,吃着碗里的(局部)必须看着锅里的(全局);当了小官还想往上爬,因为还优得不够,没有一览众山小的惬意就不能休息;在拥堵的路段开车一定要走车最少的车道,因为你只需要自己越早通过拥堵路段(局部最优),没必要为所有人越早通过拥堵路段负责(全局最优);即使你有一千亿,你没有统治宇宙(全局最优)你还得像狗一样拼命。
最后,即使我们有了语文、数学、生活这些常识,如果没有一点哲学常识,我们依然会困惑。
直接看图吧。
图2:0-1宇宙图
每一个框都是一个局,可以看出,有全局、大局、二局、小局、局中局,每一个圈都是一种系统状态或系统对象,红色是优,有局部最优,有全局最优。局和优都是相对的,在于部和化的变化使其转化,如果没有图中的全局,那么图中的大局二局等都转化成为了各自的全局,局部最优也就成了全局最优。
好了,我们已经能从方法上掌控全局了。但在现实中,所有的局(系统)都是熵增的,也就是说系统会越来越复杂,如果你心向单纯(即你认为单纯是优),那毫无疑问,你的世界正在变坏;系统熵增不可逆,那只有改变优化方向并优化自己(即认为单纯是傻,并所谓的“成熟”起来),才会在“人-世界”的二元系统中相对变优。优化自己有很多方式,比如说整容、隆胸、学拍马屁、学说假话、八面玲珑、从容不迫、看小说、看文学、锻炼身体、装逼装酷、看兵法、看历史哲学、看宝典、看文献、看电影……,这些优化都或多或少可以让我们找到某一个局部优的解,但要到最优,比较难,因为最优在于人心深处,难以触摸、难以理解,因此生命不息,掌控全局的欲望不止,内心的最优化就不会停止,除非你度了“最优化”的劫。