基于朴素贝叶斯分类器的简单手写体数字识别

基于朴素贝叶斯分类器的简单手写体数字识别

ID:20196111

大小:265.00 KB

页数:18页

时间:2018-10-11

基于朴素贝叶斯分类器的简单手写体数字识别_第1页
基于朴素贝叶斯分类器的简单手写体数字识别_第2页
基于朴素贝叶斯分类器的简单手写体数字识别_第3页
基于朴素贝叶斯分类器的简单手写体数字识别_第4页
基于朴素贝叶斯分类器的简单手写体数字识别_第5页
资源描述:

《基于朴素贝叶斯分类器的简单手写体数字识别》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、基于朴素贝叶斯分类器的 简单手写体数字识别Byshenye手写数字识别(HandwrittenNumeralRecognition)是光学字符识别技术(OpticalCharacterRecognition,简称OCR)的一个分支。它研究的对象是:如何利用电子计算机自动辨认人手写在纸张上的阿拉伯数字。研究的实际背景在整个OCR领域中,最为困难的就是脱机手写字符的识别。手写数字识别的应用范围广泛,阿拉伯数字组成的各种编号和统计数据如:邮政编码、统计报表、财务报表、银行票据等等。研究的理论意义阿拉伯数字是唯一的被世界各国通用的符号,对手写数字识别的研究基本上与文化背

2、景无关。目前为止机器的识别本领还无法与人的认知能力相比,这仍是一个有难度的开放问题。手写数字的识别方法扩展范围广。研究的难度一些测试结果表明,数字的正确识别率并不如印刷体汉字识别正确率高,甚至也不如联机手写体汉字识别率高。主要原因是:1.不同数字之间字形相差不大,使得准确区分某些数字相当困难;2.数字虽然只有十种,笔划简单,但同一数字写法千差万别,全世界各个国家各个地区的人都用,其书写上带有明显的区域特性,很难完全做到兼顾世界各种写法的极高识别率的通用性数字识别系统。算法的理论基础贝叶斯定理设D1,D2,……,Dn为样本空间S的一个划分,如果以P(Di)表示事件

3、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

4、Dj)为联合概率(条件概率),P(Dj

5、x)后验概率。算法的理论基础朴素贝叶斯分类器朴素贝叶斯分类器基于一个简单的假定:在给定目标值时属性值之间相互条件独立。换言之,该假定说明给定实例的目标值情况下,观察到联合的a1a2⋯am的概率正好是对每个单独属性的概率乘积。设x=,则P(x

6、Dj)=P(a1,a2⋯am

7、Dj

8、)。对未知样本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个特征向量记X=(cntH,cntS,cntB,cntP,cntN)方法介绍—训练通过处理板得到手写数字与横竖撇捺线的交点个数及笔画数即:H,S,B,P,N和从输入框中得到的输入值V插入到数据库▲通过处理板得到手写数字与横竖撇捺线的交点个数及笔画数即:cntH,cntS,cntB,cntP,cntN方法介绍—识别表1:训练集部分

9、数据由公式:P(x

10、Dj)=P(a1,a2⋯am

11、Dj)得到,x=(cntA,cntH,cntS,cntP,cntN),Dj{0,1,2,3,4,5,6,7,8,9},m=5,a1=cntB,a2=cntH,a3=cntS,a4=cntP,a5=cntN计算方法通过代码来解析: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

12、++;//数据总数}max=0;for(i=0;i<10;i++){ansP[i]=1;//V=i时的概率,初始化为1ansP[i]*=count[i]*100.0/sum;//先验概率,*100将之放大ansP[i]*=datA[cntAll,i]*100.0/count[i];//V=i条件下B=cntAll的概率ansP[i]*=datH[cntH,i]*100.0/count[i];//V=i条件下H=cntH的概率ansP[i]*=datS[cntS,i]*100.0/count[i];//V=i条件下S=cntS的概率ansP[i]*=datP[cn

13、tP,i]*100.0/count[i];//V=i条件下P=cntP的概率ansP[i]*=datN[cntN,i]*100.0/count[i];//V=i条件下N=cntN的概率if(ansP[i]>max)//取最大的ansP[i]{max=ansP[i];ans=i;//ans即识别出来的值}}if(max==0)MessageBox.Show("无法识别");这样做的优点是:用户可按照自己的书写习惯自行创造数据集,这使得工具变得有「灵性」,不同的用户将创造不同的数据集,工具因此有了不同的记忆,训练得越多,工具的识别能力越强,识别率越高。总结左表所示:

14、字符2,3,8的误识率较

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。