Notice: This page requires JavaScript to function properly.
Please enable JavaScript in your browser settings or update your browser.
Leer Uitdaging: Een Perceptron Maken | Neuraal Netwerk Vanaf Nul
Introductie tot Neurale Netwerken

bookUitdaging: Een Perceptron Maken

Aangezien het doel is om een multilayer perceptron te implementeren, zal het aanmaken van een Perceptron-klasse het initialiseren van het model vereenvoudigen. Het enige attribuut, layers, is in wezen een lijst van Layer-objecten die de structuur van het netwerk bepalen:

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

De variabelen die worden gebruikt om de lagen te initialiseren zijn als volgt:

  • input_size: het aantal invoerfeatures;
  • hidden_size: het aantal neuronen in elke verborgen laag (beide verborgen lagen hebben in dit geval hetzelfde aantal neuronen);
  • output_size: het aantal neuronen in de uitvoerlaag.

De structuur van de resulterende perceptron is als volgt:

Taak

Swipe to start coding

Het doel is om de basisstructuur van de perceptron op te zetten door de lagen te implementeren:

  1. Voltooi de initialisatie van de laag (__init__()-methode):

    • Initialiseer de gewichten-matrix (vorm is (n_neurons, n_neurons));
    • Initialiseer de biases-vector (vorm is (n_neurons, 1)).

    Vul deze met willekeurige waarden uit een uniforme verdeling in het bereik [1,1)[-1, 1). Gebruik hiervoor de functie np.random.uniform().

  2. Voltooi de voorwaartse propagatie van de laag (forward()-methode):

    • Bereken de ruwe outputwaarden van de neuronen. Gebruik de functie np.dot() voor het nemen van het inwendig product;
    • Pas de activatiefunctie toe op de ruwe outputs en retourneer het resultaat.
  3. Definieer drie lagen:

    • Twee verborgen lagen: elke laag bevat hidden_size neuronen en gebruikt de relu-activatiefunctie;
    • Eén outputlaag: deze gebruikt de sigmoid-activatiefunctie.

Oplossing

Was alles duidelijk?

Hoe kunnen we het verbeteren?

Bedankt voor je feedback!

Sectie 2. Hoofdstuk 4
single

single

Vraag AI

expand

Vraag AI

ChatGPT

Vraag wat u wilt of probeer een van de voorgestelde vragen om onze chat te starten.

Suggested prompts:

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?

close

Awesome!

Completion rate improved to 4

bookUitdaging: Een Perceptron Maken

Veeg om het menu te tonen

Aangezien het doel is om een multilayer perceptron te implementeren, zal het aanmaken van een Perceptron-klasse het initialiseren van het model vereenvoudigen. Het enige attribuut, layers, is in wezen een lijst van Layer-objecten die de structuur van het netwerk bepalen:

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

De variabelen die worden gebruikt om de lagen te initialiseren zijn als volgt:

  • input_size: het aantal invoerfeatures;
  • hidden_size: het aantal neuronen in elke verborgen laag (beide verborgen lagen hebben in dit geval hetzelfde aantal neuronen);
  • output_size: het aantal neuronen in de uitvoerlaag.

De structuur van de resulterende perceptron is als volgt:

Taak

Swipe to start coding

Het doel is om de basisstructuur van de perceptron op te zetten door de lagen te implementeren:

  1. Voltooi de initialisatie van de laag (__init__()-methode):

    • Initialiseer de gewichten-matrix (vorm is (n_neurons, n_neurons));
    • Initialiseer de biases-vector (vorm is (n_neurons, 1)).

    Vul deze met willekeurige waarden uit een uniforme verdeling in het bereik [1,1)[-1, 1). Gebruik hiervoor de functie np.random.uniform().

  2. Voltooi de voorwaartse propagatie van de laag (forward()-methode):

    • Bereken de ruwe outputwaarden van de neuronen. Gebruik de functie np.dot() voor het nemen van het inwendig product;
    • Pas de activatiefunctie toe op de ruwe outputs en retourneer het resultaat.
  3. Definieer drie lagen:

    • Twee verborgen lagen: elke laag bevat hidden_size neuronen en gebruikt de relu-activatiefunctie;
    • Eén outputlaag: deze gebruikt de sigmoid-activatiefunctie.

Oplossing

Switch to desktopSchakel over naar desktop voor praktijkervaringGa verder vanaf waar je bent met een van de onderstaande opties
Was alles duidelijk?

Hoe kunnen we het verbeteren?

Bedankt voor je feedback!

Sectie 2. Hoofdstuk 4
single

single

some-alt