-
當(dāng)前位置:首頁 > 創(chuàng)意學(xué)院 > 技術(shù) > 專題列表 > 正文
隨機(jī)優(yōu)化問題(隨機(jī)優(yōu)化問題需要)
大家好!今天讓創(chuàng)意嶺的小編來大家介紹下關(guān)于隨機(jī)優(yōu)化問題的問題,以下是小編對(duì)此問題的歸納整理,讓我們一起來看看吧。
開始之前先推薦一個(gè)非常厲害的Ai人工智能工具,一鍵生成原創(chuàng)文章、方案、文案、工作計(jì)劃、工作報(bào)告、論文、代碼、作文、做題和對(duì)話答疑等等
只需要輸入關(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ù)請(qǐng)撥打電話175-8598-2043,或添加微信:1454722008
本文目錄:
一、如何優(yōu)化易語言這個(gè)隨機(jī)算法,使每次隨機(jī)更好一點(diǎn)?
先10個(gè)編輯框賦值給數(shù)組,然后隨機(jī)1-3決定這次出現(xiàn)幾個(gè)數(shù),之后按剛才隨機(jī)的次數(shù)計(jì)次循環(huán),再進(jìn)行排序,最后加入文本就行了,試試吧
二、隨機(jī)規(guī)劃的隨機(jī)規(guī)劃概述
隨機(jī)規(guī)劃是對(duì)含有隨機(jī)變量的優(yōu)化問題建模的有效的工具并已有一個(gè)世紀(jì)的歷史。
第一種隨機(jī)規(guī)劃是美國經(jīng)濟(jì)學(xué)家丹澤1955年提出的,康托羅維奇在這方面的貢獻(xiàn),不在于這個(gè)新方法本身,而在于把它應(yīng)用于制定最優(yōu)計(jì)劃。是廣泛使用的期望值模型,即在期望約束條件下,使得期望收益達(dá)到最大或期望損失達(dá)到最小的優(yōu)化方法。
第二種是由查納斯(A.Charnes)和庫伯(W.W.Cooper)于1959年提出的機(jī)會(huì)約束規(guī)劃,是在一定的概率意義下達(dá)到最優(yōu)的理論。
第三種即是劉寶碇教授于1997年提出的相關(guān)機(jī)會(huì)規(guī)劃,是一種使事件的機(jī)會(huì)在隨機(jī)環(huán)境下達(dá)到最優(yōu)的理論。它與期望值模型和機(jī)會(huì)約束規(guī)劃一起構(gòu)成了隨機(jī)規(guī)劃的三個(gè)分支。
隨機(jī)規(guī)劃是處理數(shù)據(jù)帶有隨機(jī)性的一類數(shù)學(xué)規(guī)劃,它與確定性數(shù)學(xué)規(guī)劃最大的不同在于其系數(shù)中引進(jìn)了隨機(jī)變量,這使得隨機(jī)規(guī)劃比起確定性數(shù)學(xué)規(guī)劃更適合于實(shí)際問題。在管理科學(xué)、運(yùn)籌學(xué)、經(jīng)濟(jì)學(xué)、最優(yōu)控制等領(lǐng)域,隨機(jī)規(guī)劃有著廣泛的應(yīng)用。
三、matlab求解優(yōu)化問題,如果沒有目標(biāo)函數(shù),只有約束條件,可否隨機(jī)生成一
目標(biāo)函數(shù)形式不是很重要,fmincon不需要知道目標(biāo)函數(shù)的結(jié)果是怎么求出來的
只要是利用一個(gè)x未知向量輸入,得到一個(gè)結(jié)果的函數(shù)就可以
你的約束條件好像也并不復(fù)雜,奇怪的是如果要權(quán)重x加起來是1
那么每個(gè)x分量的值應(yīng)該是0~1之間的正數(shù)才是
而你給輸入初始化x0的值是-1~1之間的隨機(jī)數(shù),所以這里比較奇怪
問題的關(guān)鍵就是多目標(biāo)的問題
fmincon是只能尋找一個(gè)目標(biāo)的,也就是目標(biāo)函數(shù)只有一個(gè)返回值
如果要多目標(biāo)優(yōu)化,那么需要使用遺傳算法或其它辦法
但是多目標(biāo)優(yōu)化本來就是一個(gè)可能不能完全實(shí)現(xiàn)所有目標(biāo)的優(yōu)化結(jié)果
也就是說多個(gè)目標(biāo)很多時(shí)候是無法同時(shí)達(dá)到的,和多時(shí)候只能得到離多個(gè)目標(biāo)都比較近的結(jié)果
所以,多目標(biāo)的優(yōu)化一般會(huì)給帕累托解集
不過,也有簡單一點(diǎn)的辦法,因?yàn)楹芏鄷r(shí)候,我們是知道魚與熊掌是不能兼得的
我們要優(yōu)化結(jié)果只是盡量靠近目標(biāo)就可以了
對(duì)于有多目標(biāo)的,很多時(shí)候我們需要的只是一個(gè)離所有目標(biāo)都比較接近的解
例如最小二乘法意義的最優(yōu)解
這個(gè)時(shí)候可以根據(jù)得到的theta,計(jì)算 theta(1) - 0.24,theta(2) - 0.38,........
等多個(gè)目標(biāo)的平方和的開方,利用這個(gè)總的"距離"作為優(yōu)化目標(biāo)
如果得到的theta是向量,而多個(gè)目標(biāo)o,o(1)=0.24,o(2)=0.38,.......
也可以表示為向量,那么最終的最小二乘目標(biāo)函數(shù)就是 sqrt( sum((theta-o).^2))
也可以有其它非最小二成的目標(biāo)例如絕對(duì)值和 sum(abs(theta-o))
也就是把多目標(biāo)按照一定的策略變?yōu)?個(gè)目標(biāo),然后還是可簡單的用fmincon解決問題
當(dāng)然,如果目標(biāo)很多,圖像數(shù)據(jù)也很大,可能運(yùn)行比較耗時(shí)間
四、優(yōu)化算法總結(jié)
本文介紹一下機(jī)器學(xué)習(xí)和深度學(xué)習(xí)中常用的優(yōu)化算法和優(yōu)化器以及一些其他我知道的優(yōu)化算法,部分算法我也沒有搞懂,就先記錄下來以后慢慢研究吧.*_*.
1.梯度下降算法(Gradient Descent)
梯度下降法可以參考我另一篇文章 機(jī)器學(xué)習(xí)-線性回歸 里的講解,這里就不在重復(fù)敘述.這里需要強(qiáng)調(diào)一下,深度學(xué)習(xí)里常用的SGD,翻譯過來是隨機(jī)梯度下降,但是實(shí)質(zhì)是mini-batch梯度下降(mini-batch-gd),或者說是兩者的結(jié)合更準(zhǔn)確一些.
SGD的優(yōu)點(diǎn)是,算法簡單,計(jì)算量小,在函數(shù)為凸函數(shù)時(shí)可以找到全局最優(yōu)解.所以是最常用的優(yōu)化算法.缺點(diǎn)是如果函數(shù)不是凸函數(shù)的話,很容易進(jìn)入到局部最優(yōu)解而無法跳出來.同時(shí)SGD在選擇學(xué)習(xí)率上也是比較困難的.
2.牛頓法
牛頓法和擬牛頓法都是求解無約束最優(yōu)化問題的常用方法,其中牛頓法是迭代算法,每一步需要求解目標(biāo)函數(shù)的海森矩陣的逆矩陣,計(jì)算比較復(fù)雜.
牛頓法在求解方程根的思想:在二維情況下,迭代的尋找某一點(diǎn)x,尋找方法是隨機(jī)一個(gè)初始點(diǎn)x_0,目標(biāo)函數(shù)在該點(diǎn)x_0的切線與x坐標(biāo)軸的交點(diǎn)就是下一個(gè)x點(diǎn),也就是x_1.不斷迭代尋找x.其中切線的斜率為目標(biāo)函數(shù)在點(diǎn)x_0的導(dǎo)數(shù)(梯度),切必過點(diǎn)(x_0,f(x_0)).所以迭代的方程式如圖1,為了求該方程的極值點(diǎn),還需要令其導(dǎo)數(shù)等于0,也就是又求了一次導(dǎo)數(shù),所以需要用到f(x)的二階導(dǎo)數(shù).
在最優(yōu)化的問題中,牛頓法提供了一種求解的辦法. 假設(shè)任務(wù)是優(yōu)化一個(gè)目標(biāo)函數(shù)f, 求函數(shù)ff的極大極小問題, 可以轉(zhuǎn)化為求解函數(shù)f導(dǎo)數(shù)等于0的問題, 這樣求可以把優(yōu)化問題看成方程求解問題(f的導(dǎo)數(shù)等于0). 剩下的問題就和牛頓法求解方程根的思想很相似了.
目標(biāo)函數(shù)的泰勒展開式:
化簡后:
這樣就得到了與圖1相似的公式,這里是二維的,在多維空間上,求二階導(dǎo)數(shù)就是求海森矩陣,因?yàn)槭欠帜?所以還需要求海森矩陣的逆矩陣.
牛頓法和SGD的區(qū)別:
牛頓法是二階求導(dǎo),SGD是一階求導(dǎo),所以牛頓法要收斂的更快一些.SGD只考慮當(dāng)前情況下梯度下降最快的方向,而牛頓法不僅考慮當(dāng)前梯度下降最快,還有考慮下一步下降最快的方向.
牛頓法的優(yōu)點(diǎn)是二階求導(dǎo)下降速度快,但是因?yàn)槭堑惴?每一步都需要求解海森矩陣的逆矩陣,所以計(jì)算復(fù)雜.
3.擬牛頓法(沒搞懂,待定)
考慮到牛頓法計(jì)算海森矩陣比較麻煩,所以它使用正定矩陣來代替海森矩陣的逆矩陣,從而簡化了計(jì)算過程.
常用的擬牛頓法有DFP算法和BFGS算法.
4.共軛梯度法(Conjugate Gradient)
共軛梯度法是介于最速下降法與牛頓法之間的一個(gè)方法,它僅需利用一階導(dǎo)數(shù)信息,但克服了最速下降法收斂慢的缺點(diǎn),又避免了牛頓法計(jì)算海森矩陣并求逆的缺點(diǎn).共軛梯度法不僅是解決大型線性方程組最有用的方法之一,也是解大型非線性最優(yōu)化最有效的算法之一.
5.拉格朗日法
參考SVM里的講解 機(jī)器學(xué)習(xí)-SVM
6.動(dòng)量優(yōu)化法(Momentum)
動(dòng)量優(yōu)化法主要是在SGD的基礎(chǔ)上,加入了歷史的梯度更新信息或者說是加入了速度更新.SGD雖然是很流行的優(yōu)化算法,但是其學(xué)習(xí)過程很慢,因?yàn)榭偸且酝瑯拥牟介L沿著梯度下降的方向.所以動(dòng)量是為了加速學(xué)習(xí)的方法.
其中第一行的減號(hào)部分是計(jì)算當(dāng)前的梯度,第一行是根據(jù)梯度更新速度v,而α是新引進(jìn)的參數(shù),在實(shí)踐中,α的一般取值為 0.5,0.9 和 0.99.和學(xué)習(xí)率 一樣,α 也會(huì)隨著時(shí)間不斷調(diào)整.一般初始值是一個(gè)較小的值,隨后會(huì)慢慢變大.
7.Nesterov加速梯度(NAG, Nesterov accelerated gradient)
NAG是在動(dòng)量優(yōu)化算法的基礎(chǔ)上又進(jìn)行了改進(jìn).根據(jù)下圖可以看出,Nesterov 動(dòng)量和標(biāo)準(zhǔn)動(dòng)量之間的區(qū)別體現(xiàn)在梯度計(jì)算上, Nesterov 動(dòng)量中,梯度計(jì)算在施加當(dāng)前速度之后.因此,Nesterov 動(dòng)量可以解釋為往標(biāo)準(zhǔn)動(dòng)量方法中添加了一個(gè)校正因子
8.AdaGrad算法
AdaGrad算法,自適應(yīng)優(yōu)化算法的一種,獨(dú)立地適應(yīng)所有模型參數(shù)的學(xué)習(xí)率,縮放每個(gè)參數(shù)反比于其所有梯度歷史平均值總和的平方根.具有代價(jià)函數(shù)最大梯度的參數(shù)相應(yīng)地有個(gè)快速下降的學(xué)習(xí)率,而具有小梯度的參數(shù)在學(xué)習(xí)率上有相對(duì)較小的下降.通俗一點(diǎn)的講,就是根據(jù)實(shí)際情況更改學(xué)習(xí)率,比如模型快要收斂的時(shí)候,學(xué)習(xí)率步長就會(huì)小一點(diǎn),防止跳出最優(yōu)解.
其中g(shù)是梯度,第一行的分母是計(jì)算累計(jì)梯度的平方根, 是為了防止分母為0加上的極小常數(shù)項(xiàng),α是學(xué)習(xí)率.
Adagrad的主要優(yōu)點(diǎn)是不需要人為的調(diào)節(jié)學(xué)習(xí)率,它可以自動(dòng)調(diào)節(jié).但是依然需要設(shè)置一個(gè)初始的全局學(xué)習(xí)率.缺點(diǎn)是隨著迭代次數(shù)增多,學(xué)習(xí)率會(huì)越來越小,最終會(huì)趨近于0.
9.RMSProp算法
RMSProp修改 AdaGrad 以在非凸設(shè)定下效果更好,改變梯度積累為指數(shù)加權(quán)的移動(dòng)平均.AdaGrad旨在應(yīng)用于凸問題時(shí)快速收斂.
10.AdaDelta算法
11.Adam算法
Adam是Momentum和RMSprop的結(jié)合體,也就是帶動(dòng)量的自適應(yīng)優(yōu)化算法.
12.Nadam算法
13.模擬退火算法
14.蟻群算法
15.遺傳算法
動(dòng)量是為了加快學(xué)習(xí)速度,而自適應(yīng)是為了加快收斂速度,注意學(xué)習(xí)速度快不一定收斂速度就快,比如步長大學(xué)習(xí)速度快,但是很容易跳出極值點(diǎn),在極值點(diǎn)附近波動(dòng),很難達(dá)到收斂.
未完待定....
參考:
《統(tǒng)計(jì)學(xué)習(xí)方法》 李航 著
《深度學(xué)習(xí)》 花書
以上就是關(guān)于隨機(jī)優(yōu)化問題相關(guān)問題的回答。希望能幫到你,如有更多相關(guān)問題,您也可以聯(lián)系我們的客服進(jìn)行咨詢,客服也會(huì)為您講解更多精彩的知識(shí)和內(nèi)容。
推薦閱讀:
隨機(jī)主題文章生成器下載(隨機(jī)主題文章生成器下載)
毒app上賣家是隨機(jī)的嗎(毒app上的都是個(gè)人賣家嗎)
隨機(jī)組隊(duì)小程序(隨機(jī)組隊(duì)小程序叫什么)
黑金風(fēng)格餐飲品牌設(shè)計(jì)(黑金風(fēng)格餐飲品牌設(shè)計(jì)圖片)
可愛字體設(shè)計(jì)在線生成器(可愛字體設(shè)計(jì)在線生成器下載)