#一,创建一个暗盒,里面是神经网络。
#二,创建输入输出层
#,俩个函数
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)