[Modelo de predicción de lssvm] basado en el algoritmo de murciélago, soporte de mínimos cuadrados mejorado, máquina de vectores, predicción de lssvm [Matlab 109] [modelo de predicción 7]

Características de LSSVM
  1) Lo mismo es resolver el problema dual original, pero resolviendo un conjunto de ecuaciones lineales (causado por las restricciones lineales en el objetivo de optimización) en lugar del problema QP en el SVM (simplificando el proceso de solución), para el espacio de entrada de alta dimensión Lo mismo se aplica a las tareas de clasificación y regresión;
  2) Esencialmente el proceso de resolución de ecuaciones matriciales lineales, combinado con la versión central de los procesos gaussianos, redes de regularización y análisis discriminante de Fisher;
  3) Utilice aproximación dispersa (para superar el inconvenientes de usar este algoritmo) y regresión robusta (estadísticas robustas);
  4) Usar inferencia bayesiana;
  5) Puede extenderse al aprendizaje no supervisado: análisis de componentes principales del kernel (kernel PCA) o agrupamiento de densidad;
  6) Puede extenderse a redes neuronales recurrentes .

LSSVM se utiliza para tareas de clasificación
  1) Objetivo de optimización
  Inserte la descripción de la imagen aquí
 2) Método del multiplicador de Lagrange

Inserte la descripción de la imagen aquí
 Entre ellos, α i \ alpha_iαi está el multiplicador lagrangiano, que también es el valor de apoyo (valores de apoyo)
  3) Resuelve la condición de optimización
  Inserte la descripción de la imagen aquí
4) Resuelve el problema dual (igual que SVM no hace ningún cálculo sobre w ww y e ee)
Inserte la descripción de la imagen aquí
 LLSVM resuelve las ecuaciones lineales anteriores para obtener los valores de las variables optimizadas a aa y b bb. Este método de solución es más fácil que resolver el problema de QP

5) Diferencia con SVM estándar

a. Use restricciones de igualdad en lugar de restricciones de desigualdad;
    b. Dado que se usan restricciones de igualdad para cada punto de muestra, no se imponen restricciones en el vector de holgura, lo que también es una razón importante por la que LSSVM pierde escasez;
    c. A través de la resolución, etc. Las restricciones y el problema de los mínimos cuadrados simplifican aún más el problema.

LSSVM se utiliza para tareas de regresión
  1) Descripción del problema
  Inserte la descripción de la imagen aquí
Las desventajas de LSSVM
  notadas al resolver tareas de clasificación, en el proceso de resolución de optimización, α i = γ ei \ alpha_ {i} = \ gamma {e_ {i}} αi = γei , Dado que el multiplicador de Lagrange α i ≠ 0 \ alpha_ {i} \ neq {0} αi ̸ = 0 correspondiente a la restricción de igualdad en el método del multiplicador de Lagrange, todas las muestras de entrenamiento se tomarán como Mirando el vector de soporte, esto hará que pierda la naturaleza dispersa original de la SVM, pero el conjunto de entrenamiento también puede podarse en base al soporte para lograr el propósito de dispersión.Este paso también se puede ver Hacer es una operación aproximada dispersa.

%=====================================================================
%初始化
clc
close all
clear
format long
tic
%==============================================================
%%导入数据
data=xlsread('1.xlsx');
[row,col]=size(data);
x=data(:,1:col-1);
y=data(:,col);
set=1; %设置测量样本数
row1=row-set;%
train_x=x(1:row1,:);
train_y=y(1:row1,:);
test_x=x(row1+1:row,:);%预测输入
test_y=y(row1+1:row,:);%预测输出
train_x=train_x';
train_y=train_y';
test_x=test_x';
test_y=test_y';
 
%%数据归一化
[train_x,minx,maxx, train_yy,miny,maxy] =premnmx(train_x,train_y);
test_x=tramnmx(test_x,minx,maxx);
train_x=train_x';
train_yy=train_yy';
train_y=train_y';
test_x=test_x';
test_y=test_y';
%% 参数初始化
eps = 10^(-6);
%%定义lssvm相关参数
type='f';
kernel = 'RBF_kernel';
proprecess='proprecess';
lb=[0.01 0.02];%参数c、g的变化的下限
ub=[1000 100];%参数c、g的变化的上限
dim=2;%维度,即一个优化参数
SearchAgents_no=20; % Number of search agents
Max_iter=100; % Maximum numbef of iterations
n=10;      % Population size, typically 10 to 25
A=0.25;      % Loudness  (constant or decreasing)
r=0.5;      % Pulse rate (constant or decreasing)
% This frequency range determines the scalings
Qmin=0;         % Frequency minimum
Qmax=2;         % Frequency maximum
% Iteration parameters
tol=10^(-10);    % Stop tolerance
Leader_pos=zeros(1,dim);
Leader_score=inf; %change this to -inf for maximization problems
%Initialize the positions of search agents
for i=1:SearchAgents_no
    Positions(i,1)=ceil(rand(1)*(ub(1)-lb(1))+lb(1));
    Positions(i,2)=ceil(rand(1)*(ub(2)-lb(2))+lb(2));
    Fitness(i)=Fun(Positions(i,:),train_x,train_yy,type,kernel,proprecess,miny,maxy,train_y,test_x,test_y);
v(i,:)=rand(1,dim);
end
[fmin,I]=min(Fitness);
best=Positions(I,:);
Convergence_curve=zeros(1,Max_iter);
t=0;% Loop counter
% Start the iterations -- Bat Algorithm
 
 
%% 结果分析
plot( Convergence_curve,'LineWidth',2);
title(['灰狼优化算法适应度曲线','(参数c1=',num2str(Leader_pos(1)),',c2=',num2str(Leader_pos(2)),',终止代数=',num2str(Max_iter),')'],'FontSize',13);
xlabel('进化代数');ylabel('误差适应度');
 
bestc = Leader_pos(1);
bestg = Leader_pos(2);
 
 
end
RD=RD'
disp(['灰狼优化算法优化svm预测误差=',num2str(D)])
 
% figure
% plot(test_predict,':og')
% hold on
% plot(test_y,'- *')
% legend('预测输出','期望输出')
% title('网络预测输出','fontsize',12)
% ylabel('函数输出','fontsize',12)
% xlabel('样本','fontsize',12)
figure
plot(train_predict,':og')
hold on
plot(train_y,'- *')
legend('预测输出','期望输出')
title('灰狼优化svm网络预测输出','fontsize',12)
ylabel('函数输出','fontsize',12)
xlabel('样本','fontsize',12)
 
toc   %计算时间
 

Inserte la descripción de la imagen aquí
Inserte la descripción de la imagen aquí
Nota: código completo o escritura agregue QQ2449341593 revisión anterior
>>>>>>
[predicción lssvm] basada en el algoritmo de optimización de ballenas predicción de datos lssvm código fuente de matlab [período Matlab 104] [modelo de predicción 2]
[predicción lstm] basado en algoritmo de optimización de ballenas Predicción de lstm mejorada Código fuente de matlab [Problema de Matlab 105] [Modelo de predicción 3]
[Predicción de SVM] Predicción de SVM mejorada basada en el algoritmo de murciélago [Problema de Matlab 106] [Modelo de predicción 4]
[Predicción de SVM] Optimización del algoritmo de lobo gris Código fuente de Matlab [período Matlab 107] [Modelo de predicción 5] Predicción de
la red neuronal de BP [período Matlab 108] [Modelo de predicción 6]

Supongo que te gusta

Origin blog.csdn.net/TIQCmatlab/article/details/112908010
Recomendado
Clasificación