-
當(dāng)前位置:首頁 > 創(chuàng)意學(xué)院 > 技術(shù) > 專題列表 > 正文
優(yōu)化算法有哪些應(yīng)用(優(yōu)化算法有哪些應(yīng)用場景)
大家好!今天讓創(chuàng)意嶺的小編來大家介紹下關(guān)于優(yōu)化算法有哪些應(yīng)用的問題,以下是小編對此問題的歸納整理,讓我們一起來看看吧。
開始之前先推薦一個(gè)非常厲害的Ai人工智能工具,一鍵生成原創(chuàng)文章、方案、文案、工作計(jì)劃、工作報(bào)告、論文、代碼、作文、做題和對話答疑等等
只需要輸入關(guān)鍵詞,就能返回你想要的內(nèi)容,越精準(zhǔn),寫出的就越詳細(xì),有微信小程序端、在線網(wǎng)頁版、PC客戶端
官網(wǎng):https://ai.de1919.com。
創(chuàng)意嶺作為行業(yè)內(nèi)優(yōu)秀的企業(yè),服務(wù)客戶遍布全球各地,如需了解SEO相關(guān)業(yè)務(wù)請撥打電話175-8598-2043,或添加微信:1454722008
本文目錄:
一、多目標(biāo)智能優(yōu)化算法及其應(yīng)用的序言
大多數(shù)工程和科學(xué)問題都是多目標(biāo)優(yōu)化問題,存在多個(gè)彼此沖突的目標(biāo),如何獲取這些問題的最優(yōu)解,一直都是學(xué)術(shù)界和工程界關(guān)注的焦點(diǎn)問題.與單目標(biāo)優(yōu)化問題不同,多目標(biāo)優(yōu)化的本質(zhì)在于,大多數(shù)情況下,某目標(biāo)的改善可能引起其他目標(biāo)性能的降低,同時(shí)使多個(gè)目標(biāo)均達(dá)到最優(yōu)是不可能的,只能在各目標(biāo)之間進(jìn)行協(xié)調(diào)權(quán)衡和折中處理,使所有目標(biāo)函數(shù)盡可能達(dá)到最優(yōu),而且問題的最優(yōu)解由數(shù)量眾多,甚至無窮大的Pareto最優(yōu)解組成。
智能優(yōu)化算法是一類通過模擬某一自然現(xiàn)象或過程而建立起來的優(yōu)化方法’這類算法包括進(jìn)化算法、粒子群算法、禁忌搜索、分散搜索、模擬退火、人工免疫系統(tǒng)和蟻群算法等。和傳統(tǒng)的數(shù)學(xué)規(guī)劃法相比,智能優(yōu)化算法更適合求解多目標(biāo)優(yōu)化問題。首先,大多數(shù)智能優(yōu)化算法能同時(shí)處理一組解,算法每運(yùn)行一次,能獲得多個(gè)有效解。其次,智能優(yōu)化算法對Pareto最優(yōu)前端的形狀和連續(xù)性不敏感,能很好地逼近非凸或不連續(xù)的最優(yōu)前端。目前,智能優(yōu)化算法作為一類啟發(fā)式搜索算法,已被成功應(yīng)用于多目標(biāo)優(yōu)化領(lǐng)域,出現(xiàn)了一些熱門的研究方向,如進(jìn)化多目標(biāo)優(yōu)化,同時(shí),多目標(biāo)智能優(yōu)化算法在電力系統(tǒng)、制造系統(tǒng)和控制系統(tǒng)等方面的應(yīng)用研究也取得了很大的進(jìn)展。
本書力圖全面總結(jié)作者和國內(nèi)外同行在多目標(biāo)智能優(yōu)化算法的理論與應(yīng)用方面所取得的一系列研究成果。全書包括兩部分,共8章。第一部分為第1-4主要介紹了各種多目標(biāo)智能優(yōu)化算法的理論。其中第1章為緒論,介紹各種智能優(yōu)化算法的基本思想和原理。第2章介紹多目標(biāo)進(jìn)化算法,主要描述多目標(biāo)進(jìn)化算法的基本原理、典型算法和各種進(jìn)化機(jī)制與策略,如混合策略、協(xié)同進(jìn)化和動(dòng)態(tài)進(jìn)化策略等。第3章介紹多目標(biāo)粒子群算法,包括基本原理、典型算法、混合算法和交互粒子群算法等。第4章描述除粒子群算法和進(jìn)化算法之外的其他多目標(biāo)智能優(yōu)化算法,主要介紹多目標(biāo)模擬退火算法、多目標(biāo)蟻群算法、多目標(biāo)免疫算法、多目標(biāo)差分進(jìn)化算法和多目標(biāo)分散搜索等。
第二部分為第5-8章,主要介紹了多目標(biāo)智能優(yōu)化算法的應(yīng)用’包括神經(jīng)網(wǎng)絡(luò)優(yōu)化、生產(chǎn)調(diào)度、交通與物流系統(tǒng)優(yōu)化、電力系統(tǒng)優(yōu)化及其他。第5章描述人工神經(jīng)網(wǎng)絡(luò)的多目標(biāo)優(yōu)化,主要包括Pareto進(jìn)化神經(jīng)網(wǎng)絡(luò)、徑向基神經(jīng)網(wǎng)絡(luò)、遞歸神經(jīng)網(wǎng)絡(luò)和模糊神經(jīng)網(wǎng)絡(luò)。第6章介紹交通與物流系統(tǒng)優(yōu)化,主要描述了智能優(yōu)化算法在物流配送、城市公交路線網(wǎng)絡(luò)和公共交通調(diào)度等方面的應(yīng)用。
二、求解原始問題和對偶問題常用的優(yōu)化算法有哪些
1. 支持向量機(jī)的目的是什么?
對于用于分類的支持向量機(jī)來說,給定一個(gè)包含正例和反例(正樣本點(diǎn)和負(fù)樣本點(diǎn))的樣本集合,支持向量機(jī)的目的是尋找一個(gè)超平面來對樣本進(jìn)行分割,把樣本中的正例和反例用超平面分開,但是不是簡單地分看,其原則是使正例和反例之間的間隔最大。
超平面是什么呢?簡單地說,超平面就是平面中的直線在高維空間中的推廣。那么,對于三維空間,超平面就是平面了。對于更高維的空間,我們只能用公式來表達(dá),而缺少直觀的圖形了。總之,在n維空間中的超平面是n-1維的。
超平面的公式為。公式中的w為可以調(diào)整的系數(shù)向量,b為bias。注意我們的表達(dá)習(xí)慣,所有的向量都是列向量,所以在第一項(xiàng)的內(nèi)積中向量w需要進(jìn)行轉(zhuǎn)置。
現(xiàn)在考慮樣本集合{xi,di},xi是輸入的特征,di是樣本對應(yīng)的分類?,F(xiàn)在規(guī)定當(dāng)樣本xi屬于第一類時(shí),di為1,當(dāng)xi屬于第二類時(shí),di為-1。
那么,線性可分的意思就是一個(gè)超平面可以把兩類樣本完全地分割開來。用公式表達(dá)就是:
你現(xiàn)在可能會(huì)問,那么如果不是線性可分的情況應(yīng)該怎么辦呢?事實(shí)是這些會(huì)在后面處理到。在這里我們首先討論線性可分的情況,然后將其拓展到線性不可分的情況.
現(xiàn)在假設(shè)對于線性可分的樣本集,我們有了一個(gè)分割超平面,現(xiàn)在我們想通過調(diào)整w0和b0讓它分割的正樣本和負(fù)樣本保持最大的間隔,這樣我們就獲得了最優(yōu)的超平面。實(shí)際上在操作過程中,我們最大化的是離超平面最近的點(diǎn)到超平面的距離。也就是說,我們要讓超平面盡量遠(yuǎn)離最近的點(diǎn)。從圖中可見超平面到正樣本最近點(diǎn)的距離和超平面到負(fù)樣本最近點(diǎn)的距離是相等的。這是個(gè)巧合么?
假設(shè)我們已經(jīng)找到了一個(gè)超平面,它離正樣本最近點(diǎn)的距離大于離負(fù)樣本最近點(diǎn)的距離,那么這個(gè)離超平面最近的點(diǎn)就是負(fù)樣本中的最近點(diǎn)。而考慮到我們的目標(biāo),我們還會(huì)調(diào)整超平面的位置使它還可以增大一些,即使這樣會(huì)犧牲離正樣本最近點(diǎn)的距離。所以調(diào)整到最后的結(jié)果肯定是超平面離兩側(cè)最近點(diǎn)的距離是等距的。
為了更形象地表現(xiàn)正負(fù)樣本的間隔,我們可以在分割超平面的兩側(cè)再定義兩個(gè)超平面H1和H2(如圖中虛線所示),這兩個(gè)超平面分別通過正樣本和負(fù)樣本中離分割超平面最近的樣本點(diǎn)(圖中加了外圈)。從以上分析可以知道,超平面H1和H2離分割超平面是等距的。
我們定義超平面H1和H2上面的點(diǎn)叫做支持向量。正負(fù)樣本的間隔可以定義為超平面H1和H2之間的間隔,它是分割超平面距最近正樣本點(diǎn)距離和最近負(fù)樣本點(diǎn)距離之和。
從圖中可以看出,支持向量對于分割超平面的位置是起到關(guān)鍵作用的。在優(yōu)化分割超平面位置之后,支持向量也顯露出來,而支持向量之后的樣本點(diǎn)則對分類并不關(guān)鍵。為什么這樣說呢?因?yàn)榧词拱阎С窒蛄恳酝獾臉颖军c(diǎn)全部刪除,再找到最優(yōu)的分割超平面,這個(gè)超平面的位置跟原先的分割超平面的位置也是一樣的??偨Y(jié)起來就是:
支持向量包含著重構(gòu)分割超平面所需要的全部信息!
2. 樣本點(diǎn)到超平面距離的表示
如何求一點(diǎn)到超平面的距離呢?
現(xiàn)在我們來看看系數(shù)向量w0是什么含義?回憶一下,w0實(shí)際上是超平面的法向量!
那么,對于任意一個(gè)樣本點(diǎn)x,它可以表示為:
其中xp是x在超平面上的投影,r是x到超平面的幾何距離(幾何間隔)。
設(shè) ,
現(xiàn)在由定義有g(shù)(xp)為0,則有。
現(xiàn)在我們開看,g(x)實(shí)際上度量了樣本點(diǎn)x到超平面的距離,在||w0||恒定的情況下,g(x)絕對值的大小反映了幾何間隔r的大小。我們給g(x)起個(gè)名字叫做函數(shù)間隔。注意幾何間隔r和函數(shù)間隔g(x)都是有正負(fù)號(hào)的,代表著處于超平面的不同側(cè)。
3. 最大化間隔
我們已經(jīng)知道了函數(shù)間隔和幾何間隔的表示,現(xiàn)在回到正題,我們需要最大化支持向量到分割超平面的距離,當(dāng)然在最開始我們不知道哪些向量是支持向量。
我們的目的是最大化支持向量到分割超平面的幾何間隔r,而不是最大化函數(shù)間隔g(x),為什么呢?因?yàn)槌矫娣匠痰南禂?shù)可以同比例增大或者減小,而不改變超平面本身。所以||w0||是不固定的,這就會(huì)影響函數(shù)間隔g(x)的大小。
所以我們需要最大化的是幾何間隔r,這等價(jià)于我們固定||w0||,然后最大化函數(shù)間隔g(x)。但是實(shí)際上我們不會(huì)這么做,通常的處理方法是固定函數(shù)間隔g(x)的絕對值為1,然后最小化||w0||。也就是說我們把支持向量到分割超平面的函數(shù)間隔g(x)的絕對值設(shè)定為1,然后最小化||w0||。
4. 正式的表述
現(xiàn)在我們可以正式地表述這個(gè)問題了。我們需要最小化||w0||,也就是最小化超平面權(quán)重向量w0的歐幾里得范數(shù)。但是有沒有限定條件呢?還記得上一節(jié)最后一句話么?
“也就是說我們把支持向量到分割超平面的函數(shù)間隔g(x)設(shè)定為1,然后最小化||w0||”
所以最小化||w0||是有限定條件的,如何表述限制條件呢?我們把支持向量對應(yīng)的g(x)定為+1或者-1(取決于支持向量處于分割超平面的哪一側(cè),也就是說是正樣本還是負(fù)樣本),也就表明了對于所有的正樣本點(diǎn)來說,g(x)是>=+1的,而對于負(fù)樣本來說,g(x)是<=-1的。
回想g(x)的定義:
,
我們可以把限制條件寫下來:
現(xiàn)在我們可以把上面的問題寫的更簡練:
目標(biāo)函數(shù):
限制:
1/2是為了以后計(jì)算方便所加的,N是樣本點(diǎn)的個(gè)數(shù)。
現(xiàn)在我們的第一個(gè)任務(wù)結(jié)束了,我們把要尋找最優(yōu)的分割超平面的問題轉(zhuǎn)化為帶有一系列不等式約束的優(yōu)化問題。這個(gè)最優(yōu)化問題被稱作原問題。我們不會(huì)直接解它,而是把它轉(zhuǎn)化為對偶問題進(jìn)行解決。至于如何將其轉(zhuǎn)化為對偶問題,這是以后幾節(jié)的內(nèi)容。
等式約束極小的最優(yōu)性條件
對支持向量機(jī)的求解都是將上節(jié)說的原問題轉(zhuǎn)化為對偶問題進(jìn)行求解的,這些內(nèi)容都是最優(yōu)化課程中的內(nèi)容。
回憶上節(jié)的內(nèi)容,我們的目標(biāo)是尋找函數(shù)在若干約束條件下的最小值。在上節(jié)的原問題中,約束條件是包含不等式的,本節(jié)先考慮簡單的問題,即考慮只包含等式約束的最優(yōu)化問題:
(1)
其中f(x)被稱作目標(biāo)函數(shù),而下面是一系列的等式約束。回想一下,當(dāng)沒有任何約束存在的時(shí)候,應(yīng)該怎樣尋找最優(yōu)點(diǎn)呢?事實(shí)上x*是最優(yōu)點(diǎn)的必要條件是:
而如果函數(shù)f(x)是凸函數(shù)的話,這個(gè)條件也是充分條件。
插入一個(gè)說明,如果函數(shù)f(x)是一個(gè)實(shí)值函數(shù),x是一個(gè)n維向量,那么f(x)對向量x的導(dǎo)數(shù)被定義為:
回到目前的問題,當(dāng)我們尋找約束存在時(shí)的最優(yōu)點(diǎn)的時(shí)候,約束的存在雖然減小了需要搜尋的范圍,但是卻使問題變得更加復(fù)雜。為了使問題變得易于處理,我們的方法是把目標(biāo)函數(shù)和約束全部融入一個(gè)新的函數(shù),即拉格朗日函數(shù),再通過這個(gè)函數(shù)來尋找最優(yōu)點(diǎn)。
為了形象化地分析這個(gè)問題,我們考慮目標(biāo)函數(shù)是三變量的函數(shù)并且只有一個(gè)約束的情況:
(2)
從幾何上來看,上面的問題(2)就是從曲面上來尋找函數(shù)的最小值。假設(shè)問題(2)的最優(yōu)解是。我們現(xiàn)在做曲面Ω上任一條通過點(diǎn)x的光滑曲線l:(由于曲線l是在曲面Ω上的,所以自然有)。
令最優(yōu)點(diǎn)對應(yīng)的t為t*。因?yàn)閤*是曲面Ω上的最優(yōu)點(diǎn),所以x*也是曲線l上的最優(yōu)點(diǎn),所以t*是一元函數(shù)的最優(yōu)點(diǎn),所以在這一點(diǎn)它的導(dǎo)數(shù)是0。通過鏈?zhǔn)椒▌t我們得到:
這個(gè)式子說明了在x*這一點(diǎn),函數(shù)的梯度向量 和曲線l在x*處的切線是垂直的。由于曲線l是任意的,所以梯度向量和曲面Ω是垂直的。
回憶高等數(shù)學(xué)的結(jié)論,的方向就是曲面Ω的法線方向,所以和必然在同一直線的方向上,所以必定存在一個(gè)常數(shù)μ*,有。
我們可以把它寫成更加精煉的形式。如果我們構(gòu)造二元函數(shù),上面的結(jié)論就可以表達(dá)為必定存在著常數(shù)μ*,使。
我們把構(gòu)造的函數(shù)稱作拉格朗日函數(shù),而其中的μ稱作拉格朗日乘子。
關(guān)于只有等式約束的拉格朗日函數(shù)的引入,也可以參考維基百科中的兩個(gè)變量函數(shù)的例子。
以上是一個(gè)特殊情形的分析,并且只包含了一個(gè)約束。那么包含等式約束的一般情況,也就是問題(1)來說,我們同樣可以構(gòu)造拉格朗日函數(shù),不過由于包括多個(gè)等式約束,表達(dá)稍微不同:
。
也就是說,每一個(gè)等式約束都對應(yīng)著一個(gè)拉格朗日乘子。那么x*是最優(yōu)點(diǎn)的必要條件就是,存在相應(yīng)的拉格朗日乘子μ*,使得以下兩個(gè)式子成立:
(實(shí)際上就是原問題(1)的約束條件換了種寫法)
這兩個(gè)式子就是最優(yōu)點(diǎn)的必要條件,當(dāng)然如果函數(shù)是凸函數(shù)的話,這兩個(gè)式子也是充分條件。
現(xiàn)在我們的目標(biāo)達(dá)到了,也就是把目標(biāo)函數(shù)和一系列的等值約束融合到了一個(gè)函數(shù)(拉格朗日函數(shù))里面,這樣只需要解(3)和(4)這兩個(gè)式子就可以找到最優(yōu)點(diǎn),其優(yōu)點(diǎn)是不言而喻的。而在下一節(jié)中我們將會(huì)討論包含不等式約束的最優(yōu)化問題。
尋找最優(yōu)值的下界
我們首先要引入包含不等式約束的優(yōu)化問題,標(biāo)準(zhǔn)形式如下:
(1)
f(x)是目標(biāo)函數(shù),而后面分別是一系列的不等式約束和等式約束。
我們首先明確幾個(gè)概念:
可行點(diǎn)(可行解):所有滿足約束的點(diǎn)x。
可行域:所有可行點(diǎn)組成的點(diǎn)集,記為R。正式寫出來就是:
最優(yōu)點(diǎn)(最優(yōu)解):滿足約束(也就是處于可行域之內(nèi))并且使目標(biāo)函數(shù)達(dá)到最小的點(diǎn),記為x*。
最優(yōu)值:如果找到了x*,p* = f(x*) 就是最優(yōu)值。
明確了這些概念以后我們就接著說下面的內(nèi)容了。
與上節(jié)所說的只包含等式約束的情況類似,我們定義拉格朗日函數(shù)如下:
我們來看看,這與上節(jié)的拉格朗日函數(shù)有什么不同?多了一系列的不等式約束對應(yīng)的項(xiàng),所以也多了一系列的拉格朗日乘子。在這里需要強(qiáng)調(diào)的是,所有的λi必須是大于等于0的(也即是不等式約束對應(yīng)的乘子要求大于等于0,我們記為λ≥0,意思是每個(gè)都λi≥0)。至于為什么要這樣要求,后面自然可以看出來。
接下來我們定義一個(gè)重要的函數(shù),我們定義拉格郎日對偶函數(shù)(the Lagrange dual function)如下:
(2)
所以拉格朗日對偶函數(shù)就是把看成x的函數(shù)所找到的最小值。找到這個(gè)最小值有什么意義呢?
我們先把結(jié)論寫下來,這個(gè)結(jié)論十分重要,是本節(jié)論述的目的:
對偶函數(shù)產(chǎn)生了原問題(1)最優(yōu)值p*的一個(gè)下界,也就是說,對于任意的λ≥0和任意的μ來說,有:
(3)
那么如何證明(3)呢?
這個(gè)證明步驟十分簡潔。假設(shè)x*是原問題(1)中的最優(yōu)解,也就是f(x*) = p*。
最后兩行的推導(dǎo)是考慮到x*是在可行域R內(nèi)的,所以肯定有,當(dāng)然前提是λ≥0,這也就是為什么在一開始要做這個(gè)規(guī)定的原因了。
我們?nèi)绾卫斫膺@個(gè)不等式(3)呢?下面給出兩個(gè)直觀的解釋:
解釋一:線性逼近的解釋
我們首先重寫問題(1),就是把問題(1)換個(gè)更加緊湊的方式來表達(dá),首先我們定義示性函數(shù):
同樣我們也可以定義另外一個(gè)示性函數(shù):
有了這兩個(gè)示性函數(shù)的幫助,現(xiàn)在我們可以把問題(1)重新寫成一個(gè)沒有約束的形式:
(4)
我們來看看這個(gè)優(yōu)化問題(4)和問題(1)是等價(jià)的么?我們可以把(4)的后面兩大項(xiàng)看做是對違反約束條件的x的懲罰函數(shù)。起的作用是對違反不等式約束的x進(jìn)行“無限的”懲罰,也就一旦,懲罰就等于無窮大。而起的作用是對違反等式約束的x進(jìn)行懲罰,一旦,懲罰就為無窮大。這樣對(4)中目標(biāo)函數(shù)的優(yōu)化跟對(1)中目標(biāo)函數(shù)在約束條件下的優(yōu)化就是同一回事,是不是?也就是說,(1)和(4)這兩個(gè)問題是等價(jià)的問題,但是在(4)中約束被融合到目標(biāo)函數(shù)中來了。
現(xiàn)在我們再回頭看看(2),也就是拉格朗日對偶函數(shù),它也是個(gè)優(yōu)化問題,我們對比它所優(yōu)化的函數(shù)和(4)中所優(yōu)化的函數(shù),把它們重寫在一起:
(2)中的目標(biāo)函數(shù)
(4)中的目標(biāo)函數(shù)
可見在問題(2)和問題(4)中,我們優(yōu)化的目標(biāo)函數(shù)區(qū)別在于懲罰項(xiàng)不同,(4)中的懲罰項(xiàng)是無限的,就是說一旦違反約束,就施加無窮大的懲罰;而在(2)中我們的懲罰項(xiàng)是線性的,就是說隨著gi(x)和hi(x)的不同,懲罰項(xiàng)是線性變化的。所以(2)和(4)中需要優(yōu)化的目標(biāo)函數(shù)有很大的不同,用(2)來逼近(4)是很不準(zhǔn)確的。但是我們可以看出,對于任意的u,任意的λ≥0和任意的μ來說都有:
(我們把λ限制為大于等于0了)
所以在任意點(diǎn),(2)中的目標(biāo)函數(shù)的值都是小于(4)中的目標(biāo)函數(shù)的值,所以(2)中找到的最優(yōu)值肯定是小于(4)中找到的最優(yōu)值的。再結(jié)合前面說的(1)和(4)是等價(jià)的問題,所以不等式(3)是成立的。
解釋二:交換max和min的次序
我們首先可以看出:
為什么會(huì)有這個(gè)結(jié)果呢?當(dāng)x滿足約束的時(shí)候,也就是對所有的i來說有并且,如果我們想通過調(diào)整λ和μ讓變大怎么辦呢?只有讓λ全部為0(注意λ只能大于等于0),這樣就消去了小于0的項(xiàng),至于,無論μ怎么變都是沒有影響的。所以當(dāng)x屬于可行域的時(shí)候上式的結(jié)果是f(x)。如果x違反了約束呢?在做sup運(yùn)算的時(shí)候只需要對滿足和的項(xiàng)對應(yīng)的乘子定為+∞,而把其他的項(xiàng)對應(yīng)的乘子設(shè)為0,就可以讓整個(gè)式子的結(jié)果變?yōu)闊o窮大。
所以我們可以看出來,在問題(1)中的帶約束的優(yōu)化問題和直接優(yōu)化是一回事,也就是說:
現(xiàn)在我們把inf和sup兩個(gè)運(yùn)算符調(diào)換次序,顯然有:
我們重寫(2)式:
(2)
可以看出結(jié)論了,也就是λ≥0時(shí)(3)式成立:
(3)
好了,費(fèi)了半天的勁我們說明了一個(gè)問題,就是不等式(3)是怎么來的。
總結(jié)一下,不等式(3)用文字?jǐn)⑹鼍褪牵?/p>
如果我們把拉格朗日函數(shù)看做是x的函數(shù),然后取下確界(注意:是在整個(gè)定義域里取下確界,而不是僅僅在可行域里取值,也就是說取下確界時(shí)對x是沒有約束的),那么得到的結(jié)果就是原優(yōu)化問題(1)的最優(yōu)值的一個(gè)下界。
至于我們得到這個(gè)結(jié)果有什么用,下節(jié)再說。
對偶問題
回憶上一節(jié),對如下的原問題:
(1)
我們定義了拉格朗日對偶函數(shù):
然后我們證明了:,其中p*是原問題的最優(yōu)值。
也就是說我們找到了原問題最優(yōu)值的一個(gè)下界。既然我們找到了一個(gè)下界,顯然我們要找到它最好的下界。什么是最好的下界的?顯然就是所有下界當(dāng)中最大的那一個(gè)。所以我們要把最大化,當(dāng)然我們還要記得我們需要限制。我們把要優(yōu)化的函數(shù)和約束條件正式寫下來就是:
(2)
與原問題(1)相對應(yīng),我們把上面的問題(2)稱作拉格朗日對偶問題(Lagrange dual problem)。顯然,對偶問題的最優(yōu)值d*就是我們可以獲得的p*的最優(yōu)下界,也就是所有下界中離p*最近的一個(gè),它們的關(guān)系是:
(3)
我們把這個(gè)不等式叫做弱對偶性質(zhì)(Weak Duality)。
順其自然,我們可以引出一個(gè)重要的概念,對偶間隙,其定義為,用文字?jǐn)⑹鼍褪窃瓎栴}的最優(yōu)值與通過拉個(gè)郎日對偶函數(shù)獲得的其最好(最大)的下界之差。由不等式(3)可以看出,對偶間隙肯定是大于等于0的。
那么有沒有可能在某種情況下,對偶間隙消失了呢?也就是說對偶問題的最優(yōu)值與原問題的最優(yōu)值相等了呢?
我們將要敘述一下Slater條件:
Slater條件:
存在x滿足:
Slater條件即是說存在x,使不等式約束中的“小于等于號(hào)”要嚴(yán)格取到“小于號(hào)”。
可以證明,對于凸優(yōu)化問題(關(guān)于凸優(yōu)化問題,請參考維基百科),如果Slater條件滿足了,則:
這種情況稱為強(qiáng)對偶性質(zhì)(Strong Duality)。
下面的問題是,如果對偶間隙消失了,會(huì)發(fā)生什么有趣的現(xiàn)象呢?
如果對偶間隙消失了,也就是說,如果對偶問題存在著最優(yōu)點(diǎn)λ*,μ*并且使其對應(yīng)的最優(yōu)值等于p*,這時(shí)會(huì)發(fā)生什么情況呢?還記得上一節(jié)我們證明的過程么:
(4)
在對偶間隙消失的情況下,中間所有的不等號(hào)都要變成等號(hào):
(5)
注意,(5)中的λ和μ都加了星號(hào),表示它們是對偶問題的最優(yōu)點(diǎn)。(5)中有兩個(gè)重要的等號(hào),已經(jīng)加了標(biāo)記。
我們能得出什么結(jié)論?
1 .我們先來看等號(hào)1:
它說明了原問題的最優(yōu)點(diǎn)x*是使取得最小值的點(diǎn)。
2. 我們再來看等號(hào)2:
它說明了:
由于我們限制了每一個(gè)λi≥0,所以上式中每一項(xiàng)都是非正的。這樣我們又可以得出結(jié)論:
(6)
等式(6)被稱作是互補(bǔ)性條件,我們可以把它換種寫法:
或者寫成它的等價(jià)形式(逆否命題):
也就是說,只要一個(gè)不為0,另一個(gè)就必為0!
互補(bǔ)性條件有著重要的意義。它說明了當(dāng)時(shí),x*是處于可行域的內(nèi)部的,這時(shí)不等式約束并不起作用,此時(shí);而的點(diǎn)肯定是可行域邊界的點(diǎn)()。也就是說只有積極約束才有不為0的對偶變量。而這在支持向量機(jī)中有著重要的意義?;叵朐诘谝还?jié)我們最后的結(jié)論,支持向量機(jī)尋找最大間隔超平面可以歸結(jié)為一個(gè)優(yōu)化問題:
目標(biāo)函數(shù):
限制:
那么哪些不等式約束對應(yīng)著不為0的對偶變量呢?顯然,只有當(dāng)時(shí),這個(gè)約束對應(yīng)的對偶變量才可能不為0,而意味著什么?意味著這個(gè)約束對應(yīng)的樣本點(diǎn)xi是支持向量!也就是說:
只有支持向量才對應(yīng)不為0的拉格朗日乘子!
三、優(yōu)化方法總結(jié)
神經(jīng)網(wǎng)絡(luò)模型中有多種優(yōu)化算法,優(yōu)化算法的作用用來優(yōu)化更新參數(shù)。
對于優(yōu)化算法而言,主要的框架如下。
參數(shù): 目標(biāo)函數(shù): 學(xué)習(xí)率 。
對于每個(gè)epoch t:
step1: 計(jì)算當(dāng)前梯度
step2: 計(jì)算動(dòng)量。
一階動(dòng)量:
二階動(dòng)量:
step3: 計(jì)算當(dāng)前時(shí)刻下降梯度
step4: 更新參數(shù)
對于不同的優(yōu)化算法而言,區(qū)別主要在于第一步和第二步。對于梯度的計(jì)算,一階動(dòng)量的計(jì)算,和二階動(dòng)量的計(jì)算存在差別。
三、四步的計(jì)算更新,各個(gè)算法之間都是相同的。
最常見的SGD
直接沒有step2,沒有引入動(dòng)量。
在實(shí)際的實(shí)現(xiàn)中,可能會(huì)對學(xué)習(xí)率 進(jìn)行改變,會(huì)使用衰減學(xué)習(xí)率。
SGD的缺點(diǎn)是 1 收斂速度慢,2 有可能會(huì)困在局部最優(yōu)解。
也就是SGD+ Momentum。這里引入了一階動(dòng)量。
從直觀理解就是加入了一個(gè)慣性,在坡度比較陡的地方,會(huì)有較大的慣性,這是下降的多。坡度平緩的地方,慣性較小,下降的會(huì)比較慢。
修改SGD中的一階動(dòng)量為
等式右邊有兩部分,加號(hào)左邊的部分為之前積累的下降方向,加號(hào)右邊為當(dāng)前的梯度。兩者的權(quán)重用參數(shù)來控制。
越大,說明下降的方向越依賴于以往的慣性??梢詼p少方向的突變。
NAG是:Nesterov Accelerated Gradient
這里是針對SGD會(huì)陷在局部最優(yōu)附近的缺點(diǎn)進(jìn)行改進(jìn)。
在前面針對收斂慢改,引進(jìn)一階動(dòng)量后,這里著眼于step1里的梯度計(jì)算。通常 會(huì)設(shè)的比較大,這就說明下降方向主要由歷史方向積累決定,那么在step1里,不看當(dāng)前的梯度,而是看下一步時(shí)刻的梯度。直觀理解為多看一步,計(jì)算下一步的梯度。
用下一個(gè)點(diǎn)的梯度下降方向,與歷史累積動(dòng)量結(jié)合,計(jì)算step2里的一階動(dòng)量。
計(jì)算公式如下
前面的優(yōu)化算法主要著眼于一階動(dòng)量的設(shè)計(jì),從AdaGrad開始,將引入二階動(dòng)量。參數(shù)的二階動(dòng)量在這里表示為當(dāng)前維度上,歷史積累的全部的梯度的平方和。
將step3里的公式修改一下順序,那前面的部分可以看成學(xué)習(xí)率。這里的分母是二階動(dòng)量。這里的學(xué)習(xí)率(包含二階動(dòng)量)會(huì)隨著二階動(dòng)量的積累而逐漸變化,這就是‘自適應(yīng)學(xué)習(xí)’。
宏觀來分析,這里參數(shù)更新時(shí),希望從少更新的維度多學(xué)習(xí),經(jīng)常更新的參數(shù)那里少學(xué)習(xí)一點(diǎn)。對于頻繁更新的的參數(shù),二階動(dòng)量迅速積累,會(huì)使的學(xué)習(xí)率降低,那么在同一次更新中,模型會(huì)學(xué)到比較少的內(nèi)容。而不頻繁更新的參數(shù),學(xué)習(xí)率會(huì)比較大,每次更新時(shí)學(xué)到的東西比較多。
Ada算法的缺點(diǎn)也很明顯,二階動(dòng)量是歷史梯度的積累,是個(gè)單調(diào)遞增的值,當(dāng)分母越來越大時(shí),整個(gè)的學(xué)習(xí)率會(huì)趨于0,會(huì)提前停止學(xué)習(xí)。
為了改進(jìn)AdaGrad中的二階動(dòng)量會(huì)不斷增加的缺點(diǎn),這里提出了一個(gè)時(shí)間窗口。計(jì)算二階動(dòng)量的時(shí)候只計(jì)算這個(gè)時(shí)間窗口內(nèi)的動(dòng)量。避免了二階動(dòng)量的持續(xù)積累。
二階動(dòng)量的計(jì)算公式如下
SGD-M 引入了一階動(dòng)量,AdaG 引入了二階動(dòng)量。
二者結(jié)合就是Adam,同時(shí)考慮一階動(dòng)量和二階動(dòng)量。
二者的計(jì)算公式如下:
回頭看最初的優(yōu)化框架,已經(jīng)分別在一階動(dòng)量和二階動(dòng)量做了研究。還剩下當(dāng)前的梯度可以進(jìn)行嘗試。參考前面的NAG,Nadam就是Adam+Nesterov。
在Adam的基礎(chǔ)上保持其他計(jì)算公式不變,更改當(dāng)前梯度的計(jì)算公式為
從前面的介紹可以看出,Adam系列的算法表面上更優(yōu)秀,針對原本的SGD的缺點(diǎn)做了各種改變。但是對于Adam算法,目前也存在著缺點(diǎn)。
其中一個(gè)很嚴(yán)重的問題是Adam算法有可能不收斂。因?yàn)槎A動(dòng)量取決于一段時(shí)間內(nèi)的梯度的積累。這段時(shí)間內(nèi)的數(shù)據(jù)如果有異常,會(huì)導(dǎo)致這個(gè)二階動(dòng)量極不穩(wěn)定。在學(xué)習(xí)的后期,學(xué)習(xí)率有可能不斷震蕩,導(dǎo)致整個(gè)模型無法收斂。
同時(shí)因?yàn)閯?dòng)量的引入,在學(xué)習(xí)的后期,存在可能使一步過大,錯(cuò)過最優(yōu)解。
綜上所述,雖然Adam看著很完美,但在實(shí)際應(yīng)用中還是存在著缺點(diǎn)。所以到底是各種優(yōu)化器要如何選擇,還是要取決于具體的情況和個(gè)人的調(diào)參經(jīng)驗(yàn)。
后續(xù)會(huì)逐漸更新個(gè)人的調(diào)參經(jīng)驗(yàn)。
[1] 一個(gè)框架看懂優(yōu)化算法之異同 SGD/AdaGrad/Adam
[2] Adam的兩宗罪
[3] 如何理解隨機(jī)梯度下降(Stochastic gradient descent,SGD)?
四、多目標(biāo)智能優(yōu)化算法及其應(yīng)用的目錄
《智能科學(xué)技術(shù)著作叢書》序
前言
第1章 緒論
1.1 進(jìn)化算法
1.1.1 進(jìn)化算法的基本框架
1.1.2 遺傳算法
1.1.3 進(jìn)化策略
1.1.4 進(jìn)化規(guī)劃
1.2 粒子群算法
1.2.1 標(biāo)準(zhǔn)粒子群算法
1.2.2 算法解析
1.3 蟻群算法
1.3.1 蟻群算法的基本思想
1.3.2 蟻群算法的實(shí)現(xiàn)過程
1.3.3 蟻群算法描述
1.3.4 蟻群優(yōu)化的特點(diǎn)
1.4 模擬退火算法122
1.4.1 模擬退火算法的基本原理
1.4.2 模擬退火算法描述
1.5 人工免疫系統(tǒng)
1.5.1 生物免疫系統(tǒng)
1.5.2 人工免疫系統(tǒng)
1.6 禁忌搜索
1.7 分散搜索
1.8 多目標(biāo)優(yōu)化基本概念
參考文獻(xiàn)
第2章 多目標(biāo)進(jìn)化算法
2.1 基本原理
2.1.1 MOEA模型
2.1.2 性能指標(biāo)與測試函數(shù)
2.2 典型多目標(biāo)進(jìn)化算法
2.2.1 VEGA、MOGA、NPGA和NSGA
2.2.2 SPEA和SPEA2
2.2.3 NSGA2
2.2.4 PAES
2.2.5 其他典型MOEA
2.3 多目標(biāo)混合進(jìn)化算法
2.3.1 多目標(biāo)遺傳局部搜索
2.3.2 J—MOGLS
2.3.3 M PAES
2.3.4 多目標(biāo)混沌進(jìn)化算法
2.4 協(xié)同多目標(biāo)進(jìn)化算法
2.5 動(dòng)態(tài)多目標(biāo)進(jìn)化算法
2.5.1 IMOEA
2.5.2 動(dòng)態(tài)MOEA(DMOEA)
2.6 并行多目標(biāo)進(jìn)化算法
2.6.1 并行多目標(biāo)進(jìn)化算法的基本原理
2.6.2 多分辨率多目標(biāo)遺傳算法
2.6.3 并行單前端遺傳算法
2.7 其他多目標(biāo)進(jìn)化算法
2.7.1 高維多目標(biāo)優(yōu)化的NSGA2改進(jìn)算法
2.7.2 動(dòng)態(tài)多目標(biāo)優(yōu)化的進(jìn)化算法
2.8 結(jié)論與展望
參考文獻(xiàn)
第3章 多目標(biāo)粒子群算法
3.1 基本原理
3.2 典型多目標(biāo)粒子群算法
3.2.1 CMOPSO
3.2.2 多目標(biāo)全面學(xué)習(xí)粒子群算法
3.2.3 Pareto檔案多目標(biāo)粒子群優(yōu)化
3.3 多目標(biāo)混合粒子群算法
3.3.1 模糊多目標(biāo)粒子群算法
3.3.2 基于分散搜索的多目標(biāo)混合粒子群算法
3.4 交互粒子群算法
3.5 結(jié)論
參考文獻(xiàn)
第4章 其他多目標(biāo)智能優(yōu)化算法
4.1 多目標(biāo)模擬退火算法
4.2 多目標(biāo)蟻群算法
4.2.1 連續(xù)優(yōu)化問題的多目標(biāo)蟻群算法
4.2.2 組合優(yōu)化問題的多目標(biāo)蟻群算法
4.3 多目標(biāo)免疫算法
4.4 多目標(biāo)差分進(jìn)化算法
4.5 多目標(biāo)分散搜索
4.6 結(jié)論
參考文獻(xiàn)
第5章 人工神經(jīng)網(wǎng)絡(luò)優(yōu)化
5.1 Pareto進(jìn)化神經(jīng)網(wǎng)絡(luò)
5.2 徑向基神經(jīng)網(wǎng)絡(luò)優(yōu)化與設(shè)計(jì)
5.3 遞歸神經(jīng)網(wǎng)絡(luò)優(yōu)化與設(shè)計(jì)
5.4 模糊神經(jīng)網(wǎng)絡(luò)多目標(biāo)優(yōu)化
5.5 結(jié)論
參考文獻(xiàn)
第6章 交通與物流系統(tǒng)優(yōu)化
6.1 物流配送路徑優(yōu)化
6.1.1 多目標(biāo)車輛路徑優(yōu)化
6.1.2 多目標(biāo)隨機(jī)車輛路徑優(yōu)化
6.2 城市公交路線網(wǎng)絡(luò)優(yōu)化
6.3 公共交通調(diào)度
6.3.1 概述
6.3.2 多目標(biāo)駕駛員調(diào)度
6.4 結(jié)論
參考文獻(xiàn)
第7章 多目標(biāo)生產(chǎn)調(diào)度
7.1 生產(chǎn)調(diào)度描述_
7.1.1 車間調(diào)度問題
7.1.2 間隙生產(chǎn)調(diào)度
7.1.3 動(dòng)態(tài)生產(chǎn)調(diào)度
7.1.4 批處理機(jī)調(diào)度和E/T調(diào)度
7.2 生產(chǎn)調(diào)度的表示方法
7.3 基于進(jìn)化算法的多目標(biāo)車間調(diào)度
7.3.1 多目標(biāo)流水車間調(diào)度
7.3.2 多目標(biāo)作業(yè)車間調(diào)度
7.4 基于進(jìn)化算法的多目標(biāo)模糊調(diào)度
7.4.1 模糊調(diào)度:Sakawa方法
7.4.2 模糊作業(yè)車間調(diào)度:cMEA方法
7.5 基于進(jìn)化算法的多目標(biāo)柔性調(diào)度
7.5.1 混合遺傳調(diào)度方法
7.5.2 混合遺傳算法
7.6 基于粒子群優(yōu)化的多目標(biāo)調(diào)度
7.6.1 基于粒子群優(yōu)化的多目標(biāo)作業(yè)車間調(diào)度
7.6.2 多目標(biāo)柔性調(diào)度的混合粒子群方法
7.7 多目標(biāo)隨機(jī)調(diào)度
7.8 結(jié)論與展望
參考文獻(xiàn)
第8章 電力系統(tǒng)優(yōu)化及其他
8.1 電力系統(tǒng)優(yōu)化
8.1.1 基于免疫算法的多目標(biāo)無功優(yōu)化
8.1.2 基于分層優(yōu)化的多目標(biāo)電網(wǎng)規(guī)劃
8.1.3 基于NSGA2及協(xié)同進(jìn)化的多目標(biāo)電網(wǎng)規(guī)劃
8.2 多播Qos路由優(yōu)化
8.3 單元制造系統(tǒng)設(shè)計(jì)
8.3.1 概述
8.3.2 基于禁忌搜索的多目標(biāo)單元構(gòu)造
8.3.3 基于并行禁忌搜索的多目標(biāo)單元構(gòu)造
8.4 自動(dòng)控制系統(tǒng)設(shè)計(jì)
8.4.1 概述
8.4.2 混合動(dòng)力學(xué)系統(tǒng)控制
8.4.3 魯棒PID控制器設(shè)計(jì)
8.5 結(jié)論
參考文獻(xiàn)
附錄 部分測試函數(shù)
……
以上就是關(guān)于優(yōu)化算法有哪些應(yīng)用相關(guān)問題的回答。希望能幫到你,如有更多相關(guān)問題,您也可以聯(lián)系我們的客服進(jìn)行咨詢,客服也會(huì)為您講解更多精彩的知識(shí)和內(nèi)容。
推薦閱讀:
怎樣刪除自動(dòng)優(yōu)化(怎樣刪除自動(dòng)優(yōu)化文件)
信息流優(yōu)化師發(fā)展路徑(信息流優(yōu)化師發(fā)展路徑有哪些)
抖音發(fā)來優(yōu)化建議(抖音發(fā)來優(yōu)化建議,怎么辦)
寫個(gè)論文降重網(wǎng)站(論文降重網(wǎng)站推薦)