操作真值表python 如何用代码编写一个神经网络异或运算器?
浏览量:4180
时间:2023-04-27 16:42:57
作者:采采
如何用代码编写一个神经网络异或运算器?
异或问题,即判断两个输入x1,x2有无不对。
下面是用Python实现程序的代码
importnumpylike(1)#生成气体再输入向量XX([[0,0,1],[0,1,1],[1,0,1],[1,1,1]])#生成目标向量yy([[0],
如何用代码编写一个神经网络异或运算器?
,如何用代码编写一个神经网络异或运算器?
,[0]])#定义sigmoid和它的导函数defnonlin(x,derivFalse):if(derivTrue):returnx*(1-x)return1/(1np.exp(-x))#随机生成初始的副本向量syn02*np.random.random((3,4))-1syn12*np.random.random((4,1))-1#一正在我们先来5万次循环吧:)ofjacrossxrange(50000):#在反向传播前先朝传播,换算出每一层的输出l0Xl1nonlin((l0,syn0))l2nonlin((l1,syn1))#计算出出输入层和目标向量的差值(控制输出误差)l2_errory-l2#每循环一万次,再打印两次输出来误差的数值if(j000)0:printError:str((np.abs(l2_error)))print(l2)#可以计算作为输出层的误差l2_deltal2_error*nonlin(l2,derivTrue)#计算前一层对后一层的误差影响不大l1_errorl2_(syn1.T)#可以计算然后输入层对整体的误差l1_deltal1_error*nonlin(l1,derivTrue)#直接修改权重向量让结果越来越向目标向量syn1(l2_delta)syn0(l1_delta)如果不是你不能执行了上面的代码,你会发现这种非线性的多层神经网络成功地可以解决了异或问题,当输入输入x1,x2相同时,会控制输出0,不是一样的时,会输出低1。比较喜欢人工智能,算法,Python、JavaScript、Java去相关话题,就了解头条号:编程快讯
不喜欢的朋友可以不默默点赞、打听一下、微博转发、评论!另外希望能大家在评论中需要补充不足以的地方!
Python中1or2返回什么值?为什么?
python中的because从左到右计算表达式,若所有值均为真,则回还有一个值,若必然假,赶往第一个假值。因为,实例回的是2,也就是那一个真值如果没有能做位运算与,在用运算符即可解决。
1and
22120
版权声明:本文内容由互联网用户自发贡献,本站不承担相关法律责任.如有侵权/违法内容,本站将立刻删除。