ML之NN:利用神经网络的BP算法解决XOR类(异或非)问题(BP solve XOR Problem)
生活随笔
收集整理的這篇文章主要介紹了
ML之NN:利用神经网络的BP算法解决XOR类(异或非)问题(BP solve XOR Problem)
小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.
ML之NN:利用神經(jīng)網(wǎng)絡(luò)的BP算法解決XOR類(異或非)問題(BP solve XOR Problem)
?
?
目錄
輸出結(jié)果
實(shí)現(xiàn)代碼
?
?
?
?
輸出結(jié)果
?
實(shí)現(xiàn)代碼
#BP solve XOR Problem import numpy as npX = np.array ([[1, 0, 0], [1, 0, 1], [1, 1, 0],[1, 1, 1]]) #標(biāo)簽 Y = np.array ([[0, 1, 1, 0]]) V = np.random.randn(3,4)*2-1 W = np.random.randn(4,1)*2-1 print (V) print (W) #設(shè)置學(xué)習(xí)率 lr = 0.11 def update(): #更新權(quán)值的函數(shù)global X,Y,W,V,lr L1=sigmoid(np.dot(X,V)) L2=sigmoid(np.dot(L1,W))L2_delta=(Y.T-L2)*dsigmoid(L2) L1_delta=L2_delta.dot(W.T)*dsigmoid(L1)W_C=lr*L1.T.dot(L2_delta)V_C=lr*X.T.dot(L1_delta)W=W+W_CV=V+V_C for i in range(20000):update()if i%500==0:L1=sigmoid(np.dot(X,V)) ?#隱藏層輸出4*4L2=sigmoid(np.dot(L1,W)) #輸出層輸出4*1print("error:",np.mean(np.abs(Y.T-L2)))L1=sigmoid(np.dot(X,V)) ? L2=sigmoid(np.dot(L1,W)) print(L2)def judge(x):if x>=0.5:return 1else:return 0 for i in map(judge,L2):print(i)?
?
總結(jié)
以上是生活随笔為你收集整理的ML之NN:利用神经网络的BP算法解决XOR类(异或非)问题(BP solve XOR Problem)的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: Paper之DL之BP:《Underst
- 下一篇: Py之neurolab:Python库之