计算机模式识别课程论文-手写数字的识别研究

上传人:aa****6 文档编号:30009229 上传时间:2018-01-26 格式:DOC 页数:12 大小:240.50KB
返回 下载 相关 举报
计算机模式识别课程论文-手写数字的识别研究_第1页
第1页 / 共12页
计算机模式识别课程论文-手写数字的识别研究_第2页
第2页 / 共12页
计算机模式识别课程论文-手写数字的识别研究_第3页
第3页 / 共12页
计算机模式识别课程论文-手写数字的识别研究_第4页
第4页 / 共12页
计算机模式识别课程论文-手写数字的识别研究_第5页
第5页 / 共12页
点击查看更多>>
资源描述

《计算机模式识别课程论文-手写数字的识别研究》由会员分享,可在线阅读,更多相关《计算机模式识别课程论文-手写数字的识别研究(12页珍藏版)》请在金锄头文库上搜索。

1、模式识别课程论文题目:手写数字的识别研究一、题目概述 数字识别处理的信息主要包括数据信息,主要是由阿拉伯数字及少量特殊符号组成的各种编号和统计数据,如:邮政编码、统计报表、财务报表、银行票据等等,处理这类信息的核心技术是手写数字识别。作为模式识别的重要应用之一,手写数字的识别已经成为新的研究方向。手写数字识别技术是近年来研究的热点,具有广泛的应用前景,同时也是一个非常具有挑战性的课题。人工神经网络是当今智能控制领域最活跃的分支之一,它所具有的并行计算能力、容错能力、泛化能力,以及以任意精度逼近未知非线性对象的特点,使其为手写数字的识别提供了一种新的方法。手写数字识别 是光学字符识别技术的一个分

2、支,它研究的对象是如何利用计算机自动辨认人手写在纸张上的阿拉伯数字。在整个光学字符识别领域中,最为困难的就是脱机手写字符的识别。到目前为止,尽管人们在脱机手写英文、汉字识别的研究中己取得很多可喜成就,但距离实用还有一定距离。随着信息社会步伐的加快,对字符识别技术的需求越来越迫切,要求也越来越高了,从目前水平看,计算机离线文字识别技术离达到令人满意的使用要求还有相当距离。随着我国国民经济信息网络的推广,全国有大量的数据要输入计算机网络,邮件分拣系统与税务统计系统即为典型的数字识别系统l 闷。而且在当今这个快节奏的现代生活中,与数字打交道的机会越来越多,数字识别面对的都是极其大量的数据报表等,其在

3、精度和速度方面都对识别要求提出了很大的挑战。设想在金融报表中,把 300,000 元认成 800,000 元,从字符上辨认只是一字之差,可对于金融业来说,这是绝对不允许的。1二、模式识别与 BP 神经网络模式识别是人工智能领域应用的基础,它利用计算机和光学系统来识别计算机“看到”的图像信息,模拟人的视觉;用计算机和声音传感器来识别计算机接收到的声波信息,模拟人的听觉;用计算机通过压力、温度、气体、液体等传感器来识别计算机获得的各种特征信息,模拟人的触觉和嗅觉等功能。实际上人类在日常生活的每个环节,都从事着模式识别的活动,例如将手写的数字分到具体的数字类别中的手写数字识别;判断是否有汽车闯红灯、

4、识别闯红灯的汽车车牌号码的智能交通管理系统等。它由数据获取、预处理、特征提取、分类决策及分类器设计五部分组成。一般分为上下两部分,上半部分完成未知类别模式的分类:下半部分属于设计分类器的训练过程,利用样品进行训练,确定分类器的具体参数,完成分类器的设计。而分类决策在识别过程中起作用,对待识别的样品进行分类决策,其关键是解决如何用计算机对样品进行分类。神经网络的概念、原理和设计是受生物、特别是人脑神经系统的启发提出的. 神经网络由大量简单的处理单元来模拟真实人脑神经网络的机构和功能以及若干基本特性,是一个高度复杂的非线性自适应动态处理系统.BP 网络是 1986年由 Rinehart 和 McC

5、elland 为首的科学家小组提出 ,是一种按误差逆传播算法训练的多层前馈网络,是目前应用最广泛的神经网络模型之一. BP 网络能学习和存贮大量的输入- 输出模式映射关系,而无需事前揭示描述这种映射关系的数学方程. 它的学习规则是使用最速下降法,通过反向传播来不断调整网络的权值和阈值,使网络的误差平方和最小. BP 神经网络模型拓扑结构包括输入 ( input) 、隐层( hide layer)和输出层(output layer) ,如图 1 所示:2三、基于 BP 神经网络的手写数字识别3. 1输入向量与目标向量首先对手写数字图像进行预处理,包括二值化、去噪、倾斜校正、归一化和特征提取,生成

6、 BP 神经网络的输入向量 Alphabet 和目标向量 Tar2get. 其中Alphabet 选取 40 10 的矩阵 ,第 1 列到第 10 列代表 09 的数字. Target 为 10 10 的单位矩阵,每个数字在其所排顺序位置输出 1,其他位置输出 0.3. 2BP 神经网络的构建BP 算法由数据流的前向计算(正向传播)和误差信号的反向传播两个过程构成. 正向传播时,传播方向为输入层隐层输出层,每层神经元的状态只影响下一层神经元. 若在输出层得不到期望的输出,则转向误差信号的反向传播流程. 通过这两个过程的交替进行,在权向量空间执行误差函数梯度下降策略,动态迭代搜索一组权向量,使网

7、络误差函数达到最小值,从而完成信息提取和记忆过程.首先考虑正向传播,设输入层有 n 个节点,隐层有 p 个节点,输出层有 q 个节点. 输入3层与隐层之间的权值为 vk i, 隐层与输出层之间的权值为 w jk. 隐层的传递函数为 f1 ( x) ,输出层的传递函数为 f2 ( x) ,则隐层节点的输出为输出层节点的输出为通过式(1) 和 (2) 可得 BP 神经网络完成 n 维到 q 维的映射. 其次考虑反向传播. 在反向传播中,需要对不理想的权值进行调整, B P 神经网络的核心要务即在于调权. 定义误差函数, 设输入 P 个学习样本,用 x1 , x2 , , xp 来表示. 第 p 个

8、样本输入网络得到输出 ypj ( j = 1, 2, , q) ,其误差为式中 为期望输出. P 个样本的全局误差为将式(3) 代入得输出层权值的变化采用累计误差 BP 算法调整 wjk 使全局误差 E 变小,即4式(5) 中 为学习率 . 现定义误差信号为将式(3) 代入可得第一项为第二项为输出层传递函数 f2 ( x) 的偏微分将式(7) 和(8) 代入可得误差信号为则输出层各神经元权值wjk 调整公式将式(9)代入可定义为5在得到输出层权值调整公式后, 需要定义隐层权值vk i 调整公式根据输出层各神经元权值wjk 调整公式推导过程,可得vk i 为.四、BP 算法的实现程序代码以 VC

9、+为手段,在 BP 神经网络的基础上进行编程以实现手写数字的识别,以下是部分实验代码:1. / MainFrm.cpp : implementation of the CMainFrame class 2. / 2005.1.1316:02 By Superman 3. 4. #include stdafx.h 5. #include DSPLIT.h 6. 7. #include MainFrm.h 8. #include DynSplitView2.h 9. 10. #ifdef _DEBUG 611. #define new DEBUG_NEW 12. #undef THIS_FILE

10、13. static char THIS_FILE = _FILE_; 14. #endif 15. 16. / 17. / CMainFrame 18. 19. IMPLEMENT_DYNCREATE(CMainFrame, CFrameWnd) 20. 21. BEGIN_MESSAGE_MAP(CMainFrame, CFrameWnd) 22. /AFX_MSG_MAP(CMainFrame) 23. ON_WM_CREATE() 24. /AFX_MSG_MAP 25. END_MESSAGE_MAP() 26. 27. static UINT indicators = 28. 29

11、. ID_SEPARATOR, / status line indicator 30. ID_INDICATOR_CAPS, 31. ID_INDICATOR_NUM, 32. ID_INDICATOR_SCRL, 33. ; 34. 35. / 36. / CMainFrame construction/destruction 37. 38. CMainFrame:CMainFrame() 39. 40. / TODO: add member initialization code here 41. 42. 43. 44. CMainFrame:CMainFrame() 45. 46. 47

12、. 48. int CMainFrame:OnCreate(LPCREATESTRUCT lpCreateStruct) 49. 50. if (CFrameWnd:OnCreate(lpCreateStruct) = -1) 51. return -1; 52. 753. if (!m_wndToolBar.CreateEx(this, TBSTYLE_FLAT, WS_CHILD | WS_VISIBLE | CBRS_TOP 54. | CBRS_GRIPPER | CBRS_TOOLTIPS | CBRS_FLYBY | CBRS_SIZE_DYNAMIC) | 55. !m_wndT

13、oolBar.LoadToolBar(IDR_MAINFRAME) 56. 57. TRACE0(Failed to create toolbarn); 58. return -1; / fail to create 59. 60. 61. if (!m_wndStatusBar.Create(this) | 62. !m_wndStatusBar.SetIndicators(indicators, 63. sizeof(indicators)/sizeof(UINT) 64. 65. TRACE0(Failed to create status barn); 66. return -1; /

14、 fail to create 67. 68. 69. / TODO: Delete these three lines if you dont want the toolbar to70. / be dockable 71. m_wndToolBar.EnableDocking(CBRS_ALIGN_ANY); 72. EnableDocking(CBRS_ALIGN_ANY); 73. DockControlBar( 74. 75. return 0; 76. 77. 78. BOOL CMainFrame:PreCreateWindow(CREATESTRUCT& cs) 79. 80. if( !CFrameWnd:PreCreateWindow(cs) ) 81. return FALSE; 82. / TODO: Modify the Window class or styles here by mod

展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 办公文档 > 其它办公文档

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号