神经网络学习(三)

神经网络(三)

SVM

Support Vector Machine

SVM 的主要思想是建立一个超平面作为决策曲面,使得正例和反例之间的隔离边缘被最大化

优点
  • 通用性
  • 鲁棒性
  • 有效性
  • 计算简单
  • 理论上完善

用SVM做分类问题处理的流程:

  • 选定训练集和测试集>> 规范化>>特征提取>>

  • 利用训练集训练分类器得到model>>

  • 利用model对测试集进行测试

  • 分类器性能评估

    从UCI上下载数据集load wine_SVM.txt;

    data = [wine(:,1), wine(:,2)];
    
    groups = ismember(wine_labels,1); 
    
    [train, test] = crossvalind('holdOut',groups); % not familiar with crossvalind? help... help...
    
    train_wine = data(train,:);
    train_wine_labels = groups(train,:);
    train_wine_labels = double( train_wine_labels );
    
    test_wine = data(test,:);
    test_wine_labels = groups(test,:);
    test_wine_labels = double( test_wine_labels );
    
    model = svmtrain(train_wine_labels, train_wine, '-c 1 -g 0.07');
    
    [predict_label, accuracy] = svmpredict(test_wine_labels, test_wine, model);

    画图

    [mm,mn] = size(model.SVs);
    
    figure;
    hold on;
    [m,n] = size(train_wine);
    for run = 1:m
      if train_wine_labels(run) == 1
          h1 = plot( train_wine(run,1),train_wine(run,2),'r+' );
      else
          h2 = plot( train_wine(run,1),train_wine(run,2),'g*' );
      end
      for i = 1:mm
          if model.SVs(i,1)==train_wine(run,1) && model.SVs(i,2)==train_wine(run,2)
              h3 = plot( train_wine(run,1),train_wine(run,2),'o' );
          end
      end
    end
    legend([h1,h2,h3],'1','0','Support Vectors');
    hold off;

    此次Accuracy = 84.0909% (74/88) (classification)

    可通过

    train_wine = normalization(train_wine’,2);
    test_wine = normalization(test_wine’,2);
    train_wine = train_wine’;
    test_wine = test_wine’;

    对数据进行规范化

    如果为1 ,则把数据规范为[0,1]

    如果为2 ,则把数据规范为[-1,1]

    规范化不一定是必须的,根据数据的不同可进行不同的规范化

支持向量机方法是建立在统计学习理论的VC维理论和结构风险最校园里基础上的

  • 所谓VC维是对函数类的一种度量,可以简单的理解为问题的复杂程度,VC维越高,一个问题就越复杂
  • 正是因为SVM关注的是VC维

SVM解决非线性的思维方式

寻找最优超平面方法

  • 公式

    wx+b=0

  • 目的

    寻找最优的分类超平面,即寻找最优的w和b,设最优的w和b为 w0 b0 ,则最优的分类超平面为:

    w0x+b0=0

  • 获得上面的最优分类超平面,就可以用其来对测试集进行预测了

  • 正反例间隔

SVM的主要思想是建立一个超平面作为决策曲面,使得正例和反例之间的隔离边缘被最大化

即最优分类超平面等价于求最大间隔

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值