您的位置:首页 > 理论基础 > 计算机网络

Python实现第一个神经网络

2016-09-26 22:06 232 查看
步骤:

1、输入层、隐含层、输出层初始化

X=np.array([[0,0,1],

[0,1,1],

[1,0,1],

[0,1,1]])

y=np.array([[0,0,1,1]]).T

np.random.seed(1)

syn0=2*np.random.random((3,1))-1’

2、前馈传递计算并计算误差率,通过BP算法进行迭代优化达到最小化损失函数


for item in range(10000):

l0=X

l1=nonlinear(np.dot(l0,syn0))

# how much did we miss?

l1_error=y-l1

# multiply how much we missed by the

# slope of the sigmoid at the values in l1

l1_delta=l1_error*nonlinear(l1,True)

#update weights

syn0=np.dot(l0.T,l1_delta)+syn0



3、其中要用到的激活函数有Sigmoid、tanh、ReLu、Leaky ReLU等,当然还需要求导公式进行梯度下降优化。



def nonlinear(x,deriv=False):

if(deriv==True):

return x*(1-x)

return 1/(1+np.exp(-x))

内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: