zoukankan      html  css  js  c++  java
  • matlab-SVM(支持向量机篇)

    可分离数据:SVM可以用于将已知数据分为两类,SVM分类器主要是找到两类之间最佳的超平面,将两类彻底分开,

    1.   用已知数据去训练SVM分类器
    SVMstruct =svmtrain(data,groups,'Kernel_Function','rbf');

    data :数据点矩阵,每一行代表一个观测对象,每一列代表每一个观测对象提取的特征;

    groups:

    kernel_Function:默认为用超平面将数据线性分开.’rbf’用了高斯径向基函数;建议首先用‘rbf’尝试;

    SVMstruct的结果结构体包含从SVM算法中获得的最佳参数值,因而可以用于将一些新的数据分开; 

    2.将待测数据用SVM分类器分开:

    newClasses=svmclassify(SVMstruct,newData)

    newClasses 产生的结果代表了在新数据里面每一行的分类;

    3.调整SVM分类器

    Hsu,chang and Lin建议遵循如下的方案,调整分类器的参数:

    1. 首先使用‘rbf’kernel 函数;

    2. 尝试使用不同的参数进行训练,然后通过交叉检验验证得到的最合适的参数

    3. 最重要的尝试改变的参数:

    boxconstraint-尽量以等比数列的方式去调整约束参数值;

    rbf-sigma-尽量以等比数列的方式去调整RBF的sigma约束参数值;

    4. 不同的参数设置,通过交叉检验去检测结果,通过crossval

    5. 当获得合理的初始化参数值时,你可能想要重新定义你的参数去火的更加好的准确率,以更加小的等比的公因子,去调整参数,最优化你的参数,通过fminsearch,

  • 相关阅读:
    【35】单层卷积网络(simple convolution)
    【34】三维卷积
    【33】卷积步长讲解(Strided convolutions)
    【32】Padding(填充)原理讲解
    【31】更多的边缘检测方法
    08-----pymysql模块使用
    07-----多表查询
    06-----单表查询
    05-----数据的增删改
    04-----外键的变种 三种关系
  • 原文地址:https://www.cnblogs.com/lwflourish/p/4121892.html
Copyright © 2011-2022 走看看