python实现BP神经网络预测正弦函数(双隐藏层+偏置)

本文使用Python实现了一个双隐藏层的BP神经网络,用于预测正弦函数。通过在0到2π间选取200个点作为训练数据,训练后的模型在训练集内外进行了预测,并绘制了预测曲线,展示了模型的拟合效果。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

       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):#初始化变量  
        sel
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值