• 大小: 888B
    文件类型: .zip
    金币: 1
    下载: 0 次
    发布日期: 2021-05-13
  • 语言: 其他
  • 标签:

资源简介

本次实验为使用LS-SVM预测,注意使用的为最小二乘方法,谢谢大家使用!另:本次实验为回归预测

资源截图

代码片段和文件信息

function ypred = ls_svm(xXtypargamakernelType)
%本文使用LS-SVM方法使用的为最小二乘直接求解
%需要指出本次实验直接构建的
%[01‘]    [b]       =[0]     
%[1核矩阵] [alpha]   =[y]
%将直接开始进行程序x为训练集,X为预测集,y为训练label
%by lihao
%CDUT
[nm] = size(x);
y = [0;y];
I = ones(n1);
%进行核矩阵构建径向基核函数
omiga = zeros(nn);
switch kernelType
    %rbf里面par(1)为sigmapar(2)为gama
    %Poly里面par(2)阶数
    %此中核函数有RBFPOLYTANH
    case ‘rbf‘
        for i = 1:n
            xi = x(i:);
            deltaX = (x - repmat(xin1)).^2;
            omiga(i:) = exp(-sum(deltaX2)/(par(1)^2));
        end
    case ‘Poly‘
        omiga = (x * x‘ + par(1)).^par(2);

    case ‘tanh‘
        omiga = tanh(par(1).*x*x‘+par(2));
end
%构建矩阵A
A = (omiga + (1/gama)*eye(n));
A = [IA];
B = [0I‘];
A = [B;A];
%求b和alpha参数
Z = A^-1;
b_alpha = Z * y;
b = b_alpha(1:);
alpha = b_alpha(2:end:);
%开始预测
[zq]=size(Xt);
ypred = zeros(z1);
omigal = zeros(nz);
switch kernelType
    %rbf里面par(1)为sigmapar(2)为gama
    %Poly里面par(2)阶数
    %此中核函数有RBFPOLYTRUCATED L1TANH
    %rbf为L2范数,trucated l1为L1范数
    case ‘rbf‘
        for i = 1:n
            xi = x(i:);
            deltaX = (Xt - repmat(xiz1)).^2;
            omigal(i:) = exp(-sum(deltaX2)/(par(1)^2));
        end
    case ‘Poly‘
        omigal = (x * Xt‘ + par(1)).^par(2);
    case ‘tanh‘
        omigal = tanh(par(1).*x*x‘+par(2));
end
ypred = omigal‘ * alpha + b;
end


 属性            大小     日期    时间   名称
----------- ---------  ---------- -----  ----
     文件        1543  2017-11-30 11:45  ls_svm.m

评论

共有 条评论

相关资源