SVM入门学习总结

来源:互联网 发布:java工程师年龄要求 编辑:程序博客网 时间:2024/06/07 18:09

因为做项目要用到SVM,就自学了几个月。在中国知网上看了很多论文,但现在又忘的差不多了,看来勤做笔记很重要。奋斗现在说一下我学习SVM的经验。

一、SVM(支持向量机)是一种常见的机器学习算法,主要用于二分类(多分类精度不高)。即通过对已知类别的样本,提取出若干重要的特征,用数学中的特征向量表示。然后,对这些特征向量进行训练,得到分类模型。当再将未知类型的样本输入分类模型时,即可实现样本类别的预测分类。当然,既然是预测分类,就会有准确率和误报率的问题。不断改进SVM算法的准确率和误报率是现在研究的重点之一。另外,用SVM方法进行分类工作也会存在存储和训练效率的问题,也是需要不断改进的地方。现在已经有很多人用PSO算法、KNN算法、遗传算法、CNN算法等对其进行改进,是研究的热点。

二、想要对SVM算法的内容进行全面的了解,我觉得看faruto整理的系列文章http://www.360doc.com/content/13/0731/10/13256259_303744243.shtml就足够入门了。当然,想要更深入的了解,可以看看书《支持向量机-理论、算法与扩展》(田英杰、邓乃扬著)、《机器学习》(周志华)。

三、想要对SVM有个更直观的了解,动手能力很重要。libsvm是台湾的林智仁教授公布的一个开源SVM框架,有MATLAB和java等多种版本,可以供拿来学习使用。一定要自己动手训练一些数据,建议看一下libsvm、SMO等源码,真正弄懂原理。

四、SVM作为一种分类算法,虽然有一些开源源码实现,但还是比较偏理论。所以出论文会相对容易,建议可以在深入学习一段时间后写写论文或专利进行发表,也当是一个成果或检验(我写了一篇论文,但可惜水平有限,只能投了一篇国内中文期刊鄙视。建议实力比较强的大神可以投一下英文的EI、SCI期刊)


0 0
原创粉丝点击