基于支持向量机SVM多因子测量误差预测,支持向量机MATLAB代码编程实现

目录

支持向量机SVM的详细原理
SVM的定义
SVM理论
SVM应用实例,SVM的测量误差预测
代码
结果分析
展望

支持向量机SVM的详细原理

SVM的定义

支持向量机(support vector machines, SVM)是一种二分类模型,它的基本模型是定义在特征空间上的间隔最大的线性分类器,间隔最大使它有别于感知机;SVM还包括核技巧,这使它成为实质上的非线性分类器。SVM的的学习策略就是间隔最大化,可形式化为一个求解凸二次规划的问题,也等价于正则化的合页损失函数的最小化问题。SVM的的学习算法就是求解凸二次规划的最优化算法。
(1)支持向量机(Support Vector Machine, SVM)是一种对数据进行二分类的广义线性分类器,其分类边界是对学习样本求解的最大间隔超平面。

(2)SVM使用铰链损失函数计算经验风险并在求解系统中加入了正则化项以优化结构风险,是一个具有稀疏性和稳健性的分类器 。

(3)SVM可以通过引入核函数进行非线性分类。

SVM理论

1,线性可分性

在这里插入图片描述
2,损失函数
在这里插入图片描述

在这里插入图片描述

3,核函数

在这里插入图片描述
在这里插入图片描述

SVM应用实例

基于SVM的测量误差预测

tic
%% 加载数据
clc
clear
close all
format long

%读取数据
[num,ax,ay]= xlsread(‘修正数据.xlsx’);
num(:,4) = num(:,4)+100;
nn = randperm(length(num));
nn =1:16;
mm = 12;
%训练数据和预测数据
tic
input_train=num(nn(1:mm),1:3)‘;
input_test=num(nn(13:end),1:3)’;
output_train=num(nn(1:mm),4)‘;
output_test=num(nn(13:end),4)’;

%选连样本输入输出数据归一化
[inputn,inputps]=mapminmax(input_train);
[outputn,outputps]=mapminmax(output_train,0,1);
outputn_test=mapminmax(‘apply’,output_test,outputps);
inputn_test=mapminmax(‘apply’,input_test,inputps);
% rand(‘seed’,0)
% n =randperm(length(output));
n = 1:41;
m=35;
P_train=data(n(1:m)😅;
T_train=output1(n(1:m)😅;
P_test=data(n(m+1:end)😅;
T_test=output1(n(m+1:end)😅;

%% 利用训练集参数进行SVM网络训练
bestc=20;bestg=0.1; %确定的最佳参数
cmd = ['-s 3 -t 0 ‘,’-c ‘, num2str(bestc), ’ -g ‘, num2str(bestg) , ’ -p 0.1’];
model = svmtrain(T_train,P_train,cmd);
x = 300:1500;
xx = mapminmax(‘apply’,x,inputns)’;
[predict_train,acc]= svmpredict(ones(length(xx),1),xx,model);

% [predict_train,acc]= svmpredict(T_train,P_train,model);
% 反归一化

predict_train1=mapminmax(‘reverse’,predict_train’,outputns);
T_train=mapminmax(‘reverse’,T_train’,outputns);

figure
plot(x,predict_train1,‘r-*’)
hold on
plot(data1(n(1:m),1),T_train,‘b-o’)
xlabel(‘样本编号’)

legend(‘输出数据’,‘实际数据’)

效果图

在这里插入图片描述

结果分析

从效果图看,SVM能把数据映射到高维空间,进行回归分析,貌似随机的误差也能找出一定规律进行预测,从而可以对测量误差进行矫正,实现准确测量

扩展

下面是部分SVM可以应用的方面,如果有需要欢迎扫描二维码联系
在这里插入图片描述

  • 1
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

神经网络机器学习智能算法画图绘图

你的鼓励是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值