AI-For-Beginners/translations/sv/lessons/3-NeuralNetworks/03-Perceptron
localizeflow[bot] c55d809b23 chore(i18n): sync translations with latest source changes (chunk 1/1, 201 changes) 2026-01-30 02:00:53 +00:00
..
lab chore(i18n): sync translations with latest source changes (chunk 1/1, 201 changes) 2026-01-30 02:00:53 +00:00
Perceptron.ipynb 🌐 Update translations via Co-op Translator 2025-12-12 20:42:50 +00:00
README.md chore(i18n): sync translations with latest source changes (chunk 1/1, 201 changes) 2026-01-30 02:00:53 +00:00

README.md

Introduktion till neurala nÀtverk: Perceptron

Quiz före förelÀsning

Ett av de första försöken att implementera nÄgot liknande ett modernt neuralt nÀtverk gjordes av Frank Rosenblatt frÄn Cornell Aeronautical Laboratory Är 1957. Det var en hÄrdvaruimplementation som kallades "Mark-1", designad för att kÀnna igen enkla geometriska figurer, sÄsom trianglar, kvadrater och cirklar.

Frank Rosenblatt The Mark 1 Perceptron

Bilder frÄn Wikipedia

En inmatningsbild representerades av en 20x20 fotocellmatris, vilket innebar att det neurala nÀtverket hade 400 ingÄngar och en binÀr utgÄng. Ett enkelt nÀtverk innehöll en neuron, Àven kallad en tröskellogikenhet. Vikterna i det neurala nÀtverket fungerade som potentiometrar som behövde justeras manuellt under trÀningsfasen.

✅ En potentiometer Ă€r en enhet som gör det möjligt att justera motstĂ„ndet i en krets.

The New York Times skrev om perceptron vid den tiden: embryot till en elektronisk dator som [marinen] förvÀntar sig ska kunna gÄ, prata, se, skriva, reproducera sig sjÀlv och vara medveten om sin existens.

Perceptronmodell

Anta att vi har N funktioner i vÄr modell, vilket innebÀr att inmatningsvektorn skulle vara en vektor av storlek N. Ett perceptron Àr en modell för binÀr klassificering, det vill sÀga den kan skilja mellan tvÄ klasser av indata. Vi antar att för varje inmatningsvektor x kommer utgÄngen frÄn vÄrt perceptron att vara antingen +1 eller -1, beroende pÄ klassen. UtgÄngen berÀknas med formeln:

y(x) = f(wTx)

dÀr f Àr en stegaktiveringsfunktion

TrÀning av perceptron

För att trÀna ett perceptron behöver vi hitta en viktvektor w som klassificerar de flesta vÀrden korrekt, det vill sÀga resulterar i det minsta felet. Detta fel E definieras av perceptronkriteriet pÄ följande sÀtt:

E(w) = -∑wTxiti

dÀr:

  • summan tas över de trĂ€ningsdatapunkter i som resulterar i fel klassificering
  • xi Ă€r indata, och ti Ă€r antingen -1 eller +1 för negativa respektive positiva exempel.

Detta kriterium betraktas som en funktion av vikterna w, och vi behöver minimera det. Ofta anvÀnds en metod som kallas gradientnedstigning, dÀr vi börjar med nÄgra initiala vikter w(0), och sedan vid varje steg uppdaterar vikterna enligt formeln:

w(t+1) = w(t) - η∇E(w)

HĂ€r Ă€r η den sĂ„ kallade inlĂ€rningshastigheten, och ∇E(w) betecknar gradienten av E. Efter att vi har berĂ€knat gradienten fĂ„r vi:

w(t+1) = w(t) + ∑ηxiti

Algoritmen i Python ser ut sÄ hÀr:

def train(positive_examples, negative_examples, num_iterations = 100, eta = 1):

    weights = [0,0,0] # Initialize weights (almost randomly :)
        
    for i in range(num_iterations):
        pos = random.choice(positive_examples)
        neg = random.choice(negative_examples)

        z = np.dot(pos, weights) # compute perceptron output
        if z < 0: # positive example classified as negative
            weights = weights + eta*weights.shape

        z  = np.dot(neg, weights)
        if z >= 0: # negative example classified as positive
            weights = weights - eta*weights.shape

    return weights

Slutsats

I denna lektion lÀrde du dig om ett perceptron, som Àr en modell för binÀr klassificering, och hur man trÀnar det genom att anvÀnda en viktvektor.

🚀 Utmaning

Om du vill prova att bygga ditt eget perceptron, testa detta labb pÄ Microsoft Learn som anvÀnder Azure ML designer.

Quiz efter förelÀsning

Granskning & SjÀlvstudier

För att se hur vi kan anvÀnda perceptron för att lösa ett enkelt problem samt verkliga problem, och för att fortsÀtta lÀra dig - gÄ till Perceptron-notebook.

HÀr Àr en intressant artikel om perceptrons.

Uppgift

I denna lektion har vi implementerat ett perceptron för en binÀr klassificeringsuppgift, och vi har anvÀnt det för att klassificera mellan tvÄ handskrivna siffror. I detta labb ombeds du att lösa problemet med sifferklassificering helt och hÄllet, det vill sÀga att avgöra vilken siffra som mest sannolikt motsvarar en given bild.