调用lssvm训练好的模型

本文主要讨论了使用LSSVM(Least Squares Support Vector Machine)模型进行异步电机解耦控制的训练过程及模型应用。作者在训练过程中遇到了模型在独立调用时效果下降的问题,代码展示了数据预处理、模型训练、测试集评估以及模型保存和加载的步骤。尽管模型在训练和测试集上表现良好,但在实际应用中效果不佳,可能的原因包括数据集划分、参数优化或归一化处理的差异。
摘要由CSDN通过智能技术生成

最近要实现异步电机的LSSVM逆控制,参考文献《基于LS-SVM的异步电机解耦控制方法》已附。遇到的问题是:训练得到的模型model挺好的,为什么单独拿出来调用,效果却很差?我的程序贴出来如下:1,训练程序 lssvm_um.m ,保存训练好的model ,文件名为 LSSVM1223
%% 文件:LS-SVM 程序学习,数据:MTdata1126.mat,具有6000组数据 日期:20141209 目标:转矩电压输出um
%6输入1输出的系统
clear all
clc
%导入数据
load MTdata1126.mat
%随机产生训练集和测试集
n=randperm(size(MTdata1029_in,1));             %***********注意数据修改****************************
%训练集 1000个样本
train_matrix=MTdata1029_in(n(1:2:2000),:);
train_label=MTdata1029_um_out(n(1:2:2000),:);       %训练集输出值为um,对应于MTdata1126_um*********注意:修改部分*************
%测试集 200个样本
%test_matrix=MTdata1029_in(n(2:2:800),:);
%test_label=MTdata1029_um_out(n(2:2:800),:); 
test_matrix=MTdata1029_in(n(5801:end),:);
test_label=MTdata1029_um_out(n(5801:end),:);      %测试集输出值为um,对应于data1017_um*********注意:修改部分************
%% 归一化处理
%训练集
[Train_matrix,inputps]=mapminmax(train_matrix');
Train_matrix=Train_matrix';                        %数据结构为4000*6  
Test_matrix=mapminmax('apply',test_matrix',inputps);
Test_matrix=Test_matrix';                          %数据结构为2000*6
%测试集
[Train_label,outputps]=mapminmax(train_label');
Train_label=Train_label';                          %数据结构为4000*1 
Test_label=mapminmax('apply',test_label',outputps);
Test_label=Test_label';                            %数据结构为2000*1      
%%  *********************统一一下训练、测试集书写格式*****************************
X=Train_matrix; %训练集输入矩阵
Xt=Test_matrix; %测试集输入矩阵
Y=Train_label;  %训练集输出(标签)矩阵
Yt=Test_label;  %测试集输出(标签)矩阵
%% LS-SVM参数设置****************************************************************
%type = 'f';
%kernel = 'RBF_kernel';
%gam = 2;                % Regularization parameter
%sig2 = 0.25;            % Kernel parameter (bandwidth in the case of the 'RBF_kernel'
%model = initlssvm(X,Y,type,gam,sig2,kernel);     % ***********模型初始化********************
model = initlssvm(X,Y,'f'

评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值