Notice: This page requires JavaScript to function properly.
Please enable JavaScript in your browser settings or update your browser.
Impara Sfida: Creazione di un Percettrone | Rete Neurale da Zero
Introduzione alle Reti Neurali

bookSfida: Creazione di un Percettrone

Poiché l'obiettivo è implementare un percettrone multistrato, la definizione di una classe Perceptron aiuta a organizzare e inizializzare il modello in modo efficiente. La classe conterrà un solo attributo, layers, che è una lista di oggetti Layer che rappresentano la struttura della rete:

class Perceptron:
    def __init__(self, layers):
        self.layers = layers

Le variabili utilizzate per inizializzare i layer sono:

  • input_size: il numero di caratteristiche di input;
  • hidden_size: il numero di neuroni in ciascun layer nascosto (entrambi i layer nascosti avranno lo stesso numero di neuroni in questo caso);
  • output_size: il numero di neuroni nel layer di output.

La struttura del percettrone multistrato risultante includerà:

  1. Layer di input → riceve i dati;
  2. Due layer nascosti → elaborano gli input ed estraggono pattern;
  3. Layer di output → produce la previsione finale.
Compito

Swipe to start coding

L'obiettivo è impostare la struttura di base di un perceptrone multistrato (MLP) implementando il codice per i suoi strati.

Seguire attentamente questi passaggi:

  1. Inizializzare i parametri dello strato all'interno del metodo __init__():
  • Creare la matrice dei pesi con forma (n_neurons, n_inputs);
  • Creare il vettore dei bias con forma (n_neurons, 1);
    • Riempire entrambi con valori casuali da una distribuzione uniforme nell'intervallo [1,1)[-1, 1) utilizzando np.random.uniform().
  1. Implementare la propagazione in avanti all'interno del metodo forward():
  • Calcolare l'output grezzo di ciascun neurone usando il prodotto scalare:
np.dot(self.weights, self.inputs) + self.biases
  • Applicare la funzione di attivazione assegnata a questo risultato e restituire l'output attivato.
  1. Definire gli strati del perceptrone:
  • Creare due strati nascosti, ciascuno contenente hidden_size neuroni e utilizzando la funzione di attivazione ReLU;
  • Creare uno strato di output con output_size neurone/i e la funzione di attivazione sigmoid.

Soluzione

Tutto è chiaro?

Come possiamo migliorarlo?

Grazie per i tuoi commenti!

Sezione 2. Capitolo 4
single

single

Chieda ad AI

expand

Chieda ad AI

ChatGPT

Chieda pure quello che desidera o provi una delle domande suggerite per iniziare la nostra conversazione

close

Awesome!

Completion rate improved to 4

bookSfida: Creazione di un Percettrone

Scorri per mostrare il menu

Poiché l'obiettivo è implementare un percettrone multistrato, la definizione di una classe Perceptron aiuta a organizzare e inizializzare il modello in modo efficiente. La classe conterrà un solo attributo, layers, che è una lista di oggetti Layer che rappresentano la struttura della rete:

class Perceptron:
    def __init__(self, layers):
        self.layers = layers

Le variabili utilizzate per inizializzare i layer sono:

  • input_size: il numero di caratteristiche di input;
  • hidden_size: il numero di neuroni in ciascun layer nascosto (entrambi i layer nascosti avranno lo stesso numero di neuroni in questo caso);
  • output_size: il numero di neuroni nel layer di output.

La struttura del percettrone multistrato risultante includerà:

  1. Layer di input → riceve i dati;
  2. Due layer nascosti → elaborano gli input ed estraggono pattern;
  3. Layer di output → produce la previsione finale.
Compito

Swipe to start coding

L'obiettivo è impostare la struttura di base di un perceptrone multistrato (MLP) implementando il codice per i suoi strati.

Seguire attentamente questi passaggi:

  1. Inizializzare i parametri dello strato all'interno del metodo __init__():
  • Creare la matrice dei pesi con forma (n_neurons, n_inputs);
  • Creare il vettore dei bias con forma (n_neurons, 1);
    • Riempire entrambi con valori casuali da una distribuzione uniforme nell'intervallo [1,1)[-1, 1) utilizzando np.random.uniform().
  1. Implementare la propagazione in avanti all'interno del metodo forward():
  • Calcolare l'output grezzo di ciascun neurone usando il prodotto scalare:
np.dot(self.weights, self.inputs) + self.biases
  • Applicare la funzione di attivazione assegnata a questo risultato e restituire l'output attivato.
  1. Definire gli strati del perceptrone:
  • Creare due strati nascosti, ciascuno contenente hidden_size neuroni e utilizzando la funzione di attivazione ReLU;
  • Creare uno strato di output con output_size neurone/i e la funzione di attivazione sigmoid.

Soluzione

Switch to desktopCambia al desktop per esercitarti nel mondo realeContinua da dove ti trovi utilizzando una delle opzioni seguenti
Tutto è chiaro?

Come possiamo migliorarlo?

Grazie per i tuoi commenti!

Sezione 2. Capitolo 4
single

single

some-alt