我是靠谱客的博主 明亮冷风,这篇文章主要介绍手把手教你搭建BP神经网络,并实现手写mnist手写数字识别,现在分享给大家,希望可以做个参考。

一、BP神经网络(back propagation neual network)过程原理:
1、数学基础:矩阵乘法、高数、不多做赘述直接上公式
2、推倒过程如下图片所示:
在这里插入图片描述
二、BP神经网络基于python的实现
代码:
可以直接使用,需要下载手写数字识别图像的文件,训练集:http://www.pjreddie.com/media/files/mnist_train.csv
测试集:http://www.pjreddie.com/media/files/mnist_train.csv ,下载完成后只需要在file操作时改成自己的文件路径
即可运行,得到训练的最终结果

import numpy
import scipy.special
import matplotlib.pyplot
#创建神经网络类,以便于实例化成不同的实例
class NeuralNetwork:
    def __init__(self,input_nodes,hidden_nodes,output_nodes,learning_rate):
    	#初始化输入层、隐藏层、输出层的节点个数、学习率
        self.inodes=input_nodes
        self.hnodes=hidden_nodes
        self.onodes=output_nodes
        #定义输入层与隐藏层之间的初始权重参数
        self.wih=numpy.random.normal(0.0,pow(self.hnodes,-0.5),(self.hnodes,self.inodes))
        #定义隐藏层与输出层之间的初始权重参数
        self.who=numpy.random.normal(0.0,pow(self.onodes,-0.5),(self.onodes,self.hnodes))
        s

最后

以上就是明亮冷风最近收集整理的关于手把手教你搭建BP神经网络,并实现手写mnist手写数字识别的全部内容,更多相关手把手教你搭建BP神经网络内容请搜索靠谱客的其他文章。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(103)

评论列表共有 0 条评论

立即
投稿
返回
顶部