26 lines
791 B
Python
26 lines
791 B
Python
class Percettrone:
|
|
|
|
def __init__(self, w1 = 0, w2 = 0, bias = 0, lre = 1):
|
|
self.w1 = w1
|
|
self.w2 = w2
|
|
self.bias = bias
|
|
self.lre = lre
|
|
|
|
def funzione_gradino(self, x1, x2):
|
|
if ((x1 * self.w1) + (x2 * self.w2) + self.bias) >= 0:
|
|
return 1
|
|
return 0
|
|
|
|
def valuta(self, x1, x2, risultato_atteso):
|
|
y = self.funzione_gradino(x1, x2)
|
|
errore = risultato_atteso - y
|
|
return errore
|
|
|
|
def correggi_pesi(self, x1, x2, errore):
|
|
self.bias = self.bias + (errore * self.lre)
|
|
#print(f"errore: {errore * self.bias}")
|
|
self.w1 = self.w1 + (errore * x1 * self.lre)
|
|
self.w2 = self.w2 + (errore * x2 * self.lre)
|
|
|
|
def get_pesi(self):
|
|
return (self.w1, self.w2, self.bias) |