版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
大数据中的数据分析摘要时代的变迁,迎来了科学技术的创新,同样也迎来了经济的快速发展。而网络已经成为了我国人们的生活中的习惯,早已是必不可缺的东西了,这也成为了社会发展的前提。传统计算机模式与MATLAB软件技术相比较,传统软件运行起来较为复杂。以此基于MATLAB软件下的网络数据技术,它以高速化、关联化的优势成为人们眼中的焦点。本文针对传统网络软件模式中出现的问题,对基于MATLAB大数据技术进行探究。
关键词MALAB软件;网络媒体;大数据;技术研究DataAnalysisinLargeDataAbstractThechangesofthetimeshaveusheredintheinnovationofscienceandtechnology,aswellastherapiddevelopmentofeconomy.Andthenetworkhasbecomeahabitofourpeople'slife,haslongbeenanindispensablething,whichhasalsobecomeaprerequisiteforsocialdevelopment.ComparedwiththeMATLABsoftwaretechnology,thetraditionalcomputermodelismorecomplex.BasedonthenetworkdatatechnologyunderthesoftwareofMATLAB,ithasbecomethefocusofpeople'seyeswiththeadvantagesofhigh-speedandrelevance.Aimingattheproblemsinthetraditionalnetworksoftwaremodel,thispaperexploresthelargedatatechnologybasedonMATLAB.KeywordsMALABsoftware;networkmedia;bigdata;technologyresearch目录第1章绪论 31.1 引言 31.2 研究背景 31.3研究意义 51.4研究现状 5第2章预备知识 52.1 线性代数与矩阵论基础 52.2 MATLAB数据导入、数据预处理和矩阵生成 72.3MATLAB图像处理函数 92.4数据降维与矩阵分解算法 11第3章手写字体识别 153.1 文本识别主要方法与技术 153.2手写字体的分类 153.3 阿拉伯数字识别 173.4中、英文手写字体的识别 19第4章基于MATLAB的手写字体分析与识别 214.1 MATLAB常用函数及处理 214.2手写字体自动识别神经网络设计 234.3手写字体识别训练与实例 27第5章总结与展望 315.1 本文主要工作 315.2进一步思考:动态识别 335.3多维矩阵的应用 33致谢 参考文献 33绪论引言随着需求的增加,传统技术的统计方法逐渐被大数据取代,成为信息收集和设定的主要形式。大数据又作为"巨大的数据"被知道。因此,管理模式不能被传统的过程分析,它在生产和人生中扮演着越来越重要的角色。1.2研究背景随着计算机存储容量的提高和复杂算法的开发,近年来,数据量在指数函数上增加了。这些动向使科学技术的发展与日俱增,商业模式也发生了破坏性变化。分析时代:世界大数据竞争是McKinseyGlobalInstitute(MGI)在2016年12月发表的报告。年前,MGI指出,大数据分析可在位置上的服务、美国的零售、制造、欧盟公共部门和美国的健康管理方面有较大的增长潜力。数据已商业化,形成了网络、智能手机、传感器、相机、结算系统等数据产生庞大商业价值的资产。苹果,亚马逊,Facebook,Google,一般的微软和阿里巴巴,利用大数据分析和独特的优势改变了竞争的基础,建立了新的商业模式。稀有数据的所有者使用数字网络平台独占一些市场。他们可以用独特的方法综合和分析数据,并提供宝贵的数据分析,使他们几乎能够获胜“全部获胜”。2011年,全球数据储量达到1.8zb。与2011年相比,2015年大数据增加了近4倍。在下一个10年,全球数据存储将增加10倍。大数据将增强产业竞争力,成为创新商业模式的新方法。大数据完全应用于企业,实现了巨大的商业价值。梅西百货店的sas系统可以根据7300项的需求和库存来实现实时价格。零售低聚合物Morma使用语义数据技术通过最新的搜索引擎Polaris,提高10%到15%在线购物的完成率。中国的信息和数据资源80%以上都在政府部门手中,但是,很多数据被世界孤立而浪费了。2015年,国家会议发布了一个行动平台,推动数据的发展。而且,这显然需要“政府数据统一开放的平台必须在2018年底前建设”。今年5月,国务院总务局发表了政府信息系统的合并和共享的实施计划,促进了政府数据向社会开放。大数据可以使人们从旧的价值观和发展观中解放出来,改变人们对工作、生活观的看法,从新展望中认识到科学技术的进步和复杂技术的出现。大数据应用程序非常广泛。通过对大规模数据的分析,利用数据的完整性和出现、相关性、不确定性、多样性和非线性性、平行性、实时性对公共交通工具、公共安全性、社会管理、其他领域的大数据的应用进行了研究。大的数据,与云计算和互联网的东西一起,使很多的事成为可能,新的经济增长的要点。随着以数据科学为中心的计算机技术的快速发展,大数据推动了社会科学、自然科学等科学研究的发展。因此,对内蒙古国家和全国各大数据的研究具有深远的重要性。1.3研究意义随着信息互联网的发展,人类进入了对时代发展产生巨大影响的数据新时代。2017年8月30日,国家旅游局、云南办事处、中国电信集团联合结成“旅游消费合作研究所”,首次发表“2017年上半年中国旅游消费大数据报告”的技术领域、大数据能力、市场资源和经验。通过签署“旅游消费数据共同研究所”,我们可以共享资源,互补互惠,共同开发双赢。加强各领域合作,有利于促进国内旅游转变和高度化,促进在新的正常情况下发展和应用全球旅游。2017年上半年,“虽说是旅游消费量,但却是数据共同研究所”的第一个重要研究成果。旅游消费有普及的倾向。系统预测了旅游产业今后发展的信息化、数字化、智能化提供基准和指导的2017年上半年路径优化特征。1.4研究现状大的数据参考由特定时间范围的常规软件工具捕获、管理和无法处理的数据集合。它需要一个新的处理模式,具有强大的决策力、洞察力和进程优化能力,具有巨大的增长速度和更强的决策能力,信息资产多样化,数据充满了人类经济和社会角度。准确地说,由于其巨大的商业价值,国内外学者对理论、技术和实践进行了彻底的研究。1980年,阿尔文·托弗勒作为「彩色运动的第三波」考虑了大的数据。IBM建议大数据具有5V特性,即音量(大)、速度(快)、综艺(多样性)、价值(低值密度)、真实性(可靠性)。2012年,Gartner相信不到2年,大的数据成为新技术开发的热点。大规模和多样化的信息资产需要较大的处理模式,以便提供数据信息用户的有效信息,提高企业的能力,认识危险性,优化过程,做出更准确的决策。维克特指出,大数据时代:为了获得大数据时代的宝贵信息,人生发生了巨大的变化,工作和思想。此外,我们应该注意数据之间的相关性,而不是探索不可捉摸的因果律,追加复杂的数据而不是追求数据的正确性。在公布的数字提取器中,欧盟表示,公开数据的市场价值约为32亿欧元,公开数据和再利用可以创造新的商业和就业机会。开放银行和公共数据,提高政府的开放性和透明度,可以给人们更多的选择和价值的商品。大不列颠对大的数据技术的开发和研究非常重要。政府投资6000万英镑,集中于信息产业新大数据技术开发,支持相关研究机构和研发工作。我们政府、产业和研究人员也进行了相应的理论和实践研究。2015年9月,国家会议发行了促进大数据发展的行动平台(以下简称平台),系统地开展大数据开发。2016年3月17日公布了中华人民共和国国家经济社会发展的第13次5年计划的概要。大规模数据应作为基本战略资源,促进大规模数据开发的行动应该在全部轮流中实施,必须加快数据资源的共享和开放,并加快产业变化、产业转型高度化和社会性应该推进治理。创新包括:加快开放政府数据共享,促进大数据产业健康发展。预备知识2.1线性代数与矩阵论基础线性代数是数学领域。研究的目的是矢量、矢量空间(线性空间)、线性变换和有限维线性方程式。矢量空间是现代数学中重要的课题。因此,线性代数被广泛用于抽象代数和函数解析。线性代数的理论一般化为运算符理论。线性代数,因为科学的研究的非线性模型,作为通常线性模型能近似,在自然和社会科学广泛地被使用。线性代数主要是处理线性关系的代数的分支。线性关系意味着数学对象之间的关系用单一的形式表示。例如,在分析几何学中,平面上的直线的方程式是二次线性方程式,空间平面的方程式是三次线性方程式,空间直线被认为是两个平面的交点。把具有n个未知数的一次方程式称为线性方程式。变量为一次函数的函数称为线性函数。线性关系问题被称为线性问题。线性方程式的解法是最简单的线性问题。所谓“线性”,指的就是如下的数学关系:
其中,f叫线性算子或线性映射。所谓“代数”,指的就是用符号代替元素和运算,也就是说:我们不关心上面的x,y是实数还是\t"/item/%E7%BA%BF%E6%80%A7%E4%BB%A3%E6%95%B0/_blank"函数,也不关心f是\t"/item/%E7%BA%BF%E6%80%A7%E4%BB%A3%E6%95%B0/_blank"多项式还是微分,我们统一把他们都抽象成一个记号,或是一类矩阵。合在一起,线性代数研究的就是:满足线性关系
的\t"/item/%E7%BA%BF%E6%80%A7%E4%BB%A3%E6%95%B0/_blank"线性算子f都有哪几类,以及他们分别都有什么性质。在数学中,矩阵是复数或实数值的集合,原本配置在从系数的正则矩阵和方程式的常数导出的长方形的排列中。这个概念是19世纪由英国数学家凯利提出的。矩阵是高等代数的一般工具,另外,在统计分析等应用数学上也很普遍。在物理学中,矩阵用于电路、力学、光学、量子物理学。在计算机科学方面,三维动画也需要矩阵。矩阵的动作在数值解析的领域是重要的问题。将矩阵分解成简单矩阵的组合可以使理论和实际矩阵的操作更加简单。对于一些具有广泛应用和特殊格式的矩阵,如疏散矩阵和准对角矩阵,有特定的高速算法。关于矩阵理论的展开和应用请参照矩阵理论。在天体物理学和量子力学的领域,也出现了无限次元矩阵。数值分析的主要领域是为数个世纪以来被作为对象的扩展的研究领域——数组计算提供了有效的算法的开发。矩阵分解法简化理论和实用计算。为特定矩阵结构(诸如疏散矩阵和近角矩阵)定制的算法加快了有限元件法和其它计算中的计算。无限矩阵发生在行星理论和原子论上。无限矩阵的简单示例是表示函数的taylor级数的微分运算符的矩阵。由m×n个数aij排成的m行n列的数表称为m行n列的矩阵,简称m×n矩阵。记作:这m×n个数称为矩阵A的元素,简称为元,数aij位于矩阵A的第i行第j列,称为矩阵A的(i,j)元,以数aij为(i,j)元的矩阵可记为(aij)或(aij)m×n,m×n矩阵A也记作Amn。元素是\t"/item/%E7%9F%A9%E9%98%B5/_blank"实数的矩阵称为\t"/item/%E7%9F%A9%E9%98%B5/_blank"实矩阵,元素是\t"/item/%E7%9F%A9%E9%98%B5/_blank"复数的矩阵称为\t"/item/%E7%9F%A9%E9%98%B5/_blank"复矩阵。而行数与列数都等于n的矩阵称为n阶矩阵或n阶方阵。2.2MATLAB数据导入、数据预处理和矩阵生成数据聚类分析的形式,就是网络媒体中大数据技术的重要表现之一。如图一所示,该图是网络媒体的大数据聚类分析结构示意图。我们可以从图中看出,它的整个过程非常合理、井然有序。第一,系统自动输入操作应用规则以读取数据中心的应用模式。然后,将各数据的生成点按顺序进行分类,设定为初始化处理。当数据达到一定量的时候,系统根据接近的原理被分割。分割后的值由计算类的中心管理。当整个处理完成后,可以确定是否修改了类中心,最终可以根据整个结果来计算较大的数据。这种大的数据统计方法不仅有效,在地区空间中也可以重建网络媒体平台。面对非结构化和散射数据,MATLAB软件进入高速运行状态。首先,使用媒体下的网络应用端口收集数据,用matlab软件对照并重新组合收集的数据。这样,当用户搜索信息数据时,只要他们在网络媒体平台下搜索,他们就没有线索,他们就能完成整个过程的重要部分。最重要的是,这一步提供了深入的数据采矿的重要基础。大数据的深度挖掘:您可以想象,大数据包的深度挖掘是网络媒体的重要组成部分。深度挖掘数据模式主要包括4个模块。第一个是数据关联解析。如果数据中的两个或两个以上数据之间的关系,则该表达可以称为关联性。关联性分析主要对整个媒体网络平台上的每个用户的身份进行分类,将集成系统的组件一起分割,计数独立的模块,找到网络的隐藏链接。另外,也可以将键模块定量地设定,并将其他模块定量地变化的模块分割。还有MATLAB软件的统计工具箱。系统可以计算模块之间的分散,并根据总和找到它们的关系。第二,数据可视化。数据的可视化是最重要的部分之一。MATLAB软件具有超视觉功能。这可以通过系统将数据转换成二维或三维图形。操作员可以清楚地看到计算机数据的修改规则。例如,企业想对产品操作上的风险做统计。MATLAB软件可以表示变量之间的比例关系,并创建可变曲线风险评估图表。通过这种可视化的结果,企业经理可以直观地了解产品是否有开发的余地,是否能够适应公共的方向,并做出最正确的决定。第三,异常值的检测。在媒体网络的大规模数据技术管理下,大规模信息的特征在matlab系统中被显示。可以看清哪个值是典型的。在曲线变化的过程中,经常有伴随非常大的变动的若干像。而且,这还影响表示数据不同、进行正确判断的决策者。由于在MATLAB系统中使用奇偶校验和R乘指数F的计算术来获得标准值,然后将其他参数进行比较,因此人们能够更好地理解偏差。2.3MATLAB图像处理函数1、图像的变换
①ft2:
f2函数用于数字图像的二维傅立叶变换,如:
i=imread('104_
_8.tif);j=ft2();
②fft2:
ff2
函数用于数字图像的二-维傅立叶反变换,如:
i=imread('104_
8.tif);j=ft2(i);k=ifft2(i);
2、模拟噪声生成函数和预定义滤波器
①imnoise:
用于对图像生成模拟噪声,如:i=imread('104_
8.tif);
j=imnoise(,'gaussian'
,0,0.02);%模拟高斯噪声
②fspecial:
用于产生预定义滤波器,如:
h=fspecial'sobel");%sobel水平边缘增强滤波器h=fspecial('gaussian');%高斯低通:滤波器h=fspecial(laplacian');%拉普拉斯滤波器
h=fspecial(log');%高斯拉普拉斯(LoG)
滤波器h=fspecial'average'
);%均值滤波器
2、图像的增强
①直方图:
imhist
函数用于数字图像的直方图显示,如:i=imread(104_
8.tif);imhist(i);
②直方图均化:
histeq
函数用于数字图像的直方图均化,如:
,i=imread('104_
8.tif);j=histeq(i);
③对比度调整:
imadjust
函数用于数字图像的对比度调整,如:
i=imread('104_
8.tif);j=imadjust(,[0.3,0.7],[]);
④对数变换:
log
函数用于数字图像的对数变换,如:i=imread(104_
8.tif);j=double(i);
k=log(i);
⑤基于卷积的图像滤波函数:
filter2
函数用于图像滤波,如:
i=imread('104_
8.tif);h=[1,2,1;0,0,0;1,2,-1];j=filter2(h,i);
⑥线性滤波:利用二维卷积conv2滤波,如:
i=imread('104_
8.tif);h=[1,1,1;1,1,1;1,1,1];h=h/9;
j=conv2(i,h);
⑦中值滤波:
medfilt2
函数用于图像的中值滤波,如:i=imread(104_
8.tif);
j=medfilt2();
⑧锐化
(1)利用Sobel算子锐化图像,如:
i=imread('104_
8.tif);
h=[1,2,1;0,0,0;-1,2,-1];%Sobel算子j=filter2(h,i);
(2)利用拉氏算子锐化图像,如:
i=imread('104_
8.tif);j=double(i);
h=[0,1,0;1,-4,0;0,1,0];%拉氏算子k=conv2(j,h,'same');m=j-k;
3、图像边缘检测
①sobel算子如:
i=imread('104_
8.tif);
j
=
edge(,'sobel
,thresh)②prewitt算子如:i=imread('104_
8.tif);
j
=
edge(i,prewitt'
,thresh)robertsỮf
3ẞ:
i=imread('104_
8.tif);
j
=
edge(i,'roberts'
,thresh)@logÃF
X:
i=imread('104_
8.tif);j
=
edge(i,'log'
,thresh)canny
JF
3:
i=imread('104_
8.tif');
j
=
edge(i,'canny'
,thresh)Zero-Cross
JF
X0:
.i=imread('104_
8.tif');
j
=
edge(i,'zerocross
,thresh)
4、形态学图像处理
①膨胀:是在二值化图像中“加长’或”变粗”的操作,函数imdilate执行膨胀运算,如:
a=imread(104_
7.tif);
%输入二值图像b=[010;111;010];
c=imdilate(a,b);
②腐蚀:函数imerode执行腐蚀,如:a=imread('104_
7.tif);
%输入二值图像b=strel('disk,1);
c=imerode(a,b);
③开运算:先腐蚀后膨胀称为开运算,用imopen来实现,如:a=imread('104_
8.tif);b=strel('square',2);
,
c=imopen(a,b);
④闭运算:先膨胀后腐蚀称为闭运算,用imclose
来实现,如:a=imread('104_
8.tif);b=strel('square',2);c=imclose(a,b);2.4数据降维与矩阵分解算法次元缩小是许多领域中最重要的研究领域之一。有很多次元缩小的方法。根据三维缩小的不同方法,生成了基于kohonen自我组织化特征图(sofm)、主分量分析(p-ca)、多维缩放(md)等维度缩小的许多集群化法。等等)此外,还有基于分形维缩小的特殊维缩小聚合法。kohonen自我组织化特征写像是基于神经网络的方法。在保持数据的近似关系的同时寻求高维数据的低维特征映射。基于这种方法集群高维数据的示例性投影聚集法。在kohonen自我组织化特征图中,竞争层内的各神经元发生冲突,获得神经元及其附近与输入数据一样,更新其权重向量。在训练了神经网络之后,根据神经元的加权向量的匹配,各高维数据被投射到这些神经元上。SOFM的缺点是不提供用于评估从高维到低维的变换的优点和缺点的特定标准。另外,相对于高维数据,神经网络学习过程的收敛性非常慢。主要成分分析也是广泛使用的次元缩小法之一。对于含有nm维数据的数据集,pca法首先计算mxm次数的共分散矩阵,计算表示原始数据的主要特征矩阵的k支配固有向量。由此,能够将原始高维数据投影到由k固有向量表示的方向。投影后的数据具有相对低的维度,因此可以使用常规聚集算法进行聚集处理。PCA提供了一些用于确定上述K值的方法,但由于不同的方法所确定的k值大不相同,因此很难找到正确的适当的k值。K.如果值太小,原始数据的重要特征就会丢失。P-CA的另一个缺点是空间复杂度为0(M2),其复杂度取决于固有值的数目,且其大于0(M2)的值。为了将pca成熟的想法应用到非线性维缩小领域,一些研究人员通过扩展线性pca生成了内核pca。多维定标也是将高维数据映射到低维空间的方法。映射过程保持数据点之间的差(或类似性)。即,在点远离时,与原始数据集合中的每一者相近的点还接近。这种算法的基本出发点是数据点之间的类似性(或差异)描述。缩小三维的目的是搜索保持数据集合的关心特性的低维数据集合,通过分析低维数据来确定对应的高维数据特性,并获得数据的有效特征以便简化解析,并可视化数据。因此,只要数据之间的差保持到最大,就可以获得有效的低维表示。MDS的缺点是不首先提供确定数据如何还原到多个维度的良好原理。这里N是数据集的大小。基于分形的次元缩小是近年来备受瞩目的一种方法。利用分形理论,首先能够准确估计数据的固有维度,并提供进一步缩小维度的指导。与估计固有值的其他方法不同,基于片假名的方法可以获得非整数值即片假名维度的固有值。在分立体的定义中有很多不同的记述,其中箱式计数维度和相关维度被广泛使用。根据这些对应的尺寸的推定,开发出了为缩小尺寸打下良好基础的一系列不同的方法。矩阵分解算法:\t"/item/%E7%9F%A9%E9%98%B5%E5%88%86%E8%A7%A3/_blank"矩阵分解(decomposition,
\t"/item/%E7%9F%A9%E9%98%B5%E5%88%86%E8%A7%A3/_blank"factorization)是将矩阵拆解为数个矩阵的乘积,可分为三角分解、满秩分解、QR分解、Jordan分解和SVD(\t"/item/%E7%9F%A9%E9%98%B5%E5%88%86%E8%A7%A3/_blank"奇异值)分解等,常见的有三种:1)三角\t"/item/%E7%9F%A9%E9%98%B5%E5%88%86%E8%A7%A3/_blank"分解法
(TriangularFactorization),2)QR分解法(QRFactorization),3)\t"/item/%E7%9F%A9%E9%98%B5%E5%88%86%E8%A7%A3/_blank"奇异值分解法(SingularValueDecomposition)。三角分解法三角分解法将正方形矩阵分解为上三角矩阵或下三角矩阵。该分解方法也被称为LU分解法。其主要目的是简化大矩阵的矩阵值的计算过程,寻找逆矩阵,解析联合方程式。但是,需要注意的是,通过这种分解法获得的上下三角矩阵并不是唯一的。在某些不同的顶部,您可以找到下面的三角矩阵对,并将两个三角矩阵对齐,以获得原始矩阵。MATLAB以lu函数来执行lu分解法,其语法为[L,U]=lu(A)。QR分解法分解法是将矩阵分解为通常的正交矩阵和上三角矩阵。MATLAB使用QR函数来执行QR的分解。那个语法是[Q,R]=QR(A)。奇异值分解法\t"/item/%E7%9F%A9%E9%98%B5%E5%88%86%E8%A7%A3/_blank"奇异值分解
(singularvaluedecomposition,SVD)是另一种正交矩阵\t"/item/%E7%9F%A9%E9%98%B5%E5%88%86%E8%A7%A3/_blank"分解法;SVD是最可靠的分解法,但是它比QR分解法要花上近十倍的计算时间。[U,S,V]=svd(A),其中U和V分别代表两个\t"/item/%E7%9F%A9%E9%98%B5%E5%88%86%E8%A7%A3/_blank"正交矩阵,而S代表一\t"/item/%E7%9F%A9%E9%98%B5%E5%88%86%E8%A7%A3/_blank"对角矩阵。和QR分解法相同,原\t"/item/%E7%9F%A9%E9%98%B5%E5%88%86%E8%A7%A3/_blank"矩阵A不必为正方矩阵。使用SVD分解法的用途是解最小平方误差法和数据压缩。MATLAB以svd函数来执行svd分解法,其语法为[S,V,D]=svd(A)。手写字体识别3.1文本识别主要方法及技术下载orc文档识别工具,这里小编以捷速ord文字识别工具为例,下载之后安装:安装完成之后,打开一个pdf文档,这里小编随意着了一个,选择打开pdf,等待读取:读取完成之后,就可以进行识别了,这里我们随意选择一页,选完之后选择识别就可以了:等待完成之后就可以正常的进行复制黏贴操作3.2手写字体的分类手写字体,传统讲共有篆书字体、楷书字体、隶书字体、行书字体、草书字体五种,也就是五个大类。在每一大类中又细分若干小的门类,如篆书又分大篆、小篆,楷书又有魏碑、唐楷之分,草书又有章草、今草、狂草之分。篆书字体印章册是大印章册和小印章册的总称。这支笔又细又硬又直。开头有方笔、圆笔和尖笔,字迹中有许多“悬针”。大川是指青铜、青铜和六国的铭文,保留了古代象形文字的鲜明特征。小传,又称“秦传”,是秦国的通称。《小传》简化字体的特点是造型统一、整齐、书写方便。2、楷书字体楷书也叫正楷、真书、正书。由隶书逐渐演变而来,更趋简化,横平竖直。《辞海》解释说它"形体方正,笔画平直,可作楷模"。这种汉字字体端正,就是现在通行的汉字手写正体字。3、隶书字体隶书,有秦隶、汉隶等,一般认为由篆书发展而来,字形多呈宽扁,横画长而竖画短,讲究"蚕头雁尾"、"一波三折"。4、行书字体行书是一种统称,分为行楷和行草两种。它在楷书的基础上发展起源的,介于楷书、草书之间的一种字体,是为了弥补楷书的书写速度太慢和草书的难于辨认而产生的。"行"是"行走"的意思,因此它不像草书那样潦草,也不像楷书那样端正。实质上它是楷书的草化或草书的楷化。楷法多于草法的叫"行楷",草法多于楷法的叫"行草"。行书实用性和艺术性皆高,而楷书是文字符号,实用性高且见功夫;相比较而言,草书则是艺术性高,但是实用性显得相对不足。5、草书字体草书是汉字的一种字体,特点是结构简省、笔画连绵。形成于汉代,是为了书写简便在隶书基础上演变出来的。有章草、今草、狂草之分,而今草又分大草(也称狂草)和小草,在狂乱中尽显艺术之美。3.3阿拉伯数字识别手写体阿拉伯数字识别是图像处理和模式识别领域中的研究课题之一。字符识别系统-般由图像采集、信号预处理、特征提取、分类识别等几个部分组成。识别系统的识别方式可分为联机手写体字符识别、脱机印D刷体字符识别和脱机手写体字符识别等其中脱机手写体字符由于书写者的因素,使其字符图像的随意性很大,例如,笔画的粗细、字体的大小、手写体的倾斜度、字符笔画的局部扭曲变形、字体灰度的差异等都直接影响到字符的正确识别。所以,手写体数字字符的识别是数字字符识别领域内最具挑战性的课题。
近年来,支持向量机(
Support
Vector
Machines,
SVM)的研究在广泛开展。支持向量机是V.Vipnik等人根据统计学习理论(Statistical
Leaming
Theony,
SLT)提出的一种新的机器学习万法,在解决小样本、非线性及高维模式识别问题中表现出许多特有的优势,已经在模式识别、函数逼近和概率密度估计等方面取得了良好的效果"。支持向量机从本质上讲是-种前向神经网络,根据结构风险最小化准则,在使训练样本分类误差极小化的前提下,尽量提高分类器的泛化推广能力。从实施的角度讲,训练支持向量机的核心思想等价于求解-个线性约束的二次规划问题,从而构造-个超平面作为决策平面,使得特征空间中两类模式之间的距离最大,而且它能保证得到的解为全局最优解。手写阿拉伯数字识别是图像处理和图案识别领域的研究课题之一。文字识别系统一般由图像取得、信号预处理、特征提取、分类、识别构成。识别系统的识别方法可分为在线手写文字识别、离线d笔文字识别、离线手写文字识别,离线手写文字图像由于笔者的原因非常随机。例如,行程大小、字体的大小、手写字符的倾斜、字符行程的部分失真、字体的灰度等级的差异等直接影响字符的正确认识。因此,手写数字识别在数字文字识别领域是最困难的课题。近年来,支持向量机(svm)得到广泛的研究。支持向量机(svm)是v.vipnik等人提出的机器学习的新一般方法。基于统计周期理论(SLT)。它有许多独特的优势,解决小样品和非线性高维模式识别问题。通过模型识别、函数近似、概率密度推算得到良好的结果。支持向量机(svm)基本上是前馈通信网络。根据结构风险最小化的标准,在最小化训练样本的分类误差的前提下,可以尽可能地改善分类器的一般化和通化能力。从实施的角度来看,训练支援向量机器的核心创意等于解答具有线性限制的二次计划问题,以最大化两个类型的特征平面之间的距离,保证所得到的最佳范围解。使用支持向量机的手写数字识别的分类功能与形态的新网络相似。那个输出是几个中间节点的线性组合。每个中间节点对应于输入样本和支持介质的内积。为了预处理的手写阿拉伯语的数字图像,提取并分类横断特征的数量,提取粗糙的格子特征和密度特征,形成80维向量,使用svm进行数字的分类和识别。SVM分类器是二进制客户端。0-如果想识别9的数字,必须一起使用几个SVM分类器。这是很大的负荷。因此,本文将使用基于matlab的训练程序svmtrain和识别chenghengsvm豫件。他们不仅支持二进制分类,还支持多种分类。内核函数是动径基底函数。3.4中、英文手写字体的识别手写识别意味着通过写入手写装置上的文本而生成的规则正确的轨道转换的过程。手写识别(手写识别)是指通过手写装置上的笔记,将所生成的有秩序的轨道变成汉字的内部代码的过程。实际上,是从手写轨迹的坐标序列到汉字内部代码的映射处理。这是人与电脑相互作用最自然最方便的手段之一。由于智能手机和手持电脑等移动信息工具的受欢迎,手写识别技术进入了大规模的应用时代。手写识别可以输入文字,用户可以使用最自然、最方便。它很容易学习,使用和替换键盘和鼠标。电磁感应书写板、感压笔迹板、触摸屏、触摸屏、超声波笔等笔迹输入装置多种多样。手写识别属于文字识别和模式识别的类别。在认识过程中,文字识别可分为离线和在线两个范畴。关于识别对象,可以分为手写识别和印刷识别两个类别。频繁地招呼手写识别的是在线手写文字识别。离线手写识别包括将文本自动从图像转换成可由计算机使用的字符码。离线的手写字符识别很难,因此各种各样的人的写入风格不同。离线手写识别主要用于打印文本识别。减少识别错误的技术常常使用缩小识别范围,例如邮政编码只包含1~9的数字,识别这种数字可以减少错误的可能。主要的技术:指定特定的字符范围;利用字符的专有特点
[1]
。字符的提取离线字符识别通常包括扫描先前写入的窗体或文档。这意味着设备或软件必须提取扫描图像中包含的各个字符。但是,这个步骤有几个共同的缺点。最常见的是,将多个连接字符分离为单个字符。这增加了识别的困难,但现在很多软件已经开始适应这个问题。文字识别当提取单个字符时,识别引擎开始计算对应的计算机字符。有几个不同的识别技术.特征提取除了人工神经网络,程序员有时也必须手动确定他们觉得重要的属性。这些属性可能是:宽高比;水平方向上的像素百分比;竖直方向上的像素百分比;笔画数;字符到图像中心的平均距离;这种方法可以提高识别的准确性,但需要花费更多的研发时间。在线手写识别:一般过程在线手写识别可以分解为几个通用的步骤:预处理;特征的提取;分离出字符。预处理的目的是摒弃无关的输入数据,可以减少负面的影响。这涉及到速度和准确性。通常由图像二值化、正常化、采样、平滑、去噪预处理等组成。第四章:基于MATLAB的手写字体分析与识别4.1MATLAB常用函数及处理通用函数:
colorbar显示彩色条
语法:
colorbar
\
colorbar('vert)
\
colorbar("horiz)
\
colorbar(h)
\
h=colorbar(..)
\clora(..,.
peer
,axes_
handle)getimage从坐标轴取得图像数据
语法:
A=getimage(h)
\
[x,y,A]=getimage(h)
\
..A.lg]=getimage(h)
\
[..]=getimageimshow显示图像
语法:
imshow(I,n)
\
imshow(I,[low
high])
\
imshow(BW)
\
imshow(X,map)
\
imshow(RGB)\imshow(...
,display_
_option)
\
imshow(x,y,A..
\
imshow
filename
\
h=imshow..)montage在矩形框中同时显示多幅图像
语法:
montage(I)
\
montage(BW)
\
montage(X,map)
\
montage(RGB)
\
h=montage...immovie创建多帧索引图的电影动画
语法:
mov=immovie(X,map)
\
mov=immovie(RGB)subimage在一副图中显示多个图像
语法:
subimage(X,map)
\
subimage(I)
\
subimage(BW)
\
subimage(RGB)
\subimage(x,...)
\
subimage(..).线性滤波函数:4.2手写字体识别神经网络设计3层神经网络,自定义输入节点、隐藏层、输出节点的个数,使用sigmoid函数作为激活函数,梯度下降法进行权重的优化。使用MNIST数据集,进行手写数字识别:#!/usr/bin/envpython#-*-coding:utf-8-*-#!/usr/bin/envpython#-*-coding:utf-8-*-importnumpyimportscipy.special#手写数字识别神经网络classNeuralNetwork():def__init__(self,inputnodes,hiddennodes,outputnodes,learningrate):'''神经网络初始化:paraminputnodes:输入节点的数量:paramhiddennodes:隐藏层节点的数量:paramoutputnodes:输出节点的数量:paramlearningrate:学习率:return:'''self.inodes=inputnodesself.hnodes=hiddennodesself.onodes=outputnodesself.learn=learningrateself.wih=numpy.random.rand(self.hnodes,self.inodes)-0.5self.who=numpy.random.rand(self.onodes,self.hnodes)-0.5#self.wih=numpy.random.normal(0.0,pow(self.hnodes,-0.5),(self.inodes,self.inodes))#self.who=numpy.random.normal(0.0,pow(self.onodes,-0.5),(self.hnodes,self.hnodes))self.activate_function=lambdax:scipy.special.expit(x)#print(self.who)#print(self.wih)deftrain(self,input_list,target_list):'''训练神经网络首先计算样本输出,然后在与目标值进行对比,更新权重:paraminput_list:输入值:paramtarget_list:目标值:return:'''#针对样本计算输出,与query函数一样inputs=numpy.array(input_list).Ttargets=numpy.array(target_list).Thidden_inputs=numpy.dot(self.wih,inputs)hidden_outputs=self.activate_function(hidden_inputs)final_inputs=numpy.dot(self.who,hidden_outputs)final_outpust=self.activate_function(final_inputs)#将计算得到的输出与目标值对比,更新权重output_error=targets-final_outpusthidden_error=numpy.dot(self.who.T,output_error)#print(output_error.shape)#print(final_outpust.shape)#print(hidden_outputs.T.shape)#self.who+=self.learn*numpy.dot((output_error*final_outpust*(1.0-final_outpust)),numpy.transpose(hidden_outputs))#self.wih+=self.learn*numpy.dot((hidden_error*hidden_outputs*(1.0-hidden_outputs)),numpy.transpose(inputs))self.who+=self.learn*numpy.dot((output_error*final_outpust*(1.0-final_outpust)).reshape((self.onodes,1)),hidden_outputs.reshape((1,self.hnodes)))self.wih+=self.learn*numpy.dot((hidden_error*hidden_outputs*(1.0-hidden_outputs)).reshape((self.hnodes,1)),inputs.reshape((1,self.inodes)))defquery(self,input_list):'''计算输出:paraminput_list::return:'''inputs=numpy.array(input_list).Thidden_inputs=numpy.dot(self.wih,inputs)hidden_outputs=self.activate_function(hidden_inputs)final_inputs=numpy.dot(self.who,hidden_outputs)final_outpust=self.activate_function(final_inputs)returnfinal_outpust#初始化一个神经网络对象n=NeuralNetwork(784,100,10,0.5)#训练数据withopen('dataset/mnist_train.csv','r')asf:train_data=f.readlines()#训练神经网络forlineintrain_data:data=line.split(',')inputs=(numpy.asfarray(data[1:])/255*0.99)+0.01targets=numpy.zeros(n.onodes)+0.01targets[int(data[0])]=0.99n.train(inputs,targets)#测试神经网络withopen('dataset/mnist_test_10.csv','r')asf:test_data=f.readlines()forlineintest_data:label=int(line[0])data=line.split(',')input_list=numpy.asfarray(data[1:])output=n.query(input_list)print(label)print(output)代码实现手写数字的识别。为此,可以改善学习率的调整、重量的初始化、活性化函数的影响等研究。4.3手写字体识别训练和实例图像识别(ImageRecognition)是指利用计算机对图像进行处理、分析和理解,以识别各种不同模式的目标和对像的技术。
图像识别的发达经过文字识别、数字图像处理、识别、物体识别三个阶段。在机械学习的领域,这样的认识问题通常被转换成分类问题。手写识别是一般的图像识别任务。电脑用手写的画在画中认识文字。与typeface不同,不同的人有手写的风格和尺寸。而且,这使电脑很难识别手写的文字。数字手写识别,因为其有限的类别(0-9的合计10位),成为了比较单纯的笔迹识别任务。DBRHD和迷你者是数字手写识别的两个一般使用的数据集。MNIST是数字0-9的手写照片的数据集。照片以手写数字为中心正规化了28*28规格。MNIST由训练集与测试集两个部分组成,各部分规模如下:
训练集:60,000个手写体图片及对应标签
测试集:10,000个手写体图片及对应标签dbrhd数据集包含大量数字为0-9的手写图片。这些图片来自44个不同的人的手写数字。这些图片已被标准化为以手写数字为中心的32*32张图片。importnumpyasnp#使用listdir模块,用于访问本地文件fromosimportlistdirfromsklearn.neural_networkimportMLPClassifier#定义img2vector函数,将加载的32*32的图片矩阵展开成一列向量defimg2vector(fileName):retMat=np.zeros([1024],int)fr=open(fileName)#打开包含32*32大小的数字文件lines=fr.readlines()#读取文件的所有行foriinrange(32):forjinrange(32):#将01数字存放在retMatretMat[i*32+j]=lines[i][j];returnretMat#并将样本标签转化为one-hot向量defreadDataSet(path):fileList=listdir(path)#获取文件夹下所有文件numFiles=len(fileList)#统计需要读取的文件的数目dataSet=np.zeros([numFiles,1024],int)#用于存放所有的数字文件hwLabels=np.zeros([numFiles,10])#用于存放对应的标签one-hotforiinrange(numFiles):filePath=fileList[i]#获取文件名称/路径digit=int(filePath.split('_')[0])hwLabels[i][digit]=1.0dataSet[i]=img2vector(path+'/'+filePath)#读取文件内容returndataSet,hwLabelstrain_dataSet,train_hwLabels=readDataSet('trainingDigits')#构建神经网络:设置网络的隐藏层数、各隐藏层神经元个数、#激活函数、学习率、优化方法、最大迭代次数。#hidden_layer_sizes存放的是一个元组,表示第i层隐藏层里神经元的个数#使用logistic激活函数和adam优化方法,并令初始学习率为0.0001clf=MLPClassifier(hidden_layer_sizes=(50,),activation='logistic',solver='adam',learning_rate_init=0.0001,max_iter=2000)#fit该功能可以根据训练集合和相应的标签集自动设置在多层分类器输入/输出层中的神经元的数目。例如,SchoRank数据集合是N*1024的矩阵,TrainSeeHWLabel是N*10的矩阵。适合函数将输入层的中间数设为1024,将输出层的中间数设为10。clf.fit(train_dataSet,train_hwLabels)#测试集评价dataSet,hwlLabels=readDataSet('testDigits')res=clf.predict(dataSet)#对测试集进行预测error_num=0#统计预测错误的数目num=len(dataSet)#测试集的数目foriinrange(num):#比较长度为10的数组,返回包含01的数组,0为不同,1为相同ifnp.sum(res[i]==hwlLabels[i])<10:error_num+=1print("Totalnum:",num,"Wrongnum:",error_num,"WrongRate:",error_num/float(num))总结与展望5.1本文主要工作大数据分析是目前热门话题之一。它是信息计算、统计分析、计算机科学与管理科学的一门专业。还涉及人工智能、数据采矿、数学建模。本研究的目的是通过文献检索,理解大数据与日常生活及相关领域的关系,通过数学与应用数学、信息计算相结合的大规模数据生成、结构、数据
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2026年齐齐哈尔克东县第二良种繁殖场公开招聘工作人员1人笔试备考试题及答案解析
- 【上半年联考】2026年三亚市人力资源和社会保障局招聘2人考试重点题库及答案解析
- 2026吉林大学化学学院李豹教授团队博士后招聘1人笔试备考题库及答案解析
- 2026年中国科学技术大学人工智能与数据科学学院劳务派遣岗位招聘笔试备考题库及答案解析
- 2026浙江温州市苍南县公安局面向社会公开招聘辅警58人笔试备考题库及答案解析
- 2026年甘肃省兰州新区民政司法和社会保障局(退役军人事务局)兰州新区城乡发展局招聘城镇公益性岗位笔试备考题库及答案解析
- 2026湖南衡阳市石鼓区城市建设投资有限公司招聘6人笔试备考题库及答案解析
- 2026浙江宁波通商控股集团有限公司校园招聘7人笔试备考试题及答案解析
- 2026江苏南通市第六人民医院招聘高层次及紧缺岗位人才10人(长期)笔试备考题库及答案解析
- 2026年甘肃天水武山县招聘城镇公益性岗位工作人员30人笔试备考题库及答案解析
- 2026湖南衡阳日报社招聘事业单位人员16人备考题库带答案详解
- 糖尿病足诊疗指南
- 20以内的加减法练习题库
- 小儿发热护理讲课
- 皮肤瘙痒症状病因诊断筛查
- 2025年山西省教师职称考试(理论知识)复习题及答案(新课标)-山西教师
- 2025年江西省中考数学试卷真题(含标准答案及解析)
- 2025年高考英语复习知识清单(全国)专题45 应用文写作11组34个满分句式68个真题例句 (讲案)解析版
- 高中音乐鉴赏第六单元《中国影视音乐》 人音版
- 2025年云南昆明桥隧管理有限公司招聘笔试参考题库含答案解析
- 《华住酒店集团》课件
评论
0/150
提交评论