- 1、本文档共18页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
基于朴素贝叶斯分类器手写体数字识别
基于朴素贝叶斯分类器的简单手写体数字识别 By shenye 手写数字识别(Handwritten Numeral Recognition)是光学字符识别技术( Optical Character Recognition,简称OCR)的一个分支。它研究的对象是: 研究的实际背景 在整个OCR领域中,最为困难的就是脱机手写字符的识别。 研究的理论意义 阿拉伯数字是唯一的被世界各国通用的符号,对手写数字识别的研究基本上与文化背景无关。 研究的难度 一些测试结果表明,数字的正确识别率并不如印刷体汉字识别正确率高,甚至也不如联机手写体汉字识别率高 。主要原因是: 1.不同数字之间字形相差不大,使得准确区分 某些数字相当困难; 2.数字虽然只有十种,笔划简单,但同一数字 写法千差万别,全世界各个国家各个地区的 人都用,其书写上带有明显的区域特性,很 难完全做到兼顾世界各种写法的极高识别率 的通用性数字识别系统。 算法的理论基础 贝叶斯定理 设D1,D2,……,Dn为样本空间S的一个划分,如果以P(Di)表示事件Di发生的概率,且P(Di)0(i=1,2,…,n)。对于任一事件x,P(x)0,则有: P(Dj/x)=p(x/Dj)P(Dj)/∑P(X/Di)P(Di),其中P(x) = ∑P(X/Di)P(Di) P ( Dj)为先验概率, P ( x | Dj)为联合概率(条件概率) , P ( Dj | x)后验概率。 算法的理论基础 朴素贝叶斯分类器 朴素贝叶斯分类器基于一个简单的假定:在给定目标值时属性值之间相互条件独立。换言之,该假定说明给定实例的目标值情况下,观察到联合的a1a2 ?am 的概率正好是对每个单独属性的概率乘积。 设x = a1 , a2 ?am ,则P ( x | Dj) = P ( a1 , a2?am | Dj)。 对未知样本X分类时,对每个类Di计算p (X/Di) p (Di) 。样本X被指派到类Di,当且仅当p (X/Di) P (Di) P (X/Dj) P (Dj) j≠i,也就是X被指派到其p (X/Di) p (Di)最大的类Di中。 方法介绍 从手写体数字提取5个特征向量 方法介绍—训练 计算方法通过代码来解析: while (read.Read())//从数据库中读取训练集 { count[pV]++; //当前数字PV 出现的总个数 datH[pH, pV]++; //在V=PV条件下H=pH的个数 datS[pS, pV]++; datP[pP, pV]++; datN[pN, pV]++; datA[pA, pV]++; i++;//数据总数 } 这样做的优点是: 用户可按照自己的书写习惯自行创造数据集,这使得工具变得有「灵性」,不同的用户将创造不同的数据集,工具因此有了不同的记忆,训练得越多,工具的识别能力越强,识别率越高。 总结 在特征向量的提取上,我还有如下几种想法: 将方向设为8个(避免2和3的错误识别)。 与边框的交点(避免8和3的错误识别)。 每一笔的走势(避免1和7的错误识别)。 数字字体的长宽比。 边框内红色像素与非红色像素之比。 一些想法: 另外,通过这个小实验,使我对汉字的识别也有了一些思路: 用上述方法识别输入的每一个比划(横,竖,撇,捺,折等),即模拟人在手写时候的方式,通过朴素贝叶斯分类器(也可不用),按汉字部首的比划组合方式识别出部首,由部首的组合,最终识别出汉字。 这需要非常巨大的数据训练集。 谢 谢! * 如何利用电子计算机自动辨认 人手写在纸张上的阿拉伯数字。 手写数字识别的应用范围广泛,阿拉伯数字组成的各种编号和统计数据如:邮政编码、统计报表、财务报表、银行票据等等。 目前为止机器的识别本领还无法与人的认知能力相比,这仍是一个有难度的开放问题。 手写数字的识别方法扩展范围广。 特征向量 与横线相交 的点数(H) 与竖线相交 的点数(S) 比划数(B) 与撇线相交 的点数(P) 与捺线相交 的点数(N) 记X=(cntH, cntS, cntB, cntP,cntN) 通过处理板得到手写数字与横竖撇捺线的交点个数及笔画数 即: H, S, B, P,N 和从输入框中得到的输入值V 插入到数据库 ▲通过处理板得到手写数字与横竖撇捺线的交点个数及笔画数 即: cntH, cntS, cntB, cntP,cntN 方法介绍—识别 表1:训练集部分数据 由公式: P ( x | Dj) = P ( a1 , a2?am | Dj) 得到,x= (cntA,cntH,cntS
文档评论(0)