BP神经网络(一、大框架创建)

#一,创建一个暗盒,里面是神经网络。
#二,创建输入输出层
#,俩个函数
import numpy as np
import random
import matplotlib.pylab as plt

def sigmoid(x):
    return 1/(1+np.exp(-x)) #创建一个激活函数

def indentity_function(x):
    return x #创建一个跳跃函数

def init_network():
    network={}
    network['w1']=np.array([[1.0,0.3,0.9,0.4],[0.3,0.1,0.6,0.8],[0.5,0.4,0.3,1.2]])
    network['w2']=np.array([[0.5,0.3,0.9],[0.8,0.4,0.3],[0.2,0.9,0.4],[0.2,0.6,0.5]])
    network['w3']=np.array([[0.6,0.5],[0.5,0.6],[0.9,0.7]])
    network['b1']=np.array([0.2,0.2,0.2,0.2])
    network['b2']=np.array([0.3,0.4,0.3])
    network['b3']=np.array([0.9,0.9])
    return network

def calculation_machine(network,x):
    w1,w2,w3=network['w1'],network['w2'],network['w3']
    b1,b2,b3=network['b1'],network['b2'],network['b3']
    A1=np.dot(x,w1)+b1
    Z1=sigmoid(A1)
    A2=np.dot(Z1,w2)+b2
    Z2=sigmoid(A2)
    A3=np.dot(Z2,w3)+b3
    Z3=sigmoid(A3)
    result=indentity_function(Z3)
    return result

thinking_machine=init_network()
x=np.array([0.3,0.3,0.3])
y=calculation_machine(thinking_machine,x)
print(y)

全部评论

相关推荐

不愿透露姓名的神秘牛友
07-09 12:20
点赞 评论 收藏
分享
07-09 15:55
门头沟学院 Java
点赞 评论 收藏
分享
06-08 22:25
门头沟学院 Java
从零开始的转码生活:这hr不会打开手机不分青红皂白给所有人群发这句话,过一会再给所有人再发一遍,这肯定会有重复的,不管,再过一会再发一遍
点赞 评论 收藏
分享
不愿透露姓名的神秘牛友
07-11 17:10
什么素质,我请问呢,要掉小珍珠了。。。又憋屈又生气
Steven267:这不喷回去?花钱是大爷,记住这个道理
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务