在阅读论文的时候看到一篇基于粒子群-支持向量机算法对稻壳中的元素定量分析的论文,考虑到支持向量机应用范围也比较广,在传感器数据分析中经常会出现数据分类以及回归预测分析的情况,支持向量机也是一个不错的选择。其实SVM是机器学习中经常提及的算法,MATLAB中其实也有比较成熟可以应用的工具包(python中也包含相应的工具包),这个算法其实也比较古老。
对于SVM建模时参数c与g的选择决定SVM回归的准确度与预测的精度,c是影响回归模型对回归误差大于样本的重视水平,g的大小关系着回归模型的精度。因此,为了提高SVM的学习和泛化能力,需要对c和g两个参数进行优化。那么粒子群算法也就是在参数优化中起到作用。
将粒子群算法用于改进SVM算法,这个时候如果要实现就不能使用MATLAB中自带的工具包了。MATLAB中的函数包的计算以及可视化展现效果还是很不错的(主要用到的是svmtrain函数与svmclassify函数,查看函数源文件)。下图就是用MATLAB自带函数实现的简单1和2的分类,但是该函数包可视化展现只能对二特征分类有效。不过libsvm包的功能更加强大,可视化展现的内嵌函数也可以做到更好。
在查看源代码