-
當前位置:首頁 > 創(chuàng)意學院 > 技術 > 專題列表 > 正文
灰狼優(yōu)化算法改進策略(灰狼優(yōu)化算法應用)
大家好!今天讓創(chuàng)意嶺的小編來大家介紹下關于灰狼優(yōu)化算法改進策略的問題,以下是小編對此問題的歸納整理,讓我們一起來看看吧。
開始之前先推薦一個非常厲害的Ai人工智能工具,一鍵生成原創(chuàng)文章、方案、文案、工作計劃、工作報告、論文、代碼、作文、做題和對話答疑等等
只需要輸入關鍵詞,就能返回你想要的內(nèi)容,越精準,寫出的就越詳細,有微信小程序端、在線網(wǎng)頁版、PC客戶端
官網(wǎng):https://ai.de1919.com。
創(chuàng)意嶺作為行業(yè)內(nèi)優(yōu)秀的企業(yè),服務客戶遍布全球各地,如需了解SEO相關業(yè)務請撥打電話175-8598-2043,或添加微信:1454722008
本文目錄:
一、近端策略優(yōu)化算法(PPO)
首先我們回顧一下“策略梯度方法(PG)”和“信賴域策略優(yōu)化(TRPO)”。
1.策略梯度方法(PG)
策略梯度方法通過計算策略梯度的估計并利用隨機梯度上升算法來工作。 最常用的梯度估計形式為:
其中 為隨機策略, 是優(yōu)勢函數(shù)在時間步 的估計,在使用自動微分器時,我們的損失函數(shù)為:
2.信賴域策略優(yōu)化(TRPO)
要優(yōu)化的目標函數(shù)如下:
3.近端策略優(yōu)化算法(PPO)
PPO1:截斷替代目標
首先,我們令 ,所以 。 的替代目標為
上標 指的是 中的保守政策迭代,如果沒有約束,最大化 將會導致非常大幅度的梯度更新。為了懲罰策略的變化(即 遠離1,即新舊策略的KL 散度不能太大),提出了如下的目標
論文中 ,直觀示意圖如下
該算法的意思為:
當A>0時,如果 ,則 ;如果 ,則 ;
當A<0時,如果 ,則 ;如果 ,則 ;
PPO2:自適應KL懲罰系數(shù)
在 中,使用“自適應懲罰系數(shù) ” 來約束KL散度,在此算法的最簡單實例中,我們在每個策略更新中執(zhí)行以下步驟:
實驗中,PPO2的效果沒有PPO1的效果好
4.算法
其中 , 是系數(shù), 表示熵獎勵, 是平方誤差損失
優(yōu)勢估計函數(shù)為
另外,我們可以使用廣義優(yōu)勢函數(shù)來擴廣 ,當λ= 1時,它會趨近到等式(7)
使用固定長度軌跡段的近端策略優(yōu)化(PPO)算法如下所示。 每次迭代時,N個actor中的每個都收集T個時間步長的數(shù)據(jù)。 然后我們在這些NT時間步長的數(shù)據(jù)上構(gòu)建替代損失,并使用 minibatch SGD(或通常為了更好的性能,Adam )進行K個epochs的優(yōu)化。
二、優(yōu)化算法筆記(一)優(yōu)化算法的介紹
(以下描述,均不是學術用語,僅供大家快樂的閱讀)
我們常見常用的算法有排序算法,字符串遍歷算法,尋路算法等。這些算法都是為了解決特定的問題而被提出。
算法本質(zhì)是一種按照固定步驟執(zhí)行的過程。
優(yōu)化算法也是這樣一種過程,是一種根據(jù)概率按照固定步驟尋求問題的最優(yōu)解的過程。與常見的排序算法、尋路算法不同的是,優(yōu)化算法不具備等冪性,是一種 概率算法 。算法不斷的 迭代 執(zhí)行同一步驟直到結(jié)束,其流程如下圖。
等冪性即 對于同樣的輸入,輸出是相同的 。
比如圖1,對于給定的魚和給定的熊掌,我們在相同的條件下一定可以知道它們誰更重,當然,相同的條件是指魚和熊掌處于相同的重力作用下,且不用考慮水分流失的影響。在這些給定的條件下,我們(無論是誰)都將得出相同的結(jié)論,魚更重或者熊掌更重。我們可以認為,秤是一個等冪性的算法(工具)。
現(xiàn)在把問題變一變,問魚與熊掌你更愛哪個,那么現(xiàn)在,這個問題,每個人的答案可能不會一樣,魚與熊掌各有所愛。說明喜愛這個算法不是一個等冪性算法。當然你可能會問,哪個更重,和更喜歡哪個這兩個問題一個是客觀問題,一個是主觀問題,主觀問題沒有確切的答案的。當我們處理主觀問題時,也會將其轉(zhuǎn)換成客觀問題,比如給喜歡魚和喜歡熊掌的程度打個分,再去尋求答案,畢竟計算機沒有感情,只認0和1(量子計算機我不認識你)。
說完了等冪性,再來說什么是概率算法。簡單來說就是看臉、看人品、看運氣的算法。
有一場考試,考試的內(nèi)容全部取自課本,同時老師根據(jù)自己的經(jīng)驗給同學們劃了重點,但是因為試卷并不是該老師所出,也會有考試內(nèi)容不在重點之內(nèi),老師估計試卷中至少80%內(nèi)容都在重點中。學霸和學渣參加了考試,學霸為了考滿分所以無視重點,學渣為了pass,因此只看了重點。這樣做的結(jié)果一定是score(學霸)>=score(學渣)。
當重點跟上圖一樣的時候,所有的內(nèi)容都是重點的時候,學霸和學渣的學習策略變成了相同的策略,則score(學霸)=score(學渣)。但同時,學渣也要付出跟學霸相同的努力去學習這些內(nèi)容,學渣心里苦啊。
當課本如下圖時
學霸?學霸人呢,哪去了快來學習啊,不是說學習一時爽,一直學習一直爽嗎,快來啊,還等什么。
這時,如果重點內(nèi)容遠少于書本內(nèi)容時,學渣的學習策略有了優(yōu)勢——花費的時間和精力較少。但是同時,學渣的分數(shù)也是一個未知數(shù),可能得到80分也可能拿到100分,分數(shù)完全取決于重點內(nèi)容與題目的契合度,契合度越高,分數(shù)越高。對學渣來說,自己具體能考多少分無法由自己決定,但是好在能夠知道大概的分數(shù)范圍。
學霸的學習策略是一種遍歷性算法,他會遍歷、通讀全部內(nèi)容,以保證滿分。
學渣的學習策略則是一種概率算法,他只會遍歷、學習重點內(nèi)容,但至于這些重點是不是真重點他也不知道。
與遍歷算法相比,概率算法的結(jié)果具有不確定性,可能很好,也可能很差,但是會消耗更少的資源,比如時間(人生),空間(記憶)。概率算法的最大優(yōu)點就是 花費較少的代價來獲取最高的收益 ,在現(xiàn)實中體現(xiàn)于節(jié)省時間,使用很少的時間得到一個不與最優(yōu)解相差較多的結(jié)果。
“莊子:吾生也有涯,而知也無涯;以有涯隨無涯,殆矣?!钡囊馑际牵喝松怯邢薜?,但知識是無限的(沒有邊界的),用有限的人生追求無限的知識,是必然失敗的。
生活中概率算法(思想)的應用其實比較廣泛,只是我們很少去注意罷了。關于概率算法還衍生出了一些有趣的理論,比如墨菲定律和幸存者偏差,此處不再詳述。
上面說到,優(yōu)化算法就是不停的執(zhí)行同樣的策略、步驟直到結(jié)束。為什么要這樣呢?因為優(yōu)化算法是一種概率算法,執(zhí)行一次操作就得到最優(yōu)結(jié)果幾乎是不可能的,重復多次取得最優(yōu)的概率也會增大。
栗子又來了,要從1-10這10個數(shù)中取出一個大于9的數(shù),只取1次,達到要求的概率為10%,取2次,達到要求的概率為19%。
可以看出取到第10次時,達到要求的概率幾乎65%,取到100次時,達到要求的概率能接近100%。優(yōu)化算法就是這樣簡單粗暴的來求解問題的嗎?非也,這并不是一個恰當?shù)睦樱驗槊看稳?shù)的操作之間是相互獨立的,第2次取數(shù)的結(jié)果不受第1次取數(shù)結(jié)果的影響,假設前99次都沒達到要求,那么再取一次達到要求的概率跟取一次達到要求的概率相同。
優(yōu)化算法中,后一次的計算會依賴前一次的結(jié)果,以保證后一次的結(jié)果不會差于前一次的結(jié)果。這就不得不談到馬爾可夫鏈了。
由鐵組成的鏈叫做鐵鏈,同理可得,馬爾可夫鏈就是馬爾可夫組成的鏈。
言歸正傳, 馬爾可夫鏈(Markov Chain, MC) ,描述的是 狀態(tài)轉(zhuǎn)移的過程中,當前狀態(tài)轉(zhuǎn)移的概率只取決于上一步的狀態(tài),與其他步的狀態(tài)無關 。簡單來說就是當前的結(jié)果只受上一步的結(jié)果的影響。每當我看到馬爾可夫鏈時,我都會陷入沉思,生活中、或者歷史中有太多太多與馬爾可夫鏈相似的東西。西歐封建等級制度中“附庸的附庸不是我的附庸”與“昨天的努力決定今天的生活,今天的努力決定明天的生活”,你的下一份工作的工資大多由你當前的工資決定,這些都與馬爾可夫鏈有異曲同工之處。
還是從1-10這10個數(shù)中取出一個大于9的數(shù)的這個例子?;隈R爾可夫鏈的概率算法在取數(shù)時需要使當前取的數(shù)不小于上一次取的數(shù)。比如上次取到了3,那么下次只能在3-10這幾個數(shù)中取,這樣一來,達到目標的概率應該會顯著提升。還是用數(shù)據(jù)說話。
取1次達到要求的概率仍然是
取2次內(nèi)達到要求的概率為
取3次內(nèi)達到要求的概率為
取4次內(nèi)……太麻煩了算了不算了
可以看出基于馬爾可夫鏈來取數(shù)時,3次內(nèi)能達到要求的概率與不用馬爾可夫鏈時取6次的概率相當。說明基于馬爾可夫鏈的概率算法求解效率明顯高于隨機概率算法。那為什么不將所有的算法都基于馬爾可夫鏈呢?原因一,其實現(xiàn)方式不是那么簡單,例子中我們規(guī)定了取數(shù)的規(guī)則是復合馬爾可夫鏈的,而在其他問題中我們需要建立適當?shù)膹秃像R爾科夫鏈的模型才能使用。原因二,并不是所有的問題都符合馬爾科夫鏈條件,比如原子內(nèi)電子出現(xiàn)的位置,女朋友為什么會生(lou)氣,彩票號碼的規(guī)律等,建立模型必須與問題有相似之處才能較好的解決問題。
介紹完了優(yōu)化算法,再來討論討論優(yōu)化算法的使用場景。
前面說了優(yōu)化算法是一種概率算法,無法保證一定能得到最優(yōu)解,故如果要求結(jié)果必須是確定、穩(wěn)定的值,則無法使用優(yōu)化算法求解。
例1,求城市a與城市b間的最短路線。如果結(jié)果用來修建高速、高鐵,那么其結(jié)果必定是唯一確定的值,因為修路寸土寸金,必須選取最優(yōu)解使花費最少。但如果結(jié)果是用來趕路,那么即使沒有選到最優(yōu)的路線,我們可能也不會有太大的損失。
例2,求城市a與城市b間的最短路線,即使有兩條路徑,路徑1和路徑2,它們從a到b的距離相同,我們也可以得出這兩條路徑均為滿足條件的解。現(xiàn)在將問題改一下,求城市a到城市b耗時最少的線路?,F(xiàn)在我們無法馬上得出確切的答案,因為最短的線路可能并不是最快的路線,還需要考慮到天氣,交通路況等因素,該問題的結(jié)果是一個動態(tài)的結(jié)果,不同的時間不同的天氣我們很可能得出不同的結(jié)果。
現(xiàn)實生產(chǎn)、生活中,也有不少的場景使用的優(yōu)化算法。例如我們的使用的美圖軟件,停車場車牌識別,人臉識別等,其底層參數(shù)可能使用了優(yōu)化算法來加速參數(shù)計算,其參數(shù)的細微差別對結(jié)果的影響不太大,需要較快的得出誤差范圍內(nèi)的參數(shù)即可;電商的推薦系統(tǒng)等也使用了優(yōu)化算法來加速參數(shù)的訓練和收斂,我們會發(fā)現(xiàn)每次刷新時,推給我們的商品都有幾個會發(fā)生變化,而且隨著我們對商品的瀏覽,系統(tǒng)推給我們的商品也會發(fā)生變化,其結(jié)果是動態(tài)變化的;打車軟件的訂單系統(tǒng),會根據(jù)司機和客人的位置,區(qū)域等來派發(fā)司機給客人,不同的區(qū)域,不同的路況,派發(fā)的司機也是動態(tài)變化的。
綜上我們可以大致總結(jié)一下推薦、不推薦使用優(yōu)化算法的場景的特點。
前面說過,優(yōu)化算法處理的問題都是客觀的問題,如果遇到主觀的問題,比如“我孰與城北徐公美”,我們需要將這個問題進行量化而轉(zhuǎn)換成客觀的問題,如身高——“修八尺有余”,“外貌——形貌昳麗”,自信度——“明日徐公來,孰視之,自以為不如;窺鏡而自視,又弗如遠甚”,轉(zhuǎn)化成客觀問題后我們可以得到各個解的分數(shù),通過比較分數(shù),我們就能知道如何取舍如何優(yōu)化。這個轉(zhuǎn)化過程叫做問題的建模過程,建立的問題模型實際上是一個函數(shù),這個函數(shù)對優(yōu)化算法來說是一個黑盒函數(shù),即不需要知道其內(nèi)部實現(xiàn)只需要給出輸入,得到輸出。
在優(yōu)化算法中這個黑盒函數(shù)叫做 適應度函數(shù) , 優(yōu)化算法的求解過程就是尋找適應度函數(shù)最優(yōu)解的過程 ,使用優(yōu)化算法時我們最大的挑戰(zhàn)就是如何將抽象的問題建立成具體的模型,一旦合適的模型建立完成,我們就可以愉快的使用優(yōu)化算法來求解問題啦。(“合適”二字談何容易)
優(yōu)化算法的大致介紹到此結(jié)束,后面我們會依次介紹常見、經(jīng)典的優(yōu)化算法,并探究其參數(shù)對算法性能的影響。
——2019.06.20
[目錄]
[下一篇 優(yōu)化算法筆記(二)優(yōu)化算法的分類]
三、如何使用機器學習算法改進證券投資組合的構(gòu)建和優(yōu)化?
1.數(shù)據(jù)預處理:首先,從各種來源收集和準備市場和公司數(shù)據(jù)。然后,對這些數(shù)據(jù)進行清理和轉(zhuǎn)換,以便將其用于機器學習算法。
2.特征工程:使用特征工程技術將數(shù)據(jù)中的原始信息轉(zhuǎn)化為可用于機器學習算法的特征。例如,可以通過計算歷史股票價格,標準差,股息收益率等來創(chuàng)建特征。
3.算法選擇:選擇或開發(fā)機器學習算法,以幫助構(gòu)建和優(yōu)化證券投資組合。一些常見的算法包括線性回歸、隨機森林、神經(jīng)網(wǎng)絡等。
4.構(gòu)建模型:使用機器學習算法來構(gòu)建證券投資組合模型。這些模型將利用先前執(zhí)行的數(shù)據(jù)和特征工程和選擇的算法來自動構(gòu)建和優(yōu)化投資組合。
5.優(yōu)化機器學習模型:通過反復訓練和測試模型,對模型進行優(yōu)化??梢酝ㄟ^設置自動調(diào)整算法參數(shù)或運行多個模型來測試每個模型的使用情況。
6.調(diào)整投資組合:使用機器學習模型來指導投資組合決策??梢远ㄆ诒O(jiān)視投資組合,并嘗試將其與市場的變化保持同步,以獲得最大的回報。
7.監(jiān)視和更新:對機器學習模型進行監(jiān)視,以確保其在市場變化時仍能夠準確地預測證券價格和構(gòu)建優(yōu)化的投資組合。同時,需要對數(shù)據(jù)進行更新,以保持模型的精度和有效性。
四、優(yōu)化算法是什么呢?
優(yōu)化算法是指對算法的有關性能進行優(yōu)化,如時間復雜度、空間復雜度、正確性、健壯性。
大數(shù)據(jù)時代到來,算法要處理數(shù)據(jù)的數(shù)量級也越來越大以及處理問題的場景千變?nèi)f化。為了增強算法的處理問題的能力,對算法進行優(yōu)化是必不可少的。算法優(yōu)化一般是對算法結(jié)構(gòu)和收斂性進行優(yōu)化。
同一問題可用不同算法解決,而一個算法的質(zhì)量優(yōu)劣將影響到算法乃至程序的效率。算法分析的目的在于選擇合適算法和改進算法。一個算法的評價主要從時間復雜度和空間復雜度來考慮。
遺傳算法
遺傳算法也是受自然科學的啟發(fā)。這類算法的運行過程是先隨機生成一組解,稱之為種群。在優(yōu)化過程中的每一步,算法會計算整個種群的成本函數(shù),從而得到一個有關題解的排序,在對題解排序之后,一個新的種群----稱之為下一代就被創(chuàng)建出來了。首先,我們將當前種群中位于最頂端的題解加入其所在的新種群中,稱之為精英選拔法。新種群中的余下部分是由修改最優(yōu)解后形成的全新解組成。
常用的有兩種修改題解的方法。其中一種稱為變異,其做法是對一個既有解進行微小的、簡單的、隨機的改變;修改題解的另一種方法稱為交叉或配對,這種方法是選取最優(yōu)解種的兩個解,然后將它們按某種方式進行組合。爾后,這一過程會一直重復進行,直到達到指定的迭代次數(shù),或者連續(xù)經(jīng)過數(shù)代后題解都沒有改善時停止。
以上就是關于灰狼優(yōu)化算法改進策略相關問題的回答。希望能幫到你,如有更多相關問題,您也可以聯(lián)系我們的客服進行咨詢,客服也會為您講解更多精彩的知識和內(nèi)容。
推薦閱讀:
灰狼優(yōu)化算法百科(基于灰狼優(yōu)化算法的改進研究及其應用)
灰狼優(yōu)化算法介紹和背景(灰狼優(yōu)化算法介紹和背景怎么寫)