声振论坛

 找回密码
 我要加入

QQ登录

只需一步,快速开始

查看: 1766|回复: 0

[人工智能] 最优分类函数f(x)怎么求

[复制链接]
发表于 2008-9-24 15:41 | 显示全部楼层 |阅读模式

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

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

x
以SVM二类分类方法为基础,以一对其余分类方法,对m类故障分类构造m个二值分类器。具体方法是:在构造m个分类器中的第k个分类器时,将第k类训练样本作为一类,类别号为+1,其余k-1类作为一类,类别号为-1,训练二值分类器(3)。
在构造分类器后,对数据进行测试时,判断器属于哪个分类器是根据 f(x) =sign[∑αiyiK(xi,x)+b]  的值+1或者-1,来判断的,但是如何在进行分类,计算出 支持向量,来计算f(x)呢,
注明:我使用的是使用的是SVM-steven的工具箱,SVC.m
比如一个例子运行如下
clc
clear
%设置第一个分类器,此分类器分辨是否正常
x1=load('C:\Documents and Settings\xielr\桌面\实验\1\d\B4401.TXT');
x11=mean(abs(x1));x12=max(abs(x1))/x11;
i = 1;   
while i <= 8192,   
x1(i) = x1(i)^2;   
i = i+1;   
end   
x13=sqrt(mean(x1));
x1=[x11 x12 x13];
x2=load('C:\Documents and Settings\xielr\桌面\实验\1\d\B4403.TXT');
x21=mean(abs(x2));x22=max(abs(x2))/x21;
i = 1;   
while i <= 8192,   
x2(i) = x2(i)^2;   
i = i+1;   
end   
x23=sqrt(mean(x2));
x2=[x21 x22 x23];
x3=load('C:\Documents and Settings\xielr\桌面\实验\1\a\B2701.TXT');
x31=mean(abs(x3));x32=max(abs(x3))/x31;
i = 1;   
while i <= 8192,   
x3(i) = x3(i)^2;   
i = i+1;   
end   
x33=sqrt(mean(x3));
x3=[x31 x32 x33];
x4=load('C:\Documents and Settings\xielr\桌面\实验\1\a\B2703.TXT');
x41=mean(abs(x4));x42=max(abs(x4))/x41;
i = 1;   
while i <= 8192,   
x4(i) = x4(i)^2;   
i = i+1;   
end   
x43=sqrt(mean(x4));
x4=[x41 x42 x43];
x5=load('C:\Documents and Settings\xielr\桌面\实验\1\b\B3001.TXT');
x51=mean(abs(x5));x52=max(abs(x5))/x51;
i = 1;   
while i <= 8192,   
x5(i) = x5(i)^2;   
i = i+1;   
end   
x53=sqrt(mean(x5));
x5=[x51 x52 x53];
x6=load('C:\Documents and Settings\xielr\桌面\实验\1\b\B3003.TXT');
x61=mean(abs(x6));x62=max(abs(x6))/x61;
i = 1;   
while i <= 8192,   
x6(i) = x6(i)^2;   
i = i+1;   
end   
x63=sqrt(mean(x6));
x6=[x61 x62 x63];
x7=load('C:\Documents and Settings\xielr\桌面\实验\1\c\B3501.TXT');
x71=mean(abs(x7));x72=max(abs(x7))/x71;
i = 1;   
while i <= 8192,   
x7(i) = x7(i)^2;   
i = i+1;   
end   
x73=sqrt(mean(x7));
x7=[x71 x72 x73];
x8=load('C:\Documents and Settings\xielr\桌面\实验\1\c\B3503.TXT');
x81=mean(abs(x8));x82=max(abs(x8))/x81;
i = 1;   
while i <= 8192,   
x8(i) = x8(i)^2;   
i = i+1;   
end   
x83=sqrt(mean(x8));
x8=[x81 x82 x83];
%导入数据
x9=load('C:\Documents and Settings\xielr\桌面\实验\1\a\B2707.TXT');
x91=mean(abs(x9));x92=max(abs(x9))/x91;
i = 1;   
while i <= 8192,   
x9(i) = x9(i)^2;   
i = i+1;   
end   
x93=sqrt(mean(x9));
x9=[x91 x92 x93];
x10=load('C:\Documents and Settings\xielr\桌面\实验\1\d\B4405.TXT');
x101=mean(abs(x10));x102=max(abs(x10))/x101;
i = 1;   
while i <= 8192,   
x10(i) = x10(i)^2;   
i = i+1;   
end   
x103=sqrt(mean(x10));
x10=[x101 x102 x103];

%x1=reshape(x1,1,2048);
%x2=reshape(x2,1,2048);
%x3=reshape(x3,1,2048);
%x4=reshape(x4,1,2048);
%x5=reshape(x5,1,2048);
%x6=reshape(x6,1,2048);
%x7=reshape(x7,1,2048);
%x8=reshape(x8,1,2048);
X=[x1;x2;x3;x4;x5;x6;x7;x8;x9;x10];
Y=[1;1;-1;-1;-1;-1;-1;-1;-1;1];
C=Inf;
    ker='linear';
    global p1 p2
    p1=3;
    p2=1;
    [nsv alpha bias] = svc(X,Y,ker,C)
    predictedY = svcoutput(X,Y,X,ker,alpha,bias)
    svcplot(X,Y,ker,alpha,bias)
   

Support Vector Classification
_____________________________
Constructing ...
Optimising ...
Execution time:  0.0 seconds
Status : OPTIMAL_SOLUTION
|w0|^2    : 0.091150
Margin    : 6.624482
Sum alpha : 0.091150
Support Vectors : 2 (20.0%)
nsv =
     2

alpha =
    0.0000
    0.0000
    0.0000
    0.0000
    0.0000
    0.0000
    0.0456
    0.0000
    0.0000
    0.0456

bias =
    5.5296

predictedY =
     1
     1
    -1
    -1
    -1
    -1
    -1
    -1
    -1
     1

ans =
  170.0164  169.0164
ans 是什么结果呢,如何根据以上结果计算f(x)

[ 本帖最后由 lingyunzhi 于 2008-9-24 16:13 编辑 ]
回复
分享到:

使用道具 举报

您需要登录后才可以回帖 登录 | 我要加入

本版积分规则

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

GMT+8, 2024-12-29 02:30 , Processed in 0.054268 second(s), 17 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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