【MATLAB第15期】基于matlab的多输入多输出最小二乘支持向量回归法LSSVR回归预测模型#十次交叉验证选择最优参数

本文涉及的产品
服务治理 MSE Sentinel/OpenSergo,Agent数量 不受限
简介: 【MATLAB第15期】基于matlab的多输入多输出最小二乘支持向量回归法LSSVR回归预测模型#十次交叉验证选择最优参数

【MATLAB第15期】基于matlab的多输入多输出最小二乘支持向量回归法LSSVR回归预测模型#十次交叉验证选择最优参数


1. 介绍


1.1. 描述


多输出回归旨在学习从多变量输入特征空间到多变量输出空间的映射。尽管最小二乘支持向量回归机(LSSVR)的标准公式具有潜在的实用性,但它不能处理多输出情况。通常的程序是训练多个独立的LSSVR,从而忽略不同输出之间潜在的(潜在的非线性)交叉相关。


为了解决这个问题,在多任务学习方法的启发下,提出多输出LSSVR,具有更有效的训练算法。


2. 如何使用LSSVR


2.1. 命令行输入参数(&I)


[apha,b]=lssvrtrain(training_matrix,training_label,gamma,lambda,p)


  • -training_matrix:具有d个特征的d个训练实例的n乘d矩阵。
    -training_label:一个n乘1的训练标签向量。
    -gamma:正则化参数
    -lambda:另一个正则化参数
    -p:径向基函数(RBF)核参数

2.2. 主程序代码


clear all
clear
close all
load plo.mat
% trnX训练输入 trnY训练输出
gamma=0.5;%正则化参数
lambda=4;%第二个正则化参数
p=2;%径向基函数(RBF)核参数2 
[alpha, b] = lssvrtrain(trnX, trnY, gamma, lambda, p);
[predict_label, total_squared_error, squared_correlation_coefficient] = lssvrpre(tstX, tstY, trnX, alpha, b, lambda, p); 
%predict_label 预测结果
%total_squared_error 总平方误差
%squared_correlation_coefficient 平方相关系数
figure()
 for i=1:4
  subplot(2,2,i)
  plot(1:20,tstY(:,i),'-*','linewidth',2)
  hold on
  plot(1:20,predict_label(:,i),'-s','linewidth',2)
  legend('实际值','预测值')
  grid on
  xlabel('测试样本')
  ylabel(['因变量' num2str(i) ])    
  end


2.3. 绘图效果



3. 参数选择


% 为了选择具有10倍交叉验证的正确参数,可以使用以下实用程序:

[gamma1, lambda1, p1, MSE1] = gridlssvr(trnX, trnY, 10);

>> [gamma1, lambda1, p1, MSE1] = gridlssvr(trnX, trnY, 10)
>>运行结果:
gamma1 =  0.1250
lambda1 =  9.7656e-04
p1 =  0.1250
MSE1 =  0.0066
部分运行过程结果:
 - gamma = -5, lambda = 2, p = -15, mean_MSE = 0.0297534 (-5, -8, -1,
   0.00731226)
   gamma = 1, lambda = 2, p = -15, mean_MSE = 0.0296894 (-3, -10, -3,
   0.00662206)
   gamma = 3, lambda = -2, p = -1, mean_MSE = 0.00866048 (-3, -10, -3,
   0.00662206)   
   gamma = 5, lambda = -8, p = 1, mean_MSE = 0.0133859 (-3, -10, -3,
   0.00662206)   
   gamma = 7, lambda = 0, p = -3, mean_MSE = 0.00769552 (-3, -10, -3,
   0.00662206)   
   gamma = 9, lambda = 4, p = -1, mean_MSE = 0.0131262 (-3, -10, -3,
   0.00662206)   
   gamma = 11, lambda = 0, p = -13, mean_MSE = 0.0123533 (-3, -10, -3,
   0.00662206)
   gamma = 13, lambda = 4, p = -15, mean_MSE = 0.0130121 (-3, -10, -3,
   0.00662206)
   gamma = 15, lambda = -2, p = -9, mean_MSE = 0.00710635 (-3, -10, -3,
   0.00662206)


4. 总结


本次给大家分享了一种多输入多输出回归方法,可以用来丰富论文内容,作为对比模型。其旨在学习从多变量输入特征空间到多变量输出空间的映射,具有潜在的实用性。


相关实践学习
基于MSE实现微服务的全链路灰度
通过本场景的实验操作,您将了解并实现在线业务的微服务全链路灰度能力。
相关文章
|
8天前
|
机器学习/深度学习 数据采集 算法
【MATLAB】BiGRU神经网络回归预测算法
【MATLAB】BiGRU神经网络回归预测算法
48 0
|
1月前
|
Perl
【MFAC】基于全格式动态线性化的无模型自适应控制(Matlab代码)
【MFAC】基于全格式动态线性化的无模型自适应控制(Matlab代码)
|
12天前
|
算法 大数据
【MATLAB】鲸鱼算法优化混合核极限学习机(WOA-HKELM)回归预测算法
【MATLAB】鲸鱼算法优化混合核极限学习机(WOA-HKELM)回归预测算法
27 2
|
2月前
|
机器学习/深度学习 算法 测试技术
【MATLAB】交叉验证求光滑因子的广义神经网络时序预测算法
【MATLAB】交叉验证求光滑因子的广义神经网络时序预测算法
28 0
|
26天前
|
机器学习/深度学习 算法
【MATLAB】PSO_BiLSTM神经网络回归预测算法
【MATLAB】PSO_BiLSTM神经网络回归预测算法
31 0
|
8天前
|
机器学习/深度学习 数据采集 自然语言处理
【MATLAB】史上最全的15种回归预测算法全家桶
【MATLAB】史上最全的15种回归预测算法全家桶
25 0
|
14天前
|
机器学习/深度学习 算法
【MATLAB】小波神经网络回归预测算法
【MATLAB】小波神经网络回归预测算法
19 1
|
22天前
|
机器学习/深度学习 算法
【MATLAB】交叉验证求光滑因子的广义神经网络回归预测算法
【MATLAB】交叉验证求光滑因子的广义神经网络回归预测算法
23 0
|
1月前
【MFAC】基于紧格式动态线性化的无模型自适应控制(Matlab代码)
【MFAC】基于紧格式动态线性化的无模型自适应控制(Matlab代码)
|
1月前
|
机器学习/深度学习 算法
【MATLAB】PSO_LSTM神经网络回归预测算法
【MATLAB】PSO_LSTM神经网络回归预测算法
28 0

相关产品