遗传算法选取最优参数 MATLAB 程序
复制代码
在这里使用启发式算法 GA(遗传算法)来进行参数寻优,用网格划分(grid search)
来寻找最佳的参数 c 和 g,虽然采用网格搜索能够找到在 CV 意义下的最高的分类准确率,
即全局最优解,但有时候如果想在更大的范围内寻找最佳的参数 c 和 g 会很费时,采用启
发式算法就可以不必遍历网格内的所有的参数点,也能找到全局最优解。
关于遗传算法这里不打算过多介绍,想要学习的朋友可以自己查看相关资料。
使用 GA 来进行参数寻优在在 libsvm-mat-2.89-3[FarutoUltimate3.0]工具箱中已经
实现 gaSVMcgForClass.m(分类问题参数寻优)、gaSVMcgForRegress.m(回归问题参数寻
优)。
1.
2. 3. 4. 5. 6. 7.
利用 GA 参数寻优函数(分类问题):gaSVMcgForClass
[bestCVaccuracy,bestc,bestg,ga_option]=
gaSVMcgForClass(train_label,train,ga_option) 输入:
train_label:训练集的标签,格式要求与 svmtrain 相同。 train:训练集,格式要求
与 svmtrain 相同。
ga_option:GA 中的一些参数设置,可不输入,有默认值,详细请看代码的帮助说明。
8. 输出:
9. bestCVaccuracy:最终 CV 意义下的最佳分类准确率。 10. bestc:最佳的参数 c。
11. bestg:最佳的参数 g。
12. ga_option:记录 GA 中的一些参数。
13. ========================================================== 14. 利用 GA
参数寻优函数(回归问题):gaSVMcgForRegress 15.
[bestCVmse,bestc,bestg,ga_option]=
16. gaSVMcgForRegress(train_label,train,ga_option) 17. 其输入输出与
gaSVMcgForClass 类似,这里不再赘述。
复制代码
gaSVMcgForClass.m 源代码:
评论0
最新资源