# -*- coding: utf-8 -*-
"""
Created on Wed Mar 16 23:46:31 2022
@author: liaoy
"""
import numpy as np
import matplotlib.pyplot as plt
import pandas as pd
def sigmoid(x):
"""
隐含层和输出层对应的函数法则
"""
return 1/(1+np.exp(-x))
def BP(data_tr, data_te, maxiter=3000):
# --pandas是基于numpy设计的,效率略低
# 为提高处理效率,转换为数组
data_tr, data_te = np.array(data_tr), np.array(data_te)
# --隐层输入
# -1: 代表的是隐层的阈值
net_in = np.array([0.0, 0, -1])
w_mid = np.random.rand(3, 4) # 隐层权值阈值(-1x其中一个值:阈值)
# 输出层输入
# -1:代表输出层阈值
out_in = np.array([0.0, 0, 0, 0, -1])
w_out = np.random.rand(5) # 输出层权值阈值(-1x其中一个值:阈值)
delta_w_out = np.zeros([5]) # 存放输出层权值阈值的逆向计算误差
delta_w_mid = np.zeros([3, 4]) # 存放因此能权值阈值的逆向计算误差
yita = 1.75 # η&
BP神经网络python的实现
最新推荐文章于 2024-04-18 16:36:18 发布