• 大小: 3KB
    文件类型: .m
    金币: 1
    下载: 0 次
    发布日期: 2021-06-17
  • 语言: Matlab
  • 标签: matlab  

资源简介

基于支持向量机的故障诊断,代码中有一些注释,可以根据里面的注释修改,会测的最佳正确率,以及预测样本和测试样本的误差,真实可信

资源截图

代码片段和文件信息

function [r_Ydr_errr_Ys] = SVM(traindatagoaldataperiod)
% 使用循环语句对每一种参数组合都进行回归找出最优结果
% r_Yd 最优的回归结果
% r_err 最优回归的样本误差
% r_Ys 预测结果
% ------------------------------------------------------------%
% Training Samples 构造训练样本
% clear;
% data=load(‘testData.txt‘);
n=length(traindata);     % 样本数量
X=traindata(1:n-period:);
X=X.‘;                   % 训练样本d×n的矩阵n为样本个数d为样本维数
Y=goaldata(period+1:n:);
Y=Y.‘;                   % 训练目标1×n的矩阵n为样本个数值为期望输出
Xs=traindata(n-period+1:n:);
Xs=Xs.‘;                 % 预测的自变量d×1的矩阵d为样本维数
% ------------------------------------------------------------%
%初始化一个较大的样本误差
r_err=1e10;

% ------------------------------------------------------------%
%寻找适合的惩罚系数,不敏感损失函数的参数以及核函数
for c=0:2
  for e=0:2
      for ty=1: 4           %确定核函数类型
           % ------------------------------------------------------------%
           % ker  核参数(结构体变量)
           % the following fields:
           %   type   - linear :  k(xy) = x‘*y
           %            poly   :  k(xy) = (x‘*y+c)^d
           %            gauss  :  k(xy) = exp(-0.5*(norm(x-y)/s)^2)
           %            tanh   :  k(xy) = tanh(g*x‘*y+c)
           %   degree - Degree d of polynomial kernel (positive scalar).
           %   offset - Offset c of polynomial and tanh kernel (scalar negative for tanh).
           %   width  - Width s of Gauss kernel (positive scalar).
           %   gamma  - Slope g

评论

共有 条评论