1-1BP神经网络--简单代码实现

BP(back propagation)神经网络是1986年由Rumelhart和McClelland为首的科学家提出的概念,是一种按照误差逆向传播算法训练的多层前馈神经网络,是目前应用最广泛的神经网络。

该代码不使用任何第三方深度学习工具包实现,利用Python3实现。

# -*- coding: utf-8 -*-
import numpy as np


######分别表示两种激活函数,tanh函数和sigmoid函数以及其的导数#####
# tanh函数
def tanh(x):
    return np.tanh(x)

def tanh_derivative(x):
    return 1 -  np.tanh(x) * np.tanh(x)

# sigmod函数
def logistic(x):
    return 1 / (1 + np.exp(-x))

# sigmod函数的导数
def logistic_derivative(x):
    return logistic(x) * (1 - logistic(x))


class NeuralNetwork:
    def __init__ (self, layers, activation = 'tanh'):
         # “activation”参数决定了激活函数的种类,是tanh函数还是sigmoid函数。
        if activation == 'logistic':
            self.activation = logistic
            self.activation_deriv = logistic_derivative
        elif activation == 'tanh':
            self.activation = tanh
            self.activation_deriv = tanh_derivative
点击查看完整代码

猜你喜欢

转载自blog.csdn.net/aeoob/article/details/81040312
今日推荐