dag svm算法java实例_DAGSVM实现思路(以前工作总结)

本文总结了DAGSVM的实现思路,包括支持向量计数、内核函数应用以及决策过程。通过遍历和支持向量的系数计算,确定分类归属。内容适合对机器学习和SVM感兴趣的读者。
摘要由CSDN通过智能技术生成

a4c26d1e5885305701be709a3d33442f.png

DAGSVM实现思路(以前工作总结)

(2008-05-02 21:57:53)

标签:

dagsvm

it

int l = model->l;\\支持向量的个数

double *kvalue = Malloc(double,l);

for(i=0;i

kvalue[i] = Kernel::k_function(x,model->SV[i],model->param);// 函数

int *start = Malloc(int,nr_class);//类别数

start[0] = 0;

for(i=1;i

start[i] = start[i-1]+model->nSV[i-1];//每个类别的支持向量数

i = 0;

int j = nr_class - 1;

while (i < j)

{

double sum = 0;

int si = start[i];

int sj = start[j];

int ci = model->nSV[i];

int cj = model->nSV[j];

int k;

double *coef1 = model->sv_coef[j-1];//相当于alpha

double *coef2 = model->sv_coef[i];

for(k=0;k

sum += coef1[si+k] * kvalue[si+k];

for(k=0;k

sum += coef2[sj+k] * kvalue[sj+k];

sum -= model->rho[i*(nr_class - 1) - //rho可以理解为b,这里是以i为中心的.

i*(i + 1)/2 + j - 1];//没反应过来,后来想了想把这个当成 结构的

//的话就比较容易理解了.还是数据结构没学好,没反应过来.相当于n*n的矩阵中的aij. 为取到i的话说明

//i前面的类已经被pass掉了.所以才有相减一说

if(sum > 0)//这个意思是说如果wx-b>0也就是说偏向i,那么非j,沿着j的 往下走.

j--;

else

i++;

}

free(kvalue);

free(start);

return model->label[i];

分享:

a4c26d1e5885305701be709a3d33442f.png喜欢

0

a4c26d1e5885305701be709a3d33442f.png赠金笔

加载中,请稍候......

评论加载中,请稍候...

发评论

登录名: 密码: 找回密码 注册记住登录状态

昵   称:

评论并转载此博文

a4c26d1e5885305701be709a3d33442f.png

发评论

以上网友发言只代表其个人观点,不代表新浪网的观点或立场。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值