Files
percettroni/percettrone.py

22 lines
874 B
Python

import math
import random
class Percettrone:
def __init__(self, w1 = random.uniform(-1, 1), w2 = random.uniform(-1, 1), bias = random.uniform(-1, 1), lre = 0.2):
self.w1 = w1
self.w2 = w2
self.bias = bias
self.lre = lre
# # il return verrà confrontato col valore di soglia di attivazione
def funzione_gradino(self, x1, x2):
return ((x1 * self.w1) + (x2 * self.w2) + self.bias)
# il return verrà confrontato col valore di soglia di attivazione
def funzione_sigmoide(self, x1, x2):
return (1 / (1 + math.exp(-((x1 * self.w1) + (x2 * self.w2) + self.bias))))
def correggi_pesi(self, gradiente_w1, gradiente_w2, gradiente_bias):
self.bias = self.bias - (gradiente_bias * self.lre)
self.w1 = self.w1 - (gradiente_w1 * self.lre)
self.w2 = self.w2 - (gradiente_w2 * self.lre)