概述
BP网络(Back Propagation),是1986年由Rumelhart和McCelland为首的科学家小组提出,是一种按误差逆 传播 算法训练的多层前馈网络,是目前应用最广泛的 神经网络 模型之一。BP网络能学习和存贮大量的输入-输出模式映射关系,而无需事前揭示描述这种映射关系的 数学 方程。了解BP神经网络的工作过程,对入门人工神经网络有很大帮助。本文通过python编程实现含有两层隐藏层的神经网络模型,并用与正弦函数预测。
# -*- coding: utf-8 -*-
"""
Created on Tue May 15 16:39:55 2018
@author: Administrator
"""
import math
import random
import numpy
import matplotlib.pyplot as plt
random.seed(0)#使random函数每一次生成的随机数值都相等
def rand(a,b):
return (b - a) * random.random() + a #生成a到b的随机数
def make_matrix(m,n,fill=0.0):#创建一个指定大小的矩阵
mat = []
for i in range(m):
mat.append([fill]*n)
return mat
#定义tanh函数和它的导数
def tanh(x):
return numpy.tanh(x)
def tanh_derivate(x):
return 1-numpy.tanh(x)*numpy.tanh(x) #tanh函数的导数
class BPNeuralNetwork:
def __init__(self):#初始化变量
self.input_n = 0
self.hidden1_n = 0
self.hidden2_n = 0
self.output_n = 0
self.input_cells = []
self.hidden1_cells = []
最后
以上就是落寞指甲油为你收集整理的python实现BP神经网络预测正弦函数(双隐藏层+偏置)的全部内容,希望文章能够帮你解决python实现BP神经网络预测正弦函数(双隐藏层+偏置)所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
发表评论 取消回复