资源简介
本次实验为使用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
- 上一篇:《爬虫入门到精通课程》视频课件.zip
- 下一篇:JTable详细使用demo
评论
共有 条评论