




版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
利用GA優化SVM參數的一點小探索利用GA優化SVM參數的一點小探索其中GA代碼思路,部分參照版主shi01fg的進行的修改.部分參照雷英杰《MATLAB遺傳算法工具箱與應用》中算法自己實現.O(E_E)O.利用GA優化SVM中的c和gPS:圖像好像有問題,怎么最佳適應度有的點會比平均的小?怪?不管了.反正結果圖如此,晚上回來再看看怎么回事..先這樣..O(E_E)OPPS:那個啥bug找到了..已作了修改...~~還做了一點小優化從使用gridsearch優化SVM參數到用TSO,再到用GA優化SVM參數,俺總結出一個經驗,把C控制住了.不能讓C太大!!!無論你用什么辦法優化,在分類準確率都達到最高的參數里,優先選擇C小的那組參數才是上策..當然只是我個人的一點小經驗!!O(n_n)O
Matlablfc壇iLoveMMatlablfc壇iLoveMQ i = i ■ i I L_oio20aa40 5。eozo進化代數 最佳適應度——平均適應度圖:結果:復制內容到剪貼板代碼:bestc=7.7161bestg=2.7382bestCVaccuarcy=98.8764Accuracy=100%(89/89)(classification)Accuracy=96.6292%(86/89)(classification)Elapsedtimeis41.767334seconds.代碼:測試文件代碼:復制內容到剪貼板代碼:%%清空環境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代碼復制內容到剪貼板代碼:function[bestCVaccuarcy,bestc,bestg,ga_option]=gaSVMcgForClass(train_label,train,ga_option)%gaSVMcgForClass%byfaruto%2009.10.07%%參數初始化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:最大的進化代數,默認為100,一般取值范圍為[100,500]%sizepop:種群最大數量,默認為20,一般取值范圍為[20,100]%pCrossover:交叉概率,默認為0.4,一般取值范圍為[0.4,0.99]%pMutation:變異概率,默認為0.01,一般取值范圍為[0.0001,0.1]%cbound=[cmin,cmax],參數c的變化范圍,默認為[0.1,100]%gbound=[gmin,gmax],參數g的變化范圍,默認為[0.01,1000]%v:SVMCrossValidation參數,默認為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;%%迭代尋優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(['適應度曲線','(終止代數二',num2str(ga_option.maxgen),',種群數量pop=',num2str(ga_option.sizepop),'
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經權益所有人同意不得將文件中的內容挪作商業或盈利用途。
- 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 石嘴山工貿職業技術學院《水工程施工》2023-2024學年第一學期期末試卷
- 西安財經大學《系統理論數學基礎》2023-2024學年第二學期期末試卷
- 《騰訊戰略投資》課件
- 2025海鮮供貨合同
- 2025至2031年中國化纖紡織原料行業投資前景及策略咨詢研究報告
- 2025至2030年中國高爾夫發球桿數據監測研究報告
- 2025至2030年中國鋼槽輪數據監測研究報告
- 2025至2030年中國線纜外護層開剝刀數據監測研究報告
- 2025至2030年中國糖果柜數據監測研究報告
- 罩棚吊頂噴漆施工方案
- GB/T 31539-2015結構用纖維增強復合材料拉擠型材
- 機械制圖國家標準
- 汽車吊起重吊裝方案-
- 陰囊疾病超聲診斷課件
- 最新體檢信息系統課件
- 西師版三年級數學(下冊)第一單元試題
- 信用修復授權委托書
- 危大工程驗收記錄表(腳手架工程)
- X射線光電子能譜-avantage課件
- GJB9001C-2017質量管理體系檢查內容的內部審核檢查表【含檢查內容】
- 面試人員測評打分表
評論
0/150
提交評論