Sfida: Creazione di un Percettrone
Per costruire un percettrone multistrato (MLP), è utile definire una classe Perceptron. Questa memorizza una lista di oggetti Layer che costituiscono la rete:
class Perceptron:
def __init__(self, layers):
self.layers = layers
L'MLP utilizzerà tre valori:
input_size: numero di caratteristiche in ingresso;hidden_size: numero di neuroni in ciascun livello nascosto;output_size: numero di neuroni nel livello di uscita.
Quindi, il modello è composto da:
- Un livello di input;
- Due livelli nascosti (stesso numero di neuroni, ReLU);
- Un livello di output (sigmoide).
Swipe to start coding
Il tuo compito è implementare la struttura di base di questo MLP.
1. Inizializzazione dei parametri del layer (__init__)
- Creare una matrice dei pesi di forma
(n_neurons, n_inputs); - Creare un vettore dei bias di forma
(n_neurons, 1); - Riempirli con valori casuali in [-1, 1) utilizzando
np.random.uniform().
2. Implementazione della propagazione in avanti (forward)
- Calcolare le uscite grezze dei neuroni:
np.dot(self.weights, self.inputs) + self.biases
- Applicare la funzione di attivazione assegnata e restituire l'output.
3. Definizione dei layer dell'MLP
- Due layer nascosti, ciascuno con
hidden_sizeneuroni e attivazione ReLU; - Un layer di output con
output_sizeneuroni e attivazione sigmoide.
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
Awesome!
Completion rate improved to 4
Sfida: Creazione di un Percettrone
Scorri per mostrare il menu
Per costruire un percettrone multistrato (MLP), è utile definire una classe Perceptron. Questa memorizza una lista di oggetti Layer che costituiscono la rete:
class Perceptron:
def __init__(self, layers):
self.layers = layers
L'MLP utilizzerà tre valori:
input_size: numero di caratteristiche in ingresso;hidden_size: numero di neuroni in ciascun livello nascosto;output_size: numero di neuroni nel livello di uscita.
Quindi, il modello è composto da:
- Un livello di input;
- Due livelli nascosti (stesso numero di neuroni, ReLU);
- Un livello di output (sigmoide).
Swipe to start coding
Il tuo compito è implementare la struttura di base di questo MLP.
1. Inizializzazione dei parametri del layer (__init__)
- Creare una matrice dei pesi di forma
(n_neurons, n_inputs); - Creare un vettore dei bias di forma
(n_neurons, 1); - Riempirli con valori casuali in [-1, 1) utilizzando
np.random.uniform().
2. Implementazione della propagazione in avanti (forward)
- Calcolare le uscite grezze dei neuroni:
np.dot(self.weights, self.inputs) + self.biases
- Applicare la funzione di attivazione assegnata e restituire l'output.
3. Definizione dei layer dell'MLP
- Due layer nascosti, ciascuno con
hidden_sizeneuroni e attivazione ReLU; - Un layer di output con
output_sizeneuroni e attivazione sigmoide.
Soluzione
Grazie per i tuoi commenti!
single