BP神经网络-手写数字的识别-机器学习实验二

Posted Time木0101

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了BP神经网络-手写数字的识别-机器学习实验二相关的知识,希望对你有一定的参考价值。

文末也可直接获取实验文档以及相关数据。

BP神经网络-手写数字的识别-机器学习实验二
实验目的:
(1)了解前馈神经网络、反馈神经网络、自组织神经网络
(2)掌握神经网络的应用
使用BP神经网络,完成手写数字的识别
1、 打开图片并对图片进行灰度化处理。
这里使用convert()函数处理。

2将图片转化为二维数组。
调用getImageData模块的ImageData类的getData函数,使用numpy库的asarray方法将其转换为数组。

2、 将图片二值化。
图片的二值化就是将上面的数组化为0和1的形式,转化之前我们要设定一个阈值,大于这个阈值的像素点我们将其设置为1,小于这个阈值的像素点我们将其设置为0。

3、 获取网格特征数字统计图。
在图片二值化之后,我们通常需要获取到网格统计图,这里我们的图片尺寸是3232的,所以我们将其化为88的点阵图,步骤如下:

(1)将二值化后的点阵水平平均划线分成8份,竖直平均划线分成8份。

(2)分别统计每一份中像素点为1的个数。

(3)将每一个份统计值组合在一起,构成8*8的点阵统计图。


4、 将二维统计图转化为一维的特征向量

5、 构建神经网络


6、 训练神经网络
根据数据集训练神经网络模型。

7、 对手写数字图片进行预测。

8、 输出结果:
预测报告:

预测报告的混合矩阵:

总结:
1、 在这次实验中和查阅书本中我了解前馈神经网络、反馈神经网络、自组织神经网络并进行了神经网络的手写数字的应用。
2、 同时也了解到BP神经网络是一种按照误差逆向传播算法训练的多层前馈神经网络,也是目前应用最广泛的神经网络,从结构上讲,BP网络具有输入层、隐藏层和输出层。
3、 刚了解神经网络时,感觉神经网络很神奇,同时又很难理解其本质逻辑,查阅资料后知道神经网络的逻辑就是不可理解,但整体的对问题的解决思路还是比较容易搞清楚的。

关注公众号:Time木
回复:手写数字识别
可获得相关代码,数据,文档
更多大学课业实验实训可关注公众号回复相关关键词
学艺不精,若有错误还望指点

以上是关于BP神经网络-手写数字的识别-机器学习实验二的主要内容,如果未能解决你的问题,请参考以下文章

BP神经网络(手写数字识别)

利用手写数字识别项目详细描述BP深度神经网络的权重学习

stanford coursera 机器学习编程作业 exercise4--使用BP算法训练神经网络以识别阿拉伯数字(0-9)

深度学习手写数字识别Tensorflow2实验报告

深度学习手写数字识别Tensorflow2实验报告

基于BP神经网络的手写体数字识别matlab仿真实现