会员中心 |  会员注册  |  兼职信息发布    浏览手机版!    超值满减    人工翻译    英语IT服务 贫困儿童资助 | 留言板 | 设为首页 | 加入收藏  繁體中文
当前位置:首页 > 机翻技术 > 识别技术 > 正文

示例:基于SVM的数字识别

发布时间: 2023-03-09 09:28:09   作者:etogether.net   来源: 网络   浏览次数:
摘要: 使用其它一些代码和SMO算法,可以构建一个系统去测试手写数字上的分类器,打开svmMLiA.py并将img2vector()函数复制过来。


(1)收集数据:提供的文本文件。

(2)准备数据:基于二值图像构造向量。

(3)分析数据:对图像向量进行目测。

(4)训练算法:采用两种不同的核函数,并对径向基核函数采用不同的设置来运行SMO算法。

(5)测试算法:编写一个函数来测试不同的核函数并计算错误率。

(6)使用算法:一个图像识别的完整应用还需要一些图像处理的知识,这里并不打算深入介绍。


使用其它一些代码和SMO算法,可以构建一个系统去测试手写数字上的分类器。打开svmMLiA.py并将img2vector()函数复制过来。然后,加入程序清单1中的代码。


程序清单1基于SVM的手写数字识别


图1.png

图2.png


函数loadImages()是作为前面kNN.py中的handwritingClassTest()的一部分出现的。它已经被重构为自身的一个函数。其中仅有的一个大区别在于,在kNN.py中代码直接应用类别标签,而同支持向量机一起使用时,类别标签为一1或者+1。因此,一旦碰到数字9,则输出类别标签-1,否则输出+1。本质上,支持向量机是一个二类分类器,其分类结果不是+1就是-1。基于SVM构建多类分类器已有很多研究和对比了,如果读者感兴趣,建议阅读C.W.Huset等人发表的一篇论文“A Comparison of Methods for Multiclass Support Vector Machines”。由于这里我们只做二类分类,因此除了1和9之外的数字都被去掉了。



微信公众号

[1] [2] [下一页] 【欢迎大家踊跃评论】
我来说两句
评论列表
已有 0 条评论(查看更多评论)