




版權說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權,請進行舉報或認領
文檔簡介
利用GA優(yōu)化SVM參數(shù)的一點小探索利用GA優(yōu)化SVM參數(shù)的一點小探索其中GA代碼思路,部分參照版主shi01fg的進行的修改.部分參照雷英杰《MATLAB遺傳算法工具箱與應用》中算法自己實現(xiàn).O(E_E)O.利用GA優(yōu)化SVM中的c和gPS:圖像好像有問題,怎么最佳適應度有的點會比平均的???怪?不管了.反正結果圖如此,晚上回來再看看怎么回事..先這樣..O(E_E)OPPS:那個啥bug找到了..已作了修改...~~還做了一點小優(yōu)化從使用gridsearch優(yōu)化SVM參數(shù)到用TSO,再到用GA優(yōu)化SVM參數(shù),俺總結出一個經(jīng)驗,把C控制住了.不能讓C太大!!!無論你用什么辦法優(yōu)化,在分類準確率都達到最高的參數(shù)里,優(yōu)先選擇C小的那組參數(shù)才是上策..當然只是我個人的一點小經(jīng)驗!!O(n_n)O
Matlablfc壇iLoveMMatlablfc壇iLoveMQ i = i ■ i I L_oio20aa40 5。eozo進化代數(shù) 最佳適應度——平均適應度圖:結果:復制內(nèi)容到剪貼板代碼:bestc=7.7161bestg=2.7382bestCVaccuarcy=98.8764Accuracy=100%(89/89)(classification)Accuracy=96.6292%(86/89)(classification)Elapsedtimeis41.767334seconds.代碼:測試文件代碼:復制內(nèi)容到剪貼板代碼:%%清空環(huán)境clcclear%%loadwine;train=[wine(1:30,:);wine(60:95,:);wine(131:153,:)];train_label=[wine_labels(1:30);wine_labels(60:95);wine_labels(131:153)];test=[wine(31:59,:);wine(96:130,:);wine(154:178,:)];test_label=[wine_labels(31:59);wine_labels(96:130);wine_labels(154:178)];[train,pstrain]=mapminmax(train');pstrain.ymin=0;pstrain.ymax=1;[train,pstrain]=mapminmax(train,pstrain);[test,pstest]=mapminmax(test');pstest.ymin=0;pstest.ymax=1;[test,pstest]=mapminmax(test,pstest);train=train';test=test';%%tic;ga_option.maxgen=200;ga_option.sizepop=50;ga_option.pCrossover=0.4;ga_option.pMutation=0.01;ga_option.cbound=[0.1,100];ga_option.gbound=[0.01,1000];ga_option.v=3;[bestCVaccuarcy,bestc,bestg,ga_option]=gaSVMcgForClass(train_label,train,ga_option);bestcbestgbestCVaccuarcycmd=['-c',num2str(bestc),'-g',num2str(bestg)];model=svmtrain(train_label,train,cmd);[pretrain,trainacc]=svmpredict(train_label,train,model);[pretest,testacc]=svmpredict(test_label,test,model);toc;gaSVMcgForClass.m代碼復制內(nèi)容到剪貼板代碼:function[bestCVaccuarcy,bestc,bestg,ga_option]=gaSVMcgForClass(train_label,train,ga_option)%gaSVMcgForClass%byfaruto%2009.10.07%%參數(shù)初始化ifnargin==2ga_option=struct('maxgen',100,'sizepop',20,'pCrossover',0.4,'pMutation',0.01,...'cbound',[0.1,100],'gbound',[0.01,1000],'v',3);end%maxgen:最大的進化代數(shù),默認為100,一般取值范圍為[100,500]%sizepop:種群最大數(shù)量,默認為20,一般取值范圍為[20,100]%pCrossover:交叉概率,默認為0.4,一般取值范圍為[0.4,0.99]%pMutation:變異概率,默認為0.01,一般取值范圍為[0.0001,0.1]%cbound=[cmin,cmax],參數(shù)c的變化范圍,默認為[0.1,100]%gbound=[gmin,gmax],參數(shù)g的變化范圍,默認為[0.01,1000]%v:SVMCrossValidation參數(shù),默認為3c_len_chromosome=ceil(log2((ga_option.cbound(2)-ga_option.cbound(1))*100));g_len_chromosome=ceil(log2((ga_option.gbound(2)-ga_option.gbound(1))*100));len_chromosome=c_len_chromosome+g_len_chromosome;%將種群信息定義為一個結構體individuals=struct('fitness',zeros(1,ga_option.sizepop),...'chromosome',zeros(ga_option.sizepop,len_chromosome));%每一代種群的平均適應度avgfitness_gen=zeros(1,ga_option.maxgen);%每一代種群的最佳適應度bestfitness_gen=zeros(1,ga_option.maxgen);%最佳適應度bestfitness=0;%適應度最好的染色體bestchromosome=zeros(1,len_chromosome);%%初始化種群fori=1:ga_option.sizepop%編碼individuals.chromosome(i,:)=unidrnd(2,1,len_chromosome)-1;%解碼[c,g]=ga_decode(individuals.chromosome(i,:),ga_option.cbound,ga_option.gbound);%計算初始適應度(CV準確率)cmd=['-v',num2str(ga_option.v),'-c',num2str(c),'-g',num2str(g)];individuals.fitness(i)=svmtrain(train_label,train,cmd);end%找最佳的適應度和最好的染色體的位置[bestfitness,bestindex]=max(individuals.fitness);%最好的染色體bestchromosome=individuals.chromosome(bestindex,:);%初始染色體的平均適應度avgfitness_gen(1)=sum(individuals.fitness)/ga_option.sizepop;%%迭代尋優(yōu)fori=1:ga_option.maxgen%SelectionOperatorindividuals=Selection(individuals,ga_option);%CrossoverOperatorindividuals=Crossover(individuals,ga_option);%MutationOperatorindividuals=Mutation(individuals,ga_option);%計算適應度forj=1:ga_option.sizepop%解碼[c,g]=ga_decode(individuals.chromosome(j,:),ga_option.cbound,ga_option.gbound);%計算初始適應度(CV準確率)cmd=['-v',num2str(ga_option.v),'-c',num2str(c),'-g',num2str(g)];individuals.fitness(j)=svmtrain(train_label,train,cmd);end%找最佳的適應度和最好的染色體的位置[new_bestfitness,bestindex]=max(individuals.fitness);%最好的染色體new_bestchromosome=individuals.chromosome(bestindex,:);[new_c,g]=ga_decode(new_bestchromosome,ga_option.cbound,ga_option.gbound);[c,g]=ga_decode(bestchromosome,ga_option.cbound,ga_option.gbound);ifnew_bestfitness==bestfitness&&new_c<cbestfitness=new_bestfitness;bestchromosome=new_bestchromosome;endifnew_bestfitness>bestfitnessbestfitness=new_bestfitness;bestchromosome=new_bestchromosome;end%這一代染色體的最佳適應度bestfitness_gen(i)=bestfitness;%這一代染色體的平均適應度avgfitness_gen(i)=sum(individuals.fitness)/ga_option.sizepop;end%%結果分析figure;holdon;plot(bestfitness_gen,'r');plot(avgfitness_gen);legend('最佳適應度',’平均適應度');title(['適應度曲線','(終止代數(shù)二',num2str(ga_option.maxgen),',種群數(shù)量pop=',num2str(ga_option.sizepop),'
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經(jīng)權益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
- 6. 下載文件中如有侵權或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 中國3D打印軟件項目創(chuàng)業(yè)計劃書
- 樂理三級考試題及答案
- 生產(chǎn)安全事故應急處置預案管理實施計劃方案
- 供應鏈金融倉單質(zhì)押擔保合同模板
- 財務會計人員保密與競業(yè)限制合同
- 跨界合作代駕泊車服務合同范例
- 茶山茶園觀光旅游項目租賃合同
- 2025沈陽市住宅用房屋租賃合同范本
- 2025化工原料類購銷合同
- 2025汽車貸款抵押的合同
- 山東勝利職業(yè)學院輔導員招聘考試行政管理教師崗筆試面試歷年真題庫試卷
- 湖南金紫宇新材料科技有限公司年產(chǎn)2萬噸光刻膠用新型感光精細化學品項目環(huán)評報告書
- 受案登記表-模板
- 清潔評標標書答辯評分表
- 產(chǎn)品創(chuàng)新設計與實踐完整版課件全套ppt教學教程電子教案講義最全(最新)
- 《我們走在大路上》歌詞
- NHK-2XP350S產(chǎn)品手冊
- 華東師范大版初中數(shù)學八年級下冊 綜合與實踐 圖形的等分 課件(共20張PPT)
- 試運行方案計劃-
- 變配電運行值班員(500kV及以上)技師-機考題庫(導出版)
- 法蘭規(guī)格尺寸表國標,美標
評論
0/150
提交評論