Back Propagation in Neural Network: Machine Learning Algorithm
Innan vi lär oss Back Propagation Neural Network (BPNN), låt oss förstå:
Vad är artificiella neurala nätverk?
Ett neuralt nätverk är en grupp anslutna I/O-enheter där varje anslutning har en vikt kopplad till sina datorprogram. Det hjälper dig att bygga prediktiva modeller från stora databaser. Denna modell bygger på det mänskliga nervsystemet. Det hjälper dig att bedriva bildförståelse, mänskligt lärande, datortal, etc.
Vad är Backpropagation?
backpropagation är kärnan i neurala nätverksträning. Det är metoden för att finjustera vikterna för ett neuralt nätverk baserat på felfrekvensen som erhölls under föregående epok (dvs iteration). Korrekt inställning av vikterna gör att du kan minska felfrekvensen och göra modellen tillförlitlig genom att öka dess generalisering.
Backpropagation i neurala nätverk är en kortform för "bakåtspridning av fel." Det är en standardmetod för att träna artificiella neurala nätverk. Denna metod hjälper till att beräkna gradienten för en förlustfunktion med avseende på alla vikter i nätverket.
Hur Backpropagation Algoritm fungerar
Algoritmen för bakåtutbredning i neurala nätverk beräknar gradienten för förlustfunktionen för en enda vikt genom kedjeregeln. Den beräknar effektivt ett lager i taget, till skillnad från en inbyggd direktberäkning. Den beräknar gradienten, men den definierar inte hur gradienten används. Det generaliserar beräkningen i deltaregeln.
Tänk på följande exempeldiagram för bakåtpropagation av neurala nätverk för att förstå:
- Ingångarna X kommer via den föranslutna vägen
- Indata modelleras med hjälp av verkliga vikter W. Vikterna väljs vanligtvis slumpmässigt.
- Beräkna utdata för varje neuron från ingångslagret, till de dolda lagren, till utdatalagret.
- Beräkna felet i utgångarna
ErrorB= Actual Output – Desired Output
- Åk tillbaka från utdatalagret till det dolda lagret för att justera vikterna så att felet minskar.
Fortsätt att upprepa processen tills önskad effekt uppnås
Varför behöver vi backpropagation?
De mest framträdande fördelarna med Backpropagation är:
- Backpropagation är snabb, enkel och lätt att programmera
- Den har inga parametrar att ställa in förutom antalet indata
- Det är en flexibel metod då den inte kräver förkunskaper om nätverket
- Det är en standardmetod som överlag fungerar bra
- Det behöver inte nämnas något speciellt om funktionerna i funktionen för att läras in.
Vad är ett feed Forward-nätverk?
Ett feedforward neuralt nätverk är ett artificiellt neuralt nätverk där noderna aldrig bildar en cykel. Den här typen av neurala nätverk har ett indatalager, dolda lager och ett utdatalager. Det är den första och enklaste typen av konstgjorda neurala nätverk.
Typer av nätverk för backpropagation
Två typer av backpropagation-nätverk är:
- Statisk Back-propagation
- Återkommande backpropagation
Statisk bakåtspridning
Det är en typ av backpropagation-nätverk som producerar en mappning av en statisk ingång för statisk utgång. Det är användbart för att lösa problem med statisk klassificering som optisk teckenigenkänning.
Återkommande backpropagation
Återkommande backpropagation i datautvinning matas framåt tills ett fast värde uppnås. Därefter beräknas felet och sprids bakåt.
Huvudskillnaden mellan båda dessa metoder är: att kartläggningen är snabb vid statisk återförökning medan den är ickestatisk vid återkommande återförökning.
Bakåtförökningens historia
- 1961 härleddes grundkonceptet för kontinuerlig backpropagation inom ramen för kontrollteorin av J. Kelly, Henry Arthur och E. Bryson.
- 1969 gav Bryson och Ho en dynamisk systemoptimeringsmetod i flera steg.
- 1974 angav Werbos möjligheten att tillämpa denna princip i ett artificiellt neuralt nätverk.
- 1982 kom Hopfield med sin idé om ett neuralt nätverk.
- 1986, genom insatser av David E. Rumelhart, Geoffrey E. Hinton, Ronald J. Williams, fick bakåtpropagation erkännande.
- 1993 var Wan den första personen som vann en internationell tävling för mönsterigenkänning med hjälp av bakåtförökningsmetoden.
Nyckelpunkter för bakåtpropagation
- Förenklar nätverksstrukturen genom elementviktade länkar som har minst effekt på det tränade nätverket
- Du måste studera en grupp av inmatnings- och aktiveringsvärden för att utveckla förhållandet mellan indata och dolda enhetslager.
- Det hjälper till att bedöma vilken inverkan en given indatavariabel har på en nätverksutgång. Kunskapen från denna analys bör representeras i regler.
- Backpropagation är särskilt användbart för djupa neurala nätverk som arbetar med felbenägna projekt, som bild- eller taligenkänning.
- Backpropagation drar fördel av kedjan och kraftreglerna tillåter backpropagation att fungera med valfritt antal utgångar.
Bästa praxis Backpropagation
Backpropagation i neurala nätverk kan förklaras med hjälp av "Shoe Lace" analogi
För lite spänning =
- Inte tillräckligt begränsande och väldigt löst
För mycket spänning =
- För mycket begränsning (överträning)
- Tar för mycket tid (relativt långsam process)
- Högre sannolikhet att gå sönder
Dra en spets mer än andra =
- Obehag (bias)
Nackdelar med att använda Backpropagation
- Den faktiska prestandan för backpropagation på ett specifikt problem är beroende av indata.
- Algoritm för återförökning i datautvinning kan vara ganska känslig för brusig data
- Du måste använda den matrisbaserade metoden för backpropagation istället för mini-batch.
Sammanfattning
- Ett neuralt nätverk är en grupp av anslutna it I/O-enheter där varje anslutning har en vikt kopplad till sina datorprogram.
- Backpropagation är en kort form för "bakåtspridning av fel." Det är en standardmetod för att träna artificiella neurala nätverk
- Tillbaka spridningsalgoritm in maskininlärning är snabbt, enkelt och lätt att programmera
- Ett feedforward BPN-nätverk är ett artificiellt neuralt nätverk.
- Två typer av nätverk för återförökning är 1) Statisk återförökning 2) Återkommande återförökning
- 1961 härleddes grundkonceptet för kontinuerlig backpropagation inom ramen för kontrollteorin av J. Kelly, Henry Arthur och E. Bryson.
- Ryggförökning in data mining förenklar nätverksstrukturen genom att ta bort viktade länkar som har en minimal effekt på det tränade nätverket.
- Det är särskilt användbart för djupa neurala nätverk som arbetar med felbenägna projekt, som bild- eller taligenkänning.
- Den största nackdelen med Backpropagation är att den kan vara känslig för bullriga data.