Artificial Neural Network (ANN) in Machine Learning – Data Science Central
On september 24, 2021 by adminArtificial Neural Networks – Introduction
Artificial Neural Networks (ANN) of neurale netwerken zijn computeralgoritmen.
Het is bedoeld om het gedrag te simuleren van biologische systemen die uit “neuronen” bestaan. ANN’s zijn computermodellen die zijn geïnspireerd op het centrale zenuwstelsel van een dier. Zij zijn in staat tot zowel machinaal leren als patroonherkenning. Zij worden voorgesteld als systemen van onderling verbonden “neuronen” die waarden kunnen berekenen uit inputs.
Een neuraal netwerk is een georiënteerde grafiek. Het bestaat uit knooppunten die in de biologische analogie neuronen voorstellen, verbonden door bogen. Het komt overeen met dendrieten en synapsen. Elke boog wordt geassocieerd met een gewicht terwijl bij elk knooppunt. De waarden ontvangen als input door het knooppunt en definiëren Activeringsfunctie langs de inkomende bogen, aangepast door de gewichten van de bogen.
Een neuraal netwerk is een machine learning algoritme gebaseerd op het model van een menselijk neuron. Het menselijk brein bestaat uit miljoenen neuronen. Zij zenden en verwerken signalen in de vorm van elektrische en chemische signalen. Deze neuronen zijn met elkaar verbonden door een speciale structuur die synapsen wordt genoemd. Synapsen stellen neuronen in staat signalen door te geven. Uit grote aantallen gesimuleerde neuronen vormen zich neurale netwerken.
Een Artificieel Neuraal Netwerk is een informatieverwerkingstechniek. Het werkt zoals de manier waarop de menselijke hersenen informatie verwerken. ANN omvat een groot aantal verbonden verwerkingseenheden die samenwerken om informatie te verwerken. Ze genereren er ook zinvolle resultaten uit.
We kunnen neuraal netwerk niet alleen voor classificatie toepassen. Het kan ook worden toegepast voor regressie van continue doel attributen.
Neurale netwerken vinden grote toepassing in data mining gebruikt in sectoren. Bijvoorbeeld economie, forensisch onderzoek, enz. en voor patroonherkenning. Het kan ook worden gebruikt voor gegevensclassificatie in een grote hoeveelheid gegevens na zorgvuldige training.
Een neuraal netwerk kan de volgende 3 lagen bevatten:
- Invoerlaag – De activiteit van de invoereenheden vertegenwoordigt de ruwe informatie die in het netwerk kan worden ingevoerd.
- Verborgen laag – Om de activiteit van elke verborgen eenheid te bepalen. De activiteit van de invoereenheden en de gewichten op de verbindingen tussen de invoereenheden en de verborgen eenheden. Er kunnen een of meer verborgen lagen zijn.
- Uitgangslaag – Het gedrag van de uitgangseenheden hangt af van de activiteit van de verborgen eenheden en de gewichten tussen de verborgen en uitgangseenheden.
Lagen van het kunstmatige neurale netwerk
Kunstmatige neurale netwerk is typisch georganiseerd in lagen. Lagen worden opgebouwd uit vele onderling verbonden “nodes” die een “activeringsfunctie” bevatten. Een neuraal netwerk kan de volgende 3 lagen bevatten:
a. Invoerlaag
Het doel van de invoerlaag is de waarden van de verklarende attributen voor elke waarneming als invoer te ontvangen. Gewoonlijk is het aantal inputknooppunten in een inputlaag gelijk aan het aantal verklarende variabelen. De “inputlaag” presenteert de patronen aan het netwerk, dat deze doorgeeft aan een of meer “verborgen lagen”.
De knooppunten van de inputlaag zijn passief, d.w.z. dat zij de gegevens niet veranderen. Zij ontvangen een enkele waarde op hun invoer en dupliceren de waarde naar hun vele uitgangen. Vanuit de ingangslaag wordt elke waarde gedupliceerd en naar alle verborgen knooppunten gezonden.
b. Verborgen laag
De verborgen lagen passen gegeven transformaties toe op de invoerwaarden binnen het netwerk. Hierbij worden inkomende bogen die van andere verborgen knooppunten of van invoerknooppunten afkomstig zijn, met elk knooppunt verbonden. Het verbindt met uitgaande bogen naar output nodes of naar andere verborgen nodes. In de verborgen laag vindt de eigenlijke verwerking plaats via een systeem van gewogen “verbindingen”. Er kunnen een of meer verborgen lagen zijn. De waarden die een verborgen knooppunt binnenkomen, worden vermenigvuldigd met gewichten, een reeks vooraf bepaalde getallen die in het programma zijn opgeslagen. De gewogen ingangen worden dan opgeteld om één getal te produceren.
c. Uitgangslaag
De verborgen lagen vormen dan een verbinding met een “uitgangslaag”. De outputlaag ontvangt verbindingen van verborgen lagen of van inputlaag. Zij geeft een uitvoerwaarde terug die overeenkomt met de voorspelling van de responsvariabele. Bij classificatieproblemen is er gewoonlijk slechts één uitvoerknooppunt. De actieve knooppunten van de uitgangslaag combineren en veranderen de gegevens om de uitgangswaarden te produceren.
Het vermogen van het neurale netwerk om nuttige gegevensmanipulatie te leveren ligt in de juiste selectie van de gewichten. Dit is anders dan bij conventionele informatieverwerking.
Structuur van een neuraal netwerk
De structuur van een neuraal netwerk wordt ook wel de “architectuur” of “topologie” genoemd. Het bestaat uit het aantal lagen, Elementaire eenheden. Het bestaat ook uit het Interconchangend Gewichtsaanpassingsmechanisme. De keuze van de structuur bepaalt de resultaten die zullen worden verkregen. Het is het meest kritische deel van de implementatie van een neuraal netwerk.
De eenvoudigste structuur is die waarin de eenheden verdeeld zijn over twee lagen: Een inputlaag en een outputlaag. Elke eenheid in de inputlaag heeft een enkele input en een enkele output die gelijk is aan de input. De output-unit heeft alle units van de input-laag verbonden met zijn input, met een combinatie-functie en een transfer-functie. Er kan meer dan 1 uitgangseenheid zijn. In dit geval is het resulterende model een lineaire of logistische regressie, afhankelijk van het feit of de overdrachtsfunctie lineair of logistisch is. De gewichten van het netwerk zijn regressie coëfficiënten.
Door het toevoegen van 1 of meer verborgen lagen tussen de input en output lagen en eenheden in deze laag neemt de voorspellende kracht van het neurale netwerk toe. Maar het aantal verborgen lagen moet zo klein mogelijk zijn. Dit zorgt ervoor dat het neurale netwerk niet alle informatie van de leerset opslaat, maar kan generaliseren om overfitting te voorkomen.
Overfitting kan voorkomen. Dit gebeurt wanneer de gewichten ervoor zorgen dat het systeem details van de leerset leert in plaats van structuren te ontdekken. Dit gebeurt wanneer de grootte van de leerset te klein is in verhouding tot de complexiteit van het model.
Een verborgen laag is aanwezig of niet, de uitvoerlaag van het netwerk kan soms veel eenheden hebben, wanneer er veel klassen te voorspellen zijn.
Voordelen en Nadelen van Neurale Netwerken
Laten we eens kijken naar enkele voordelen en nadelen van neurale netwerken:
- Neurale netwerken presteren goed met lineaire en niet-lineaire gegevens, maar een veelgehoorde kritiek op neurale netwerken, met name in de robotica, is dat ze een grote diversiteit aan training vereisen voor echte werking. Dit is zo omdat elke lerende machine voldoende representatieve voorbeelden nodig heeft om de onderliggende structuur vast te leggen die het mogelijk maakt om te generaliseren naar nieuwe gevallen.
- Neurale netwerken werken zelfs als een of enkele eenheden niet reageren op het netwerk, maar om grote en effectieve software neurale netwerken te implementeren, moeten veel verwerkings- en opslagmiddelen worden ingezet. Terwijl de hersenen hebben hardware op maat van de taak van het verwerken van signalen door middel van een grafiek van neuronen, kan het simuleren van zelfs een meest vereenvoudigde vorm op Von Neumann technologie dwingen een neuraal netwerk ontwerper om miljoenen database rijen te vullen voor de verbindingen – die enorme hoeveelheden computergeheugen en harde schijfruimte kan verbruiken.
- Neuraal netwerk leert van de geanalyseerde gegevens en vereist geen herprogrammering, maar ze worden aangeduid als black box” modellen, en bieden zeer weinig inzicht in wat deze modellen werkelijk doen. De gebruiker hoeft het alleen maar input te geven en te kijken hoe het traint en de output af te wachten.
Conclusie
ANN’s worden beschouwd als eenvoudige wiskundige modellen om bestaande data-analyse technologieën te verbeteren. Hoewel het niet vergelijkbaar is met de kracht van het menselijk brein, is het toch de basisbouwsteen van de Kunstmatige intelligentie.
Geef een antwoord