声振论坛

 找回密码
 我要加入

QQ登录

只需一步,快速开始

查看: 1005|回复: 1

[综合讨论] 关于svm的泛化问题

[复制链接]
发表于 2006-11-3 18:00 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有账号?我要加入

x
大家好 我使用的是svm工具箱
训练一个支持向量机并进行泛化 , 其中一部分数据进行训练,一部分进行泛化
程序如下
clear all

num=1;
den=[1 2];
sys=tf(num,den);
%
t=linspace(0,4*pi,120);
r=sin(t).*cos(t)+(0.1*rand(size(t)));

r=r';
y=lsim(sys,r,t);

%[X, A, B] = svdatanorm(X,ker,isotropic)
%
for i=1:55;j=2*i+1;
    r1(i,1)=r(j,1);
    y1(i,1)=y(j,1);
    t1(1,i)=t(1,j);
end

for i=1:55;j=2*i+2;
    r2(i,1)=r(j,1);
    y2(i,1)=y(j,1);
    t2(1,i)=t(1,j);
end

p1=1;
%function [nsv, beta, bias] = svr(X,Y,ker,C,loss,e)  
[nsv, beta, bias] = svr(r1,y1,'rbf',Inf,'eInsensitive',0.1);    %rbf参数>0.3

%function tstY = svroutput(trnX,tstX,ker,beta,bias)
yy = svroutput(r1,r1,'rbf',beta,bias);

figure(1)

plyy=plot(t1,yy,'ro');
hold on
plr=plot(t,r,'k:');
ply=plot(t,y,'b-');


yy1 = svroutput(r1,r2,'rbf',beta,bias);

figure(2)

plyy1=plot(t2,yy1,'ro');
hold on
plr1=plot(t,r,'k:');
ply1=plot(t,y,'b-');

效果很不好,好像跟e的选取有关,e>0.01后训练和泛化都不是很好.但是e<0.01训练效果好,但是几乎不能泛化,各位大侠帮忙看一下,谢谢啦!

[ 本帖最后由 lxq 于 2006-11-3 20:10 编辑 ]
回复
分享到:

使用道具 举报

发表于 2006-11-3 20:01 | 显示全部楼层
呵呵.没用过这个工具箱不过一般都和参数的选取有关.不知道你的参数选取是否符合你数据的要求
您需要登录后才可以回帖 登录 | 我要加入

本版积分规则

QQ|小黑屋|Archiver|手机版|联系我们|声振论坛

GMT+8, 2024-9-25 03:21 , Processed in 0.054389 second(s), 18 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

快速回复 返回顶部 返回列表