MATLAB中LS-SVM工具箱的问题

MATLAB中LS-SVM工具箱的问题,第1张

LS-SVM是什么,题主随便搜索一下就应该知道了啊。。。

LS-SVM 是 Least Squares Support Vector Machines 的缩写,中文翻译成“最小二乘支持向量机”,用于非线性分类、回归、时间序列预测和无监督学习等领域。

至于那两个函数,trainlssvm 用来训练得到模型,simlssvm则用trainlssvm训练得到的model为测试集分类或者进行函数拟合(和神经网络中的概念类似)。

工具箱里面有相应的演示程序(名字都以demo开头),您可以结合具体的例子去学习。

附件是一个关于该工具箱的说明,供参考。

能不用自带函数不,给你个最小二乘支持向量机的自编代码

clear all

clc

N=35 %样本个数

NN1=4%预测样本数

%********************随机选择初始训练样本及确定预测样本*******************************

x=[]

y=[]

index=randperm(N) %随机排序N个序列

index=sort(index)

gama=23.411 %正则化参数

deita=0.0698%核参数值

%thita= %核参数值

%*********构造感知机核函数*************************************

%for i=1:N

%x1=x(:,index(i))

%for j=1:N

%x2=x(:,index(j))

%K(i,j)=tanh(deita*(x1'*x2)+thita)

%end

%end

%*********构造径向基核函数**************************************

for i=1:N

x1=x(:,index(i))

for j=1:N

x2=x(:,index(j))

x12=x1-x2

K(i,j)=exp(-(x12'*x12)/2/(deita*deita))

end

end

%*********构造多项式核函数****************************************

%for i=1:N

%x1=x(:,index(i))

%for j=1:N

%x2=x(:,index(j))

%K(i,j)=(1+x1'*x2)^(deita)

%end

%end

%*********构造核矩阵************************************

for i=1:N-NN1

for j=1:N-NN1

omeiga1(i,j)=K(i,j)

end

end

omeiga2=omeiga1'

omeiga=omeiga2+(1/gama)*eye(N-NN1)

A12=ones(1,N-NN1)

A21=A12'

A=[0 A12A21 omeiga]

%**************************************

for i=1:N-NN1

B21(i,:)=y(index(i))

end

B=[0B21]

%********LS-SVM模型的解******************************

C=A\B

%******

b=C(1)%模型参数

for i=1:N-NN1

aipha(i)=C(i+1)%模型参数,行向量

end

%*******************************************

for i=1:N %预测模型

aifx(i)=b+(aipha)*K(1:N-NN1,i)

end

%*******************************************

aifx

index

en . -s 3是回归模型:

-s svm_type : set type of SVM (default 0)

0 -- C-SVC

1 -- nu-SVC

2 -- one-class SVM

3 -- epsilon-SVR

4 -- nu-SVR

==============

libsvm_options:

-s svm_type : set type of SVM (default 0)

0 -- C-SVC

1 -- nu-SVC

2 -- one-class SVM

3 -- epsilon-SVR

4 -- nu-SVR

-t kernel_type : set type of kernel function (default 2)

0 -- linear: u'*v

1 -- polynomial: (gamma*u'*v + coef0)^degree

2 -- radial basis function: exp(-gamma*|u-v|^2)

3 -- sigmoid: tanh(gamma*u'*v + coef0)

4 -- precomputed kernel (kernel values in training_instance_matrix)

-d degree : set degree in kernel function (default 3)

-g gamma : set gamma in kernel function (default 1/k)

-r coef0 : set coef0 in kernel function (default 0)

-c cost : set the parameter C of C-SVC, epsilon-SVR, and nu-SVR (default 1)

-n nu : set the parameter nu of nu-SVC, one-class SVM, and nu-SVR (default 0.5)

-p epsilon : set the epsilon in loss function of epsilon-SVR (default 0.1)

-m cachesize : set cache memory size in MB (default 100)

-e epsilon : set tolerance of termination criterion (default 0.001)

-h shrinking: whether to use the shrinking heuristics, 0 or 1 (default 1)

-b probability_estimates: whether to train a SVC or SVR model for probability estimates, 0 or 1 (default 0)

-wi weight: set the parameter C of class i to weight*C, for C-SVC (default 1)

-v n: n-fold cross validation mode


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/yw/12136115.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-21
下一篇 2023-05-21

发表评论

登录后才能评论

评论列表(0条)

保存