支持向量机非线性回归通用MATLAB源码_第1页
支持向量机非线性回归通用MATLAB源码_第2页
支持向量机非线性回归通用MATLAB源码_第3页
支持向量机非线性回归通用MATLAB源码_第4页
支持向量机非线性回归通用MATLAB源码_第5页
已阅读5页,还剩2页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

支持向量机非线性回归通用 MATLAB 源码 支持向量机和 BP 神经网络都可以用来做非线性回归拟合 但它们的原理是不相同的 支 持向量机基于结构风险最小化理论 普遍认为其泛化能力要比神经网络的强 大量仿真证 实 支持向量机的泛化能力强于 BP 网络 而且能避免神经网络的固有缺陷 训练结果 不稳定 本源码可以用于线性回归 非线性回归 非线性函数拟合 数据建模 预测 分 类等多种应用场合 GreenSim 团队推荐您使用 function Alpha1 Alpha2 Alpha Flag B SVMNR X Y Epsilon C TKF Para1 Para2 SVMNR m Support Vector Machine for Nonlinear Regression All rights reserved 支持向量机非线性回归通用程序 GreenSim 团队原创作品 转载请注明 GreenSim 团队长期从事算法设计 代写程序等业务 欢迎访问 GreenSim 算法仿真团队 程序功能 使用支持向量机进行非线性回归 得到非线性函数 y f x1 x2 xn 的支持向量解析式 求解二次规划时调用了优化工具箱的 quadprog 函数 本函数在程序入口处对数据进行 了 1 1 的归一化处理 所以计算得到的回归解析式的系数是针对归一化数据的 仿真测 试需使用与本函数配套的 Regression 函数 主要参考文献 朱国强 刘士荣等 支持向量机及其在函数逼近中的应用 华东理工大学学报 输入参数列表 X 输入样本原始数据 n l 的矩阵 n 为变量个数 l 为样本个数 Y 输出样本原始数据 1 l 的矩阵 l 为样本个数 Epsilon 不敏感损失函数的参数 Epsilon 越大 支持向量越少 C 惩罚系数 C 过大或过小 泛化能力变差 TKF Type of Kernel Function 核函数类型 TKF 1 线性核函数 注意 使用线性核函数 将进行支持向量机的线性回归 TKF 2 多项式核函数 TKF 3 径向基核函数 TKF 4 指数核函数 TKF 5 Sigmoid 核函数 TKF 任意其它值 自定义核函数 Para1 核函数中的第一个参数 Para2 核函数中的第二个参数 注 关于核函数参数的定义请见 Regression m 和 SVMNR m 内部的定义 输出参数列表 Alpha1 系数 Alpha2 系数 Alpha 支持向量的加权系数 向量 Flag 1 l 标记 0 对应非支持向量 1 对应边界支持向量 2 对应标准支持向量 B 回归方程中的常数项 数据归一化处理 nntwarn off X premnmx X Y premnmx Y 核函数参数初始化 switch TKF case 1 线性核函数 K sum x y 没有需要定义的参数 case 2 多项式核函数 K sum x y c p c Para1 c 0 1 p Para2 p 2 case 3 径向基核函数 K exp norm x y 2 2 sigma 2 sigma Para1 sigma 6 case 4 指数核函数 K exp norm x y 2 sigma 2 sigma Para1 sigma 3 case 5 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 end 构造 K 矩阵 l size X 2 K zeros l l K 矩阵初始化 for i 1 l for j 1 l x X i y X j switch TKF 根据核函数的类型 使用相应的核函数构造 K 矩阵 case 1 K i j sum x y case 2 K i j sum x y c p case 3 K i j exp norm x y 2 2 sigma 2 case 4 K i j exp norm x y 2 sigma 2 case 5 K i j 1 1 exp v sum x y c otherwise K i j exp sum x y 2 2 sigma 2 end end end 构造二次规划模型的参数 H Ft Aeq Beq lb ub 支持向量机非线性回归 回归函数的系数 要通过求解一个二次规划模型得以确定 Ft Epsilon ones 1 l Y Epsilon ones 1 l Y Aeq ones 1 l ones 1 l Beq 0 ub C ones 2 l 1 调用优化工具箱 quadprog 函数求解二次规划 OPT optimset OPT LargeScale off OPT Display off 整理输出回归方程的系数 Alpha1 Gamma 1 l 1 Alpha2 Gamma l 1 end 1 Alpha Alpha1 Alpha2 Flag 2 ones 1 l 支持向量的分类 Err 0 1 for i 1 l AA Alpha1 i BB Alpha2 i if abs AA 0 Err 标准支持向量 end if abs AA 0 Err 标准支持向量 end if abs AA C Err 边界支持向量 end if abs AA 0 Err for j 1 l if Flag j 0 switch TKF case 1 SUM SUM Alpha j sum X j X i case 2 SUM SUM Alpha j sum X j X i c p case 3 SUM SUM Alpha j exp norm X j X i 2 2 sigma 2 case 4 SUM SUM Alpha j exp norm X j X i 2 sigma 2 case 5 SUM SUM Alpha j 1 1 exp v sum X j X i c otherwise SUM SUM Alpha j exp sum X j X i 2 2 sigma 2 end end end b Y i SUM Epsilon B B b counter counter 1 end if abs AA 0 Err for j 1 l if Flag j 0 switch TKF case 1 SUM SUM Alpha j sum X j X i case 2 SUM SUM Alpha j sum X j X i c p case 3 SUM SUM Alpha j exp norm X j X i 2 2 sigma 2 case 4 SUM SUM Alpha j exp norm X j X i 2 sigma 2 case 5 SUM SUM Alpha j 1 1 exp v sum X j X i c otherwise SUM SUM Alpha j exp sum X j X i 2 2 sigma 2 end end end b Y i SUM Epsilon B B b counter counter 1 end end if counter 0 B 0 else B B counter end 欢迎访问欢迎访问 GreenSim 团队主页 团队主页 欢迎访问欢迎访问 GreenSim 算法仿真团队算法仿真团队 function y Regression Alpha Flag B X Y TKF Para1 Para2 x Regression m 与 SVMNR m 函数配套使用的仿真测试函数 函数功能 本函数相当于支持向量得到的回归方程的解析方程 输入一个待测试的列向量 x 得到 一 个对应的输出值 y GreenSim 团队原创作品 转载请注明 GreenSim 团队长期从事算法设计 代写程序等业务 欢迎访问 GreenSim 算法仿真团队 输入参数列表 Alpha 支持向量的加权系数 向量 Flag 1 l 标记 0 对应非支持向量 1 对应边界支持向量 2 对应标准支持向量 B 回归方程中的常数项 X 输入样本原始数据 n l 的矩阵 n 为变量个数 l 为样本个数 Y 输出样本原始数据 1 l 的矩阵 l 为样本个数 Para1 核函数中的第一个参数 Para2 核函数中的第二个参数 注 关于核函数参数的定义请见 Regression m 和 SVMNR m 内部的定义 x 待测试的原始数据 n 1 的列向量 输出参数列表 y 仿真测试的输出值 核函数参数初始化 switch TKF case 1 线性核函数 K sum x y 没有需要定义的参数 case 2 多项式核函数 K sum x y c p c Para1 c 0 1 p Para2 p 2 case 3 径向基核函数 K exp norm x y 2 2 sigma 2 sigma Para1 sigma 6 case 4 指数核函数 K exp norm x y 2 sigma 2 sigma Para1 sigma 3 case 5 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 end 数据归一化处理 X minX maxX premnmx X x 2 x minX maxX minX 1 Y minY maxY premnmx Y 计算仿真测试的输出值 l length Alpha SUM 0 for i 1 l if Flag i 0 switch TKF case 1 SUM SUM Alpha i sum x X i case 2 SUM SUM Alpha i sum x X i c p case 3 SUM SUM Alpha

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论