Utmaning: Skapa en Perceptron
Eftersom vårt mål är att implementera en multilagerperceptron kommer skapandet av en Perceptron
-klass att förenkla modellinitieringen. Dess enda attribut, layers
, är i huvudsak en lista av Layer
-objekt som definierar nätverkets struktur:
class Perceptron:
def __init__(self, layers):
self.layers = layers
Variablerna som används för att initiera lagren är följande:
input_size
: antalet inmatningsfunktioner;hidden_size
: antalet neuroner i varje dolt lager (båda dolda lagren kommer i detta fall att ha samma antal neuroner);output_size
: antalet neuroner i utgångslagret.
Strukturen för den resulterande perceptronen bör vara enligt följande:
Swipe to start coding
Målet är att skapa den grundläggande strukturen för perceptronen genom att implementera dess lager:
-
Slutför lagerinitieringen (
__init__()
-metoden):- Initiera viktsmatrisen (formen är
(n_neurons, n_neurons)
); - Initiera biasvektorn (formen är
(n_neurons, 1)
).
Fyll dessa med slumpmässiga värden från en uniform fördelning inom intervallet [−1,1). Använd funktionen
np.random.uniform()
för detta. - Initiera viktsmatrisen (formen är
-
Slutför lagrets framåtriktade propagationsmetod (
forward()
):- Beräkna råa utgångsvärden för neuronerna. Använd funktionen
np.dot()
för skalärprodukt; - Applicera aktiveringsfunktionen på de råa utgångarna och returnera resultatet.
- Beräkna råa utgångsvärden för neuronerna. Använd funktionen
-
Definiera tre lager:
- Två dolda lager: varje lager ska ha
hidden_size
neuroner och använda aktiveringsfunktionenrelu
; - Ett utgångslager: detta ska använda aktiveringsfunktionen
sigmoid
.
- Två dolda lager: varje lager ska ha
Lösning
Tack för dina kommentarer!
single
Fråga AI
Fråga AI
Fråga vad du vill eller prova någon av de föreslagna frågorna för att starta vårt samtal
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
Utmaning: Skapa en Perceptron
Svep för att visa menyn
Eftersom vårt mål är att implementera en multilagerperceptron kommer skapandet av en Perceptron
-klass att förenkla modellinitieringen. Dess enda attribut, layers
, är i huvudsak en lista av Layer
-objekt som definierar nätverkets struktur:
class Perceptron:
def __init__(self, layers):
self.layers = layers
Variablerna som används för att initiera lagren är följande:
input_size
: antalet inmatningsfunktioner;hidden_size
: antalet neuroner i varje dolt lager (båda dolda lagren kommer i detta fall att ha samma antal neuroner);output_size
: antalet neuroner i utgångslagret.
Strukturen för den resulterande perceptronen bör vara enligt följande:
Swipe to start coding
Målet är att skapa den grundläggande strukturen för perceptronen genom att implementera dess lager:
-
Slutför lagerinitieringen (
__init__()
-metoden):- Initiera viktsmatrisen (formen är
(n_neurons, n_neurons)
); - Initiera biasvektorn (formen är
(n_neurons, 1)
).
Fyll dessa med slumpmässiga värden från en uniform fördelning inom intervallet [−1,1). Använd funktionen
np.random.uniform()
för detta. - Initiera viktsmatrisen (formen är
-
Slutför lagrets framåtriktade propagationsmetod (
forward()
):- Beräkna råa utgångsvärden för neuronerna. Använd funktionen
np.dot()
för skalärprodukt; - Applicera aktiveringsfunktionen på de råa utgångarna och returnera resultatet.
- Beräkna råa utgångsvärden för neuronerna. Använd funktionen
-
Definiera tre lager:
- Två dolda lager: varje lager ska ha
hidden_size
neuroner och använda aktiveringsfunktionenrelu
; - Ett utgångslager: detta ska använda aktiveringsfunktionen
sigmoid
.
- Två dolda lager: varje lager ska ha
Lösning
Tack för dina kommentarer!
single