Advertisement

Matlab与SVM分类器

阅读量:

1.命令函数模块:

复制代码
    clear;%清屏
    clc;
    X =load('data.txt');
    n = length(X);%总样本数量
    y = X(:,4);%类别标志
    X = X(:,1:3);
    TOL = 0.0001;%精度要求
    C = 1;%参数,对损失函数的权重
    b = 0;%初始设置截距b
    Wold = 0;%未更新a时的W(a)
    Wnew = 0;%更新a后的W(a)
    for i = 1 : 50%设置类别标志为1或者-1
    y(i) = -1;
    end
    a = zeros(n,1);%参数a
    for i = 1 : n%随机初始化a,a属于[0,C]
        a(i) = 0.2;
    end
    
    %为简化计算,减少重复计算进行的计算
    K = ones(n,n);
    for i = 1 :n%求出K矩阵,便于之后的计算
    for j = 1 : n
        K(i,j) = k(X(i,:),X(j,:));
    end
    end
    sum = zeros(n,1);%中间变量,便于之后的计算,sum(k)=sigma a(i)*y(i)*K(k,i);

全部评论 (0)

还没有任何评论哟~