異或問題,即判斷兩個輸入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。