- Leren
- Informatica & ICT
- Informatica
- Kunstmatige intelligentie
- Neurale netwerken
Leren van gegevens en neurale netwerken
GemiddeldLes 9 van 10 in Cursus Kunstmatige intelligentie
Wat je leert
- Beschrijf wat een lerend programma ontvangt, wat het oplevert en hoe de kwaliteit wordt gemeten: gelabelde voorbeelden, kenmerken, hypothesen, verlies en prestaties op nieuwe gegevens.
- Beschrijf de taak voor gesuperviseerd lerenBenoem de onderdelen van een probleem voor gesuperviseerd leren, onderscheid classificatie van regressie en leg uit waarom een geleerde hypothese wordt beoordeeld op voorbeelden die ze niet heeft gezien.
- Geef voorbeelden weer met kenmerken en meet het verliesZet invoer om in kenmerkvectoren, bereken gewogen scores met een inwendig product en meet de fouten van een hypothese met een verliesfunctie.
- Beschrijf de taak voor gesuperviseerd leren
- Bouw een probabilistische classificator met de regel van Bayes en een aanname van voorwaardelijke onafhankelijkheid, schat de kansen door te tellen en te gladden en pas de classificator toe op tekst.
- Doe voorspellingen met het naïeve BayesmodelBeschrijf de aanname van naïeve Bayes, bereken klassenscores en a-posteriorikansen voor een voorbeeld en voer de berekening uit met logaritmen.
- Schat de kansen voor naïeve Bayes op basis van gegevensSchat de a-priorikansen en voorwaardelijke kansen door te tellen, bekijk waarom een telling van nul het model ontregelt en herstel dit met Laplacegladding.
- Classificeer tekst met een woordzakmodelGeef documenten weer met woordtellingen, classificeer ze met multinomiale naïeve Bayes en logaritmen en herken wat het model buiten beschouwing laat.
- Doe voorspellingen met het naïeve Bayesmodel
- Scheid klassen met een gewogen som van kenmerken, leer de gewichten met de perceptronregel en zet scores om in kansen met logistische regressie.
- Interpreteer lineaire beslissingsgrenzenBereken de score en voorspelling van een lineaire classificator, beschrijf de beslissingsgrens en bepaal of een gegevensverzameling lineair scheidbaar is.
- Leer gewichten met de perceptronregelVoer de perceptronleerregel met de hand uit, leg uit wanneer die convergeert en wat er gebeurt als dat niet lukt, en breid de regel uit naar meerdere klassen.
- Voorspel kansen met logistische regressieGebruik de sigmoïdefunctie om een lineaire score in een kans om te zetten, interpreteer de gewichten als veranderingen in de logaritmische kansverhouding, meet de aanpassing met logaritmisch verlies en breid het model met softmax uit naar veel klassen.
- Interpreteer lineaire beslissingsgrenzen
- Behandel training als het minimaliseren van een verlies, bereken gradiënten, kies een leersnelheid en train modellen met stochastische gradiëntafdaling en gradiëntafdaling met minibatches.
- Minimaliseer het verlies met behulp van de gradiëntBereken partiële afgeleiden en gradiënten, pas de actualisatie van gradiëntafdaling met de hand toe en bekijk hoe de leersnelheid en de vorm van de verliesfunctie het resultaat beïnvloeden.
- Train met stochastische gradiëntafdaling en gradiëntafdaling met minibatchesVergelijk gradiëntafdaling over de volledige trainingsverzameling, stochastische gradiëntafdaling en gradiëntafdaling met minibatches, leid de actualisatie voor logistische regressie af en pas die toe, en leg het verband met de perceptronregel.
- Minimaliseer het verlies met behulp van de gradiënt
- Bereken de uitvoer van een voorwaarts neuraal netwerk, bepaal met terugpropagatie de gradiënt voor elk gewicht en train netwerken in de praktijk.
- Bereken de uitvoer van een voorwaarts neuraal netwerkBeschrijf eenheden, activatiefuncties en lagen, voer met de hand een voorwaartse doorloop uit en leg uit waarom verborgen lagen met niet-lineaire activaties netwerken expressiever maken dan lineaire modellen.
- Bereken gradiënten met terugpropagatiePas de kettingregel toe op een rekengraaf om de gradiënt van het verlies naar elk gewicht te bepalen, controleer die numeriek en herken verdwijnende gradiënten.
- Train een neuraal netwerk in de praktijkZet de trainingslus op, initialiseer gewichten verstandig, kies hyperparameters en lees trainingscurven af om veelvoorkomende problemen te herkennen.
- Bereken de uitvoer van een voorwaarts neuraal netwerk
- Onderscheid overfitting van underfitting met trainingsresultaten en resultaten op apart gehouden gegevens, leg het verband met modelcomplexiteit en gegevens en verminder overfitting met regularisatie, vroegtijdig stoppen en drop-out.
- Stel overfitting en underfitting vastVergelijk prestaties op trainingsgegevens en apart gehouden gegevens om overfitting en underfitting te herkennen en leg uit hoe modelcomplexiteit en de hoeveelheid gegevens generalisatie beïnvloeden.
- Voorkom overfitting met regularisatieVoeg L2- of L1-straftermen toe aan het verlies, gebruik vroegtijdig stoppen en drop-out, breid de gegevens uit met augmentatie en kies de regularisatiesterkte op basis van validatiegegevens.
- Stel overfitting en underfitting vast
Neurale netwerken: uitleg
1Formuleer een probleem voor gesuperviseerd leren
Leren begint met een voorspellingstaak: wat beschrijft één geval, welk antwoord is gewenst en hoe wordt een fout gemeten? Deze keuzes bepalen de voorbeelden en de familie van regels die het programma kan leren. Zet invoer om in geordende kenmerkvectoren, bereken gewogen scores en onderscheid het aanpassen aan een trainingssteekproef van goed presteren op nieuwe gevallen. Dezelfde basisopzet ondersteunt kansmodellen, lineaire classificatoren en neurale netwerken.
1.1 Beschrijf de taak voor gesuperviseerd leren
Een lerend programma ontvangt voorbeelden van het gedrag dat het moet leren. Bij gesuperviseerd leren koppelt elk voorbeeld een invoer aan de juiste uitvoer, het label. De geleerde regel moet ook werken op invoer die tijdens de training ontbrak.
Bepaal de taak en de labels
Schrijf een trainingsverzameling als . De invoer beschrijft één geval; het label geeft het antwoord voor dat geval. Een onbekende doelfunctie beschrijft het onderliggende verband. Bij labels zonder ruis geldt . Het programma kiest een hypothese om dat verband te benaderen.
Voor een spamfilter is één geval een e-mail. De invoer kan beschrijven of de e-mail “gratis” bevat, hoeveel links erin staan en of de afzender een contact is. Het label is spam of gewenste e-mail. Een trainingsverzameling kan 5.000 gelabelde e-mails bevatten; het uiteindelijke filter wordt geëvalueerd op 1.000 andere gelabelde e-mails.
| Taak | Uitvoer | Voorbeeld |
|---|---|---|
| Binaire classificatie | Een van twee klassen | Spam of gewenste e-mail |
| Meerklassenclassificatie | Een van meerdere klassen | Een cijfer van 0 tot en met 9 |
| Regressie | Een numerieke grootheid | Neerslag in millimeters |
De uitvoer bepaalt de taak. “Valt er meer dan 5 mm regen?” vraagt om een klasse; “Hoeveel millimeter valt er?” vraagt om een getal. Een geheel getal als uitvoer kan nog steeds een klasse zijn: het cijfer 7 geeft een categorie aan, niet zeven keer het cijfer 1.
Gesuperviseerd leren gebruikt gelabelde voorbeelden. Ongesuperviseerd leren zoekt zonder labels naar structuur, zoals klantclusters. Bekrachtigingsleren gebruikt beloningen die op de acties van een agent volgen. Betrouwbare labels maken kan veel menselijk werk vergen.
Kies een familie van mogelijke regels
De hypotheseruimte is de familie waarin het programma kan zoeken, zoals lineaire classificatoren die bepaalde kenmerken gebruiken. Geleerde parameters, waaronder gewichten of voorwaardelijke kansen, selecteren één lid van die familie. Een doelfunctie buiten de familie kan zelfs met onbeperkte gegevens niet exact worden weergegeven.
Een hyperparameter bepaalt een instelling van het leerproces: voorbeelden zijn een leersnelheid of het aantal verborgen eenheden. Tijdens de training worden parameters afgesteld. Vergelijkingen op validatiegegevens helpen bij het kiezen van hyperparameters. Flexibelere families vatten meer patronen, maar bieden ook meer manieren om zich aan ruis aan te passen.
Beoordeel voorspellingen op nieuwe gevallen
De trainingsfout meet de aanpassing aan voorbeelden die voor het leren zijn gebruikt. Een regel die elke trainingsmail uit het hoofd leert, kan een trainingsfout van nul hebben en toch falen op nieuwe berichten. Gebruik een validatieverzameling voor modelkeuzes en houd een afzonderlijke testverzameling achter voor de eindbeoordeling.
Voor een classificator is de foutfractie het aantal verkeerde voorspellingen gedeeld door het aantal geteste voorbeelden. Drie fouten onder 40 e-mails geven
De relatie met toekomstige prestaties hangt af van de manier van steekproeftrekking. Onafhankelijk en identiek verdeelde, of i.i.d., voorbeelden zijn onafhankelijke trekkingen uit dezelfde verdeling. Als toekomstige spam heel andere woorden gebruikt, vertegenwoordigt de oude testverzameling die toekomstige stroom niet langer. Rapporteer het resultaat op apart gehouden gegevens voor de populatie die ze daadwerkelijk vertegenwoordigen.
Belangrijkste punten
- Gesuperviseerd leren past een hypothese aan op basis van invoer-labelparen.
- Classificatie voorspelt een klasse; regressie voorspelt een numerieke grootheid.
- Parameters worden geleerd; hyperparameters bepalen de opzet van het leerproces.
- Gebruik validatiegegevens voor keuzes en ongebruikte testgegevens voor de eindbeoordeling.
- Generalisatie naar toekomstige gevallen hangt af van representatieve steekproeftrekking.
1.2 Geef voorbeelden weer met kenmerken en meet het verlies
Modellen werken met een numerieke beschrijving van elk geval. De keuze en volgorde van deze kenmerken bepalen wat een model kan opmerken. Een verlies geeft vervolgens aan hoe kostbaar de voorspellingen zijn voor het leerproces.
Stel een kenmerkvector samen
Een kenmerk kan binair zijn, een telling zijn of een gemeten getal zijn. “Bevat gratis” wordt 0 of 1, een aantal links kan 4 zijn en een vloeroppervlakte kan 85 m² zijn. Houd dezelfde volgorde van kenmerken aan voor training en voorspelling. Een grijswaardenafbeelding van 28 bij 28 pixels levert pixelkenmerken op.
Gebruik voor een categorie zonder numerieke volgorde one-hotcodering. Voor rood, groen en blauw zijn de vectoren , en . De codes 1, 2 en 3 zouden deze kleuren een kunstmatige volgorde en onderlinge afstand opleggen.
Combineer kenmerken tot een score
Een inwendig product vermenigvuldigt overeenkomstige gewichten en kenmerken en telt die vervolgens op:
Voor en is de score
Een positief gewicht verhoogt de score als het kenmerk toeneemt; een negatief gewicht verlaagt die. De grootte van een gewicht beschrijft de gevoeligheid per eenheid van het kenmerk, dus wees voorzichtig met het vergelijken van groottes tussen kenmerken met verschillende schalen.
De biasterm verschuift de score onafhankelijk van de variërende invoer. Neem een constant eerste kenmerk op en laat het bijbehorende gewicht zijn. Zo bevat het biastermkenmerk; het is geen extra gemeten eigenschap. Het model kan dan een beslissingsgrens verschuiven zonder de andere gewichten te veranderen.
Meet de kosten van een voorspelling
Een verliesfunctie vergelijkt een voorspelling met het label. Verschillende verliesfuncties drukken verschillende kosten uit:
| Verlies | Berekening | Effect |
|---|---|---|
| 0/1 | 0 indien juist, 1 indien onjuist | Telt classificatiefouten |
| Kwadratisch | Geeft grote fouten extra gewicht | |
| Absoluut | Groeit direct met de grootte van de fout |
Bij een werkelijke temperatuur van 10 °C en een voorspelling van 7 °C is het kwadratisch verlies 9 en het absolute verlies 3. Een fout van 6 heeft een kwadratisch verlies van 36, vier keer het verlies bij een fout van 3. Het gemiddelde 0/1-verlies is de classificatiefoutfractie.
Empirisch verlies is het gemiddelde verlies op de trainingssteekproef. Voorspellingen voor labels geven kwadratische fouten 1, 0 en 4, dus een gemiddelde kwadratische fout van . Tel de verliezen op voordat je door het aantal voorbeelden deelt.
Generalisatieverlies is het verwachte verlies op nieuwe voorbeelden uit dezelfde verdeling. Door empirisch verlies te minimaliseren kan een model zich aanpassen aan toevallige details van de steekproef. Irrelevante kenmerken geven een lerend programma meer mogelijkheden om dit te doen; bijna identieke kenmerken kunnen bij naïeve Bayes ook hetzelfde bewijsmateriaal twee keer meetellen. Het scheermes van Ockham geeft de voorkeur aan een eenvoudigere hypothese als alternatieven ongeveer even goed passen, omdat extra flexibiliteit ondersteuning door gegevens vereist.
Belangrijkste punten
- De volgorde en codering van kenmerken moeten bij alle voorbeelden gelijk blijven.
- One-hotcodering geeft ongeordende categorieën weer zonder kunstmatige rangorde.
- Een inwendig product telt gewogen bijdragen van kenmerken op; het constante kenmerk draagt de biasterm.
- Kwadratisch verlies legt sterker de nadruk op grote fouten dan absoluut verlies.
- Empirisch verlies is een gemiddelde over een steekproef; generalisatieverlies heeft betrekking op nieuwe voorbeelden.
- Meer kenmerken kunnen meer mogelijkheden bieden om zich aan ruis aan te passen.
2Classificeer met naïeve Bayes
Naïeve Bayes leert bewijsmateriaal voor klassen door te tellen en combineert dat bewijsmateriaal met de regel van Bayes. Ga van een aanname van voorwaardelijke onafhankelijkheid naar klassenscores en normaliseer die vervolgens of vergelijk hun logaritmen. Tellingen brengen een praktisch probleem mee: een niet-waargenomen uitkomst krijgt kans nul. Gladding verhelpt dat probleem en het tekstmodel laat zien waarom je documenttellingen, tokentellingen, afwezige binaire kenmerken en herhaalde woorden moet onderscheiden.
2.1 Doe voorspellingen met het naïeve Bayesmodel
Naïeve Bayes combineert de beginkans van een klasse met het bewijsmateriaal uit een invoer. De vereenvoudigende aanname maakt het mogelijk een groot kansmodel te leren uit relatief kleine steekproeven.
Ontbind het bewijsmateriaal per klasse
Het model neemt aan dat kenmerken voorwaardelijk onafhankelijk zijn gegeven de klasse. Voor een klassevariabele en meerdere kenmerken geldt:
Een bayesiaans netwerk toont de klasse als ouderknoop van elk kenmerk. De onafhankelijkheid is voorwaardelijk: kenmerken kunnen in het geheel sterk samenhangen doordat ze allebei van de klasse afhangen. Voor 100 binaire kenmerken heeft een volledige gezamenlijke kansentabel van de kenmerken vrije kansen per klasse nodig. Naïeve Bayes heeft slechts 100 kansen per klasse nodig, één voor de ja-waarde van elk kenmerk.
De regel van Bayes geeft een klassenscore
Kies de klasse met de hoogste score. De weggelaten noemer voor het bewijsmateriaal is voor alle klassen gelijk. Een score is nog geen a-posteriorikans: om die te krijgen, deel je de score door de som van alle klassenscores.
Doorloop een voorspelling met binaire kenmerken
Stel dat de a-priorikans voor spam 0,4 is en die voor gewenste e-mail 0,6. De kansen voor “gratis” zijn 0,5 in spam en 0,05 in gewenste e-mail. Voor “vergadering” zijn ze 0,1 en 0,4. De nieuwe e-mail bevat “gratis” maar niet “vergadering”.
- Voor spam draagt de afwezigheid van “vergadering” bij. De score is .
- Voor gewenste e-mail draagt die afwezigheid bij. De score is .
- De scores tellen op tot 0,198, dus de a-posteriorikans voor spam is .
Een afwezig binair kenmerk levert bewijsmateriaal. Als beide woorden voorkomen, worden de scores 0,02 en 0,012 en daalt de a-posteriorikans voor spam naar 0,625. “Vergadering” verschuift de balans naar gewenste e-mail, hoewel spam nog steeds wint.
Houd de richting van de voorwaarde goed uit elkaar. beschrijft spamberichten. Voor de omgekeerde kans, , zijn ook de a-priorikansen van de klassen en de aannemelijkheid voor gewenste e-mail nodig; hier is die kans .
Gebruik logscores zonder de winnaar te veranderen
Lange producten kunnen bij computerberekeningen door onderloop nul worden. Tweehonderd factoren van 0,01 geven , kleiner dan het kleinste positieve getal in dubbele precisie. Vergelijk in plaats daarvan
Logaritmen behouden de volgorde en zetten vermenigvuldiging om in optelling. Hier is hoger dan ; van negatieve scores is de minst negatieve score het grootst.
Naïeve Bayes is generatief: het modelleert de a-priorikans en hoe kenmerken binnen elke klasse ontstaan. Logistische regressie is discriminatief: ze modelleert de klassekans rechtstreeks op basis van de invoer. Naïeve Bayes met binaire kenmerken heeft ook een lineaire grens voor de logaritmische kansverhouding. Gecorreleerde kenmerken, zoals “Hong” en “Kong”, kunnen de a-posteriorikans te extreem maken doordat overlappend bewijsmateriaal wordt meegeteld. Een klassevoorspelling kan juist zijn, ook als de toegekende kans te extreem is.
Belangrijkste punten
- Naïeve Bayes neemt aan dat kenmerken voorwaardelijk onafhankelijk zijn gegeven de klasse.
- Vermenigvuldig de a-priorikans met de aannemelijkheid van elke waargenomen kenmerkwaarde, inclusief afwezige binaire kenmerken.
- Normaliseer klassenscores om a-posteriorikansen te verkrijgen.
- Logscores voorkomen onderloop en behouden de winnende klasse.
- Gecorreleerd bewijsmateriaal kan tot te stellige kansen leiden.
2.2 Schat de kansen voor naïeve Bayes op basis van gegevens
Naïeve Bayes leert door te tellen. Belangrijke keuzes zijn welke populatie bij een noemer hoort en hoeveel bescherming je biedt tegen een uitkomst die nog niet is voorgekomen.
Schat kansen binnen de juiste groep
De meest aannemelijke schatting, of MLE, maakt de waargenomen gegevens zo waarschijnlijk mogelijk. Voor een a-priorikans van een klasse deel je het aantal in de klasse door het totale aantal voorbeelden. Voor een voorwaardelijke kans van een kenmerk beperk je beide tellingen tot de klasse:
Bekijk 100 e-mails: 40 spam en 60 gewenste e-mails. “Gratis” komt voor in 20 spamberichten en 3 gewenste berichten; “vergadering” komt voor in 4 spamberichten en 24 gewenste berichten. De a-priorikans voor spam is dus 0,4. De schattingen voor “gratis” zijn voor spam en voor gewenste e-mail. De schattingen voor “vergadering” zijn en . Als je het aantal voor een kenmerk en klasse door 100 deelt, schat je een gezamenlijke kans, niet de gevraagde voorwaardelijke kans.
Herstel nultellingen
Stel dat “prijs” voorkomt in 8 spamberichten en geen enkel gewenst bericht. De meest aannemelijke schatting voor gewenste e-mail is nul. Elk nieuw bericht dat het woord bevat, krijgt score nul voor gewenste e-mail, wat de andere kenmerken ook aangeven. Een uitkomst die in een eindige steekproef ontbreekt, is zo een uitspraak geworden dat die uitkomst onmogelijk is.
Gladding door k toe te voegen geeft elke mogelijke kenmerkwaarde een pseudotelling van :
Hier is het aantal waarden van dit kenmerk. Voor een ja-neekenmerk is dat 2, niet het aantal woorden dat wordt gemodelleerd. Met gladding door één toe te voegen:
Beide uitkomsten krijgen een pseudotelling. Bij gewenste e-mail heeft de afwezige waarde daardoor kans . De twee kansen tellen op tot 1. Als je alleen iets bij de teller zou optellen, zou deze normalisatie niet meer kloppen.
Kies de gladdingssterkte
De sterkte is een hyperparameter. Bij nul geeft die de meest aannemelijke schatting. Als de sterkte groot wordt, nadert elke kans de uniforme waarde en wordt klassespecifiek bewijsmateriaal zwakker. Gladding offert een deel van de aansluiting op de waargenomen tellingen op voor stabielere voorspellingen op nieuwe gevallen.
Vergelijk instellingen zoals 0,1, 0,5, 1, 2 en 5 op validatiegegevens. Houd de testverzameling apart voor de eindbeoordeling. Een grote waarde kan underfitting veroorzaken; een zeer kleine waarde kan zeldzame kenmerken met instabiele schattingen achterlaten.
Dezelfde pseudotelling wordt minder belangrijk als de werkelijke aantallen groeien. Bij 6.000 gewenste e-mails waarvan er 300 “gratis” bevatten, is de meest aannemelijke schatting 0,05 en is de waarde met toevoeging van één . Bij veel waarnemingen wegen de gegevens zwaarder dan de pseudotellingen. A-priorikansen van klassen worden vaak niet geglad als elke klasse goed vertegenwoordigd is. Je kunt de tellingen verzamelen met één doorloop van de gelabelde voorbeelden, wat deze trainingsmethode snel maakt.
Belangrijkste punten
- De meest aannemelijke schatting bepaalt kansen met relatieve frequenties binnen de relevante klasse.
- Een telling van nul voor een kenmerk kan een volledige klassenscore op nul zetten.
- Gladding door k toe te voegen telt k op bij elke uitkomsttelling en k maal het aantal uitkomsten bij het totaal.
- Kies de gladdingssterkte op basis van validatiegegevens; de invloed neemt af naarmate de aantallen groeien.
2.3 Classificeer tekst met een woordzakmodel
Een woordzakrepresentatie zet tekst om in woordtellingen. Ze geeft een eenvoudige classificator bewijsmateriaal over het vocabulaire en laat de volgorde waarin woorden voorkomen buiten beschouwing.
Tel tokens, niet alleen documenten
“De kat zag de hond” en “de hond zag de kat” hebben dezelfde woordzak: twee keer “de” en elk ander woord één keer. Een token is één voorkomend woord; het vocabulaire is de verzameling verschillende woorden die het model weergeeft.
Bij multinomiale naïeve Bayes is elke woordpositie een onafhankelijke trekking uit een klassespecifieke woordverdeling. Een woord dat drie keer voorkomt, draagt drie factoren bij:
De bijbehorende logscore is . De a-priorikans komt één keer per document voor. Het aantal voorkomens van het woord wordt vermenigvuldigd met de logaritme van de woordkans.
Schat woordkansen uit tokentellingen binnen een klasse. Met gladding:
waarbij alle trainingstokens in die klasse telt en de woorden in het vocabulaire telt. Stel dat spam 200 tokens bevat, waaronder 9 keer “geld”, en dat het vocabulaire 1.000 woorden bevat. De meest aannemelijke schatting geeft . Toevoeging van één geeft , terwijl geeft . Bij een groot vocabulaire telt zelfs één pseudotelling per woord flink mee.
Classificeer een kort document
Sport en politiek hebben elk a-priorikans 0,5. De woordkansen zijn:
| Woord | Sport | Politiek |
|---|---|---|
| doelpunt | 0,05 | 0,005 |
| stem | 0,004 | 0,04 |
| wedstrijd | 0,03 | 0,006 |
Voor “doelpunt doelpunt stem wedstrijd” is de score voor sport
De score voor politiek is . Sport wint met een factor 50 en de genormaliseerde a-posteriorikans is . Als je het tweede “doelpunt” weglaat, laat je een deel van het bewijsmateriaal vallen. Gebruik in de praktijk de logscores, ongeveer −15,71 en −19,62, om heel kleine producten te vermijden.
Houd de tekstmodellen uit elkaar
Een Bernoulli-tekstmodel gebruikt één ja-neekenmerk per woord en bevat de factor van elk afwezig woord. Het multinomiale model gebruikt aantallen voorkomens en heeft geen afzonderlijke factoren voor afwezige woorden. De noemers tellen tokens, geen documenten. Als je die keuzes mengt, krijg je geen van beide modellen correct.
Een woord uit het vocabulaire dat in één klasse niet is waargenomen, heeft gladding nodig. Een woord buiten het vocabulaire heeft geen gemodelleerde kans en wordt meestal overgeslagen. Als alternatief kan tijdens de training een token voor onbekende woorden worden gereserveerd, met een eigen klassespecifieke kans.
De woordzak negeert context: “goed” levert hetzelfde bewijsmateriaal in “niet goed” en “heel goed”. Door bigrammen, of woordparen, toe te voegen kun je een woordgroep zoals “niet goed” weergeven. Bijna identieke of naburige woorden kunnen nog steeds tot te stellige kansen leiden. Het model blijft bruikbaar als snel uitgangspunt voor onderwerpen, spam, sentiment of taalherkenning.
Belangrijkste punten
- Een woordzak legt aantallen voorkomens vast en negeert de volgorde.
- Multinomiale naïeve Bayes gebruikt tokenkansen, met één factor per voorkomen.
- Gladding van tokens gebruikt het totale aantal tokens in de klasse plus k maal de vocabulaireomvang.
- Bernoulli-tekstmodellen modelleren ook afwezigheid; multinomiale modellen gebruiken aantallen.
- Woorden buiten het vocabulaire worden overgeslagen tenzij een token voor onbekende woorden is getraind.
- Bigrammen vangen een deel van de lokale context op die bij tellingen van losse woorden verloren gaat.
3Train lineaire classificatoren
Een gewogen som levert een eenvoudige meetkundige classificator op: de grens met score nul verdeelt de invoerruimte. Het perceptron verschuift die grens na fouten, terwijl logistische regressie kansen toekent en leert met een gladde verliesfunctie. Volg beide soorten voorspellingen en actualisaties, bekijk waarom XOR aangepaste kenmerken nodig heeft en breid klassenscores uit naar meerdere klassen. De meetkunde laat ook zien wat het vermenigvuldigen of weglaten van gewichten verandert.
3.1 Interpreteer lineaire beslissingsgrenzen
Een lineaire classificator neemt een beslissing op basis van een gewogen som. De meetkunde laat zien welke patronen die som kan scheiden en waarom sommige taken nieuwe kenmerken vereisen.
Lees de score en grens af
Neem het constante biastermkenmerk eerst op: . Bereken en voorspel voor of voor . Een score van nul hoort volgens deze afspraak bij de positieve klasse.
Als ten minste één kenmerkgewicht ongelijk aan nul is, is de beslissingsgrens . Bij twee variërende kenmerken is dit een lijn; bij drie een vlak; in het algemeen een hypervlak. De gewichtsvector zonder biasterm staat loodrecht op deze grens en wijst naar de positieve kant.
Voor is de score en de grens . Punt scoort 1, scoort −1 en scoort nul. De voorspellingen zijn positief, negatief en positief.
De meetkundige afstand is de absolute waarde van de score gedeeld door de lengte van de gewichtsvector zonder biasterm:
Voor is die . Als je elk gewicht met een positieve constante vermenigvuldigt, verandert de score, maar blijven zowel de afstand als de voorspelde klasse gelijk. Als je de biasterm weglaat, moeten grenzen door de oorsprong gaan.
Bepaal of een lijn volstaat
Gegevens zijn lineair scheidbaar als één gewichtsvector elk punt juist classificeert. Gebruik voor EN . Alleen heeft een positieve score; de andere drie binaire invoerwaarden hebben negatieve scores.
XOR geeft en een positief label, maar en een negatief label. Geen enkele lijn kan die diagonaal tegenover elkaar liggende paren scheiden. De negatieve oorsprong vereist namelijk . De twee positieve punten vereisen , terwijl het negatieve punt vereist dat . Samen vereisen ze , een tegenspraak.
De kenmerkrepresentatie kan de scheidbaarheid veranderen. Voeg het kenmerk toe en gebruik gewichten . De vier XOR-invoerwaarden scoren dan −0,5, 0,5, 0,5 en −0,5 in de volgorde . De regel is lineair in de uitgebreide kenmerkvector, ook al is die niet-lineair in de oorspronkelijke invoer. Een verborgen laag kan nuttige getransformeerde kenmerken leren.
Breid scores uit naar meerdere klassen
Houd één vector per klasse bij en kies het grootste inwendig product. Voor geven vectoren , en scores 3, 2 en 2. Klasse A wint. Dit zijn scores om te vergelijken, geen kansen; ze hoeven niet tussen nul en één te liggen of op te tellen tot één.
Belangrijkste punten
- Het teken van een inwendig product bepaalt de binaire klasse; een score van nul is hier positief.
- De biasterm verschuift de grens weg van de oorsprong.
- Positieve schaling van de gewichten behoudt de grens en voorspellingen.
- XOR vereist getransformeerde kenmerken of een niet-lineair model.
- Een lineaire meerklassenvoorspelling kiest de hoogste klassenscore.
3.2 Leer gewichten met de perceptronregel
Het perceptron leert een lineaire beslissingsregel door fouten te corrigeren zodra ze optreden. Het verandert gewichten direct, zonder kansen af te stellen of een gladde verliesfunctie te differentiëren.
Actualiseer één voorbeeld tegelijk
Gebruik labels , neem het biastermkenmerk op en begin met gewichten van nul. Een score van nul voorspelt . Voorspel voor elk voorbeeld met de huidige gewichten. Laat de gewichten bij een juiste voorspelling gelijk; pas anders toe:
Een positief voorbeeld telt zijn kenmerkvector op. Een negatief voorbeeld trekt die af. De score voor dat voorbeeld verandert met en beweegt dus naar het juiste teken. Het biastermkenmerk maakt de gekwadrateerde lengte positief. Eén actualisatie kan het voorbeeld nog steeds verkeerd laten en eerdere voorspellingen verstoren.
Een epoch is een volledige doorloop van de trainingsverzameling. Stop na een volledige foutloze epoch of bij een gekozen limiet voor het aantal doorlopen.
Volg twee doorlopen
Neem de voorbeelden in deze volgorde, met de biastermcoördinaat al opgenomen:
| Voorbeeld | Invoer | Label |
|---|---|---|
| A | −1 | |
| B | +1 | |
| C | −1 | |
| D | +1 |
- A scoort nul en is ten onrechte positief. Trek A af om te krijgen.
- B scoort nu . Tel B op om te krijgen.
- C scoort −2 en D scoort 4. Beide zijn correct, dus er volgt geen actualisatie.
- Bij de volgende doorloop scoren A, B, C en D achtereenvolgens −4, 4, −2 en 4. Er zijn geen fouten meer, dus stop.
De geleerde grens is . Voorspellingen moeten de gewichten na alle voorafgaande actualisaties gebruiken, niet de gewichten aan het begin van de epoch.
Begrijp convergentie en de beperkingen ervan
De convergentiestelling voor het perceptron garandeert een eindig aantal fouten voor lineair scheidbare trainingsgegevens. Als uitgebreide invoervectoren hoogstens lengte hebben en een scheidende vector met lengte één een positieve getekende marge bereikt, is de bovengrens voor het aantal fouten . De garantie levert een scheidende grens op; ze selecteert niet de breedste marge of de beste testprestaties.
Niet-scheidbare gegevens, waaronder XOR met de oorspronkelijke kenmerken of tegenstrijdige labels, staan nooit een foutloze doorloop toe. Stel een trainingslimiet in en gebruik validatieprestaties om gewichten te kiezen. Een gemiddeld perceptron voorspelt met het gemiddelde van de gewichten over de trainingsstappen. Een vaste positieve leersnelheid schaalt bij een start vanaf nul eenvoudigweg elk gewicht en laat de reeks binaire voorspellingen dus gelijk; een veranderende leersnelheid kan dat gedrag veranderen.
Corrigeer een meerklassenvoorspelling
Tel bij een meerklassenfout de invoer op bij de vector van de werkelijke klasse en trek die af van de vector van de voorspelde klasse. Laat de rest gelijk. Voor invoer , werkelijke klasse B en voorspelde klasse A worden vectoren en respectievelijk en . Hun nieuwe scores zijn −2 en 7. De ongewijzigde score van C is 2, dus nu wint B. Net als het binaire perceptron geeft dit model een klasse als uitvoer, geen kans.
Belangrijkste punten
- Actualiseer alleen na een verkeerde voorspelling, met het label maal de uitgebreide invoer.
- Gebruik voor elk nieuw voorbeeld de meest recente gewichten.
- Eén epoch doorloopt elk trainingsvoorbeeld.
- Bij scheidbare gegevens is een eindig aantal fouten gegarandeerd; bij niet-scheidbare gegevens niet.
- Een meerklassenactualisatie verhoogt de score van de werkelijke klasse en verlaagt die van de onterechte winnaar.
- Een perceptron voorspelt een klasse, geen kans.
3.3 Voorspel kansen met logistische regressie
Logistische regressie zet een lineaire score om in een kans voor een binaire klasse. De vloeiende uitvoer geeft een geleidelijk trainingssignaal, ook als een vaste classificatie al correct is.
Zet een score om in een kans
Bereken voor labels 0 en 1 eerst en vervolgens
De sigmoïdefunctie stijgt van waarden dicht bij nul naar waarden dicht bij één. Ze geeft , , en . Klasse 1 voorspellen als komt overeen met gebruiken, dus deze beslissingsgrens blijft lineair.
De score is gelijk aan de logaritmische kansverhouding:
Met gewichten en invoer geven vijf uur score nul en kans 0,5. Bij 7,5 uur is de score 2 en de kans ongeveer 0,881. Elk extra uur telt 0,8 op bij de logaritmische kansverhouding en vermenigvuldigt de kansverhouding met . Het telt geen 0,8 op bij de kans. Een voorspelde kans van 0,7 gaat over de klasse van dit voorbeeld; het is geen melding van 70% modelnauwkeurigheid.
Train met logaritmisch verlies
Voor één voorbeeld is het binaire logaritmisch verlies
Alleen de term voor het waargenomen label blijft over. Als , gebruik je ; als , gebruik je . Bij zijn deze verliezen ongeveer 0,105 en 2,303. Een stellige verkeerde voorspelling is veel kostbaarder dan een onzekere; geeft voor beide labels een verlies van ongeveer 0,693.
De meest aannemelijke schatting kiest gewichten die een hoge gezamenlijke kans toekennen aan de waargenomen labels. Door een negatieve logaritme te nemen verandert hun kansenproduct in de som van logaritmische verliezen. Gradiëntafdaling stelt de gewichten af omdat er geen algemene oplossing in gesloten vorm is.
Het logaritmisch verlies van logistische regressie is convex in de gewichten, dus elk lokaal minimum is globaal. Het 0/1-verlies is bijna overal vlak en levert geen bruikbare gradiënt; kwadratisch verlies na de sigmoïdefunctie verliest deze convexiteit. Bij scheidbare trainingsgegevens kan ongeregulariseerd logaritmisch verlies afnemen terwijl gewichten zonder grens groeien, zodat een eindige meest aannemelijke oplossing ontbreekt. Een strafterm op gewichten beheerst die groei.
Gebruik softmax voor meer klassen
Geef elke klasse een score en normaliseer exponentiële waarden:
Scores leveren kansen van ongeveer op. Als je bij elke score dezelfde constante optelt, veranderen de kansen en de winnende klasse niet, omdat de gemeenschappelijke exponentiële factor wegvalt. Bij twee klassen is softmax de sigmoïdefunctie van het scoreverschil.
Logistische regressie modelleert rechtstreeks en stelt de gewichten gezamenlijk af. Ze veronderstelt geen onafhankelijkheid van kenmerken. Naïeve Bayes schat een a-priorikans en kenmerkverdelingen door te tellen; het kan vooral effectief zijn met weinig gegevens, maar gecorreleerd bewijsmateriaal kan de kansen te extreem maken.
Belangrijkste punten
- De sigmoïdefunctie zet een lineaire score om in een kans voor klasse 1.
- Gewichten veranderen de logaritmische kansverhouding lineair, niet de kans zelf.
- Logaritmisch verlies bestraft stellige verkeerde voorspellingen sterk.
- Logaritmisch verlies bij logistische regressie is convex, maar scheidbare gegevens vereisen regularisatie voor eindige afgestelde gewichten.
- Softmax normaliseert klassenscores tot kansen.
- Logistische regressie stelt klassekansen rechtstreeks af zonder de kenmerkonafhankelijkheid van naïeve Bayes.
4Optimaliseer modellen met gradiëntafdaling
Gradiëntafdaling verbindt een voorspellingsregel met een methode om de parameters ervan af te stellen. Afgeleiden geven aan hoe een verlies lokaal verandert; een leersnelheid zet die informatie om in een actualisatie. Doorloop stappen met één en twee parameters en vergelijk daarna actualisaties met alle gegevens met actualisaties met ruis op basis van één voorbeeld of minibatches. Logistische regressie biedt een concrete afleiding waarin de kettingregel wordt vereenvoudigd tot de voorspellingsfout maal de invoer.
4.1 Minimaliseer het verlies met behulp van de gradiënt
Trainen betekent vaak gewichten vinden die een verlies klein maken. Gradiëntafdaling gebruikt de lokale helling van dat verlies om de volgende gewichten te kiezen en herhaalt dit totdat aan een stopregel is voldaan.
Vind de richting naar beneden
Een partiële afgeleide meet hoe het verlies verandert als één parameter varieert en de andere gelijk blijven. De gradiënt verzamelt al deze afgeleiden. Voor
In is de gradiënt . Die wijst bij euclidische afstand in de richting van de sterkste lokale stijging; de negatieve gradiënt wijst naar beneden. In een glad minimum is de gradiënt nul, maar een gradiënt van nul kan ook voorkomen in een zadelpunt of maximum.
Actualiseer met positieve leersnelheid :
Bereken de volledige gradiënt voordat je een gewicht verandert. Vanaf met is het volgende punt , daarna . Het verlies daalt van 7 naar 3,04 en vervolgens naar ongeveer 1,72. De tweede coördinaat verandert sneller omdat de kromming daar groter is.
Bekijk hoe de stapgrootte convergentie bepaalt
Voor is de afgeleide . Vanaf nul met leersnelheid 0,1:
- De eerste gradiënt is −6, dus het volgende gewicht is 0,6.
- In 0,6 is de gradiënt −4,8, dus het volgende gewicht is 1,08.
- De volgende waarden zijn 1,464, 1,7712 en ongeveer 2,017.
Elke stap vermenigvuldigt de afstand tot 3 met . Voor dit verlies is voor convergentie vanaf een niet-optimaal startpunt nodig. Leersnelheid 1 blijft tussen 0 en 6 springen; leersnelheid 1,1 levert 6,6, −1,32 en 8,184 op en beweegt steeds verder weg. Een kleinere leersnelheid kan stabiel maar langzaam zijn. Dezelfde leersnelheid is niet geschikt voor elke verliesfunctie of kenmerkschaal.
Differentieer een voorspellingsverlies
Voor een lineaire voorspeller en één voorbeeld met kwadratisch verlies geldt:
Gebruik , en gewichten . De voorspelling is 2, dus de gradiënt is . Een leersnelheid van 0,05 geeft nieuwe gewichten . De volgende voorspelling is 3,5 en het verlies daalt van 9 naar 2,25. De afgeleide naar de biasterm heeft invoerfactor 1, terwijl de afgeleide naar de richtingscoëfficiënt de gemeten invoer bevat.
Lees het verliesoppervlak af
Een convexe verliesfunctie heeft geen minder goede lokale minima: elk lokaal minimum is globaal. Het kwadratisch verlies van lineaire regressie en het logaritmisch verlies van logistische regressie zijn convex. Verliesfuncties van neurale netwerken zijn meestal niet-convex, met zadelpunten en vlakke gebieden naast minima. Initialisatie kan het eindresultaat beïnvloeden.
De schaal van kenmerken beïnvloedt ook de optimalisatie. Een oppervlakte tot 200 m² en aantallen kamers tot 6 kunnen het verliesoppervlak uitrekken tot een smal dal. Standaardisatie trekt het trainingsgemiddelde van elk kenmerk af en deelt door de trainingsstandaardafwijking ervan. Beter geschaalde coördinaten verminderen het zigzaggen. Stop op basis van een gekozen maximumaantal stappen, kleine gradiënten of het uitblijven van verbetering.
Belangrijkste punten
- Een gradiënt verzamelt partiële afgeleiden en wijst in de richting van de sterkste lokale stijging.
- Trek een met de leersnelheid geschaalde gradiënt af om naar beneden te bewegen.
- Bereken elke gradiënt bij dezelfde gewichten voordat je actualiseert.
- Een te hoge leersnelheid kan schommelingen of divergentie veroorzaken.
- Convexe verliesfuncties hebben geen minder goede lokale minima; verliesfuncties van netwerken zijn meestal niet-convex.
- Kenmerken schalen kan optimalisatie stabieler en efficiënter maken.
4.2 Train met stochastische gradiëntafdaling en gradiëntafdaling met minibatches
Een gradiënt over alle voorbeelden berekenen kan kostbaar zijn. Stochastische actualisaties en actualisaties met minibatches ruilen een volledig uitgemiddelde richting in voor frequentere, goedkopere stappen.
Kies hoeveel gegevens een actualisatie bepalen
| Methode | Gradiënt voor één actualisatie | Belangrijkste afweging |
|---|---|---|
| Volledige trainingsverzameling | Gemiddelde over alle trainingsvoorbeelden | Exacte trainingsgradiënt, kostbare stappen |
| Stochastisch | Eén willekeurig gekozen voorbeeld | Goedkope stappen met ruis |
| Minibatch | Gemiddelde over een kleine batch | Evenwicht tussen ruis en efficiënt parallel werk |
Een epoch doorloopt de volledige trainingsverzameling één keer. Met 10.000 voorbeelden en batches van 100 heeft een epoch 100 actualisatiestappen. Schud voorbeelden tussen epochs zodat dezelfde groepen niet opnieuw in dezelfde volgorde voorkomen.
De verwachte gradiënt van één uniform gekozen voorbeeld is gelijk aan de volledige trainingsgradiënt. Afzonderlijke stappen kunnen het totale verlies desondanks verhogen. Het verlies per epoch uitzetten geeft een duidelijkere trend dan één actualisatie beoordelen. Ruis kan helpen om rond zadelpunten en ondiepe minima te bewegen, maar een vaste hoge leersnelheid laat gewichten ook rond een oplossing blijven schommelen. Een dalend leersnelheidsschema helpt ze tot rust te komen.
Leid de logistische actualisatie af
Neem , en gebruik binair logaritmisch verlies. De afgeleide naar de kans is
Vermenigvuldigen met de sigmoïdeafgeleide laat over. Omdat , is de volledige gradiënt
Aftrekken geeft de gelijkwaardige actualisatie . Neem voor een batch het gemiddelde van deze vectoren met dezelfde huidige gewichten voordat je één actualisatie uitvoert. Optellen in plaats van middelen vermenigvuldigt de effectieve leersnelheid met de batchgrootte.
Werk één stochastische stap uit
Begin bij met invoer , doelwaarde 1 en leersnelheid 0,5. De score is nul, dus . Dan geldt
De nieuwe score is en de nieuwe kans is ongeveer 0,818. Het logaritmisch verlies van dit voorbeeld daalt van ongeveer 0,693 naar 0,201. Die verbetering geldt voor dit voorbeeld; een stochastische stap hoeft niet elk trainingsgeval te verbeteren.
Het perceptron gebruikt ook een correctie die met het label samenhangt maal de invoer, maar gebruikt doelwaarden ±1 en verandert gewichten alleen bij fouten. Logistische regressie gebruikt doelwaarden 0/1 en een vloeiende kansfout. Bij eindige gewichten kan ze blijven actualiseren nadat de voorspelde klasse correct is.
Herken veelgebruikte varianten van optimizers
Momentum houdt een voortschrijdend gemiddelde van gradiëntrichtingen bij, wat beweging in gelijkblijvende richtingen helpt en schommelingen vermindert. Adam combineert dit met adaptieve stapgroottes per parameter. Beide hebben nog steeds een geschikte leersnelheid nodig. Vergelijk instellingen met validatieresultaten en leg het validatieverlies naast het trainingsverlies vast om te bepalen wanneer verder trainen niet meer helpt.
Belangrijkste punten
- Methoden met de volledige trainingsverzameling, stochastische methoden en minibatchmethoden verschillen in het aantal voorbeelden per actualisatie.
- Een epoch is een volledige doorloop van de gegevens, geen afzonderlijke actualisatie.
- Voor binair logaritmisch verlies bij logistische regressie is de gradiënt voorspelling min doelwaarde, maal de invoer.
- Middel de gradiënten van een minibatch voordat je actualiseert.
- Stochastisch verlies kan schommelen; schema's verkleinen de stapgrootte in de loop van de tijd.
- Momentum en Adam veranderen hoe gradiëntinformatie tot stappen leidt.
5Bouw en train neurale netwerken
Verborgen lagen bouwen kenmerken op die één lineaire score niet kan uitdrukken. Volg waarden door een klein netwerk, tel de gewichten en biastermen en stem de laatste activatie af op de doelwaarde. Terugpropagatie stuurt informatie over afgeleiden in de tegenovergestelde richting, zodat alle parameters efficiënt kunnen worden getraind. Initialisatie, invoerschalen, minibatches en validatiecurven verbinden die berekeningen vervolgens met een werkende trainingslus.
5.1 Bereken de uitvoer van een voorwaarts neuraal netwerk
Een neuraal netwerk verbindt veel eenvoudige eenheden. Verborgen lagen zetten invoer om in geleerde kenmerken; niet-lineaire activaties laten die kenmerken patronen weergeven die één lineaire classificator mist.
Bereken eenheden en tel parameters
Een eenheid berekent en geeft vervolgens als uitvoer. De binnenkomende activaties zijn hierbij de invoer en de biasterm wordt afzonderlijk weergegeven. Dit is gelijkwaardig aan het opnemen van een constant biastermkenmerk.
| Activatie | Uitvoerregel of bereik | Gebruikelijke rol |
|---|---|---|
| Sigmoïdefunctie | , tussen 0 en 1 | Uitvoer als binaire kans |
| tanh | Tussen −1 en 1 | Gecentreerde niet-lineaire verborgen uitvoer |
| ReLU | Niet-lineaire verborgen eenheid met weinig rekenwerk |
Een voorwaarts neuraal netwerk heeft geen gerichte cycli: informatie loopt van invoer via verborgen lagen naar uitvoer. In een volledig verbonden laag ontvangt elke eenheid alle uitvoer van de vorige laag. Een laag met invoerwaarden en eenheden heeft gewichten en biastermen. Drie invoerwaarden, vier verborgen eenheden en twee uitvoereenheden geven daarom
trainbare parameters. Tel één biasterm per ontvangende eenheid, niet één per verbinding. Netwerken met veel verborgen lagen heten diep.
Volg een netwerk dat XOR berekent
Gebruik twee verborgen ReLU-eenheden en een lineaire uitvoer:
Voor zijn de verborgen waarden , dus is de uitvoer 0. Voor zowel als zijn ze , wat 1 geeft. Voor zijn ze , wat geeft. De verborgen representatie maakt het mogelijk dat de uitvoer de XOR-klassen onderscheidt.
Zonder niet-lineaire activaties zou het stapelen van lagen nog steeds één affiene transformatie opleveren. Als we voor de duidelijkheid biastermen negeren, geldt . Diepte alleen zou geen niet-lineaire expressieve kracht toevoegen. De knikken die activaties introduceren, veranderen wat het netwerk kan weergeven.
Stem uitvoer af op doelwaarden
Voor een numerieke regressiedoelwaarde zijn een lineaire uitvoer en kwadratisch verlies een standaardkeuze. Gebruik voor binaire labels één sigmoïde-uitvoer en binair logaritmisch verlies. Gebruik voor één klasse uit meerdere klassen softmaxuitvoer en kruisentropie . Kansen met de tweede klasse als juiste klasse geven een verlies van ongeveer 1,41. Het verlies gebruikt de kans die aan de werkelijke klasse is toegekend, ook als een andere klasse wint.
De stelling van universele benadering zegt dat een voldoende brede verborgen laag met een geschikte niet-lineaire activatiefunctie elke continue functie op een gesloten, begrensd invoergebied willekeurig nauwkeurig kan benaderen. Het is een bestaansresultaat, geen garantie dat training de gewichten vindt of dat een klein netwerk volstaat. Met diepte kunnen sommige functies veel efficiënter worden weergegeven.
Verborgen representaties kunnen zich ontwikkelen van afbeeldingsranden en texturen naar delen van objecten. Architecturen bouwen ook nuttige structuur in: convolutionele netwerken delen kleine verzamelingen gewichten over posities in een afbeelding, terwijl recurrente netwerken gewichten delen over stappen in een reeks.
Belangrijkste punten
- Een eenheid past een activatiefunctie toe op een gewogen som plus een biasterm.
- Een volledig verbonden laag heeft één gewicht per verbinding en één biasterm per ontvangende eenheid.
- Verborgen niet-lineaire kenmerken laten netwerken patronen zoals XOR weergeven.
- Uitvoeractivaties en verliesfuncties moeten bij het type doelwaarde passen.
- Universele benadering beschrijft wat kan worden weergegeven, niet of training slaagt.
- Het delen van gewichten benut herhaalde ruimtelijke structuur of structuur in reeksen.
5.2 Bereken gradiënten met terugpropagatie
Terugpropagatie berekent hoe elke parameter het verlies beïnvloedt. Een voorwaartse doorloop bewaart de waarden die de kettingregel nodig heeft; een achterwaartse doorloop hergebruikt ze om te voorkomen dat dezelfde afgeleiden opnieuw worden berekend.
Doorloop een rekengraaf
Een rekengraaf splitst sommen, producten en activaties op in bewerkingen. Langs een pad via een tussenwaarde geldt:
Als een parameter langs meerdere paden invloed heeft op het verlies, tel je de bijdragen op. Schrijf voor eenheid : . Het achterwaartse signaal is
De som omvat eenheden die de uitvoer van de eenheid ontvangen. Een gewicht van activatie naar eenheid heeft gradiënt . De gradiënt van de biasterm is eenvoudigweg omdat de invoer ervan 1 is.
Werk een voorwaartse en achterwaartse doorloop uit
Neem , , en . Begin met , en doelwaarde .
- Voorwaarts: de verborgen som is 1, de verborgen uitvoer is 1, de voorspelling is 3 en het verlies is 4.
- Aan de uitvoer geldt . Dus .
- Teruggaan via het uitvoergewicht geeft . De verborgen som is positief, dus de ReLU-afgeleide is 1.
- De gradiënt van het eerste gewicht is daarom .
Actualiseer met leersnelheid 0,01 beide gewichten op basis van deze opgeslagen gradiënten:
Een nieuwe voorwaartse doorloop geeft verborgen uitvoer 0,52, voorspelling 1,5392 en verlies ongeveer 0,291. Als je tijdens de voorafgaande achterwaartse doorloop 2,96 zou gebruiken, zou je twee parametertoestanden mengen en de verkeerde gradiënt krijgen.
Controleer afgeleiden en herken zwakke signalen
Een numerieke controle benadert één afgeleide met
Met is de afgeleide van het eerste gewicht hierboven 24. Dit vereist twee voorwaartse doorlopen per gewicht en is dus nuttig voor controle, niet voor grootschalige training. Terugpropagatie berekent alle gradiënten tegen kosten van dezelfde orde als een voorwaartse doorloop. Bibliotheken implementeren dit als automatische differentiatie in achterwaartse modus.
De sigmoïdefunctie heeft afgeleide ; tanh heeft afgeleide . De afgeleide van ReLU is 1 boven nul en 0 onder nul; in nul wordt meestal afgeleide 0 toegekend. Een ReLU-eenheid waarvan de waarde vóór activatie voor elke invoer negatief is, is dood en ontvangt via de activatiefunctie geen bruikbare gradiënt. Softmax met kruisentropie heeft scoregradiënt voor one-hotgecodeerde doelwaarden.
Herhaalde kleine factoren uit afgeleiden veroorzaken verdwijnende gradiënten. Een keten van 10 sigmoïde-eenheden met verbindingsgewichten 1 heeft een afgeleide van hoogstens . Bredere grafen hangen ook af van gewichten en opgetelde paden. ReLU, geschikte initialisatie en residuele verbindingen verminderen dit probleem. Grote achterwaartse signalen kunnen daarentegen exploderen; gradiëntbegrenzing beperkt hun grootte.
Belangrijkste punten
- Terugpropagatie vermenigvuldigt afgeleiden langs paden en telt bijdragen van verschillende paden op.
- Een gewichtsgradiënt is de binnenkomende activatie maal de delta van de ontvangende eenheid.
- Bewaar voorwaartse waarden en bereken alle gradiënten voordat je actualiseert.
- Numerieke verschillen controleren gradiënten, maar kosten te veel voor routinematige training.
- Herhaalde kleine factoren kunnen verdwijnen; grote factoren kunnen exploderen.
- Dode ReLU-eenheden hebben bij al hun invoerwaarden activatiegradiënt nul.
5.3 Train een neuraal netwerk in de praktijk
Netwerktraining vereist meer dan een correcte afgeleide. Begingewichten, invoerschalen, actualisatie-instellingen en resultaten op apart gehouden gegevens beïnvloeden allemaal of nuttige kenmerken worden geleerd.
Doorbreek symmetrie en schaal signalen
Initialiseer gewichten willekeurig zodat verborgen eenheden verschillend beginnen. Als de eenheden van een laag identieke gewichten en dezelfde uitgaande verbindingen hebben, berekenen ze dezelfde waarden, ontvangen ze dezelfde actualisaties en blijven ze kopieën. Als alle netwerkgewichten met nul worden geïnitialiseerd, ontstaat deze symmetrie. Biastermen kunnen bij nul beginnen omdat willekeurige verbindingsgewichten de eenheden al onderscheiden.
De willekeurige schaal doet ertoe. Glorot-initialisatie, of Xavier-initialisatie, is geschikt voor tanh- en sigmoïde-eenheden; He-initialisatie houdt rekening met ReLU-activaties. Deze methoden zijn bedoeld om te voorkomen dat signalen van laag tot laag te sterk krimpen of groeien.
Normaliseer ook de invoer. Door pixelwaarden door 255 te delen, komen ze tussen nul en één te liggen. Standaardisatie trekt het trainingsgemiddelde van een kenmerk af en deelt door de trainingsstandaardafwijking ervan. Pas dezelfde afgestelde transformatie toe op latere invoer. Gematigde beginsommen helpen sigmoïdefunctie en tanh verzadigde gebieden met zeer kleine afgeleiden te vermijden; vergelijkbare kenmerkschalen verbeteren ook de optimalisatie.
Voer de trainingslus uit
- Initialiseer de gewichten en kies de optimizer en instellingen.
- Schud aan het begin van elke epoch de trainingsvoorbeelden.
- Voer voor elke minibatch een voorwaartse doorloop uit en bereken het gemiddelde verlies.
- Voer terugpropagatie uit en actualiseer daarna alle parameters met de gradiënten van die batch.
- Leg aan het eind van de epoch de trainings- en validatieresultaten vast.
Voor 784 pixelinvoerwaarden, 128 verborgen ReLU-eenheden en 10 softmaxuitvoerwaarden is het aantal parameters
Met 60.000 afbeeldingen en batchgrootte 64 zijn er 937 volledige batches en één laatste batch met 32 afbeeldingen: 938 actualisaties per epoch. Ook de laatste korte batch gebruikt zijn eigen gemiddelde gradiënt.
Lees trainingscurven af
| Waargenomen patroon | Wat je onderzoekt |
|---|---|
| Verlies schiet omhoog of wordt NaN | Te hoge leersnelheid of instabiele berekeningen |
| Verlies daalt heel langzaam | Te lage leersnelheid of te zwakke gradiënten |
| Training verbetert terwijl validatie verslechtert | Overfitting en het moment van stoppen |
Deze patronen helpen bij de diagnose; meerdere oorzaken kunnen hetzelfde symptoom hebben. Onderzoek bij een langzaam lerend sigmoïdenetwerk naast de leersnelheid ook de invoerschaal en activatieverzadiging. Een hoge trainingsnauwkeurigheid toont alleen aan dat het model bij de trainingsvoorbeelden past. Een groot netwerk kan zelfs willekeurige labels uit het hoofd leren.
De belangrijkste hyperparameters omvatten leersnelheid, batchgrootte, aantal epochs, breedte, diepte, activatiefunctie en optimizer. Vergelijk ze op validatiegegevens. Bewaar de testverzameling voor de evaluatie van de gekozen configuratie. Meer breedte verandert het aantal parameters en de capaciteit; meer epochs geven dezelfde parameters meer actualisatiestappen.
Het verlies van een netwerk is niet-convex. Verschillende willekeurige beginwaarden kunnen tot verschillende gewichten en nauwkeurigheden leiden. In grote netwerken vertragen zadelpunten en vlakke gebieden de vooruitgang vaak sterker dan slechte lokale minima. Momentum en Adam helpen bij het optimaliseren van zulke oppervlakken, maar de prestaties op apart gehouden gegevens bepalen nog steeds of het afgestelde patroon bruikbaar is.
Belangrijkste punten
- Willekeurige gewichten onderscheiden verborgen eenheden; initialisatie van alle netwerkgewichten op nul veroorzaakt symmetrie.
- De initialisatieschaal en invoernormalisatie ondersteunen stabiele signalen.
- De lus wisselt voorwaartse doorloop, verliesberekening, terugpropagatie en actualisatie door de optimizer af.
- Bepaal het aantal minibatchstappen door het quotiënt van het aantal voorbeelden en de batchgrootte naar boven af te ronden.
- Gebruik trainings- en validatiecurven samen om leerproblemen te onderzoeken.
6Herken en beheers overfitting
Een bruikbare geleerde regel moet ook buiten de trainingssteekproef standhouden. Vergelijk trainings- en validatieresultaten om overmatige flexibiliteit of een te beperkt model vast te stellen en onderscheid die problemen van veranderde omstandigheden in de gegevens. Straft ermen op gewichten, vroegtijdig stoppen, drop-out en geldige data-augmentatie bieden verschillende manieren om overfitting te beheersen. Hun instellingen moeten nog steeds worden gevalideerd: sterkere beperkingen kunnen samen met ruis ook een werkelijk signaal verwijderen.
6.1 Stel overfitting en underfitting vast
Een model kan goed bij zijn trainingssteekproef passen zonder een betrouwbaar patroon te leren. Vergelijk resultaten op trainingsgegevens en apart gehouden gegevens om te begrijpen of het model te beperkt of te flexibel is, of met andere gegevens te maken krijgt.
Vergelijk twee soorten fouten
Generalisatie is het presteren op nieuwe voorbeelden uit dezelfde verdeling. Underfitting treedt op als het model te beperkt is om het patroon te vatten. Overfitting treedt op als het model zich zo nauw aan steekproefspecifieke ruis aanpast dat nieuwe voorspellingen eronder lijden.
| Model | Trainingsnauwkeurigheid | Validatienauwkeurigheid | Interpretatie |
|---|---|---|---|
| A | 99% | 71% | Groot verschil wijst op overfitting |
| B | 74% | 73% | Underfitting als sterkere modellen beter kunnen presteren |
| C | 92% | 90% | Hier de beste prestatie op apart gehouden gegevens |
Kies C op basis van deze validatieresultaten. De hogere trainingsscore van A is geen voordeel op de apart gehouden gevallen. Het kleine verschil bij B is niet genoeg om het model goed te maken: beide scores zijn laag in verhouding tot wat bij de taak mogelijk is. Moeilijkheid, ruis en haalbare prestaties zijn van belang bij het interpreteren van een klein verschil.
Leg het verband tussen capaciteit en ruis
Capaciteit beschrijft hoe flexibel de hypothesefamilie is. Tien punten met ruis kunnen dicht bij een rechte trend liggen. Een lijn gebruikt twee coëfficiënten en mist de punten een beetje. Een polynoom van graad 9 gebruikt tien coëfficiënten en kan alle tien verschillende invoerpunten interpoleren, met een trainingsfout van nul. Tussen en buiten die punten kan die polynoom sterk slingeren en slecht voorspellen.
Naarmate de capaciteit toeneemt, daalt de trainingsfout doorgaans. De fout op apart gehouden gegevens daalt vaak eerst doordat werkelijke structuur kan worden weergegeven, en stijgt daarna doordat het model zich aan ruis aanpast. Vergelijk kandidaatcapaciteiten met resultaten op apart gehouden gegevens. Dit bekende patroon helpt bij de modelkeuze, maar garandeert niet dat elke mogelijke curve voor netwerkgrootte precies die vorm heeft.
Hoge modelvertekening betekent een systematische fout door een beperkende familie. Hoge variantie betekent dat de geleerde regel sterk verandert tussen trainingssteekproeven van dezelfde omvang. Underfitting gaat vaak samen met hoge modelvertekening; overfitting vaak met hoge variantie.
Onderscheid meer gegevens van andere gegevens
Bij een vaste capaciteit verminderen meer representatieve voorbeelden meestal de overfitting. Een polynoom van graad 9 kan doorgaans niet precies door 1.000 punten met ruis gaan, dus moet de aanpassing een compromis sluiten. Grote netwerken kunnen nog steeds grote steekproeven uit het hoofd leren, inclusief willekeurige labels. Meer gegevens verminderen het risico zonder de noodzaak van controles op apart gehouden gegevens weg te nemen. Verkeerde labels of labels met ruis voegen toevallige patronen toe waaraan het lerende programma zich kan aanpassen.
Verdelingsverschuiving is een ander probleem. Een classificator die op foto's overdag is getraind en getest, kan falen op nachtfoto's, ook als de generalisatie overdag goed is. Die nieuwe invoer komt uit een andere verdeling. Meer regularisatie alleen levert de ontbrekende nachtomstandigheden niet op.
Behoud de betekenis van de eindtest
Train kandidaten op de trainingsverzameling en vergelijk hun instellingen of capaciteiten op validatiegegevens. Meet een gekozen kandidaat vervolgens op de ongebruikte testverzameling. Als je testscores gebruikt om de architectuur te veranderen of een epoch te kiezen, wordt die verzameling een extra bron voor modelselectie en worden de gerapporteerde prestaties optimistisch. Overfitting kan optreden bij polynomen, naïeve Bayes, perceptrons en netwerken; het is een relatie tussen leren en gegevens, geen eigenschap die uniek is voor één algoritme.
Belangrijkste punten
- Overfitting combineert een sterke aanpassing aan de training met zwakkere prestaties op nieuwe gegevens.
- Underfitting kan vergelijkbaar slechte resultaten op trainingsgegevens en apart gehouden gegevens opleveren.
- Capaciteit maakt het mogelijk om zowel nuttige structuur als toevallige patronen te leren.
- Meer representatieve gegevens helpen meestal bij vaste capaciteit, maar uit het hoofd leren blijft mogelijk.
- Verdelingsverschuiving verschilt van overfitting.
- Gebruik validatie voor keuzes en houd de testverzameling achter voor de eindbeoordeling.
6.2 Voorkom overfitting met regularisatie
Regularisatie verandert het leerproces om voorspellingen op nieuwe gegevens te verbeteren. Ze kan gewichten beperken, de trainingsduur begrenzen, de afhankelijkheid van bepaalde eenheden onderbreken of meer geldige voorbeelden bieden.
Bestraf grote gewichten
Een geregulariseerde doelfunctie combineert verlies op gegevens met een strafterm voor complexiteit:
Gebruik voor L2: , meestal zonder de biasterm. Gewichten en geven strafterm . De toegevoegde afgeleide is . Bij gewone gradiëntafdaling geldt:
Met leersnelheid 0,1 en sterkte 0,1 is de krimpfactor 0,98; een gewicht van 5 draagt 4,9 bij vóór de stap op basis van het gegevensverlies. Dit is de interpretatie als gewichtsverval voor deze optimizer. Bij adaptieve optimizers zoals Adam zijn een L2-strafterm en afzonderlijk toegepast gewichtsverval verschillende bewerkingen.
L1 gebruikt . Dit bevordert schaarse oplossingen met veel gewichten die precies nul zijn, en selecteert zo kenmerken. L2 laat gewichten meestal krimpen zonder ze precies nul te maken. Geen van beide strafmethoden is een regel om elk gewicht op nul te zetten.
De sterkte is een hyperparameter. Nul verwijdert de strafterm; een te grote sterkte veroorzaakt underfitting. Vergelijk op validatiegegevens waarden die over meerdere ordes van grootte zijn verspreid. Een positieve L2-strafterm beheerst ook de divergerende gewichten van logistische regressie bij scheidbare gegevens.
Bewaar het beste stoppunt
Vroegtijdig stoppen volgt het validatieverlies, bewaart de beste gewichten en stopt na een geduldsperiode zonder verbetering. Bij verliezen 0,62, 0,48, 0,41, 0,39, 0,40, 0,43 en 0,47 in epochs 1–7 is epoch 4 de beste. Een geduld van 3 laat epochs 5–7 toe, stopt daarna en herstelt de gewichten van epoch 4. De laatste getrainde epoch is niet noodzakelijk het opgeslagen model.
Train met drop-out
Bij elke trainingsstap zet drop-out de uitvoer van verborgen eenheden onafhankelijk met kans op nul. Eenheden moeten leren zonder erop te vertrouwen dat een bepaalde andere eenheid altijd aanwezig is. Bij het voorspellen is drop-out uitgeschakeld en doen alle eenheden mee.
Bij omgekeerde drop-out deel je tijdens de training de overblijvende activaties door . Als , verdubbelt de overblijvende uitvoer, zodat de verwachte waarde overeenkomt met de activatie zonder drop-out. Deze schaling wordt bij het voorspellen niet opnieuw toegepast.
Voeg geldige variatie toe
Meer representatieve gegevens verzamelen en een eenvoudiger model gebruiken kunnen overfitting verminderen. Data-augmentatie voegt getransformeerde trainingsvoorbeelden toe waarvan de labels correct blijven, zoals geschikte verschuivingen, uitsneden of helderheidsveranderingen. Een transformatie moet bij de taak passen: als je een handgeschreven 6 over 180° draait, kan die in een 9 veranderen. Het label 6 behouden zou dus het verkeerde verband aanleren.
Laplacegladding is een andere vorm van regularisatie: pseudotellingen maken naïeve Bayes minder afhankelijk van kleine aantallen. Gebruik validatiegegevens om gladding, straftermen, drop-outpercentages of stoptijden te kiezen. Let op zowel de trainingsfout als de validatiefout, zodat bescherming tegen overfitting niet verandert in een te sterke beperking.
Belangrijkste punten
- L2 bestraft gekwadrateerde gewichten; L1 bevordert schaarse gewichten.
- De regularisatiesterkte weegt aanpassing aan gegevens af tegen beperkingen en wordt gekozen op basis van validatiegegevens.
- Vroegtijdig stoppen herstelt het controlepunt met de beste validatieprestatie.
- Omgekeerde drop-out schaalt overblijvende trainingsactivaties opnieuw en is uitgeschakeld bij het voorspellen.
- Augmentatie moet het juiste label behouden.
- Gladding, eenvoudigere modellen en meer representatieve gegevens helpen ook om overfitting te beheersen.
- L2-krimp bij gradiëntafdaling moet worden onderscheiden van implementaties van gewichtsverval bij adaptieve optimizers.
Neurale netwerken: voorbeelden
1Formuleer en controleer een taak voor gesuperviseerd leren
10 stappen
- 1IntroductieMaak van voorbeelden een leertaak
Een programma voor gesuperviseerd leren heeft gekoppelde invoer en antwoorden nodig. Bepaal voordat je een algoritme kiest wat één geval betekent en welke uitvoer gewenst is.
Volg een e-mailfilter van de labels naar een numerieke representatie en een verlies. De laatste controle is of de geleerde regel op nieuwe gevallen werkt, dus afstellen en beoordelen vereisen afzonderlijke rollen voor gegevens.
- 2VoorbeeldBepaal het geval en het label
Voor een spamfilter is één geval een e-mail. Invoer kan vastleggen of de e-mail “gratis bevat”, hoeveel links erin staan en of de afzender een contact is. Het label is spam of gewenste e-mail.
Het lerende programma stelt een hypothese af op basis van 5.000 gelabelde voorbeelden. Die hypothese neemt de kenmerken van een nieuwe e-mail en voorspelt het label. De geleerde gewichten zijn parameters; instellingen zoals de modelgrootte zijn hyperparameters.
- 3UitlegHoud afstellen en beoordelen gescheiden
Gebruik trainingsgegevens om parameters af te stellen en validatiegegevens om instellingen te vergelijken. Laat testgevallen ongemoeid totdat het model is gekozen.
Dit is ook belangrijk als een regel die berichten uit het hoofd leert elke trainingsmail goed heeft. De opgeslagen antwoorden zeggen mogelijk weinig over onbekende berichten. Prestaties op apart gehouden gegevens vertegenwoordigen toekomstige prestaties als de voorbeelden onafhankelijke trekkingen uit dezelfde verdeling zijn; andere bewoordingen in spam kunnen dat verband verbreken.
- 4UitdagingBepaal het type voorspellingstaak
Een weerdienst wil één model dat neerslag in millimeters voorspelt en een ander model dat voorspelt of er meer dan 5 mm valt. Hoe verschillen de typen taken?
---reveal---
De gemeten hoeveelheid is een doelwaarde voor regressie. De ja-neegebeurtenis is een doelwaarde voor binaire classificatie. Beide kunnen gelabelde historische weersgevallen gebruiken; het feit dat beide over toekomstig weer gaan, maakt geen van beide tot ongesuperviseerd leren.
- 5UitlegKies een numerieke representatie
Een kenmerkvector geeft eigenschappen in een vaste volgorde weer. Binaire indicatoren geven ja-neefeiten weer, tellingen geven aantallen voorkomens weer en reële getallen geven metingen weer.
Gebruik voor ongeordende kleuren one-hotindicatoren: rood is en blauw is . Codes 1, 2 en 3 zouden een kunstmatig numeriek verband opleggen. Voeg een afzonderlijke eerste coördinaat toe die vast op 1 staat als het model een biasterm in het inwendig product gebruikt.
- 6VoorbeeldTel gewogen bijdragen op
Neem uitgebreide invoer en gewichten . Vermenigvuldig overeenkomstige coördinaten en tel ze daarna op:
Door de constante eerste invoer is 2 de bijdrage van de biasterm. Als de tweede coördinaat toeneemt, daalt de score omdat het gewicht negatief is. Deze berekening levert een score op; een classificator heeft nog een regel nodig die scores met klassevoorspellingen verbindt.
- 7VoorbeeldMeet de kosten van een voorspelling
Voor numerieke voorspellingen tegenover doelwaarden zijn de kwadratische fouten 1, 0 en 4.
Kwadrateren vóór het middelen voorkomt dat positieve en negatieve fouten elkaar opheffen. Kwadratisch verlies benadrukt grote afwijkingen: als een fout verdubbelt, wordt het verlies vier keer zo groot. Voor classificatie geeft het middelen van 0/1-verliezen de fractie verkeerde voorspellingen.
- 8UitdagingBereken een score en het verlies
Een numerieke voorspeller heeft uitgebreide invoer en gewichten . De doelwaarde is 7. Welke voorspelling en welk kwadratisch verlies volgen hieruit?
---reveal---
Het inwendig product is . Het kwadratisch verlies is . De doelwaarde wordt gebruikt om de fout van de voorspelling te meten; ze is geen extra invoercoördinaat. Een berekening met absoluut verlies zou 2 geven, andere kosten voor dezelfde afwijking.
- 9UitdagingBepaal welke conclusie het resultaat ondersteunt
Een team voegt veel woordkenmerken toe en verlaagt de trainingsfout tot nul, maar de validatiefout stijgt. Moet het dit model kiezen omdat elk trainingslabel nu correct is?
---reveal---
Nee. Extra kenmerken gaven het model meer manieren om zich aan de trainingssteekproef aan te passen, maar de vergelijking op apart gehouden gegevens werd slechter. Gebruik validatieresultaten om de kandidaten te vergelijken en beoordeel het gekozen model daarna op ongebruikte testgevallen. Het doel is bruikbare voorspellingen op nieuwe invoer.
- 10SamenvattingHoud de rollen bij het leren duidelijk
Begin met invoer-labelparen en een familie van mogelijke voorspellingsregels. Geef elke invoer consistent weer, bereken de voorspelling en gebruik het gekozen verlies om de kosten ervan te meten.
Training stelt parameters af. Validatie helpt bij modelkeuzes. Testen beoordeelt het gekozen resultaat. Nauwkeurigheid en verlies beschrijven prestaties op bepaalde gevallen; die resultaten toepassen op toekomstige invoer hangt ook af van hoe de gevallen zijn geselecteerd.
2Voorspel met naïeve Bayes en woordtellingen
15 stappen
Sla deze les op om elke Walkthrough stap voor stap te volgen.
- 1IntroductieCombineer bewijsmateriaal voor klassen door te tellen
- 2UitlegBouw voor elke klasse een score op
- 3VoorbeeldNeem een afwezig binair kenmerk mee
- 4VoorbeeldNormaliseer en vergelijk logaritmen
- 5UitdagingGebruik beide waargenomen waarden
- 6VoorbeeldSchat binnen elke klasse
- 7UitlegBescherm tegen een niet-waargenomen uitkomst
- 8UitdagingGlad een binair kenmerk
- 9TipStel gladding in met apart gehouden gegevens
- 10UitlegGa van indicatoren naar tokentellingen
- 11VoorbeeldGlad over een vocabulaire
- 12VoorbeeldNeem elk herhaald woord mee
- 13UitdagingGebruik bewijsmateriaal van herhaalde tokens
- 14UitdagingHerstel een verkeerde combinatie van modellen
- 15SamenvattingStem bewijsmateriaal af op het kansmodel
3Verschuif grenzen en stel klassekansen af
17 stappen
Sla deze les op om elke Walkthrough stap voor stap te volgen.
- 1IntroductieLeer van een gewogen score
- 2VoorbeeldInterpreteer de grens
- 3KernpuntOnderscheid score en afstand
- 4VoorbeeldVerander kenmerken voor XOR
- 5UitdagingVoorspel na verandering van de biasterm
- 6UitlegActualiseer alleen bij fouten
- 7VoorbeeldVolg de eerste twee fouten
- 8VoorbeeldControleer de volgende volledige doorloop
- 9UitdagingNeem de huidige gewichten mee
- 10VerbandVerhoog één klasse en verlaag een andere
- 11UitlegZet een score om in een kans
- 12VoorbeeldBepaal het verlies voor het waargenomen label
- 13KernpuntConvexiteit begrenst gewichten niet
- 14UitdagingBepaal een logaritmisch verlies
- 15VerbandNormaliseer meerdere klassenscores
- 16UitdagingVergelijk twee leersignalen
- 17SamenvattingVerbind representatie en leren
4Volg gradiënten en middel actualisaties
13 stappen
Sla deze les op om elke Walkthrough stap voor stap te volgen.
- 1IntroductieGebruik afgeleiden om gewichten te verbeteren
- 2UitlegLees de gradiënt af
- 3VoorbeeldZet een gelijktijdige stap
- 4VoorbeeldControleer wat de leersnelheid verandert
- 5UitdagingDifferentieer voordat je een stap zet
- 6TipStem schalen af op de optimalisatie
- 7UitlegKies een steekproef voor de gradiënt
- 8UitlegVereenvoudig de logistische afgeleide
- 9VoorbeeldVoer een logistische stochastische actualisatie uit
- 10UitdagingMiddel vóór het actualiseren
- 11VerbandBeheers richtingen met ruis
- 12UitdagingOnderzoek een verandering in batchgrootte
- 13SamenvattingOnderscheid richting, grootte en steekproeftrekking
5Bereken en train een klein netwerk
20 stappen
Sla deze les op om elke Walkthrough stap voor stap te volgen.
- 1IntroductieVolg waarden voorwaarts en afgeleiden achterwaarts
- 2UitlegBereken één eenheid
- 3VoorbeeldTel de parameters van een klein netwerk
- 4VoorbeeldBouw niet-lineaire kenmerken voor XOR
- 5UitdagingHoud de uitvoeractivatie apart
- 6VerbandStem de uitvoer af op de taak
- 7UitlegBewaar de voorwaartse toestand
- 8VoorbeeldBepaal de gradiënt van het uitvoergewicht
- 9VoorbeeldGeef het signaal door aan het verborgen gewicht
- 10VoorbeeldActualiseer beide gewichten samen
- 11UitdagingDifferentieer door een actieve eenheid
- 12TipControleer een afgeleide numeriek
- 13KernpuntMerk verzwakte achterwaartse signalen op
- 14UitlegLaat eenheden verschillend beginnen
- 15VoorbeeldTel parameters en batchstappen
- 16UitlegVerwerk één batch en volg daarna de epoch
- 17UitdagingKies een reactie op de curven
- 18UitdagingOnderscheid slecht leren van lage capaciteit
- 19VerbandRepresentaties hangen af van training
- 20SamenvattingCoördineer de volledige trainingsstap
6Stel overfitting vast en beheers die
13 stappen
Sla deze les op om elke Walkthrough stap voor stap te volgen.
- 1IntroductieVind een aanpassing die op nieuwe gegevens standhoudt
- 2VoorbeeldVergelijk prestaties op apart gehouden gegevens
- 3UitlegVerbind capaciteit met ruis in de steekproef
- 4UitdagingBeoordeel een rijker model
- 5VerbandOnderscheid veranderde omstandigheden van aanpassing aan ruis
- 6UitlegVoeg een strafterm voor gewichten toe
- 7VoorbeeldLeid L2-krimp af
- 8UitdagingKies een schaarse aanpassing
- 9VoorbeeldHerstel het beste controlepunt
- 10UitlegHoud de verwachte waarde bij drop-out stabiel
- 11UitdagingControleer een label bij augmentatie
- 12UitdagingKies de volgorde van de eindevaluatie
- 13SamenvattingGebruik de juiste maatregel voor het waargenomen probleem
Neurale netwerken: oefenvragen
Set 1: Van gelabelde voorbeelden naar geleerde voorspellingen10 Oefenvragen
Vraag 1 van 10
Toon antwoordVerberg antwoord
Vraag 2 van 10
Toon antwoordVerberg antwoord
Vraag 3 van 10
Toon antwoordVerberg antwoord
Vraag 4 van 10
Toon antwoordVerberg antwoord
Vraag 5 van 10
Toon antwoordVerberg antwoord
Vraag 6 van 10
Toon antwoordVerberg antwoord
Vraag 7 van 10
Toon antwoordVerberg antwoord
Vraag 8 van 10
Toon antwoordVerberg antwoord
Vraag 9 van 10
Toon antwoordVerberg antwoord
Vraag 10 van 10
Toon antwoordVerberg antwoord
Set 2: Tellingen, actualisaties en trainingsgedrag10 Oefenvragen
Sla deze les op om elk antwoord te zien en elke set te oefenen.
Vraag 1 van 10
Toon antwoordVerberg antwoord
Sla deze les op om dit antwoord te zien.
Vraag 2 van 10
Toon antwoordVerberg antwoord
Sla deze les op om dit antwoord te zien.
Vraag 3 van 10
Toon antwoordVerberg antwoord
Sla deze les op om dit antwoord te zien.
Vraag 4 van 10
Toon antwoordVerberg antwoord
Sla deze les op om dit antwoord te zien.
Vraag 5 van 10
Toon antwoordVerberg antwoord
Sla deze les op om dit antwoord te zien.
Vraag 6 van 10
Toon antwoordVerberg antwoord
Sla deze les op om dit antwoord te zien.
Vraag 7 van 10
Toon antwoordVerberg antwoord
Sla deze les op om dit antwoord te zien.
Vraag 8 van 10
Toon antwoordVerberg antwoord
Sla deze les op om dit antwoord te zien.
Vraag 9 van 10
Toon antwoordVerberg antwoord
Sla deze les op om dit antwoord te zien.
Vraag 10 van 10
Toon antwoordVerberg antwoord
Sla deze les op om dit antwoord te zien.
Set 3: Combineer modelberekeningen en leerregels10 Oefenvragen
Sla deze les op om elk antwoord te zien en elke set te oefenen.
Vraag 1 van 10
Toon antwoordVerberg antwoord
Sla deze les op om dit antwoord te zien.
Vraag 2 van 10
Toon antwoordVerberg antwoord
Sla deze les op om dit antwoord te zien.
Vraag 3 van 10
Toon antwoordVerberg antwoord
Sla deze les op om dit antwoord te zien.
Vraag 4 van 10
Toon antwoordVerberg antwoord
Sla deze les op om dit antwoord te zien.
Vraag 5 van 10
Toon antwoordVerberg antwoord
Sla deze les op om dit antwoord te zien.
Vraag 6 van 10
Toon antwoordVerberg antwoord
Sla deze les op om dit antwoord te zien.
Vraag 7 van 10
Toon antwoordVerberg antwoord
Sla deze les op om dit antwoord te zien.
Vraag 8 van 10
Toon antwoordVerberg antwoord
Sla deze les op om dit antwoord te zien.
Vraag 9 van 10
Toon antwoordVerberg antwoord
Sla deze les op om dit antwoord te zien.
Vraag 10 van 10
Toon antwoordVerberg antwoord
Sla deze les op om dit antwoord te zien.
Set 4: Beoordeel modellen en behoud geldige vergelijkingen10 Oefenvragen
Sla deze les op om elk antwoord te zien en elke set te oefenen.
Vraag 1 van 10
Toon antwoordVerberg antwoord
Sla deze les op om dit antwoord te zien.
Vraag 2 van 10
Toon antwoordVerberg antwoord
Sla deze les op om dit antwoord te zien.
Vraag 3 van 10
Toon antwoordVerberg antwoord
Sla deze les op om dit antwoord te zien.
Vraag 4 van 10
Toon antwoordVerberg antwoord
Sla deze les op om dit antwoord te zien.
Vraag 5 van 10
Toon antwoordVerberg antwoord
Sla deze les op om dit antwoord te zien.
Vraag 6 van 10
Toon antwoordVerberg antwoord
Sla deze les op om dit antwoord te zien.
Vraag 7 van 10
Toon antwoordVerberg antwoord
Sla deze les op om dit antwoord te zien.
Vraag 8 van 10
Toon antwoordVerberg antwoord
Sla deze les op om dit antwoord te zien.
Vraag 9 van 10
Toon antwoordVerberg antwoord
Sla deze les op om dit antwoord te zien.
Vraag 10 van 10
Toon antwoordVerberg antwoord
Sla deze les op om dit antwoord te zien.
Set 5: Pas de methoden toe op nieuwe leerproblemen10 Oefenvragen
Sla deze les op om elk antwoord te zien en elke set te oefenen.
Vraag 1 van 10
Toon antwoordVerberg antwoord
Sla deze les op om dit antwoord te zien.
Vraag 2 van 10
Toon antwoordVerberg antwoord
Sla deze les op om dit antwoord te zien.
Vraag 3 van 10
Toon antwoordVerberg antwoord
Sla deze les op om dit antwoord te zien.
Vraag 4 van 10
Toon antwoordVerberg antwoord
Sla deze les op om dit antwoord te zien.
Vraag 5 van 10
Toon antwoordVerberg antwoord
Sla deze les op om dit antwoord te zien.
Vraag 6 van 10
Toon antwoordVerberg antwoord
Sla deze les op om dit antwoord te zien.
Vraag 7 van 10
Toon antwoordVerberg antwoord
Sla deze les op om dit antwoord te zien.
Vraag 8 van 10
Toon antwoordVerberg antwoord
Sla deze les op om dit antwoord te zien.
Vraag 9 van 10
Toon antwoordVerberg antwoord
Sla deze les op om dit antwoord te zien.
Vraag 10 van 10
Toon antwoordVerberg antwoord
Sla deze les op om dit antwoord te zien.
Kom je niet uit je eigen opgave? Huiswerkhulp
Kernbegrippen
A
A-posteriorikans
A-priorikans van een klasse
Activatiefunctie
Adam
B
Bernoulli-naïeve Bayes
Beslissingsgrens
Biasterm
Bigram
C
Classificatie
Convexe verliesfunctie
D
Data-augmentatie
Dode ReLU
Drop-out
E
Empirisch verlies
Epoch
G
Gemiddeld perceptron
Generalisatie
Generatief model
Gesuperviseerd leren
Gladdingssterkte
Gradiënt
Gradiëntafdaling
Gradiëntafdaling over de volledige trainingsverzameling
Gradiëntbegrenzing
H
He-initialisatie
Hyperparameter
Hypervlak
Hypotheseruimte
I
Initialisatie
Inwendig product
K
Kenmerkvector
Kettingregel
L
L1-regularisatie
L2-regularisatie
Label
Laplacegladding
Leersnelheid
Leersnelheidsschema
Lineaire classificator
Lineaire scheidbaarheid
Logaritmisch verlies
Logaritmische kansverhouding
Logistische regressie
Logscore
M
Meerklassenperceptron
Meest aannemelijke schatting
Minibatch
Modelcapaciteit
Modelvertekening
Momentum
Multinomiale naïeve Bayes
N
Naïeve Bayes
Nultellingsprobleem
Numerieke gradiëntcontrole
O
One-hotcodering
Overfitting
P
Partiële afgeleide
Perceptron
Pseudotelling
R
Regressie
Regularisatie
Rekengraaf
ReLU
S
Scheidingsmarge
Sigmoïdefunctie
Softmax
Standaardisatie
Stochastische gradiëntafdaling
Symmetrieprobleem
T
Terugpropagatie
Testverzameling
Token
Trainingscurve
U
Underfitting
Universele benadering
V
Variantie
Verborgen laag
Verdelingsverschuiving
Verdwijnende gradiënten
Verliesfunctie
Vocabulaire
Volledig verbonden laag
Voorwaardelijke onafhankelijkheid
Voorwaarts neuraal netwerk
Vroegtijdig stoppen
W
Woordzakrepresentatie
Over deze les
Door StudeliFout melden
Maak je eigen Studiemateriaal
Maak van je aantekeningen, slides en documenten Leermodules, Oefenvragen, Flashcards en 6 andere tools.