版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡介
1、人工智能大作業(yè)學(xué)生:021151* 021151*時(shí)間:2013年12月4號(hào)一啟發(fā)式搜索解決八數(shù)碼問題1. 實(shí)驗(yàn)?zāi)康膯栴}描述:現(xiàn)有一個(gè)3*3的棋盤,其中有0-8一共9個(gè)數(shù)字,0表示空格,其他的數(shù)字可以和0交換位置(只能上下左右移動(dòng))。給定一個(gè)初始狀態(tài)和一個(gè)目標(biāo)狀態(tài),找出從初始狀態(tài)到目標(biāo)狀態(tài)的最短路徑的問題就稱為八數(shù)碼問題。例如:實(shí)驗(yàn)問題為283104765123804765到目標(biāo)狀態(tài):從初始狀態(tài): 要求編程解決這個(gè)問題,給出解決這個(gè)問題的搜索樹以及從初始節(jié)點(diǎn)到目標(biāo)節(jié)點(diǎn)的最短路徑。2. 實(shí)驗(yàn)設(shè)備及軟件環(huán)境利用計(jì)算機(jī)編程軟件Visual C+ 6.0,用C語言編程解決該問題。3. 實(shí)驗(yàn)方法(1).
2、算法描述:.把初始節(jié)點(diǎn)S放到OPEN表中,計(jì)算,并把其值與節(jié)點(diǎn)S聯(lián)系起來。.如果OPEN表是個(gè)空表,則失敗退出,無解。.從OPEN表中選擇一個(gè)值最小的節(jié)點(diǎn)。結(jié)果有幾個(gè)節(jié)點(diǎn)合格,當(dāng)其中有一個(gè)為目標(biāo)節(jié)點(diǎn)時(shí),則選擇此目標(biāo)節(jié)點(diǎn),否則就選擇其中任一節(jié)點(diǎn)作為節(jié)點(diǎn)。.把節(jié)點(diǎn)從OPEN表中移出,并把它放入CLOSED的擴(kuò)展節(jié)點(diǎn)表中。.如果是目標(biāo)節(jié)點(diǎn),則成功退出,求得一個(gè)解。.擴(kuò)展節(jié)點(diǎn),生成其全部后繼節(jié)點(diǎn)。對(duì)于的每一個(gè)后繼節(jié)點(diǎn): a.計(jì)算。 b.如果既不在OPEN表中,也不在CLOSED表中,則用估價(jià)函數(shù)把它添加入OPEN表。從加一指向其父輩節(jié)點(diǎn)的指針,以便一旦找到目標(biāo)節(jié)點(diǎn)時(shí)記住一個(gè)解答路徑。 c.如果已在OP
3、EN表或CLOSED表上,則比較剛剛對(duì)計(jì)算過的值和前面計(jì)算過的該節(jié)點(diǎn)在表中的值。如果新的值較小,則 I.以此新值取代舊值。 II.從指向,而不是指向它的父輩節(jié)點(diǎn)。 III.如果節(jié)點(diǎn)在CLOSED表中,則把它移回OPEN表。 轉(zhuǎn)向,即GO TO 。 (2).流程圖描述: (3).程序源代碼:#include #includestruct nodeint number33;/用二維數(shù)組存放8數(shù)碼 int W;/W表示與目標(biāo)狀態(tài)相比錯(cuò)放的數(shù)碼數(shù)int Depth;/記錄當(dāng)前節(jié)點(diǎn)的深度struct node *parent;/指向父節(jié)點(diǎn)的指針struct node *next;/指向鏈表中下一個(gè)節(jié)點(diǎn)的
4、指針;int CounterW(int Number33)/函數(shù)說明:計(jì)算當(dāng)前狀態(tài)與目標(biāo)狀態(tài)的W值int i,j;int W=0;int Desnode33=1,2,3,8,0,4,7,6,5;for(i=0; i3; i+)for(j=0; j3; j+)if(Numberij != Desnodeij)W+; return W;void PrintNode(node *A)int i,j;for(i=0; i3; i+)for(j=0; jnumberij);printf(n);printf(n);int CheckNode(node *open, node *close, int a33
5、)/檢驗(yàn)該節(jié)點(diǎn)狀態(tài)是否出現(xiàn)過的子程序int CheckFlag=0;int flag1,flag2;node *p=open;node *q=close;while(p != NULL) flag1=0;for(int i=0; i3; i+)for(int j=0; jnumberij)flag1+;if(flag1 = 9)break;elsep=p-next;while(q != NULL)flag2=0;for(int i=0; i3; i+)for(int j=0; jnumberij)flag2+;if(flag2 = 9)break;elseq=q-next;if(flag1=9
6、) | (flag2=9)CheckFlag=1;/如果出現(xiàn)過,置標(biāo)志位為1return CheckFlag;struct node *FindNextNode(node *Prenode, node *open, node *close) /擴(kuò)展Prenode指向的節(jié)點(diǎn),并將擴(kuò)展所得結(jié)點(diǎn)組成一條單鏈表int i,j,m,n; /循環(huán)變量int temp; /臨時(shí)替換變量int flag=0; int a33;/臨時(shí)存放二維數(shù)組struct node *p, *q, *head; head=(node *)malloc(sizeof(node);/head指向該鏈表首結(jié)點(diǎn),并且作為返回值p=h
7、ead;q=head;head-next=NULL;/初始化for(i=0;i3;i+)/找到二維數(shù)組中0的位置for(j=0;jnumberij=0)flag=1;break;if(flag=1)break;/根據(jù)0的位置的不同,對(duì)a進(jìn)行相應(yīng)的變換 for(m=0;mnumber賦給afor(n=0;nnumbermn; if(i+1=2)/情況1,0向下移temp=aij; aij=ai+1j; ai+1j=temp;int CheckNum=CheckNode(open, close, a); if(CheckNum = 0)/若該結(jié)點(diǎn)未出現(xiàn)過則執(zhí)行下面的操作 q=(node *)mal
8、loc(sizeof(node); for(m=0;mnumber for(n=0;nnumbermn=amn; PrintNode(q); q-parent=Prenode; q-Depth=q-parent-Depth+1;/子結(jié)點(diǎn)的深度等于其父結(jié)點(diǎn)深度加1 q-W=CounterW(q-number); q-next=NULL; p-next=q;/擴(kuò)展節(jié)點(diǎn)插入head鏈表 p=p-next; for(m=0;mnumber重新賦給afor(n=0;nnumbermn;if(i-1=0)/情況2,0向上移temp=aij; aij=ai-1j; ai-1j=temp;int CheckN
9、um=CheckNode(open, close, a); if(CheckNum = 0)/若該結(jié)點(diǎn)未出現(xiàn)過則執(zhí)行下面的操作 q=(node *)malloc(sizeof(node); for(m=0;mnumber for(n=0;nnumbermn=amn; PrintNode(q); q-parent=Prenode; q-Depth=q-parent-Depth+1; q-W=CounterW(q-number); q-next=NULL; p-next=q; p=p-next; for(m=0; m3; m+)for(n=0; nnumbermn;if(j-1=0)/情況3,0向
10、左移 temp=aij; aij=aij-1; aij-1=temp;int CheckNum=CheckNode(open, close, a); if(CheckNum = 0)/若該結(jié)點(diǎn)未出現(xiàn)過則執(zhí)行下面的操作 q=(node *)malloc(sizeof(node); for(m=0; mnumber for(n=0; nnumbermn=amn; PrintNode(q); q-parent=Prenode; q-Depth=q-parent-Depth+1; q-W=CounterW(q-number); q-next=NULL; p-next=q; p=p-next; for(
11、m=0;m3;m+)for(n=0;nnumbermn;if(j+1=2)/情況4,0向右移temp=aij; aij=aij+1; aij+1=temp;int CheckNum=CheckNode(open, close, a); if(CheckNum = 0)/若該結(jié)點(diǎn)未出現(xiàn)過則執(zhí)行下面的操作 q=(node *)malloc(sizeof(node); for(m=0; mnumber for(n=0; nnumbermn=amn; PrintNode(q); q-parent=Prenode; q-Depth=q-parent-Depth+1; q-W=CounterW(q-num
12、ber); q-next=NULL; p-next=q; p=p-next; head=head-next;return head; node *insert(node *open,node *head) /將head鏈表的結(jié)點(diǎn)依次插入到open鏈表相應(yīng)的位置, /使open表中的結(jié)點(diǎn)按從小到大排序。函數(shù)返回open指針node *p,*q;/p、q均指向open表中的結(jié)點(diǎn),p指向q所指的前一個(gè)結(jié)點(diǎn)int flag=0;if(open=NULL) & (head != NULL)/初始狀態(tài),open表為空 /首先將head表第一個(gè)結(jié)點(diǎn)直接放入open表中open=head;q=head; he
13、ad=head-next;q-next=NULL;if(open != NULL) & (open-next=NULL) &(head != NULL)/open表中只有一個(gè)元素q=open; if(head-W + head-Depth) W + open-Depth)/若后一結(jié)點(diǎn)的f值小于首結(jié)點(diǎn),則將它插入到首結(jié)點(diǎn)位置open=head;head=head-next;open-next=q; else/或者第二個(gè)結(jié)點(diǎn)的位置 q-next=head; head=head-next; q=q-next; q-next=NULL;p=open;while(head!=NULL)q=open;if
14、(head-W + head-Depth) W + open-Depth) /插入到表頭open=head;head=head-next;open-next=q;continue;else q=q-next; p=open; /否則,q指像第二個(gè)結(jié)點(diǎn),p指向q前一個(gè)結(jié)點(diǎn)while(q-next!=NULL) /將head的一個(gè)結(jié)點(diǎn)插入到鏈表中(非表尾的位置)if(q-W W) q=q-next;p=p-next;elsep-next=head;head=head-next;p-next-next=q; break;if(q-next=NULL)/將head的一個(gè)結(jié)點(diǎn)插入到表尾或倒數(shù)第二個(gè)位置i
15、f(q-W + q-Depth) W + head-Depth)q-next=head;head=head-next;q-next-next=NULL;elsep-next=head;head=head-next;p-next-next=q;return open; void main()int i,j;int key=0;node FirstNode; node *open, *close;node *p, *r;node *NodeList;printf(請(qǐng)輸入初始狀態(tài)的8數(shù)碼(按每行從左往右依次輸入,用0表示空格):n); for(i=0; i3; i+)for(j=0; j3; j+)
16、scanf(%d,&FirstNode.numberij);printf(n);printf(搜索樹為:n);for(i=0; i3; i+) for(j=0; jW = 0)/該結(jié)點(diǎn)的狀態(tài)與目標(biāo)結(jié)點(diǎn)相同 printf(該結(jié)點(diǎn)已為目標(biāo)結(jié)點(diǎn)狀態(tài)!n); return; r=&FirstNode; close=&FirstNode;r-next=NULL; open=NULL; NodeList=FindNextNode(r,open,close);/NodeList指向新擴(kuò)展出來的鏈表 open=insert(open,NodeList);/將擴(kuò)展出來的結(jié)點(diǎn)插入到open表中 while(ope
17、n != NULL) r-next=open;/將open表的第一個(gè)元素加到close表,r始終指向close表的最后一個(gè)元素 open=open-next; r=r-next; r-next=NULL; if(r-W = 0) key=1; printf(n啟發(fā)式搜索成功!n); break; NodeList=FindNextNode(r,open,close);/對(duì)close表最后一個(gè)結(jié)點(diǎn)進(jìn)行擴(kuò)展,擴(kuò)展得到的鏈表接到head表 open=insert(open,NodeList);/將擴(kuò)展的結(jié)點(diǎn)按順序插入到open表中if(key = 1) p=close; printf(最優(yōu)搜索過程如
18、下:n); printf(結(jié)點(diǎn)深度為:%dn,FirstNode.Depth); printf(-n); while(p!=NULL) for(i=0; i3; i+) for(j=0; jnumberij); printf(n); printf(n); p=p-next; if(p != NULL) printf(結(jié)點(diǎn)深度為:%dn,p-Depth); printf(-n); else printf(查找失敗,該問題無解!n); 4. 實(shí)驗(yàn)結(jié)果搜索樹為:最短路徑為:5. 實(shí)驗(yàn)分析本次實(shí)驗(yàn)采用啟發(fā)式搜索,利用C語言編寫程序?qū)崿F(xiàn)八數(shù)碼問題的求解。采用簡單的估價(jià)函數(shù): 其中是搜索樹中節(jié)點(diǎn)的深度;用
19、來計(jì)算對(duì)應(yīng)于節(jié)點(diǎn)的數(shù)據(jù)庫中錯(cuò)放的棋子個(gè)數(shù)。例如初始節(jié)點(diǎn)的估價(jià)函數(shù)值為3。 估價(jià)函數(shù)能夠提供一個(gè)評(píng)定候選擴(kuò)展節(jié)點(diǎn)的方法,以便確定哪個(gè)節(jié)點(diǎn)時(shí)最有可能在通向目標(biāo)的最佳路徑上。這樣選擇正確的估價(jià)函數(shù),可以減少擴(kuò)展節(jié)點(diǎn)個(gè)數(shù),對(duì)于實(shí)驗(yàn)所給的初始節(jié)點(diǎn)和估價(jià)函數(shù),只用擴(kuò)展11個(gè)節(jié)點(diǎn)就能找到目標(biāo)節(jié)點(diǎn);相比于盲目搜索可以減少被擴(kuò)展的節(jié)點(diǎn)數(shù),減少很多空間占用和時(shí)間損耗。 利用啟發(fā)信息來決定哪一個(gè)是下一步要擴(kuò)展的節(jié)點(diǎn),這種搜索總是選擇“最有希望”的節(jié)點(diǎn)作為下一步被擴(kuò)展的節(jié)點(diǎn)。這實(shí)際上是通過估價(jià)函數(shù)值的大小重排OPEN表,小的一直排在OPEN表的前面。每次取OPEN表的第一個(gè)節(jié)點(diǎn)放到CLOSED表中進(jìn)行擴(kuò)展,這樣一步步
20、靠近目標(biāo)節(jié)點(diǎn),直到最后找到目標(biāo)節(jié)點(diǎn),停止擴(kuò)展。6. 結(jié)論正確選擇估價(jià)函數(shù)對(duì)確定搜索結(jié)果具有決定性作用。使用不能識(shí)別某些節(jié)點(diǎn)真是希望的估價(jià)函數(shù)會(huì)形成非最小代價(jià)路徑;而使用一個(gè)過多地估計(jì)了全部節(jié)點(diǎn)希望的估價(jià)函數(shù),又會(huì)擴(kuò)展過多的節(jié)點(diǎn)。在選對(duì)估價(jià)函數(shù)的前提下,啟發(fā)式搜索能準(zhǔn)確識(shí)別有希望和沒有希望的節(jié)點(diǎn),從而很快擴(kuò)展到目標(biāo)節(jié)點(diǎn),找到最短路徑。在本次實(shí)驗(yàn)中如果選擇估價(jià)函數(shù)值為(用來計(jì)算對(duì)應(yīng)于節(jié)點(diǎn)的數(shù)據(jù)庫中錯(cuò)放的棋子個(gè)數(shù)),將會(huì)擴(kuò)展更少的節(jié)點(diǎn),更加快的找到到達(dá)目標(biāo)節(jié)點(diǎn)的最短路徑。二英文期刊翻譯Adaptive Evolutionary Artificial NeuralNetworks for Patter
21、n Classification自適應(yīng)進(jìn)化人工神經(jīng)網(wǎng)絡(luò)模式分類摘要:這篇文章提出了一種新的進(jìn)化方法稱為混合進(jìn)化人工神經(jīng)網(wǎng)絡(luò)(HEANN),同時(shí)提出進(jìn)化人工神經(jīng)網(wǎng)絡(luò)(ANNs)拓?fù)浣Y(jié)構(gòu)和權(quán)重。進(jìn)化算法(EAs)具有較強(qiáng)的全局搜索能力且很可能指向最有前途的領(lǐng)域。然而,在搜索空間局部微調(diào)時(shí),他們效率較低。HEANN強(qiáng)調(diào)全局搜索的平衡和局部搜索的進(jìn)化過程,通過調(diào)整變異概率和步長擾動(dòng)的權(quán)值。這是區(qū)別于大多數(shù)以前的研究,那些研究整合EA來搜索網(wǎng)絡(luò)拓?fù)浜吞荻葘W(xué)習(xí)來進(jìn)行權(quán)值更新。四個(gè)基準(zhǔn)函數(shù)被用來測試的HEANN進(jìn)化框架。此外,HEANN測試了七個(gè)分類基準(zhǔn)問題的UCI機(jī)器學(xué)習(xí)庫。實(shí)驗(yàn)結(jié)果表明在少數(shù)幾代算法中,
22、HEANN在微調(diào)網(wǎng)絡(luò)復(fù)雜性的性能是優(yōu)越的。同時(shí),他還保留了相對(duì)于其他算法的泛化性能。簡介:人工神經(jīng)網(wǎng)絡(luò)(ANNs)已經(jīng)成為一種強(qiáng)大的工具被用于模式分類1,2。ANN拓?fù)鋬?yōu)化和連接權(quán)重訓(xùn)練經(jīng)常被單獨(dú)處理。這樣一個(gè)分治算法產(chǎn)生一個(gè)不精確的評(píng)價(jià)選擇的神經(jīng)網(wǎng)絡(luò)拓?fù)浣Y(jié)構(gòu)。事實(shí)上,這兩個(gè)任務(wù)都是相互依存的且應(yīng)當(dāng)同時(shí)解決以達(dá)到最佳結(jié)果。 一個(gè)模式分類的關(guān)鍵任務(wù)是設(shè)計(jì)一個(gè)緊湊和廣義ANN拓?fù)?。為特定的問題選擇一個(gè)適當(dāng)?shù)腁NN拓?fù)涫侵陵P(guān)重要的,由于ANN泛化相關(guān)性信息處理能力和ANN拓?fù)涞膹?qiáng)關(guān)聯(lián)能力。過度的小型網(wǎng)絡(luò)的大小表明問題不能學(xué)得很好,而一個(gè)特別大的網(wǎng)絡(luò)規(guī)模將導(dǎo)致過度學(xué)習(xí)和差的推廣性能。耗時(shí)的實(shí)驗(yàn)訓(xùn)練方法
23、和爬山建設(shè)性或修剪算法3-7用于設(shè)計(jì)一個(gè)ANN架構(gòu),對(duì)于一個(gè)給定的任務(wù)只有探索小型建筑子集,或往往是停在結(jié)構(gòu)局部最優(yōu)解。相關(guān)的神經(jīng)網(wǎng)絡(luò)是一個(gè)流行的8建設(shè)性算法而用于構(gòu)造有多個(gè)維層的ANN拓?fù)?。新的隱藏節(jié)點(diǎn)一個(gè)接一個(gè)的被添加進(jìn)來且都與每一個(gè)現(xiàn)有的隱藏節(jié)點(diǎn)在當(dāng)前的網(wǎng)絡(luò)連接。因此,網(wǎng)絡(luò)可以被視為擁有多個(gè)可以形成一個(gè)級(jí)聯(lián)結(jié)構(gòu)的集中度值層。然而,網(wǎng)絡(luò)是傾向于結(jié)構(gòu)局部最優(yōu)解由于它具有建設(shè)性的行為。設(shè)計(jì)一個(gè)ANN拓?fù)涫褂眠M(jìn)化算法(EAs)已經(jīng)成為一種流行的方法來克服建設(shè)性或修剪方法9-13的缺點(diǎn)。它有很強(qiáng)的全局搜索能力,可以有效地搜索通過接近完整的ANN拓?fù)漕悺TS多工作已經(jīng)致力于進(jìn)化神經(jīng)網(wǎng)絡(luò)ANN拓?fù)浣Y(jié)構(gòu)。
24、兩個(gè)主要的方法來發(fā)展ANN拓?fù)涞奈墨I(xiàn)報(bào)告是沒有重權(quán)值和ANN拓?fù)渫竭M(jìn)化的兩個(gè)拓?fù)浜蜋?quán)重。演化的一個(gè)無權(quán)值得ANN拓?fù)?必須從一組隨機(jī)的初始權(quán)重訓(xùn)練評(píng)估其適應(yīng)性。姚和劉11指出,這個(gè)適應(yīng)性評(píng)價(jià)方法很嘈雜因?yàn)橐粋€(gè)顯性型的適應(yīng)性是用來代表隱形型的適應(yīng)性。雖然的進(jìn)化ANN拓?fù)涞倪m應(yīng)性可以通過運(yùn)行多個(gè)不同的隨機(jī)初始權(quán)重而得到的平均結(jié)果來估計(jì),為適應(yīng)性計(jì)算評(píng)價(jià)時(shí)間是急劇增加。因此,只有小ANN拓?fù)湓?4和15中被演化。同時(shí)進(jìn)化的ANN拓?fù)浜蜋?quán)重,權(quán)重信息拓?fù)浜途幋a在每個(gè)個(gè)體是獨(dú)立的。因此嘈雜的適應(yīng)性評(píng)價(jià)問題可以被緩解。一個(gè)突出的工作稱為EPNet被姚和劉11引入,那是一個(gè)同時(shí)進(jìn)化ANN拓?fù)浜蜋?quán)重例子。姚
25、和劉用混合訓(xùn)練來進(jìn)化ANN權(quán)重測試。梯度學(xué)習(xí)和模擬退火都納入進(jìn)化過程演變的ANN權(quán)重。Martnez-Estudillo等人在最好的獨(dú)立ANN下使用梯度學(xué)習(xí)方法演變權(quán)重。他們用聚類算法劃分的個(gè)體在總數(shù)中分成幾個(gè)屬于同一區(qū)域的吸引力集群。然而,由于靈敏度高的反向傳播算法對(duì)初始權(quán)重,使用梯度學(xué)習(xí)方法如反向傳播算法進(jìn)化ANN權(quán)重引起噪聲適應(yīng)性評(píng)價(jià)。Palmes et al12使用基于突變EA在一個(gè)進(jìn)化的ANN下解決這個(gè)問題。其他作品也集中在同步進(jìn)化的ANN拓?fù)浜蜋?quán)重。Anget al13介紹增長概率允許網(wǎng)絡(luò)演變到合適的大小。Angeline et al9使用參數(shù)突變和結(jié)構(gòu)性突變進(jìn)化安重量、隱藏節(jié)點(diǎn)和
26、網(wǎng)絡(luò)鏈接。Jian和Yugeng10用進(jìn)化規(guī)劃(EP)進(jìn)化體系結(jié)構(gòu)和前饋神經(jīng)網(wǎng)絡(luò)的權(quán)重和遞歸神經(jīng)網(wǎng)絡(luò)。Liang et al17提出了一種改進(jìn)遺傳算法的進(jìn)化神經(jīng)網(wǎng)絡(luò)的結(jié)構(gòu)和參數(shù)。Gutirrez et al。18使用模擬退火控制參數(shù)突變和五個(gè)結(jié)構(gòu)突變進(jìn)化徑向基函數(shù)(RBF)神經(jīng)網(wǎng)絡(luò)。所有這些以前作品的目的是產(chǎn)生一個(gè)緊湊和廣義的ANN。通常,拓?fù)涞囊粋€(gè)ANN可以編碼到一個(gè)染色體編碼方案來使用直接或間接編碼方案。在直接編碼方案中,所有的ANN拓?fù)渚幋a直接進(jìn)入一個(gè)染色體,這是通過使用二進(jìn)制表示,而這表明存在網(wǎng)絡(luò)連接和隱藏的節(jié)點(diǎn)。間接編碼方案只有編碼的一些重要參數(shù)的一個(gè)ANN拓?fù)?如數(shù)量的隱藏層和隱藏
27、的節(jié)點(diǎn)。其他細(xì)節(jié)ANN拓?fù)涫穷A(yù)定義的或指定的一組確定的發(fā)展規(guī)則19。直接編碼方案易于實(shí)現(xiàn),適合于精確的搜索。盡管間接編碼方案可以減少染色體的長度,它可能不適合找一個(gè)緊湊的具有良好的泛化能力的ANN19。在本文中,一個(gè)直接編碼方案是用來代表ANN拓?fù)?。進(jìn)化的ANN拓?fù)浜蜋?quán)重可以幫助緩解此問題的嘈雜的評(píng)價(jià)。然而,僅僅依靠EA來進(jìn)化神經(jīng)網(wǎng)絡(luò)是相當(dāng)?shù)托?zhí)行本地搜索。進(jìn)一步訓(xùn)練使用傳統(tǒng)的梯度下降方法進(jìn)化后可以是一個(gè)簡單的方法來調(diào)整網(wǎng)絡(luò)。認(rèn)為情勢(shì)的過早收斂在進(jìn)化過程中,ANN發(fā)現(xiàn)經(jīng)過進(jìn)一步培訓(xùn)可能不是最優(yōu)的。其他方法如使用退火溫度指導(dǎo)重量擾動(dòng)步長9和調(diào)度的突變概率12的個(gè)人網(wǎng)絡(luò)的種群可以被認(rèn)為是初步指南向
28、本地搜索,但沒有不同的方向已經(jīng)被提供。因此,EA應(yīng)該引導(dǎo)正確維持兩者之間的平衡整個(gè)搜索空間的探索和開發(fā)的重要區(qū)域。出于平衡的重要性,在進(jìn)化過程和同步進(jìn)化的ANN拓?fù)浜蜋?quán)重下的全局和本地搜索,本文提出了一種新的進(jìn)化方法稱為混合進(jìn)化人工神經(jīng)網(wǎng)絡(luò)(HEANN),同時(shí)發(fā)展ANN拓?fù)浜蜋?quán)重。此外,HEANN演示了一個(gè)平衡的全局搜索和局部搜索通過引入一個(gè)在演化工程中產(chǎn)生新穎的自適應(yīng)變異技術(shù)。而不是使用傳統(tǒng)的方法來降低突變概率或步長大小,HEANN使用信息從種群引導(dǎo)進(jìn)化過程將逐漸向全局搜索到本地搜索過渡。首先,概括損失(GL)在種群是用來適應(yīng)變異概率和步長。第二,適應(yīng)性價(jià)值的每個(gè)個(gè)體的種群是用來確定突變的嚴(yán)
29、重性,在給定個(gè)體的種群。在本文中,主要有兩個(gè)因素:網(wǎng)絡(luò)拓?fù)鋬?yōu)化和進(jìn)化能力。一種很流行的方法,優(yōu)化兩個(gè)或兩個(gè)以上的目標(biāo)是基于Pareto優(yōu)勢(shì)20-22。然而,查找和估算Pareto適應(yīng)度的計(jì)算成本會(huì)增,當(dāng)優(yōu)化目標(biāo)數(shù)量增加時(shí)21。另一個(gè)流行的方法是基于多目標(biāo)學(xué)習(xí)10,12、20,它聚合了幾個(gè)目標(biāo)變成一個(gè)標(biāo)量成本函數(shù)。在這種情況下,該方法假設(shè)凸性的Pareto。這種方法是用在當(dāng)前的實(shí)現(xiàn)。其余的部分組織如下:第二部分詳細(xì)的描述了HEANN和每個(gè)成分。第三部分分析了所提出的自適應(yīng)變異技術(shù)在ANN拓?fù)?添加或刪除節(jié)點(diǎn),連接)下的影響,這種技術(shù)平衡全局和局部搜索的進(jìn)化過程。第四節(jié)顯示了結(jié)果的新的自適應(yīng)進(jìn)化框
30、架四個(gè)基準(zhǔn)函數(shù)。第五部分包含實(shí)驗(yàn)結(jié)果的HEANN。第六節(jié)提出了討論結(jié)果。最后,第七節(jié)總結(jié)了本文的工作。結(jié)論:本文描述了一種新的方法來同時(shí)進(jìn)化ANN拓?fù)浜蜋?quán)重。解決的弱點(diǎn)在精細(xì)調(diào)諧,ANN EAs,HEANN使用一種自適應(yīng)變異策略來改進(jìn)本地搜索功能,在設(shè)計(jì)神經(jīng)網(wǎng)絡(luò)方面。GL和適應(yīng)性價(jià)值被認(rèn)為在演化過程下幫助了突變適應(yīng)。此外,全局和局部的突變策略的分析研究HEANN。 首次測試是針對(duì)基準(zhǔn)函數(shù)來證明提高局部搜索能力和能夠擺脫局部極值的能力。實(shí)驗(yàn)結(jié)果表明,HEA比傳統(tǒng)的EA好。HEANN是用來測試七真是世界分類問題??偟膩碚f,實(shí)驗(yàn)結(jié)果顯示了在各方面的優(yōu)越性HEANN,相比其他算法。非常聚合的人工神經(jīng)網(wǎng)
31、絡(luò)可以由HEANN產(chǎn)生與其自適應(yīng)變異策略。此外,HEANN需要更少的后代能達(dá)到良好的結(jié)果。唯一的缺點(diǎn)是,它有很多可以由用戶定義的HEANN參數(shù)。然而,HEANN對(duì)這些參數(shù)不是很敏感。不同的突變測試參數(shù)結(jié)果表明,HEANN對(duì)于這些參數(shù)不是很敏感,但他的這些價(jià)值不應(yīng)過低的被估計(jì)。如果沒有需要在進(jìn)化過程中集中計(jì)算的梯度學(xué)習(xí)而使用一個(gè)更大的種群規(guī)模也是可行的。最終的種群肯定包含更多的信息比單獨(dú)的一個(gè)ANN。因此,這將是非常具有挑戰(zhàn)性的自適應(yīng)變異策略在制定合適的進(jìn)化神經(jīng)網(wǎng)絡(luò)系統(tǒng),特別是當(dāng)幾個(gè)種群在合作解決特殊問題時(shí)。閱讀報(bào)告總結(jié):本文的主要提出了一種混合型的人工神經(jīng)網(wǎng)絡(luò),這個(gè)神經(jīng)網(wǎng)絡(luò)是基于一個(gè)緊湊而廣義的ANN拓?fù)浣Y(jié)構(gòu)和權(quán)重的圖,在每次對(duì)樣本進(jìn)行訓(xùn)練的過程中,應(yīng)用了不少優(yōu)化的算法和技術(shù),如遺傳算法、退火技術(shù)等,
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 課題申報(bào)參考:教育治理視域下師德問責(zé)制度化研究
- 課題申報(bào)參考:江南風(fēng)景攝影的審美范式及其傳統(tǒng)轉(zhuǎn)化研究
- 課題申報(bào)參考:價(jià)值醫(yī)療視角下安寧療護(hù)經(jīng)濟(jì)可持續(xù)性機(jī)理解析及促進(jìn)機(jī)制設(shè)計(jì)
- 二零二五版道路照明設(shè)施節(jié)能補(bǔ)貼申請(qǐng)合同4篇
- 2025年度大型商場裝修設(shè)計(jì)與施工一體化承包合同范本4篇
- 2025年金昌b2貨運(yùn)資格證多少道題
- 二零二五年度輪胎產(chǎn)品綠色環(huán)保認(rèn)證服務(wù)合同4篇
- 基于云計(jì)算的2025年度企業(yè)級(jí)應(yīng)用集成合同3篇
- 中介和房東的委托協(xié)議 2篇
- 二零二五年度商業(yè)綜合體消防安全與安保服務(wù)合同3篇
- 道路瀝青工程施工方案
- 《田口方法的導(dǎo)入》課件
- 承包鋼板水泥庫合同范本(2篇)
- 人教版(2024年新教材)七年級(jí)上冊(cè)英語Unit 7 Happy Birthday 單元整體教學(xué)設(shè)計(jì)(5課時(shí))
- DLT 572-2021 電力變壓器運(yùn)行規(guī)程
- 公司沒繳社保勞動(dòng)仲裁申請(qǐng)書
- 損傷力學(xué)與斷裂分析
- 2024年縣鄉(xiāng)教師選調(diào)進(jìn)城考試《教育學(xué)》題庫及完整答案(考點(diǎn)梳理)
- 車借給別人免責(zé)協(xié)議書
- 應(yīng)急預(yù)案評(píng)分標(biāo)準(zhǔn)表
- “網(wǎng)絡(luò)安全課件:高校教師網(wǎng)絡(luò)安全與信息化素養(yǎng)培訓(xùn)”
評(píng)論
0/150
提交評(píng)論