论文部分内容阅读
随着各领域科学技术的发展,高性能计算早已成为研究热点,图形处理器(GPU,Graphic Processing Unit)是当今高性能计算领域不可或缺的一部分。GPU在出现早期被用于3D图形处理、视频编解码等领域,而由于它具有很强的浮点计算能力,并行计算能力以及高存储带宽,已发展成高度并行的可编程的通用计算图形处理器(GPGPU,General Purpose GPU)且被应用于科学计算领域。在数据挖掘领域,GPU技术也渗透其中,支持向量机(SVM, Support Vector Machine)是经典的数据挖掘算法,其执行时间长,内存占用多。SVM较长的执行时间主要在于训练过程与参数优化过程。其中,训练过程是为了建立分类模型,现有的训练算法都存在若干次迭代,且需要重复计算核矩阵、反复访问计算机内存,因此,建模过程缓慢,尤其当数据量大,数据维度高时,这个缺点更加明显。参数优化过程是为了取得最好的分类效果,现有的优化算法都包含若干次迭代,且每次迭代都需要调用复杂的训练算法,使得计算量大大增长。因此,如何加快SVM建模速度,使其适应数据量更大、对实时性要求更高的应用场景,具有广阔的研究前景。本文在对SVM训练算法和参数优化算法研究的基础上,提出了基于GPU的改进的并行训练算法,并以此为基础,进一步提出了并行的参数优化算法,最后将改进的SVM方法用于入侵检测。主要的研究内容有:(1)详细阐述了训练算法之一的序贯最小优化算法(SMO, Sequential Minimal Optimization)的基本原理,描述其基本流程,并分析了基于GPU的并行SMO算法(P2SM0, Parallel-Parallel SMO)的并行机制。结合并行机制的特点,通过理论分析及实验分析,找出P2SMO的缺点,并据此通过引入快速收敛条件以及改变核函数缓存表访问策略,对P2SMO算法进行了改进。实验数据说明改进后的P2SM0算法不仅保证了分类的准确率,而且提高了分类的速度。(2)SVM参数优化算法耗时很长,因为在优化时需要反复调用复杂的训练过程,并行化很有必要。在改进的P2SMO算法的基础之上,本文描述了SVM中使用网格搜索算法和粒子群参数优化算法的基本原理,并将改进的P2SMO算法分别与网格搜索算法以及粒子群优化算法相结合,提出新的并行网格搜索算法和并行粒子群优化算法,以用于SVM参数优化。实验表明新的并行算法均可取得与原算法几乎相同的优化结果,同时可大大提高优化效率,另外,并行的粒子群算法效率要高于并行的网格搜索算法。(3)将改进的P2SMO算法以及效果较好的并行粒子群算法结合于SVM建模过程,并用于入侵检测,将实验结果与LibSVM下的入侵检测进行比较,实验结果表明,新的算法不仅可以保证入侵检测的准确率,且大幅提高了检测的速度。