理论教育 基于支持向量机的分类器建模方法

基于支持向量机的分类器建模方法

时间:2023-06-15 理论教育 版权反馈
【摘要】:在上面的训练过程中,模型的质量受到支持向量机几个参数设置和需要分类的数据样本的影响。基于支持向量机设计的分类器使用的是台湾大学林智仁先生开发的libsvm工具箱,在这里主要会应用到两个函数svmtrain()和svmpredict()。图6-16SVM分类结果其中分类结果正确率为94.5%。

基于支持向量机的分类器建模方法

对于支持向量机的模型训练,如前面所描述的那样,为了获取支持向量机的模型:

优化问题可以表示为:

通过引入拉格朗日乘子αi,可以构造出最优化问题的拉格朗日函数,二次规划问题可以表示为:

最终通过对式(4-3)求解得到支持向量机模型为:

其中nsv是支持向量的序号,K(x, xi)是核函数,这里有许多核函数在支持向量机模型的训练过程中,比如说多项式核函数、高斯核函数、线性核函数和神经网络核函数等。其中高斯核函数是应用最为广泛的核函数,在工程、物理和许多其他领域都有应用,高斯核函数如下所示:

式中:σ——方差

在上面的训练过程中,模型的质量受到支持向量机几个参数设置和需要分类的数据样本的影响。惩罚参数C决定分类超平面的复杂性,实际设置由训练数据直接决定。方差σ反映训练数据的输入范围,就是噪音方差的估量值,实际中,噪音方差可以表示为:

式中:n——训练样本数量。

经过上面的分析,可以将系统的输入流量、输出液位高度和流量计的测量值作为SVM的输入特征向量来将所上面所分析的四种故障进行分类[18]

基于支持向量机设计的分类器使用的是台湾大学林智仁先生开发的libsvm工具箱,在这里主要会应用到两个函数svmtrain()和svmpredict()。其中svmtrain()是SVM的训练函数,该函数通过对训练样本数据进行训练得到一个分类器模型。svmpredict()是SVM的预测函数,该函数利用通过svmtrain()函数训练得到的模型对预测样本数据进行预测,从而得到分类结果[19]

svmtrain()函数格式为:模型=svmtrain(训练标签,训练数据,“参数”),训练标签是对不同类型样本数据的一个表示,这里考虑了四种故障,即:水泵故障、流量计故障、液位传感器故障和电磁阀故障,将这四种故障状态再加上正常状态这五种类别状态的标签分别标为:1、2、3、4和5。训练数据为代表各种类别的特征向量,其格式为:<label><index1>:<value1><index2>:<value2>……。参数主要有四个需要设置:

-s设置SVM类型(默认为0);

0—C-SVC

1—v-SVC

2—一类SVM(www.daowen.com)

3—e-SVR

4—v-SVR

-t设置核函数类型(默认为2);

0—线性核函数

1—多项式核函数

2—高斯核函数

3—神经网络核函数

-c cost设置C-SVC、e-SVR和v-SVR的参数(默认为1);

-g gamma核函数中gamma函数设置(默认为1/k)。

另外还有许多其他的参数,一般不需要人为设置,使用默认即可。本书在使用的过程中,设置-s为0、-t为2、-c为1.2、-g为2.8。对于-c和-g的设置,有种方法叫交叉验证法或其他的智能算法

将上节仿真的各种故障数据保存下来并给各类标上相应的标签,然后利用SVM对其进行分类,分类结果如图6-16所示。

图6-16 SVM分类结果

其中分类结果正确率为94.5%。

免责声明:以上内容源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。

我要反馈