资源简介

使用BP算法的神经网络手写体数字识别,使用Python语言编写,包含四个文件:训练模块,测试模块,图像显示模块还有一个最简单的神经网络模型。希望对大家有帮助。(更改了上一版的一点注释错误)

资源截图

代码片段和文件信息

import numpy
import scipy.special

class neuralnetwork:
    def __init__(selfinputnodeshiddennodesoutputnodeslearningrate):
        self.inodes = inputnodes
        self.hnodes = hiddennodes
        self.onodes = outputnodes

        self.lr = learningrate

        self.wih=numpy.random.normal(0.0pow(self.hnodes-0.5)(self.hnodesself.inodes))
        self.who=numpy.random.normal(0.0pow(self.onodes-0.5)(self.onodesself.hnodes))

        self.activation_function = lambda x:scipy.special.expit(x)
        pass

    def train(selfinputs_listtargets_list):
        inputs = numpy.array(inputs_listndmin=2).T
        targets = numpy.array(targets_listndmin=2).T

        hidden_inputs = numpy.dot(self.wihinputs)
        hidden_outputs = self.activation_function(hidden_inputs)

        final_inputs = numpy.dot(self.whohidden_outputs)
        final_outputs = self.activation_function(final_inputs)

        output_errors = targets - final_outputs
        hidden_errors = numpy.dot(self.who.Toutput_errors)

        self.who += self.lr * numpy.dot((output_errors * final_outputs * (1.0-final_outputs))numpy.transpose(hidden_outputs))
        self.wih += self.lr * numpy.dot((hidden_errors * hidden_outputs * (1.0-hidden_outputs))numpy.transpose(inputs))
        
        pass

    def query(selfinputs_list):
        inputs = numpy.array(inputs_listndmin=2).T

        hidden_inputs = numpy.dot(self.wihinputs)
        hidden_outputs = self.activation_function(hidden_inputs)

        final_inputs = numpy.dot(self.whohidden_outputs)
        final_outputs = self.activation_function(final_inputs)
        return final_outputs



 属性            大小     日期    时间   名称
----------- ---------  ---------- -----  ----
     文件        3565  2019-04-08 21:06  train_handwrite_num.py
     文件        1031  2019-03-17 15:06  query_handwrite_num.py
     文件         433  2019-03-17 15:06  show_num.py
     文件        1697  2019-03-17 14:43  first_neuralwork.py

评论

共有 条评论