论文部分内容阅读
支持向量机作为一种具有广泛应用的分类算法;其学习训练过程存在复杂度高、训练时间长等问题,因此面对大数据量的训练任务不能很好满足其应用需求。概率计算作为一种新的数值表针方式,具有低复杂度、容错能力强等优势。将概率计算应用于支持向量机之中,对于改进现有支持向量机存在的问题具有重要的研究和工程价值。本论文将概率计算与支持向量机相结合,降低支持向量机的计算复杂度,加速其训练过程。主要的工作如下:首先,我们针对支持向量机中计算复杂度占比很高的高斯核函数计算采用概率计算方法,设计了基于概率的高斯核函数计算结构(JEFA)。该结构主要是先对高斯核函数进行变换,再将概率计算的前向转化与概率指数运算进行一体化设计得到。实验测试表明当概率序列长度为300左右时,JEFA结构计算结果与传统定点方式(定点位宽为15比特)几乎完全一致;而JEFA硬件实现资源开销方面:FF资源开销为传统定点方式的1/5,LUT资源开销为传统定点方式的1/20,而且省去了传统算法中的乘法器资源。因此,JEFA结构在计算性能得到保证的情况下,实现了硬件复杂度的显著降低。其次针对支持向量机中存在高斯核函数集的重复计算问题,我们提出了核存储结构。概率支持向量机的具体实现算法在寻找工作集和梯度更新中需要重复和交叉重复计算。因此,提出共享核函数集的方法,减少核函数集的重复计算,从而进一步降低了算法实现复杂度。最后针对提出的基于概率计算的支持向量机,完成了硬件实现。主要包括数据接收和存储、主进程控制、基于概率计算的核函数集计算、核存储和SVM训练学习模块。其中主要的SVM训练学习模块包括寻找工作集i、寻找工作集j、拉格朗日向量更新、梯度向量更新等模块。实验数据测试表明,在最优参数和分类准确率方面基于概率计算的支持向量机软件仿真(SVM-SC)与Libsvm一致,平均速度为Libsvm的1.5倍;在最优参数和分类准确率方面基于概率计算的支持向量机硬件实现(SVM-SC-H)与Libsvm基本一致。在不损失分类性能的条件下,平均训练速度为Libsvm的40倍。