fixate le formule per generare le rette
This commit is contained in:
@@ -7,19 +7,14 @@ x = [(0,0),(0,1),(1,0),(1,1)] # Combinazioni
|
||||
output = (0,1,1,0) # XOR Logico
|
||||
#output = (0,0,0,1) # AND Logico
|
||||
#output = (0,1,1,1) # OR Logico
|
||||
#output = (1,1,1,0) # NAND Logico
|
||||
#output = (1,0,0,0) # NOR Logico
|
||||
#output = (1,0,0,1) # XNOR Logico
|
||||
|
||||
corrette = 0
|
||||
|
||||
soglia_funzione_attivazione = 0.5
|
||||
|
||||
#XOR
|
||||
""" pin_est_1 = Percettrone(w1=1.7453135346642987, w2=1.6392557285802016, bias=-2.8396189093513544, lre=0.2)
|
||||
pin_est_2 = Percettrone(w1=2.0579802021958487, w2=2.0049998768936956,bias=-1.510128337351728, lre=0.2)
|
||||
pinout = Percettrone(w1=-4.872221528209076, w2=2.863271416125622, bias=-0.2593053838395353, lre=0.2) """
|
||||
|
||||
""" pin_est_1 = Percettrone(w1=5.057571564186738, w2=-5.572150383812219, bias=-3.1715170666210444)
|
||||
pin_est_2 = Percettrone(w1=-2.1393104621179835, w2=1.6774379439199167, bias=-0.7542487269674267)
|
||||
pinout = Percettrone(w1=3.2061105491734967, w2=1.9571327990877703, bias=-1.319795396902547) """
|
||||
|
||||
rette = {"P1":[], "P2":[], "POUT":[]}
|
||||
|
||||
#Pesi per AND, OR e XOR (sigmoide)
|
||||
@@ -58,9 +53,9 @@ for i in range(1, MAX_EPOCHE): #Epoche
|
||||
disegna_funzione(pinout, previsione, y_est_1, y_est_2, True, errore)
|
||||
disegna_funzione(pin_est_2, y_est_2, x[j][0], x[j][1], False)
|
||||
try:
|
||||
rette["P1"].append([-(pin_est_1.w1 * x[j][0])/pin_est_1.w2, -(pin_est_1.bias/pin_est_1.w2)])
|
||||
rette["P2"].append([-(pin_est_2.w1 * x[j][0])/pin_est_2.w2, -(pin_est_2.bias/pin_est_2.w2)])
|
||||
rette["POUT"].append([-(pinout.w1 * x[j][0])/pinout.w2, -(pinout.bias/pinout.w2)])
|
||||
rette["P1"].append([-(pin_est_1.w1/pin_est_1.w2), -(pin_est_1.bias/pin_est_1.w2)])
|
||||
rette["P2"].append([-(pin_est_2.w1/pin_est_2.w2), -(pin_est_2.bias/pin_est_2.w2)])
|
||||
rette["POUT"].append([-(pinout.w1/pinout.w2), -(pinout.bias/pinout.w2)])
|
||||
except ZeroDivisionError:
|
||||
pass
|
||||
|
||||
|
||||
@@ -1,6 +0,0 @@
|
||||
Percettrone 1:
|
||||
W1: 2.3138819308216796, W2: 2.326257532279927, bias: -0.9188571437718164
|
||||
Percettrone 2:
|
||||
W1: 1.5239321297796238, W2: 1.329809031263888, bias: -2.149847621526194
|
||||
Percettrone OUT:
|
||||
W1: 3.119539190190677, W2: -3.7529684395700835, bias: -0.9507100523883126
|
||||
@@ -33,7 +33,7 @@ for i in range(1,100000): #Epoche
|
||||
disegna_funzione(p, y, x[j][0], x[j][1], True, errore)
|
||||
|
||||
try:
|
||||
m = -(p.w1 * x[j][0])/p.w2
|
||||
m = -(p.w1/p.w2)
|
||||
q = -(p.bias/p.w2)
|
||||
rette.append([m,q])
|
||||
except ZeroDivisionError:
|
||||
|
||||
Reference in New Issue
Block a user