matlab实现字符识别,字符识别 - MATLAB Simulink Example - MathWorks 中国
定义问题
脚本 prprob 定义了一个包含 26 列的矩阵 X,每列对应一个字母。每列有 35 个值,值可能是 1,也可能是 0。每列(包含 35 个值)定义一个字母的 5×7 位图。
矩阵 T 是一个 26×26 的单位矩阵,它将 26 个输入向量映射到 26 个类。
[X,T] = prprob;
以下命令将第一个字母 A 绘制为一个位图。
plotchar(X(:,1))
创建第一个神经网络
为求解此问题,我们将使用针对模式识别建立的具有 25 个隐藏神经元的前馈神经网络。
由于神经网络以随机初始权重进行初始化,因此每次运行该示例进行训练后的结果都略有不同。为了避免这种随机性,请设置随机种子以便每次都重现相同的结果。这对于您自己的应用情形不是必需的。
setdemorandstream(pi);
net1 = feedforwardnet(25);
view(net1)
训练第一个神经网络
函数 train 将数据划分为训练集、验证集和测试集。训练集用于更新网络,验证集用于在网络过拟合训练数据之前停止网络,从而保持良好的泛化。测试集用作完全独立的测量手段,用于衡量网络针对新样本的预期表现。
当网络针对训练集或验证集不再可能有改善时,训练停止。
net1.divideFcn = '';
net1 = train(net1,X,T,nnMATLAB);
Computing Resources:
MATLAB on GLNXA64
训练第二个神经网络
我们希望网络不仅可以识别形状标准的字母,还可以识别含噪的字母。因此,我们将尝试针对含噪数据训练第二个网络,并将其泛化能力与第一个网络进行比较。
以下命令为每个字母 Xn 创建 30 个含噪副本。值由 min 和 max 限制在 0 和 1 之间。还定义了相应的目标 Tn。
numNoise = 30;
Xn = min(max(repmat(X,1,numNoise)+randn(35,26*numNoise)*0.2,0),1);
Tn = repmat(T,1,numNoise);
以下是 A 的含噪版本。
figure
plotchar(Xn(:,1))
以下命令将创建并训练第二个网络。
net2 = feedforwardnet(25);
net2 = train(net2,Xn,Tn,nnMATLAB);
Computing Resources:
MATLAB on GLNXA64
测试两个神经网络
noiseLevels = 0:.05:1;
numLevels = length(noiseLevels);
percError1 = zeros(1,numLevels);
percError2 = zeros(1,numLevels);
for i = 1:numLevels
Xtest = min(max(repmat(X,1,numNoise)+randn(35,26*numNoise)*noiseLevels(i),0),1);
Y1 = net1(Xtest);
percError1(i) = sum(sum(abs(Tn-compet(Y1))))/(26*numNoise*2);
Y2 = net2(Xtest);
percError2(i) = sum(sum(abs(Tn-compet(Y2))))/(26*numNoise*2);
end
figure
plot(noiseLevels,percError1*100,'--',noiseLevels,percError2*100);
title('Percentage of Recognition Errors');
xlabel('Noise Level');
ylabel('Errors');
legend('Network 1','Network 2','Location','NorthWest')
由于存在噪声,在无噪声情况下训练的网络 1 的错误数多于在有噪声情况下训练的网络 2。
matlab实现字符识别,字符识别 - MATLAB Simulink Example - MathWorks 中国相关推荐
- matlab 读取mdf文件路径,访问 MDF 文件
- MATLAB Simulink Example
- MathWorks 中国
打开 MDF 文件 通过指定目标文件的名称来打开 MDF 文件.有关该文件的许多基本详细信息已提供.此示例文件是使用 Vector CANape 创建的. m = mdf("CANapeBa ...
- matlab中矩阵重排列,稀疏矩阵重新排序
- MATLAB Simulink Example
- MathWorks 中国
可视化稀疏矩阵 spy 图可以显示矩阵中的非零元素. 下面的 spy 图显示了从杠铃矩阵的一部分得到的稀疏对称正定矩阵.此矩阵描述类似杠铃的图中的连接. load barbellgraph.mat S ...
- 聚类 轮廓 matlab,聚类分析
- MATLAB Simulink Example
- MathWorks 中国
K 均值和层次聚类 Statistics and Machine Learning Toolbox 中的一些函数可执行 K 均值聚类和层次聚类. K 均值聚类是一种分区方法,它将数据中的观测值视为具有 ...
- matlab改成单精度运算,单精度运算
- MATLAB Simulink Example
- MathWorks 中国
创建双精度数据 首先创建一些数据,默认情况下为双精度. Ad = [1 2 0; 2 5 -1; 4 10 -1] Ad = 3×3 1 2 0 2 5 -1 4 10 -1 转换为单精度 可以使用 ...
- 矩阵指数 matlab,矩阵指数
- MATLAB Simulink Example
- MathWorks 中国
方法 1:加权平方 expmdemo1 是以下著作中算法 11.3.1 的实现: Golub, Gene H. and Charles Van Loan.Matrix Computations, 3r ...
- matlab地震振幅属性分析,洛马普列塔地震分析
- MATLAB Simulink Example
- MathWorks 中国...
加载地震数据 文件 quake.mat 包含圣克鲁斯山脉在 1989 年 10 月 17 日发生的洛马普列塔地震的 200Hz 数据.该数据由加州大学圣克鲁斯分校的 Joel Yellin 通过 Ch ...
- matlab 总谐波失真,分析谐波失真
- MATLAB Simulink Example
- MathWorks 中国
简介 在此示例中,我们将研究放大器的简化模型的输出,该放大器的噪声耦合到输入信号并且呈现非线性.我们将研究输入端的衰减如何降低谐波失真.我们还将举例说明如何对放大器输出端的失真在数学上进行校正. 查看 ...
- matlab 平面相交,使用matlab画相交的平面
引子 matlab 作为科学计算神器,可以轻松的实现矩阵的计算和三维图形的绘制, 因此今天用matlab绘制了一道高数题中的图形. 题目如下: 其中 x+y = pi/2 已经证明是错题,应该是 x ...
- MATLAB 添加自定义的模块到simulink库浏览器
在MATLAB开发环境中,Simulink仿真平 台可以建立用户自定义的库文件,并将它们显示在Library Browser窗口下,方便用户进行模块的操作.用户可以将一些平时使用比较频繁,或者自己建立 ...
最新文章
- GitHub上的“金矿”(236个Python开源项目,涵盖了15个领域)
- C语言函数怎么像python那样返回多个值?(三种方法:1、设置全局变量 2、传递指针 3、使用结构体返回不同类型的数据)
- Mathtype 免安装 | office自带UnicodeMath和LaTeX编辑功能
- [图形图像]一次光线追踪的尝试
- ArcGIS中属性域的使用
- 斯坦福大学自然语言处理第二课“文本处理基础(Basic Text Processing)”
- EDA 课程设计 实验报告及源文件
- International Journal of Intelligent Systems投稿经验分享
- 服务器配置选择、域名选择、域名解析、域名绑定服务器,ICP免费备案等,此文档配置节约大量时间
- PhysX碰撞检测之onContact和onTrigger
- python--Django快速入门之模板层详解
- 一个python文件调用另一个python文件
- 关于条件编译和预编译的一点学习心得
- 思科640-816最新认证资料-Pass4side权威考题大师提供
- Safari 与 Edge:哪种浏览器更适合 Mac
- 数据结构5.2图的存储与遍历
- echarts 中使用百度地图 bmap (基础使用:仅显示、定义样式)
- 树莓派设置WiFi上网
- WIN10无法上ipv6,解决方法,亲测有效
- 命令行窗口cmd中的python指令
热门文章
- 电力运维云平台:开启电力系统“无人值班、少人值守”新模式
- 计算机内存的故障,电脑内存损坏后的故障表现及其简单处理方法
- lol服务器什么时候修复,《英雄联盟》史上最慢服务器修复,官方修复公告阅读超过100万...
- 超级好用,发现一个爬虫逆向神器
- 笔记本电脑用hdmi连接电视机无反应-解决方法
- sharesdk第三方微博登录:你所访问的站点在微博认证失败,错误号:21322
- ENCODE30篇论文全摘要 聚焦人基因组功能研究
- 磐石云谈空号识别的几种方式
- mysql myisam引擎_MySQL常用存储引擎之MyISAM
- 基于html和vue的科技星球展示网页设计