神经网络或的运算
Posted cyh1989
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了神经网络或的运算相关的知识,希望对你有一定的参考价值。
详情查看: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))
结果显示截图:
以上是关于神经网络或的运算的主要内容,如果未能解决你的问题,请参考以下文章