Question: Modify this code to construct a neural network for a system which uses 4 inputs and one set of 3 hidden nodes with back propagation
Modify this code to construct a neural network for a system which uses 4 inputs and one set of 3 hidden nodes with back propagation
from math import * x1,x2 = input("Enter two values: ").split()
w1,w2,w3,w4,w5,w6 = input("Enter six values: ").split()
k1,k2,k3 = input("Enter three values: ").split()
m1 = int(x1)*float(w1) + int(x2)*float(w4) m2 = int(x1)*float(w2) + int(x2)*float(w5) m3 = int(x1)*float(w3) + int(x2)*float(w6)
p1 = 1/(1+ exp(float(-m1))) p2 = 1/(1+ exp(float(-m2))) p3 = 1/(1+ exp(float(-m3)))
sm = p1*(k1) + p2*(k2) +p3*k3 y = 1/(1+ exp(float(-sm))) print ("y = ", y)
if y > 0: loop = 1 while loop == 1: "Backpropagation" res = 0 -y q1 = res*(exp(float(-sm)))/((1+ exp(float(-sm)))**2) #delta weights print ("q1 = ",q1) dw1 = q1/(p1+0.0000001) dw2 = q1/(p2+0.0000001) dw3 = q1/(p3+0.0000001)
nk1 = k1 + dw1 nk2 = k2 + dw2 nk3 = k3 + dw3
dhs1 = q1*(1+ exp(-abs(m1)))**2/k1*exp(-abs(m1)) dhs2 = q1*(1+ exp(-abs(m2)))**2/k2*exp(-abs(m2)) dhs3 = q1*(1+ exp(-abs(m3)))**2/k3*exp(-abs(m3)) print ("dhs1",dhs1)
w11 = dhs1/(x1+0.0000001) w12 = dhs2/(x1+0.0000001) w13 = dhs3/(x1+0.0000001) w14 = dhs1/(x2+0.0000001) w15 = dhs2/(x2+0.0000001) w16 = dhs3/(x2+0.0000001)
nw11 = w11 + w1 nw12 = w12 + w2 nw13 = w13 + w3 nw14 = w14 + w4 nw15 = w15 + w5 nw16 = w16 + w6
print ("k11 = ",nk1) print ("k12 = ",nk2) print ("k13 = ",nk3) print ("w11 = ",nw11) print ("w12 = ",nw12) print ("w13 = ",nw13) print ("w14 = ",nw14) print ("w15 = ",nw15) print ("w16 = ",nw16) print (" ") print ("")
k1 = (nk1) k2 = (nk2) k3 = (nk3)
w1 = (nw11) w2 = (nw12) w3 = (nw13) w4 = (nw14) w5 = (nw15) w6 = (nw16)
#x1 = 1.0 #x2 = 1.0
m1 = x1*w1 + x2*w4 m2 = x1*w2 + x2*w5 m3 = x1*w3 + x2*w6
print (" M1", m1) print (" M2", m2) print (" M3", m3) if abs(m1) > 709 : p1 = 0 else: p1 = 1/(1+ exp(-(abs(m1)))) if abs(m1) > 709 : p2 = 0 else: p2 = 1/(1+ exp(-(abs(m2)))) if abs(m1) > 709 : p3 = 0 else: p3 = 1/(1+ exp(-(abs(m3)))) sm = p1*k1 +p2*k2 +p3*k3 if abs(sm) > 709 : y = 1 else: y = 1/(1+ exp(-(abs(sm)))) print ("y = ",y) if y >0.999: print ("Final y = ",y) print ("k11 = ",abs(nk1)) print ("k12 = ",abs(nk2)) print ("k13 = ",abs(nk3)) print ("w11 = ",abs(nw11)) print ("w12 = ",abs(nw12)) print ("w13 = ",abs(nw13)) print ("w14 = ",abs(nw14)) print ("w15 = ",abs(nw15)) print ("w16 = ",abs(nw16)) print (" ") print ("") loop =0 else: loop = 1 else: print (" end") print ("Final y = ",y) print ("k11 = ",k1) print ("k12 = ",k2) print ("k13 = ",k3) print ("w11 = ",w1) print ("w12 = ",w2) print ("w13 = ",w3) print ("w14 = ",w4) print ("w15 = ",w5) print ("w16 = ",w6) print (" ") print ("")
Step by Step Solution
There are 3 Steps involved in it
Get step-by-step solutions from verified subject matter experts
