-
2021-04-19 01:09:28
【实例简介】
本程序有算例分析,详细介绍了三种优化SVM方法:遗传算法、PSO、网格搜索法
【实例截图】
【核心代码】
SVM参数优化
└── SVM参数优化
├── chapter13_GA.m
├── chapter13_GridSearch.m
├── chapter13_PSO.m
├── chapter13_wine.mat
└── html
├── chapter13_01.png
├── chapter13_02.png
├── chapter13_03.png
├── chapter13_04.png
├── chapter13_05.png
├── chapter13_06.png
├── chapter13_07.png
├── chapter13_GA_01.png
├── chapter13_GA_02.png
├── chapter13_GA_03.png
├── chapter13_GA_04.png
├── chapter13_GA.html
├── chapter13_GA.png
├── chapter13_GridSearch_01.png
├── chapter13_GridSearch_02.png
├── chapter13_GridSearch_03.png
├── chapter13_GridSearch_04.png
├── chapter13_GridSearch_05.png
├── chapter13_GridSearch_06.png
├── chapter13_GridSearch_07.png
├── chapter13_GridSearch.html
├── chapter13_GridSearch.png
├── chapter13.html
├── chapter13.png
├── chapter13_PSO_01.png
├── chapter13_PSO_02.png
├── chapter13_PSO_03.png
├── chapter13_PSO_04.png
├── chapter13_PSO.html
└── chapter13_PSO.png
2 directories, 34 files
更多相关内容 -
matlab SVM的参数优化——如何更好的提升分类器的性能
2018-02-01 14:42:11利用matlab对SVM算法的参数进行优化,从而更好的提升分类性能 -
PSO优化SVM参数matlab实例.rar
2021-12-18 21:03:47参考学习 -
SVM神经网络中的参数优化---提升分类器性能(matlab实现).zip
2021-08-24 11:10:00SVM神经网络中的参数优化---提升分类器性能(matlab实现),包含源代码和测试数据 -
PSO优化SVM参数matlab实例
2017-09-24 14:54:25matlab环境下使用PSO算法对SVM多分类器的参数进行优化的案例,代码有详细的注释,另有一篇博客对算法的大致过程有介绍. -
pso-SVM_PSO优化参数_psosvm_SVM优化matlab_svm优化_SVM
2021-09-11 15:57:55pso优化SVM参数,可运行。MATLAB实现 -
PSO优化SVM参数_MATLAB_SVM工具箱
2022-03-05 22:50:20资源名:PSO优化SVM参数_MATLAB_SVM工具箱 资源类型:matlab项目全套源码 源码说明: 全部项目源码都是经过测试校正后百分百成功运行的,如果您下载后不能运行可联系我进行指导或者更换。 适合人群:新手及有一定... -
【SVM预测】基于遗传算法优化实现SVM数据分类matlab源码.zip
2021-10-20 16:31:05【SVM预测】基于遗传算法优化实现SVM数据分类matlab源码.zip -
基于改进的网格搜索法的SVM参数优化 (2012年)
2021-05-22 01:46:38具体分析了网格法、遗传算法和粒子群算 法在 SVM参数优化方面的性能以及优缺点,提出了一种改进的网格法. 先在较大范围内进行搜索,在得到的优化结果 附近区域再进行精确搜索. 实验表明改进的网格搜索法耗时短,更适用... -
改进svm,改进svm算法,matlab
2021-09-10 19:46:10phog方法提取图像特征,svm支持向量机进行分类,分别有GA遗传算法和PSO粒子群优化算法进行寻优。 -
通过WOA优化SVM参数,将优化后的SVM识别乳腺癌,matlab仿真
2022-03-19 22:27:33通过WOA优化SVM参数,将优化后的SVM识别乳腺癌,matlab仿真 for j=1:D if rand_flag if abs(K1)>=1 RLidx = floor(Num*rand()+1); X_rand = xwoa(RLidx, :); D_X_rand = abs(K2*X_rand(j)-xwoa(i,j)); xwoa... -
pso-SVM_PSO优化参数_psosvm_SVM优化matlab_svm优化_SVM_源码.zip
2021-10-05 22:09:29pso-SVM_PSO优化参数_psosvm_SVM优化matlab_svm优化_SVM_源码.zip -
【SVM分类】基于遗传算法优化实现SVM数据分类matlab源码
2021-09-06 14:59:20 一、神经网络-支持向量机 支持向量机(Support Vector Machine)是Cortes和Vapnik于1995年首先提出的,它在解决小样本、非线性及高维模式识别中表现出许多特有的优势,并能够推广应用到函数拟合等其他机器学习...
一、神经网络-支持向量机
支持向量机(Support Vector Machine)是Cortes和Vapnik于1995年首先提出的,它在解决小样本、非线性及高维模式识别中表现出许多特有的优势,并能够推广应用到函数拟合等其他机器学习问题中。 1 数学部分 1.1 二维空间
2 算法部分
二、遗传算法
• 遗传算法(Genetic Algorithm,GA)是一种进化算法,其基本原理是仿效生物界中的“物竞天择、适者生存”的演化法 则,它最初由美国Michigan大学的J. Holland教授于1967年提出。 • 遗传算法是从代表问题可能潜在的解集的一个种群(population)开始的,而一个种群则由经过基因(gene)编码的一 定数目的个体(individual)组成。因此,第一步需要实现从表现型到基因型的映射即编码工作。初代种群产生之后,按照 适者生存和优胜劣汰的原理,逐代(generation)演化产生出越来越好的近似解,在每一代,根据问题域中个体的适应度 (fitness)大小选择个体,并借助于自然遗传学的遗传算子(genetic operators)进行组合交叉和变异,产生出代表新 的解集的种群。这个过程将导致种群像自然进化一样,后生代种群比前代更加适应于环境,末代种群中的最优个体经过解 码(decoding),可以作为问题近似最优解。
• 遗传算法有三个基本操作:选择(Selection)、交叉(Crossover)和变异(Mutation)。 • (1)选择。选择的目的是为了从当前群体中选出优良的个体,使它们有机会作为父代为下一代繁衍子孙。根据各个个体的 适应度值,按照一定的规则或方法从上一代群体中选择出一些优良的个体遗传到下一代种群中。选择的依据是适应性强的 个体为下一代贡献一个或多个后代的概率大。 • (2)交叉。通过交叉操作可以得到新一代个体,新个体组合了父辈个体的特性。将群体中的各个个体随机搭配成对,对每 一个个体,以交叉概率交换它们之间的部分染色体。 • (3)变异。对种群中的每一个个体,以变异概率改变某一个或多个基因座上的基因值为其他的等位基因。同生物界中一样, 变异发生的概率很低,变异为新个体的产生提供了机会。
遗传算法的基本步骤:
1)编码:GA在进行搜索之前先将解空间的解数据表示成遗传空间的基因型串结构数据, 这些串结构数据的丌同组合便构成了丌同的点。 2)初始群体的生成:随机产生N个初始串结构数据,每个串结构数据称为一个个体,N个 个体构成了一个群体。GA以这N个串结构数据作为初始点开始进化。 3)适应度评估:适应度表明个体或解的优劣性。丌同的问题,适应性函数的定义方式也丌 同。
4)选择:选择的目的是为了从当前群体中选出优良的个体,使它们有机会作为父代为下一 代繁殖子孙。遗传算法通过选择过程体现这一思想,进行选择的原则是适应性强的个体为 下一代贡献一个或多个后代的概率大。选择体现了达尔文的适者生存原则。 5)交叉:交叉操作是遗传算法中最主要的遗传操作。通过交叉操作可以得到新一代个体, 新个体组合了其父辈个体的特性。交叉体现了信息交换的思想。 6)变异:变异首先在群体中随机选择一个个体,对于选中的个体以一定的概率随机地改变 串结构数据中某个串的值。同生物界一样, GA中变异发生的概率很低,通常取值很小。
遗传算法工具箱:
• MATLAB内嵌遗传算法工具箱: gadst • Sheffield大学遗传算法工具箱: gatbx • 北卡罗来纳大学遗传算法工具箱: gaot
initializega函数:
ga函数:
遗传算法优化BP神经网络初始权值与阈值:
三、代码
%遗传算法主程序 %Name:genmain05.m clear clf popsize=20; %群体大小 chromlength=10; %字符串长度(个体长度) pc=0.6; %交叉概率 pm=0.001; %变异概率 pop=initpop(popsize,chromlength); %随机产生初始群体 for i=1:20 %20为迭代次数 [objvalue]=calobjvalue(pop); %计算目标函数 fitvalue=calfitvalue(objvalue); %计算群体中每个个体的适应度 [newpop]=selection(pop,fitvalue); %复制 [newpop]=crossover(pop,pc); %交叉 [newpop]=mutation(pop,pc); %变异 [bestindividual,bestfit]=best(pop,fitvalue); %求出群体中适应值最大的个体及其适应值 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); %计算最大值及其位置,这里取的是y向量中的最大值,如果求最小值应该取min,同时修改适应度函数 x5=x(index)%计算最大值对应的x值 y=z
5.参考文献:
书籍《MATLAB神经网络43个案例分析》
-
pso-SVM_PSO优化参数_psosvm_SVM优化matlab_svm优化_SVM_源码.rar
2021-09-29 00:19:23pso-SVM_PSO优化参数_psosvm_SVM优化matlab_svm优化_SVM_源码.rar -
SVM参数优化_提升分类器的性能_GA_PSO_matlab
2022-04-12 22:52:08资源名:SVM参数优化_提升分类器的性能_GA_PSO_matlab 资源类型:matlab项目全套源码 源码说明: 全部项目源码都是经过测试校正后百分百成功运行的,如果您下载后不能运行可联系我进行指导或者更换。 适合人群:新手... -
SVM的参数优化——如何更好的提升分类器的性能.7z
2021-08-29 15:43:51SVM的参数优化——如何更好的提升分类器的性能.7z本章要解决的问题就是仅仅利用训练集找到分类的最佳参数,不但能够高准确率的预测训练集而且要合理的预测测试集,使得测试集的分类准确率也维持在一个较高水平,即... -
【SVM分类】基于花授粉算法优化实现SVM数据分类matlab源码.md
2021-09-13 18:39:31matlab源码 -
Improve_svm优化_swimmingndi_SVM分类_matlab_优化_
2021-10-03 13:40:05提升分类器性能SVM神经网络中的参数优化MATLAB源码 -
SVM_putong_SVM分类_matlab_优化SVM_SVM_
2021-09-30 05:15:58一个简单的svm分类,未进行参数优化,请大佬们指教(凑字数) -
SVM用粒子群优化参数
2021-04-19 01:10:14该楼层疑似违规已被系统折叠隐藏此楼查看此楼下面是一个调用SVM分类的一个实例,这个例子svmtrain没有传参数。我现在要用粒子群算法优化支持向量机的参数,请哪位大神告诉我怎么调用svmtrain函数的语法怎么写,将...该楼层疑似违规已被系统折叠 隐藏此楼查看此楼
下面是一个调用SVM分类的一个实例,这个例子svmtrain没有传参数。我现在要用粒子群算法优化支持向量机的参数,请哪位大神告诉我怎么调用svmtrain函数的语法怎么写,将优化的参数传进去? 谢谢各位大神!!!!!!!!
============================实例研究====================
load fisheriris
%载入matlab自带的数据[有关数据的信息可以自己到UCI查找,这是UCI的经典数据之一],得到的数据如下图:
其中meas是150*4的矩阵代表着有150个样本每个样本有4个属性描述,species代表着这150个样本的分类.
data = [meas(:,1), meas(:,2)];
%在这里只取meas的第一列和第二列,即只选取前两个属性.
groups = ismember(species,'setosa');
%由于species分类中是有三个分类:setosa,versicolor,virginica,为了使问题简单,我们将其变为二分类问题:Setosa and non-Setosa.
[train, test] = crossvalind('holdOut',groups);
cp = classperf(groups);
%随机选择训练集合测试集[有关crossvalind的使用请自己help一下]
其中cp作用是后来用来评价分类器的.
svmStruct = svmtrain(data(train,:),groups(train),'showplot',true);
%使用svmtrain进行训练,得到训练后的结构svmStruct,在预测时使用.
classes = svmclassify(svmStruct,data(test,:),'showplot',true);
%对于未知的测试集进行分类预测,结果如图:
tu3
3.jpg (37.34 KB)
2009-5-12 19:50
classperf(cp,classes,test);
cp.CorrectRate
ans =
0.9867
-
最优C-G参数选取的SVM的Matlab实现(含数据与工具包及使用说明)
2020-04-20 16:48:37本资源包含Matlab的libsvm工具包,两个支持向量机实例(含数据),最优C-G参数的选取函数及图像绘制 -
PSO优化SVM参数
2012-10-06 09:37:00简单的PSO算法用来进行参数寻优,从而优化SVM的惩罚参数c和核参数g -
【SVM预测】基于遗传算法优化实现SVM数据分类matlab源码
2021-09-27 19:42:511 神经网络-支持向量机 2 代码 %遗传算法主程序 %Name:genmain05.m clear clf popsize=... 一种基于遗传算法的SVM决策树多分类策略研究[J]. 电子学报, 2008, 36(008):1502-1507. 5 MATLAB代码与数据下载地址 见博客主页1 神经网络-支持向量机
2 代码
%遗传算法主程序 %Name:genmain05.m clear clf popsize=20; %群体大小 chromlength=10; %字符串长度(个体长度) pc=0.6; %交叉概率 pm=0.001; %变异概率 pop=initpop(popsize,chromlength); %随机产生初始群体 for i=1:20 %20为迭代次数 [objvalue]=calobjvalue(pop); %计算目标函数 fitvalue=calfitvalue(objvalue); %计算群体中每个个体的适应度 [newpop]=selection(pop,fitvalue); %复制 [newpop]=crossover(pop,pc); %交叉 [newpop]=mutation(pop,pc); %变异 [bestindividual,bestfit]=best(pop,fitvalue); %求出群体中适应值最大的个体及其适应值 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); %计算最大值及其位置,这里取的是y向量中的最大值,如果求最小值应该取min,同时修改适应度函数 x5=x(index)%计算最大值对应的x值 y=z
3 仿真结果
4 参考文献
[1]连可, 黄建国, 王厚军,等. 一种基于遗传算法的SVM决策树多分类策略研究[J]. 电子学报, 2008, 36(008):1502-1507.
5 MATLAB代码与数据下载地址
见博客主页
-
DE差分进化算法优化SVM参数找不到最优的参数集
2021-04-19 02:07:02[color=darkgreen]function [bestc,bestg,test_pre]=my_DE_SVR(para,input_train,output_train,input_test,output_test)% 参数向量 parameters [n,N_iteration,beta_min,beta_max,pCR]% n为种群规模,N_iteration为... -
基于GA的svm参数寻优
2021-04-22 04:00:17500] % sizepop:种群最大数量,默认为20,一般取值范围为[20,100] % cbound = [cmin,cmax],参数c的变化范围,默认为(0,100] % gbound = [gmin,gmax],参数g的变化范围,默认为[0,1000] % v:SVM Cross Validation参数,默认... -
SVM 的顺序最小优化 (SMO):SVM_SMO 使用 SMO 求解器和不同的内核(线性、rbf、多项式、sigmoid)创建 SVM ...
2021-05-31 22:27:10根据内核的选择,附加的将使用参数(伽马、偏移和功率)。 训练结果将以alpha系数和b给出临界点。 LF_SVM_SMO 使用 SMO 求解器从 SVM 模型预测标签矩阵 xp(mpxn) 包含 n 个特征的测试集和 mp 测试。 SVM 模型由 ... -
通过PSO粒子群优化SVM参数,并识别乳腺癌,使用MATLAB仿真
2022-03-19 22:26:36通过PSO粒子群优化SVM参数,并识别乳腺癌,使用MATLAB仿真 for t=1:Iters t for i=1:Num rng(i) v(i,:) = w*v(i,:)+c1*rand*(y(i,:)-x(i,:))+c2*rand*(pg-x(i,:)); x(i,:) = x(i,:)+v(i,:); if x(i,1) x(i,...