异或问题,即判断两个输入x1和x2是否一致。
以下是用Python实现的代码
importnumpyas(1)#生成输入向量XX([[0,0,1],[0,1,1],[1,0,1],[1,1,1]]#生成目标向量YY([[0],[1],[0])。D:if(d:)对的j#前向传播后向传播,计算每层的输出((l0,Syn0))l2nonlin((l1,syn1))#每10000次计算输入层与目标向量的差(输出误差)打印:STR((NP.ABS(L2_误差))print(L2)#计算误差l2_deltal2_误差*nonlin(l2,DerivTrue)#计算上一层对下一层的误差影响l1_误差l2_(syn1。T)#计算误差l1_deltal1_error*nonlin(l1,DerivTrue)#修改权重向量使结果越来越接近目标向量syn1(l2_delta)syn0(l1_delta)。如果你执行上面的代码,你会发现这个非线性多层神经网络成功地解决了异或问题。当输入x1和x2相同时,它将输出0,当它们不同时,它将输出1。
如果你喜欢人工智能,算法,Python,Javascript,Java相关的话题,关注头条号:编程快讯就可以了。
喜欢的朋友可以点赞,关注,转发,评论!同时也欢迎大家在评论中补充不足!
#!usr/bin/pythonn#-*-coding:UTF-8-*-#python2.7#分解需求#1。生成一个2位数的随机数是random.randint(10,99)#2。生成100是为了范围内的I(100)导入random_tuple(random。对于范围(100)内的I,random(10,99)。
)printrandom_tuple#dict_num{出现的次数}dict_num{}forIinrandom_tupl:ifdict_(i):dict_num[I]1:dict_num[I]1printdict_num。