支持向量机非线性回归matlab源码

支持向量机非线性回归matlab源码

ID:2244592

大小:50.50 KB

页数:7页

时间:2017-11-15

支持向量机非线性回归matlab源码_第1页
支持向量机非线性回归matlab源码_第2页
支持向量机非线性回归matlab源码_第3页
支持向量机非线性回归matlab源码_第4页
支持向量机非线性回归matlab源码_第5页
资源描述:

《支持向量机非线性回归matlab源码》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、支持向量机非线性回归通用MATLAB源码支持向量机和BP神经网络都可以用来做非线性回归拟合,但它们的原理是不相同的,支持向量机基于结构风险最小化理论,普遍认为其泛化能力要比神经网络的强。大量仿真证实,支持向量机的泛化能力强于BP网络,而且能避免神经网络的固有缺陷——训练结果不稳定。本源码可以用于线性回归、非线性回归、非线性函数拟合、数据建模、预测、分类等多种应用场合,GreenSim团队推荐您使用。function[Alpha1,Alpha2,Alpha,Flag,B]=SVMNR(X,Y,Ep

2、silon,C,TKF,Para1,Para2)%%%SVMNR.m%SupportVectorMachineforNonlinearRegression%Allrightsreserved%%%支持向量机非线性回归通用程序%GreenSim团队原创作品,转载请注明%GreenSim团队长期从事算法设计、代写程序等业务%欢迎访问GreenSim——算法仿真团队→http://blog.sina.com.cn/greensim%程序功能:%使用支持向量机进行非线性回归,得到非线性函数y=f(x1,

3、x2,…,xn)的支持向量解析式,%求解二次规划时调用了优化工具箱的quadprog函数。本函数在程序入口处对数据进行了%[-1,1]的归一化处理,所以计算得到的回归解析式的系数是针对归一化数据的,仿真测%试需使用与本函数配套的Regression函数。%主要参考文献:%朱国强,刘士荣等.支持向量机及其在函数逼近中的应用.华东理工大学学报%输入参数列表%X输入样本原始数据,n×l的矩阵,n为变量个数,l为样本个数%Y输出样本原始数据,1×l的矩阵,l为样本个数%Epsilonε不敏感损失函数的参

4、数,Epsilon越大,支持向量越少%C惩罚系数,C过大或过小,泛化能力变差%TKFTypeofKernelFunction核函数类型%TKF=1线性核函数,注意:使用线性核函数,将进行支持向量机的线性回归%TKF=2多项式核函数%TKF=3径向基核函数%TKF=4指数核函数%TKF=5Sigmoid核函数%TKF=任意其它值,自定义核函数%Para1核函数中的第一个参数%Para2核函数中的第二个参数%注:关于核函数参数的定义请见Regression.m和SVMNR.m内部的定义%输出参数列表

5、%Alpha1α系数%Alpha2α*系数%Alpha支持向量的加权系数(α-α*)向量%Flag1×l标记,0对应非支持向量,1对应边界支持向量,2对应标准支持向量%B回归方程中的常数项%--------------------------------------------------------------------------%%%-----------------------数据归一化处理--------------------------------------nntwarnoff

6、X=premnmx(X);Y=premnmx(Y);%%%%%-----------------------核函数参数初始化------------------------------------switchTKFcase1%线性核函数K=sum(x.*y)%没有需要定义的参数case2%多项式核函数K=(sum(x.*y)+c)^pc=Para1;%c=0.1;p=Para2;%p=2;case3%径向基核函数K=exp(-(norm(x-y))^2/(2*sigma^2))sigma=Par

7、a1;%sigma=6;case4%指数核函数K=exp(-norm(x-y)/(2*sigma^2))sigma=Para1;%sigma=3;case5%Sigmoid核函数K=1/(1+exp(-v*sum(x.*y)+c))v=Para1;%v=0.5;c=Para2;%c=0;otherwise%自定义核函数,需由用户自行在函数内部修改,注意要同时修改好几处!%暂时定义为K=exp(-(sum((x-y).^2)/(2*sigma^2)))sigma=Para1;%sigma=8;en

8、d%%%%%-----------------------构造K矩阵-------------------------------------------l=size(X,2);K=zeros(l,l);%K矩阵初始化fori=1:lforj=1:lx=X(:,i);y=X(:,j);switchTKF%根据核函数的类型,使用相应的核函数构造K矩阵case1K(i,j)=sum(x.*y);case2K(i,j)=(sum(x.*y)+c)^p;case3K(i,j)=exp(-(norm(x-

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。