最美情侣中文字幕电影,在线麻豆精品传媒,在线网站高清黄,久久黄色视频

歡迎光臨散文網(wǎng) 會(huì)員登陸 & 注冊(cè)

【ELM預(yù)測(cè)】基于遺傳算法改進(jìn)極限學(xué)習(xí)機(jī)ELM實(shí)現(xiàn)數(shù)據(jù)預(yù)測(cè)matlab源碼

2021-09-15 12:48 作者:Matlab工程師  | 我要投稿

??一、極限學(xué)習(xí)機(jī)的概念

? ? ? ?極限學(xué)習(xí)機(jī)(Extreme Learning Machine) ELM,是由黃廣斌提出來的求解單隱層神經(jīng)網(wǎng)絡(luò)的算法。

? ? ? ?ELM最大的特點(diǎn)是對(duì)于傳統(tǒng)的神經(jīng)網(wǎng)絡(luò),尤其是單隱層前饋神經(jīng)網(wǎng)絡(luò)(SLFNs),在保證學(xué)習(xí)精度的前提下比傳統(tǒng)的學(xué)習(xí)算法速度更快。





二、極限學(xué)習(xí)機(jī)的原理

ELM是一種新型的快速學(xué)習(xí)算法,對(duì)于單隱層神經(jīng)網(wǎng)絡(luò),ELM可以隨機(jī)初始化輸入權(quán)重和偏置并得到相應(yīng)的輸出權(quán)重。

(選自黃廣斌老師的PPT)

對(duì)于一個(gè)單隱層神經(jīng)網(wǎng)絡(luò)(見Figure 1),假設(shè)有

個(gè)任意的樣本

,其中

。對(duì)于一個(gè)有

個(gè)隱層節(jié)點(diǎn)的單隱層神經(jīng)網(wǎng)絡(luò)可以表示為

其中,

為激活函數(shù),

為輸入權(quán)重,

為輸出權(quán)重,

是第

個(gè)隱層單元的偏置。

表示

的內(nèi)積。


? ? ? ?單隱層神經(jīng)網(wǎng)絡(luò)學(xué)習(xí)的目標(biāo)是使得輸出的誤差最小,可以表示為

即存在

,

,使得

可以矩陣表示為

其中,

是隱層節(jié)點(diǎn)的輸出,

為輸出權(quán)重,

為期望輸出。

,


為了能夠訓(xùn)練單隱層神經(jīng)網(wǎng)絡(luò),我們希望得到

,

,使得

其中,

,這等價(jià)于最小化損失函數(shù)

傳統(tǒng)的一些基于梯度下降法的算法,可以用來求解這樣的問題,但是基本的基于梯度的學(xué)習(xí)算法需要在迭代的過程中調(diào)整所有參數(shù)。而在ELM算法中, 一旦輸入權(quán)重

和隱層的偏置

被隨機(jī)確定,隱層的輸出矩陣

就被唯一確定。訓(xùn)練單隱層神經(jīng)網(wǎng)絡(luò)可以轉(zhuǎn)化為求解一個(gè)線性系統(tǒng)

。并且輸出權(quán)重

可以被確定

其中,

是矩陣

的Moore-Penrose廣義逆。且可證明求得的解

的范數(shù)是最小的并且唯一。

三、遺傳算法

? 遺傳算法(Genetic Algorithm,GA)是一種進(jìn)化算法,其基本原理是仿效生物界中的“物競(jìng)天擇、適者生存”的演化法 則,它最初由美國(guó)Michigan大學(xué)的J. Holland教授于1967年提出。 ? 遺傳算法是從代表問題可能潛在的解集的一個(gè)種群(population)開始的,而一個(gè)種群則由經(jīng)過基因(gene)編碼的一 定數(shù)目的個(gè)體(individual)組成。因此,第一步需要實(shí)現(xiàn)從表現(xiàn)型到基因型的映射即編碼工作。初代種群產(chǎn)生之后,按照 適者生存和優(yōu)勝劣汰的原理,逐代(generation)演化產(chǎn)生出越來越好的近似解,在每一代,根據(jù)問題域中個(gè)體的適應(yīng)度 (fitness)大小選擇個(gè)體,并借助于自然遺傳學(xué)的遺傳算子(genetic operators)進(jìn)行組合交叉和變異,產(chǎn)生出代表新 的解集的種群。這個(gè)過程將導(dǎo)致種群像自然進(jìn)化一樣,后生代種群比前代更加適應(yīng)于環(huán)境,末代種群中的最優(yōu)個(gè)體經(jīng)過解 碼(decoding),可以作為問題近似最優(yōu)解。

? 遺傳算法有三個(gè)基本操作:選擇(Selection)、交叉(Crossover)和變異(Mutation)。 ? (1)選擇。選擇的目的是為了從當(dāng)前群體中選出優(yōu)良的個(gè)體,使它們有機(jī)會(huì)作為父代為下一代繁衍子孫。根據(jù)各個(gè)個(gè)體的 適應(yīng)度值,按照一定的規(guī)則或方法從上一代群體中選擇出一些優(yōu)良的個(gè)體遺傳到下一代種群中。選擇的依據(jù)是適應(yīng)性強(qiáng)的 個(gè)體為下一代貢獻(xiàn)一個(gè)或多個(gè)后代的概率大。 ? (2)交叉。通過交叉操作可以得到新一代個(gè)體,新個(gè)體組合了父輩個(gè)體的特性。將群體中的各個(gè)個(gè)體隨機(jī)搭配成對(duì),對(duì)每 一個(gè)個(gè)體,以交叉概率交換它們之間的部分染色體。 ? (3)變異。對(duì)種群中的每一個(gè)個(gè)體,以變異概率改變某一個(gè)或多個(gè)基因座上的基因值為其他的等位基因。同生物界中一樣, 變異發(fā)生的概率很低,變異為新個(gè)體的產(chǎn)生提供了機(jī)會(huì)。

遺傳算法的基本步驟:

1)編碼:GA在進(jìn)行搜索之前先將解空間的解數(shù)據(jù)表示成遺傳空間的基因型串結(jié)構(gòu)數(shù)據(jù), 這些串結(jié)構(gòu)數(shù)據(jù)的丌同組合便構(gòu)成了丌同的點(diǎn)。 2)初始群體的生成:隨機(jī)產(chǎn)生N個(gè)初始串結(jié)構(gòu)數(shù)據(jù),每個(gè)串結(jié)構(gòu)數(shù)據(jù)稱為一個(gè)個(gè)體,N個(gè) 個(gè)體構(gòu)成了一個(gè)群體。GA以這N個(gè)串結(jié)構(gòu)數(shù)據(jù)作為初始點(diǎn)開始進(jìn)化。 3)適應(yīng)度評(píng)估:適應(yīng)度表明個(gè)體或解的優(yōu)劣性。丌同的問題,適應(yīng)性函數(shù)的定義方式也丌 同。

4)選擇:選擇的目的是為了從當(dāng)前群體中選出優(yōu)良的個(gè)體,使它們有機(jī)會(huì)作為父代為下一 代繁殖子孫。遺傳算法通過選擇過程體現(xiàn)這一思想,進(jìn)行選擇的原則是適應(yīng)性強(qiáng)的個(gè)體為 下一代貢獻(xiàn)一個(gè)或多個(gè)后代的概率大。選擇體現(xiàn)了達(dá)爾文的適者生存原則。 5)交叉:交叉操作是遺傳算法中最主要的遺傳操作。通過交叉操作可以得到新一代個(gè)體, 新個(gè)體組合了其父輩個(gè)體的特性。交叉體現(xiàn)了信息交換的思想。 6)變異:變異首先在群體中隨機(jī)選擇一個(gè)個(gè)體,對(duì)于選中的個(gè)體以一定的概率隨機(jī)地改變 串結(jié)構(gòu)數(shù)據(jù)中某個(gè)串的值。同生物界一樣, GA中變異發(fā)生的概率很低,通常取值很小。


遺傳算法工具箱:

? MATLAB內(nèi)嵌遺傳算法工具箱: gadst ? Sheffield大學(xué)遺傳算法工具箱: gatbx ? 北卡羅來納大學(xué)遺傳算法工具箱: gaot

initializega函數(shù):

ga函數(shù):

遺傳算法優(yōu)化BP神經(jīng)網(wǎng)絡(luò)初始權(quán)值與閾值:


四、部分代碼

%遺傳算法主程序 %Name:genmain05.m clear clf popsize=20; %群體大小 chromlength=10; %字符串長(zhǎng)度(個(gè)體長(zhǎng)度) pc=0.6; %交叉概率 pm=0.001; %變異概率 pop=initpop(popsize,chromlength); %隨機(jī)產(chǎn)生初始群體 for i=1:20 %20為迭代次數(shù) [objvalue]=calobjvalue(pop); %計(jì)算目標(biāo)函數(shù) fitvalue=calfitvalue(objvalue); %計(jì)算群體中每個(gè)個(gè)體的適應(yīng)度 [newpop]=selection(pop,fitvalue); %復(fù)制 [newpop]=crossover(pop,pc); %交叉 [newpop]=mutation(pop,pc); %變異 [bestindividual,bestfit]=best(pop,fitvalue); %求出群體中適應(yīng)值最大的個(gè)體及其適應(yīng)值 y(i)=-max(bestfit); n(i)=i; pop5=bestindividual; x(i)=decodechrom(pop5,1,chromlength)*10/1023; pop=newpop; end fplot('x^2-4*x+20',[0 10]) hold on plot(x,y,'r*') hold off [z index]=min(y); %計(jì)算最大值及其位置,這里取的是y向量中的最大值,如果求最小值應(yīng)該取min,同時(shí)修改適應(yīng)度函數(shù) x5=x(index)%計(jì)算最大值對(duì)應(yīng)的x值 y=z



?

?

?

?

?

五、參考文獻(xiàn)

?



【ELM預(yù)測(cè)】基于遺傳算法改進(jìn)極限學(xué)習(xí)機(jī)ELM實(shí)現(xiàn)數(shù)據(jù)預(yù)測(cè)matlab源碼的評(píng)論 (共 條)

分享到微博請(qǐng)遵守國(guó)家法律
朔州市| 普安县| 赞皇县| 历史| 衡东县| 高唐县| 巴彦淖尔市| 房产| 麻江县| 金阳县| 廊坊市| 桂东县| 大丰市| 舒城县| 海伦市| 浦江县| 邯郸县| 邢台市| 彰武县| 九江县| 昌宁县| 乐昌市| 鲁山县| 淮北市| 康平县| 塘沽区| 吉隆县| 夏津县| 舞钢市| 余姚市| 高尔夫| 安岳县| 上杭县| 阳泉市| 喜德县| 纳雍县| 三门峡市| 手机| 利川市| 娱乐| 开江县|