LIBSVM (四) SVM 的参数优化(交叉验证)

本文介绍了交叉验证(CV)在SVM参数优化中的应用,特别是K-CV算法,用于评估分类器性能。通过MATLAB实现,找到最佳参数c和g,以提高分类准确率。SVMcgForClass函数的使用和接口也被详细阐述。
摘要由CSDN通过智能技术生成

  CV是用来验证分类器性能的一种统计分析方法,其基本思想是在某种意义下将原始数据进行分组,一部分作为测试集,另一部分作为验证集;先用训练集对分类器进行训练,再利用验证集来测试训练得到的模型,以得到的分类准确率作为评价分类器的性能指标。常见的 CV 方法如下:

1.1 交叉验证(Cross Validation,CV)

  伪代码:

Start 
    bestAccuracy = 0;
    bestc = 0;
    bestg = 0;
    % 其中n1,n2都是预先给定的数
    for c = 2^(-n1):2(n1)
        for g = 2^(-n2):2^(n2)
                将训练集平均分成 N 部分,设为
train(1),train(2),···,train(N)
                分别让每一个部分作为测试及进行预测(剩下的N-1部分作为训练集对训练集进行训练),取得最后
                得到的所有分类准确率的平均数,设为 cv.
                if(cv > bestAccuracy)
                    bestAccuracy = cv;bestc = c;bestg = g;
                end
            end
end
Over

   采用CV的方法,在没有测试标签的情况下可以找到一定意义下的最佳参数c和g。这里所说的“一定意义下”指的是此时最佳参数c和g是使得训练集在CV思想下能够达到最高分类准确率的参数,但不能保证会使得测试集也达到最高的分类准确率。用此方法对wine数据进行分类预测,MATLAB 实现代码如下:

%% 交叉验证
bestcv = 0;
bestc = 0;
bestg = 0;
for log2c = -5:5
    for log2g = -5:5
        cmd 
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值