matlab 数字识别_在MATLAB中利用神经网络进行分类

在这篇文章中,主要阐述在MATLAB环境下利用神经网络对输入的数字图像进行识别。我们利用一个5*5的矩阵来表示1-5的数据,如下图所示:

matlab 数字识别_在MATLAB中利用神经网络进行分类_第1张图片

基于以上问题,我们构建的神经网络输入层的神经元个数为25个,即5*5矩阵中每个元素作为输入。神经网络的输出层神经元的个数为5个,主要用于识别1-5中的数字。在输出层的激活函数使用Softmax函数。隐含层的神经元个数我们可以设置为50个并利用Sigmoid作为激活函数。神经网络结构如下图所示:

matlab 数字识别_在MATLAB中利用神经网络进行分类_第2张图片

Matlab程序如下:

神经网络的构建

matlab 数字识别_在MATLAB中利用神经网络进行分类_第3张图片

对构造好的神经网络进行训练

matlab 数字识别_在MATLAB中利用神经网络进行分类_第4张图片
matlab 数字识别_在MATLAB中利用神经网络进行分类_第5张图片

得出结果为:

matlab 数字识别_在MATLAB中利用神经网络进行分类_第6张图片

在训练过程中,输入X的对应的矩阵的数值为数字图像1-5的像素,例如:

matlab 数字识别_在MATLAB中利用神经网络进行分类_第7张图片

训练过后,我们测试一下神经网络的识别功能。我们输入如下图形,测试神经网络是否能够正确识别1-5的数字。

matlab 数字识别_在MATLAB中利用神经网络进行分类_第8张图片

测试程序:

matlab 数字识别_在MATLAB中利用神经网络进行分类_第9张图片
matlab 数字识别_在MATLAB中利用神经网络进行分类_第10张图片

运行后可以得出结果:

matlab 数字识别_在MATLAB中利用神经网络进行分类_第11张图片
matlab 数字识别_在MATLAB中利用神经网络进行分类_第12张图片
matlab 数字识别_在MATLAB中利用神经网络进行分类_第13张图片

可以看出图像为4的概率为94.6%

matlab 数字识别_在MATLAB中利用神经网络进行分类_第14张图片
matlab 数字识别_在MATLAB中利用神经网络进行分类_第15张图片
matlab 数字识别_在MATLAB中利用神经网络进行分类_第16张图片

图像为2的概率为94.16%

matlab 数字识别_在MATLAB中利用神经网络进行分类_第17张图片
matlab 数字识别_在MATLAB中利用神经网络进行分类_第18张图片
matlab 数字识别_在MATLAB中利用神经网络进行分类_第19张图片

图像3显示数字为3的概率为99.52%

可以看出图像2和图像3只有一个像素不同,但神经网络可以非常好的区别图中显示的数值。

你可能感兴趣的:(matlab,数字识别,matlab,神经网络,matlab数字识别,matlab神经网络)