Machine Learning: una rete neurale minimale per XOR

Del perchè il problema XOR non è risolvibile con un singolo perceptron abbiamo già parlato qui. Adesso non ci resta che trovare la soluzione al problema creando una semplice rete neurale in 2 livelli che sia in grado di fornirci la giusta soluzione.

Per ogni livello verrà calcolato il gradiente che va a correggere il peso calcolato nell’elaborazione del livello superiore. Questa retroazione permette di affinare il risultato ad ogni iterazione per ottenere la classificazione che cerchiamo.

 

Lo schema logico che utilizzeremo per la rete è il seguente

Questo è il codice completo, commentato per essere facilmente comprensibile in ogni sua fase:

 

Il codice è anche disponibile nel repository GitHub dedicato al Machine Learning.