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-07 11:20
点赞 评论 收藏
分享
流浪的神仙:无恶意,算法一般好像都得9硕才能干算法太卷啦
点赞 评论 收藏
分享
不愿透露姓名的神秘牛友
07-10 15:58
投个小米提前批试试水,先投一个岗位看看形势,不行就再沉淀一下投第二个岗位,莫辜负
Java抽象带篮子:我嘞个骚刚,已经开始研发6g了吗
投递小米集团等公司7个岗位
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

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