我是靠谱客的博主 明亮冷风,最近开发中收集的这篇文章主要介绍手把手教你搭建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神经网络,并实现手写mnist手写数字识别所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

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

评论列表共有 0 条评论

立即
投稿
返回
顶部