Sfida: Creazione di un Percettrone
Poiché il nostro obiettivo è implementare un percettrone multistrato, la creazione di una classe Perceptron semplificherà l'inizializzazione del modello. Il suo unico attributo, layers, è fondamentalmente una lista di oggetti Layer che definiscono la struttura della rete:
class Perceptron:
def __init__(self, layers):
self.layers = layers
Le variabili utilizzate per inizializzare i layer sono le seguenti:
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 risultante dovrebbe essere la seguente:
Swipe to start coding
L'obiettivo è impostare la struttura di base del percettrone implementando i suoi strati:
-
Completa l'inizializzazione dello strato (metodo
__init__()):- Inizializza la matrice dei pesi (forma
(n_neurons, n_neurons)); - Inizializza il vettore dei bias (forma
(n_neurons, 1)).
Riempili con valori casuali da una distribuzione uniforme nell'intervallo [−1,1). Utilizza la funzione
np.random.uniform()per farlo. - Inizializza la matrice dei pesi (forma
-
Completa la propagazione in avanti dello strato (metodo
forward()):- Calcola i valori di output grezzi dei neuroni. Usa la funzione
np.dot()per il prodotto scalare; - Applica la funzione di attivazione agli output grezzi e restituisci il risultato.
- Calcola i valori di output grezzi dei neuroni. Usa la funzione
-
Definisci tre strati:
- Due strati nascosti: ciascuno deve avere
hidden_sizeneuroni e utilizzare la funzione di attivazionerelu; - Uno strato di output: deve utilizzare la funzione di attivazione
sigmoid.
- Due strati nascosti: ciascuno deve avere
Soluzione
Grazie per i tuoi commenti!
single
Chieda ad AI
Chieda ad AI
Chieda pure quello che desidera o provi una delle domande suggerite per iniziare la nostra conversazione
Can you explain how to define the Layer class?
How do I initialize the Perceptron with specific layer sizes?
What is the purpose of having multiple hidden layers in this structure?
Awesome!
Completion rate improved to 4
Sfida: Creazione di un Percettrone
Scorri per mostrare il menu
Poiché il nostro obiettivo è implementare un percettrone multistrato, la creazione di una classe Perceptron semplificherà l'inizializzazione del modello. Il suo unico attributo, layers, è fondamentalmente una lista di oggetti Layer che definiscono la struttura della rete:
class Perceptron:
def __init__(self, layers):
self.layers = layers
Le variabili utilizzate per inizializzare i layer sono le seguenti:
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 risultante dovrebbe essere la seguente:
Swipe to start coding
L'obiettivo è impostare la struttura di base del percettrone implementando i suoi strati:
-
Completa l'inizializzazione dello strato (metodo
__init__()):- Inizializza la matrice dei pesi (forma
(n_neurons, n_neurons)); - Inizializza il vettore dei bias (forma
(n_neurons, 1)).
Riempili con valori casuali da una distribuzione uniforme nell'intervallo [−1,1). Utilizza la funzione
np.random.uniform()per farlo. - Inizializza la matrice dei pesi (forma
-
Completa la propagazione in avanti dello strato (metodo
forward()):- Calcola i valori di output grezzi dei neuroni. Usa la funzione
np.dot()per il prodotto scalare; - Applica la funzione di attivazione agli output grezzi e restituisci il risultato.
- Calcola i valori di output grezzi dei neuroni. Usa la funzione
-
Definisci tre strati:
- Due strati nascosti: ciascuno deve avere
hidden_sizeneuroni e utilizzare la funzione di attivazionerelu; - Uno strato di output: deve utilizzare la funzione di attivazione
sigmoid.
- Due strati nascosti: ciascuno deve avere
Soluzione
Grazie per i tuoi commenti!
single