欢迎来到淘文阁 - 分享文档赚钱的网站! | 帮助中心 好文档才是您的得力助手!
淘文阁 - 分享文档赚钱的网站
全部分类
  • 研究报告>
  • 管理文献>
  • 标准材料>
  • 技术资料>
  • 教育专区>
  • 应用文书>
  • 生活休闲>
  • 考试试题>
  • pptx模板>
  • 工商注册>
  • 期刊短文>
  • 图片设计>
  • ImageVerifierCode 换一换

    基于SVM和BP神经网络的手写数字识别(共64页).docx

    • 资源ID:13837582       资源大小:4.09MB        全文页数:64页
    • 资源格式: DOCX        下载积分:20金币
    快捷下载 游客一键下载
    会员登录下载
    微信登录下载
    三方登录下载: 微信开放平台登录   QQ登录  
    二维码
    微信扫一扫登录
    下载资源需要20金币
    邮箱/手机:
    温馨提示:
    快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。
    如填写123,账号就是123,密码也是123。
    支付方式: 支付宝    微信支付   
    验证码:   换一换

     
    账号:
    密码:
    验证码:   换一换
      忘记密码?
        
    友情提示
    2、PDF文件下载后,可能会被浏览器默认打开,此种情况可以点击浏览器菜单,保存网页到桌面,就可以正常下载了。
    3、本站不支持迅雷下载,请使用电脑自带的IE浏览器,或者360浏览器、谷歌浏览器下载即可。
    4、本站资源下载后的文档和图纸-无水印,预览文档经过压缩,下载后原文更清晰。
    5、试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。

    基于SVM和BP神经网络的手写数字识别(共64页).docx

    精选优质文档-倾情为你奉上摘 要科技发展日新月异,智能识别推陈出新。如今是信息化时期,数字识别在很多智能领域上运用广泛,拥有普遍的使用远景,因此探索这项技术有其重要的实际意义。由于手写数字在写法上千差万别,且数字间字形差别相对较小,使得识别系统的开发具有很大的挑战性。当前手写数字识别采用的技术有Bayes判别法、决策树法、神经网络和支持向量机(Support Vector Machines,SVM)等。诞生于20世纪90年代的SVM技术是机器学习研究的热点,因其良好的泛化性能成为了数字识别领域的热门方法。本开发系统借助MATLAB平台实现完成SVM的手写数字识别功能,同时与BP神经网络的识别作对比,并利用了MNIST数据库作扩展与分析。对识别的结果进行探究,得出使识别精准度出现误差的主要因素有手写体数字的规范程度、笔画字迹粗细和清晰,以及训练样本的数量等。关键词 手写数字识别;神经网络;SVMAbstractTechnological development changes rapidly, and intelligent recognition innovates constantly. In the information era, numeral recognition has broad application prospects in many pattern areas with a common vision, so it is of great practical significance to explore this technology. As a result of handwritten numeral vary widely in the wording and digital shape difference is relatively small, making recognition system development is a great challenge.At present, Bayes discriminant analysis, decision tree method, neural network and support vector machine (referred to as SVM) are the main methods of recognition of handwriting. SVM technology, which was born in 1990s, is a hot topic in machine learning research. Because of its good generalization performance, it has become a popular method in the field of numeral recognition.The system uses the MATLAB to realize the handwritten numeral recognition based on SVM, at the same time with the recognition of BP neural network for comparison, and using the MNIST database to extend and analysis. To research the results of recognition, it comes to conclusion that the main factors affecting the accuracy of the recognition include the specification of the handwritten numeral, the thickness and the clarity of the strokes, and the number of the training samples.Keywords handwritten numeral recognition; neural network; SVM专心-专注-专业目 录第1章 绪论1.1 课题研究的背景和意义数字识别主要有印刷体与手写体识别,由于存在人体差异和个人习惯的不同,即使是同一个数字,每个人书写的情况都会千差万别。手写数字识别技术在不同的数字数据库实验中已得到了较为满意的识别辨认效果,然而将其使用到手写文档中,其识别的精准度仍难以达到实际要求。手写数字是借助电子仪器去自动辨别人手写出来的数字。尽管由于笔画、字型等因素还未能在计算机上做到全部都正确识别,但其在各方面应用早已十分广泛,多存在于办公和教学自动化、银行票据自动识别、邮政自动分拣等技术领域当中。在日常生活和工作中,每天都会接触大量的数字信息,尤其是处理各种各样的数字文档工作,如账单、邮编、电话号码、物流编号等,一些极其关键的数字信息的误判往往极易造成巨大损失,在要求较为苛刻的国防、金融等领域更是不能出现丝毫差错。如何利用现代化技术,使人们从这些繁重且细致繁琐的工作中解放出来,提高识别正确率、记录准确率及其效率已成为一个亟待解决的问题。智能识别在当代科技应用中日趋普及,科学技术以及物质需求的持续抬高,数字识别的准确率和速度都有了更大的提升。数字不仅构建了数学基础,也承载着信息内容;不仅在数学上发挥着作用,也是人们沟通、交流和学习的主要工具。由数字组合成的各种代码或符号应用广阔,是人类生活和科技进步不可或缺的组成部分,基于这个原因,手写数字的智能识别就具有重大的实际意义1。1.2 国内外研究现状及分析20世纪初期,德国科学家运用光学相互对比技术第一次实现了机器识别文字符号;50年代起,西方国家为了更好进行信息的处理、保存和保密,开始着手对西文光学字符识别(OCR)的研究;20世纪中叶,全球很多国家开始了探索数字识别。美国科技巨头IBM公司最早开发了相关的产品,这款产品只能认识制定好的字符所印刷出来的文字或符号。1970年左右,我国初步对符号的识别作综合探索。清华大学在1989年推出了OCR软件,着手对汉字和数字的识别进行研究,并在手写汉字和数字识别等领域上取得了巨大的成功。1963年, Vapnik首次提出了支持向量(SV)方法;历经20年磨练,美国研究者随后在有限样本的机器学习问题上挖掘了(SVM)。跟随科技发展和国外研究的步伐,我国的SVM理论研究在性能优化和训练识别上也取得了一定进展。历经几十年,数字识别技术在不断的改进下已经得到了很大进步,判断准确度也越来越高。利用作识别已经在各类数据库里获得了较好的成果。分析目前在这方面取得的进展,比对海内外研究的成果和关注的方向,手写数字识别需深入研究解决存在的两大难点,即速度与准确性都需达到更高的水平2。假以时日若对该算法进行相应改进及优化,该技术就能获得更长远的进步。1.3 课题研究的主要内容本次设计研究的主要内容包括:1、手写数字识别方法综述。介绍常用的几种方法,并进行简要比较。2、支持向量机、神经网络的简介。介绍对比两种方法的发展、技术原理和特点,分析支持向量机如何进行学习和实现,BP神经网络的构建和参数确定,为应用在手写数字识别进行可行性讨论。3、手写数字识别的设计与实现。借助MATLAB平台编程作仿真实验,首先对手写数字图像进行标准化预处理,建立算法进行参数寻优,最后对测试集进行识别和结果分析。4、Mnist数据库的扩展识别。筛选部分图像,借助SVM法对其作识别和比较分析。1.4 本章小结本章扼要概述该课题的研究背景、近况及主要内容,并从多个角度叙述对其研究的重要意义。第2章 手写数字识别综述手写数字识别过程大致分成、等几个过程,预处理为能获得正确的有关数字的特性作了基础,而得到有关的数字特征则保证了最后分类的有效性3。 2.1 预处理技术预处理技术,包括了尺寸和位置归一化等多个方面,通常借助它来消除数字图像中包含的噪音、压缩并剔除多余的且与判别无关的数据信息,为进一步提取特征做出不可或缺的铺垫,提升整个系统性能、判别准确率和速率4。预处理包括了以下几个方面,如图2-1。图2-1 预处理过程2.1.1 图像二值化二值化是把灰度图像转变成黑白两个等级,根据其像素的种类再进一步选择具体操作措施。通过二值化将图像中的数字目标从图像中提取出来。将原有图像中那些能够体现其轮廓特征作射影处理后,再保存下来,把那些体现不了的部分全部都作剔除处理。经过这一步操作处理之后,就能获得该图像中有关构成数字的轮廓和特征的有用信息。2.1.2 图像去噪锐化反色操作后噪声来源一般有:数字图像本身就存在的污损、孤立点;图片本身存在的底色在作二值化处理后造成了新噪声出现。图片本身导致的噪声干扰能借助自适应二值化算法去优化;图像中存在的笔划的凹凸、孤立墨点的情况,可以通过选择适当的结构元素去消除,或利用小波变换的时频局部化及小波基剔除图像局部高频化的噪声。数字图像的模糊边沿可以采用锐化来实现快速聚焦,改善清晰度。2.1.3 图像分割细化图像分割是指依照图像中的各部分像素划分成互不相同的子区域,更方便更有效地对数字后续作进一步单独处理和对数字包含信息的提取,常见的分割方法有阈值分割、区域分割和边缘检测分割等。细化是为了去除输入噪音,保留初始图像特有的几何特性,在保留最初笔划的连续性和特征的前提下,从字符边界逐层移除轮廓黑点像素。手写数字由于存在着书写位置高低、角度位置偏差等人为不可抗拒因素,都会明显增大训练的包袱还会影响识别辨认效果,分割细化后仍需对数字再作出位置矫正逼近处理。2.1.4 归一化 由于原有图片中的数字大小都各有不同,故而需要作归一化操作,以便让其得到统一。归一化是对每个不同大小尺寸的数字子图像进行缩放射影到统一大小的字符样本中,使其能够具有大概相同的尺寸,便于后续作特征提取和分类识别。2.2 特征提取技术该部分是整个操作的重中之重,其特性信息量的获得直接关系到最终的效果。提取的方法有:结构特征和统计特征。结构特征识别方法是从字符的结构或者造型中获取到最能够代表其形状的某类基本信息,类似如横竖撇捺、左右弯钩、交叉等。这种方法能够很好地识别字符笔画的细小改变,但文法相对复杂、对背景复杂的图像识别率较低。统计特征识别方法是对字符信息进行全体统计学分析比较,采用像素密度特征、数形变换、模板适配等技术,识别相对稳定,抗噪声强,但不能检测到字符的笔画变化情况、字符复杂的几何和拓扑结构,识别出错的概率依然不小。综合以上两种方法的优劣所在,现阶段手写数字特征提取技术已逐渐趋于对结构与统计特征方法的相结合。本设计采取了统计的方法,即把数字图片作反色处理后,再对像素进行统计分析获取其特性。特征提取技术如图2-1所示。图2-2 特征提取技术 2.3 手写数字识别方法2.3.1 决策树法一种从上到下的树形结构。其基本思想如图2-3所示。 图2-3 决策树基本思想 用一个逻辑判断说明其内部节点(非叶节点),如:形式为。其中: 图2-4 决策树结构图 决策树优点有:准确性高、速度快,易于解释和理解;基本上无需对要作判别的数据作处理,即使需要,该准备工作也是很容易处理,而其它方法必须先作剔除冗余的操作。 然而,其缺点也是很明显,主要表现在:当存在信息类别多且数目不统一情况时,出错的速度在某种程度上会出现很大幅度的增加。内部节点的判别具有明确性,这种明确性可能会带来误导。2.3.2贝叶斯判别法贝叶斯(Bayes)判别方法是按照Bayes统计思想的应用,根据最小风险代价判决或最大似然比进行判决。Bayes决策法主要有以下两类。(1)基于最小错误率的Bayes决策依照样本库中样本的密度函数,借助Bayes算出待识变量在各状态的概率。在哪个状态下最大就把它划为哪一类。、(能看作是其指数、所有取数),借助经验或估计可得:的先验概率分别为、。 显然有: (=1,2,)且 (2-1)各总体对应的维、,在得到一个样本的情形后,借助Bayes公式计算该样本来自第个总体的后验概率: (2-2)当存在: 时,则:判来自第个总体。(2)基于最小风险的Bayes决策依照样本库中样本的及损失函数,借助Bayes得到概率,再根据后验概率和损失函数计算出各种辨认结果的损失,其中错判损失最小的即为最后的识别结果。把错判成第个总体的平均损失定义为: (2-3):损失函数,表示将样品错判的损失。当时,有:=0;当时,有:>0 。当存在:,则:判来自第个总体。实际上,错判造成的损失认为是等同的,即: (2-4)识别流程图如下图2-5。图2-5 Bayes判别法的流程图2.3.3 神经网络人工神经网络(ANN)简称(NN),该系统是按照彼此之间某些相连的关系互相衔接组成。作为效果明显的智能方法,被以受重用者的身份普遍地应用于识别等领地。神经网络因训练时间和分类时间太长,一般不用于大字符集的直接分类。网络的辨认能力并不会受到层数目太大的作用,但在一定程度上增加层数,能够使得,能更加迅速地把连接值约束并收拢到满足要求为止5。常见网络结构有以下三类。1、前馈神经网络神经元单向传输,且无回馈存在。常见的BP 神经网络即属于该类型。结构如下图2-6所示。图2-6 前馈神经网络结构2、反馈神经网络非单向传输,有回馈传到输入,运行一定时长后才能趋于稳定。典型的反馈型神经网络有: Hopfield 网络、Elman 网络、波耳兹曼机。该网络结构图如下图2-7所示。图2-7 反馈神经网络结构3、自组织神经网络一种“无师自通”的网络模型,自动寻求样本中的本质属性和内在的规律,对网络的参数和结构进行改动。Kohonen映射网络就是属于该类神经网络。自组织神经网络结构如图2-8所示。图2-8自组织神经网络结构2.3.4 支持向量机该算法是由Vapnik等人在基于原则,对线性提出的最佳设计准则。最开始的应用即是在手写字符的识别上。美国邮政服务局利用邮政标准的手写数字库做了测试对比,发现SVM方法比其他复杂的神经网络算法效果好,从而推广了SVM在模式识别和函数拟合等领域的运用。具体将在第3章作详细介绍。2.4 本章小结本章简要介绍了预处理、特征提取技术以及决策树、Bayes判别法、神经网络和支持向量机等分类器的原理,为选择SVM 和BP神经网络作为设计的平台建立了基础。第3章 支持向量机3.1 SVM概述1963年, 首次提出了支持向量(SV)方法;几年后重建,并初步实现了推广SVM走向非线性分化;1990年前后,美国贝尔实验室研究者,在有限习问题上建立了支持向量机6。3.1.1 VC维 描述集合的大小或丰富度的定量指标。假设中函数对个区分类别,若想将之分两类,可以有,说明能将数量为的。VC维置信区间就是可以被。3.1.2 结构风险最小原理对于分类问题,训练样本集由个样本(,)(,;= 1,2,)构成,借助,得到分类方程:,令其损失函数为: (3-1)其中:结构风险最小在于: (3-4)图3-1 结构风险最小化原则如图3-1,:。 3.2 SVM的原理作为一种分类器,当给定一些标记好的训练样本,支持向量机能将不同类样本在样本空间进行分割,输出一个最优化的超平面。假设给定部分分属两类的二维点,这些点可以通过直线进行分割。图3-2 二维点进行直线分割图3-2中可以发现,有多种可能的直线将样本分开,我们的目标是找到一条直线与所有点的距离最远。而SVM本质是找出一个,满足其同全部训练集数据的最小距离最大化。上述的分属两类的二维点,其最优分割直线如图3-3。图3-3 二维点最优超平面支持向量机是由训练集中抽取的小子集组成的,关键在于输入和输入空间的向量之间的内积核。支持向量机体系结构如下3-4所示。图3-4 支持向量机的结构图其中,为核函数,大致分为如下几类:; (3-5):,; (3-6):,; (3-7)两层感知器核函数: 。 (3-8)3.2.1 二分类支持向量机 C-SVM具体形式如下: (1)设已知训练集:其中,;为特征向量。(2)选取恰当的核函数 与参数,构建及求解最优解:) ,1, (3-9)得到最优解: 。(3)选取的一个正分量,并据此计算阈值: (3-10)(4)构造决策树函数: (3-11)3.3 SVM的优缺点 SVM大致优点如下:1、通用性:可以用在各类函数中用来构建新函数;2、鲁棒性:不需要微调; 3、可操作性:使用上并不需借助复杂方法作支撑4、理论上完善:基于VC推广性理论框架。然而,其缺点也是很明显,主要表现在:1、算法缺乏普遍性:不适宜用于大数据量的使用,费时长2、若使用于分类问题上缺乏有效的对存储空间的规划3.4 标准支持向量机3.4.1 线性分划支持向量机是基于线性可分情况的前提下,发现某个可行并且最符合特征的超平面,不仅能够达到分类的需求,达到最精准,且其左右两边的空白范围最大化。下图3-5所示,一个二维平面(一个超平面在二维空间中可以理解成一条直线),平面上有两种不同的数据点,一种为“”,另一种为“”,中间线代表某满足要求的,把这两种数据点隔开。图3-5 线性可分SVM假设分类函数为,显然,当时,是位于超平面上的点。如图3-6,在左右两边,存在着同其平行的两个。对于所有满足的点,对应的值为-1;则对应的数据点,即: (3-12)图3-6 线性分类最优示意图每一个标准越大,则由所定义的线性分类器一般性错误就越小。要获得分类间隔最大,可将求解最佳超平面问题转变为二次规划问题,如下 ,=1,2, (3-13) : (3-14) : (3-15) 受:、约束,且问题求解受库恩-塔克(KKT)附加条件控制: (3-16)可知:;。得到最优分类函数: (3-17)3.4.2 非线性分划实际问题中,分类样本通常都是非线性可分的,为方便处理让尽可能多训练点能被正确分类,在规划中引进松弛变量,获得规划问题: ,=1,2, (3-18): (3-19)对偶形式: (3-20)受:、的约束,且问题求解受库恩-塔克(KKT)附加条件控制: , (3-21)而:的样本点对应的向量为支持向量可知:(1)当时,样本点有:点位于到分类面距离为的某标准超平面。(2)当时,存在:点到分类平面距离小于,点被错分;,点分类正确。图3-7中,a,b分别表示线性及非线性可分数据满足的最佳超平面。为 “”、“” ,支持向量为“”。在图a中,虚线(即为分类线)均是非支持向量;图b中,有一个支持向量(类别为“”)被错误分类()。图3-7 a:线性可分数据;b:非线性可分数据3.5 核函数实际应用中,分类数据一般是非线性可分的,通过构造非线性映射,找到一个非线性的分类面分划数据空间。核 方法通过使用不是线性的特性投影,把低度 空间 的线性非可以进行再分类的信息 射影进高度空间,使得处理更简单化,把不可分的转化为可分的,也避开了高维空间产生的维数难题。核函数表现了两类不同样本彼此之间相近程度。针对一个特定的问题,只要确定训练样本集的相似矩阵是有效的半正定矩阵,就可以使用SVM算法来训练。SVM获得的只与内积(别称:点积)有关,利用某个核函数又能够表示内积使用SVM方法得到的学习机器只涉及特征空间中的内积。由于在一定的程度上能够借助使用某个核 函 数取代点 积,所以也能够借助它去代替。下图3-8是针对二类分布的样本。图a中,要将两类样本分离需要用一个椭圆形的非线性分类器,而图b,借助两阶多项式把信息射影 进三度空间中,只需要一个线性的分类 面就能把区分开两种不同的样 本。图3-8 二维样本分类SVM中每一个核 函 数各自都有与其相对应的一种互不一致的不是线 性的射影。常用的核函数主要有:1)线性核函数:; (3-22)2)多项式核函数:,; (3-23)3)径向基(高斯)核函数:,; (3-24)4)两层感知器核函数: 。 (3-25)对于同一个的数据集,使用不同的核函数以及同一核函数的不同参数,其效果都不尽相同,因此如何根据数据的特性采用哪个核函数以及如何确定核函数的参数成了机器学习中的研究热点。3.6 SVM参数优化利用SVM作区分类别试验时,必须将有关参数作调改处理方可获得相对满意的预期类别准确率,其中最最重要的两个是惩罚因子和核参。本设计是使用核函数和算法并且借助向量机来求得全局最佳解。3.6.1 径向基核函数。当远离时函数取值很小。常见的有高斯函数,表示为: (3-26)式中,为高斯函数中心,为高斯函数方差。3.6.2 遗传算法遗传算法(Genetic Algorithm,GA) 又称基因进化算法,是美国人创作发明的某类解决的指令,是以生物遗传同进化为基础的,能够满足非简单系统更优秀的自动调节处理的优化技术7,该算法开始出现于20世纪中后期,再经过20年的磨练,在1990年前后达到了兴盛的巅峰阶段。图3-9为遗传算法循环流程图:图3-9 遗传算法流程图寻找最佳因子。流程如图3-10:图3-10 利用GA优化SVM参数(c & g)的算法流程图3.7 本章小结本章介绍了SVM的相关理论,概述了SVM的发展、原理技术和优点等,并着重分析了标准向量机在线性划分和非线性划分下的应用,以及核函数和GA对SVM参数的寻优。第4章 BP神经网络4.1 BP神经网络概述BP神经网络(BPNN)属于多层前馈网络,各层只同相邻层彼此联接,同层彼此不相联,且层与层没有回馈相连现象存在。当输出层同期望输出出现误差时,进入误差反向传播,依照预测的出入不断地改正不同层的连接值,使得其减小到可以被满意肯定为止。4-1。图4-1 4.2 BP神经网络原理及性能4.2.1 BP神经网络算法流程。如图4-2:图4-2 BP神经网络算法流程图4.2.2 数据归一化数据归一化,它用于在网络预测前,对数据信息进行处理,将搜集到的数据信息,进一步全部的变换成介于0到1范围内,回避由于输入输出的数量级不同而导致产生差错比较大。把数据归一化常用以下两种方式:(1)。 (4-1)其中,数据序列最大数,数据序列最小数。(2)平均数方差法。 (4-2)其中,数据的平均值,数据的方差。4.2.3 BP神经网络训练,步骤流程为:图4-3 BP神经网络训练流程图(1)隐含层输出: (4-3)(2)输出层预测输出: (4-4)(3)预测误差计算: (4-5)(4)权值更新: ; ; (4-6)(5)阈值更新: (4-7)其中:4.2.4 BP神经网络参数1.隐含层节点数隐含层节点数在一定程度上对预测准确的比率起不少作用,有:节点数太少:限制了网络的学习,影响训练的准确率;节点数太多:会加大训练的时长,容易过拟合了网络。可借助以下(4-8)的式子进行确定: (4-8)其中,、分别是、的节点数量;是介于0到10范围内的常数8。一般是先根据公式(4-8)估计的大概范围,再用试凑来找到最佳值。普遍来说,适当增多节点数,分类的误差值一般是先减小而后增大。2.隐含层隐含层分两种,第一种是单层,另一种是多层。它们的区分,在于层数的不同,当然,它们之间也有联系。多个单隐含层一起构成了多隐含层,因此后者具有更高的测试准确度,更强的泛化性能和更长的时训。根据网络训练时长和精准度决定隐含层层数的多少,在精度要求实现下,单一的映射选取单层可以加快效率;为了提高网络测试的精准度,复杂的则需要选取多层的。3.学习速率学习率的大小在范围之内,要得到越大程度的权值修改和越快的网络学习速率,就需要选取越大的。过大会导致震荡现象在权值的学习过程中出现,过小将造成网络过慢收敛,难以得到不变动的权值。变学习速率方法是指伴随着学习不停地进行,在进化一开始拥有较大的学习率和收敛快速的网络,将会持续地减小并最终趋向稳定。 变学习速率计算公式如下: (4-9)式中,为最大学习速率;为最小学习速率;为最大迭代数;为当前迭代数。4.附加动量利用梯度修正法进行权值和阈值的学习,过程很缓慢,因为并未考虑经验的积累,而是从预测误差的负梯度角度进行修正。利用附加动量的途径可以使得该问题有所改善。附加动量的权值学习公式: (4-10)式中,、分别为、时刻的权值;为动量学习率。4.2.5 BP神经网络函数:;:;:;:。有:、等; :。有:、等;:8。 :;:;:;:;:;:;:8。:;:8。4.节点传递(转移)函数1)函数:。2)函数:。3)函数:。由于BPNN中预测精准度受到隐 含层同输出 层节点传递函 数影响,一般来说,多用于前者,而多用于后者。4.3本章小结本章概述了BPNN的相关理论,介绍了该网络特点,着重介绍了其原理技术、以及其如何构建、训练和实现预测的能力,并说明了相关函数。第5章 手写数字识别的设计和实现5.1 基于SVM的手写数字识别本次设计采用的开发平台是MATLAB,SVM工具为LIBSVM工具箱。MATLAB自带的SVM实现函数与LIBSVM的差别: MATLAB中的SVM实现函数仅有的模型是;而LIBSVM工具箱有、和等多种模型可供使用。 MATLAB中的SVM实现函数只能解决分类问题;而LIBSVM工具箱不仅支持分类问题,也支持回归问题。 MATLAB中带有的SVM实现函数只能解决二分类,而对于多分类问题是无法应对的;而LIBSVM采用一对一法支持多分类。 MATLAB中带有的SVM实现函数若是使用核函数时是不能对作调整处理;而LIBSVM工具箱可以。 LIBSVM工具箱采用序列最小最优算法处理最优问题;而MATLAB中的SVM处理最优问题有:经典二次规划、序列最小最优和最小二乘法等等。5.1.1 设计目标SVM可用于模式类别区分及非线性回归,并且在其他领域中也体现了其优异的。关于SVM的研究和拓展,包括算法本身的改进和实际应用,都持续被提出来。因此,借助SVM这种方式作识别的辨认处理已成为大致的趋向。对于SVM在手写数字识别中的应用,目前已经从不同的方面提出了许多改进算法,但仍然存在以下问题:(1)训练大规模数据集的问题。目前尚未找到同大范围样本有作用的SVM。(2)核函数与核参数的选择问题。支持向量机方法目前存在最大的困难就是核的攫取,怎样按照现实样本数据选择和建立合适的核函数、怎样设置参数等尚缺少相关的知识来决定。针对这些问题,本设计做了较好的平衡,设计了一个简单实用的识别程序,设计目标为:找到恰当的分类方法和训练数据集,将识别过程流程化,找到适合的,对SVM的有效性作检验。5.1.2样本图片选取为提高识别的准确度和识别速度,分析识别率和误判情况,选取了两组样本图片进行实验。从“0”至“9”,每个手写数字图片名称统一为“num*_*”,第一个*为图片上的数字值,第二个*为该数字的编号。如此给每张图片制作标签,用来判断识别的准确率。(1)样本图片I训练样本I:数字图片从“0”到“9”各有5张,像素大小是,格式为“”。测试样本I:数字图片从“0”到“9”各有3张,像素大小是,格式为“”。图5-1 训练样本I图片图5-2 测试样本I图片(2)样本图片II训练样本II:数字图片从“0”到“9”各有10张,像素大小是,格式为“”。测试样本II:数字图片从“0”到“9”各有3张,像素大小是,格式为“”。图5-3 训练样本II图片图5-4 测试样本II图片5.1.3设计与实现基于SVM的识别流程分五步走:图5-5 SVM识别流程图(1)图像预处理:后批量剪裁,图片转化成标准像素。(2)图像特征提取:使用统计识别进行提取。(3)训练训练集:载入训练样本,后生成样本矩阵。(4)建立支持向量机:借助并使用来找到最符合特征的最佳参数。(5)预测测试集:载入测试集,预处理后作处理。5.1.3.1 图像预处理由于图片中数字的大小和位置不尽相同,为了消除这些影响,首先对每张图片做标准化预处理:将每张图片进行二值化反色预处理后,批量剪裁,转变成像素为。经过该操作后,变成1,则为0,即原来的数字图片经过上述操作后变成是黑底白字9。处理前后的图片如图所示。图5-6 原始图片(左)与预处理图片(右)5.1.3.2 图像特征处理完成二值化后,用统计识别法来获取特征。提取数字的轮廓,将图像分成大小为的小区域,变换产生特征变量,获得所有轮廓像素点方向信息进行统计,生成的属性矩阵形式,其中的行代表字符特征向量。如图5-7所示。图5-7 训练样本矩阵5.1.3.3 建立支持向量机建立,采取核函数并利用算法找寻最佳参数。本设计中程序代码寻优如下:(1)设置相关参数(2)进行参数寻优5.1.3.4 训练训练集载入训练图片进行训练,获取最佳参数和适度曲线。(1)训练(2)训练集上查看识别能力(3)训练时间记录 (4)最佳参数获取和适应度曲线训练样本I:图5-8 训练样本I适应度曲线Accuracy综上:最佳参数:惩罚参数,核参数;建立的在训练集上的识别率是;训练时间为,最佳适应度为。训练样本II:图5-9 训练样本II适应度曲线Accuracy综上:最佳参数:惩罚参数,核参数;建立的在训练集上的识别率是;训练时间为:,最佳适应度为。5.1.3.5 预测测试集对测试样本作反色处理后,借助已建立的支持向量机识别图片中的数字。(1)测试样本I:测试样本II:(2)测试结果分析: 样本I:Columns 1 through 17的第6个数字对应标签值为“1”,即该手写数字图片值为“1”,被错识别为“7”;Columns 18 through 30的第11个数字对应标签值为“9”,即该手写数字图片值为“9”,被错识别为“7”。测试样本的识别率为93.3333%(28/30),即有两个样本被误判。在每个数字只有5个训练样本的情况下,这样的识别效果是可以接受的。 样本II:Columns 1 through 30所有数字标签与识别结果一致,即所有数字被正确识别,测试样本的识别率为100%(30/30)。总结:增多训练图片数量,将会有效地提升数字的辨认准确度,减小出错。5.2 BP神经网络的手写数字识别5.2.1设计目标人工神经网络因其高效学习能力,在图像识别等各类智能中作为受重用者已经被广泛地使用。针对其中的前馈神经网络特点,设计一个可行且高效的BP神经网络,将获取的数字特征送人网络进行训练后能对10个数字作辨别,并准确输出被测数字及误差值。BP的过程,如下图5-11:图5-10 BP5.2.2 样本图片选择训练样本为40幅格式的手写体数字图像,从“0”至“9”每个数字均有4幅图片;测试样本为20幅格式的手写体数字图像,从“0”至“9”每个数字各有2幅图片,图片大小是像素。如下图所示。图5-11 训练样本图片图5-12 测试样本图片5.2.3

    注意事项

    本文(基于SVM和BP神经网络的手写数字识别(共64页).docx)为本站会员(飞****2)主动上传,淘文阁 - 分享文档赚钱的网站仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知淘文阁 - 分享文档赚钱的网站(点击联系客服),我们立即给予删除!

    温馨提示:如果因为网速或其他原因下载失败请重新下载,重复下载不扣分。




    关于淘文阁 - 版权申诉 - 用户使用规则 - 积分规则 - 联系我们

    本站为文档C TO C交易模式,本站只提供存储空间、用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。本站仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知淘文阁网,我们立即给予删除!客服QQ:136780468 微信:18945177775 电话:18904686070

    工信部备案号:黑ICP备15003705号 © 2020-2023 www.taowenge.com 淘文阁 

    收起
    展开