首页 > 其他 > 详细

神经网络或的运算

时间:2018-05-28 20:02:26      阅读:150      评论:0      收藏:0      [点我收藏+]

详情查看:https://blog.csdn.net/u013733326/article/details/78654974

 

import numpy as np
‘‘‘
神经网络或的运算
‘‘‘

a=0.5
b=0
x=np.array([
[0,1,1],
[0,1,0],
[0,0,0],
[0,0,1],
])
#期望的输出
d=np.array([1,1,0,1])
#权重
weigth=np.array([b,0,0])
‘‘‘
激活函数
‘‘‘
def sgn(v):
if v>0:
return 1
else:
return 0
#将传入的值进行矩阵乘法,然后传给激活函数
def comp(current_weigth,my_x):
#np.dot是矩阵乘法
#weigth.T为转置
return sgn(np.dot(current_weigth.T,my_x))
#更新权重
def update_weight(old_weigth,my_d,my_x,a):
return old_weigth+a*(my_d-comp(old_weigth,my_x))*my_x
#开始训练

print(‘开始训练:‘,weigth)
i=0
for xn in x:
weigth=update_weight(weigth,d[i],xn,a)
i+=1
print("这是第",i,"次训练后的权重",weigth)

#训练好完毕开始验证
for xn in x:
print("当前的xn=",xn,", ",xn[1],"与",xn[2],"当前逻辑或计算的结果为",comp(weigth,xn))

结果显示截图:

技术分享图片

 



神经网络或的运算

原文:https://www.cnblogs.com/cyh1989/p/9101952.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!