LEERKERN

13.1 Wat is machinaal leren

Introductie

Alvorens in te gaan op een aantal algoritmen voor machinaal leren, is het goed stil te staan bij de algemene opzet en filosofie van experimenten en toepassingen van machinaal leren. Uitgangspunt van veel experimenten met machinaal leren is een gegevensverzameling (data set) bestaande uit een (bij voorkeur) groot aantal gelabelde voorbeelden (soms ook wel instanties genoemd). Ter illustratie toont tabel 13.1.1 een eenvoudige gegevensverzameling bestaande uit acht voorbeelden, die alle tot een bepaalde klasse behoren.

Tabel 13.1.1 Voorbeeld van een gegevensverzameling.

Voorbeeld Invoervector Klasse label
1 000 A
2 001 B
3 010 A
4 011 B
5 100 A
6 101 B
7 110 A
8 111 B

Uitgaande van de gegevensverzameling dient een algoritme voor machinaal leren een kennisrepresentatie (of een model) op te bouwen, op basis waarvan voorbeelden uit de gegevensverzameling, maar vooral nieuwe voorbeelden, op de juiste wijze kunnen worden geclassificeerd.

13.1.1 Attributen en attribuutwaarden

De voorbeelden zijn in dit geval binaire invoervectoren. De elementen (bits) van deze vectoren worden vaak attributen genoemd. Een attribuut kan de aan- of afwezigheid van een bepaald kenmerk representeren of – in het geval van reëelwaardige vectoren – een waarde representeren. Zo hebben bijvoorbeeld de binaire attributen ‘getrouwd’ en ‘geslacht’ als mogelijke attribuutwaarden ‘ja/nee’ en ‘man/vrouw’. De betekenis van een attribuutwaarde is irrelevant voor het algoritme voor machinaal leren en kan om die reden worden gerepresenteerd door (bijvoorbeeld) een ‘0’ en een ‘1’. Om dezelfde reden kunnen reëelwaardige attributen zoals ‘gewicht’ en ‘lengte’ worden gerepresenteerd door arbitrair geschaalde reële getallen.

> Opgave 13.1.1

13.1.2 Generaliserend vermogen

De voornaamste taak van een leeralgoritme is het genereren van een model op basis van een verzameling voorbeelden. Deze taak is eenvoudigweg op te lossen door de gehele gegevensverzameling als model te beschouwen. Immers, alle beschikbare voorbeelden zijn opgeslagen in de gegevensverzameling. Voor de gegevensverzameling van tabel 13.1.1 is dit een mogelijke oplossing, aangezien deze alle acht mogelijke voorbeelden bevat. De methode is te vergelijken met een rechter die een straf bepaalt door de te behandelen casus (het voorbeeld) op te zoeken in het wetboek en de daarbij voorgeschreven straf (de classificatie) over te nemen. Uiteraard wordt er van een rechter meer verwacht, anders zou een computer net zo goed die taken over kunnen nemen.
Het probleem is dat de gegevensverzameling over het algemeen een steekproef vormt van de beschikbare gegevens. Een getraind leeralgoritme voor de automatische herkenning van handgeschreven postcodes zal, wanneer het in de praktijk wordt toegepast, veel nieuwe voorbeelden tegenkomen. Uiteraard dient het leeralgoritme in staat te zijn deze nieuwe voorbeelden zo goed mogelijk te herkennen. Om die reden dient het leeralgoritme op basis van de beschikbare voorbeelden een model te genereren dat nieuwe voorbeelden zo goed mogelijk classificeert. Vaak wordt hiertoe de beschikbare verzameling van voorbeelden (de gegevensverzameling) opgedeeld in een trainingset en een testset. De trainingset wordt gebruikt om het model te genereren en vervolgens wordt de testset gebruikt om vast te stellen in hoeverre het model nieuwe voorbeelden correct kan classificeren. In de praktijk houdt dit in dat gedurende een trainingfase de voorbeelden uit de trainingset worden gepresenteerd aan het leeralgoritme. Na de trainingfase worden in de testfase de voorbeelden uit de testset gepresenteerd. Het leeralgoritme past zijn model niet aan in de testfase. Het genereert alleen klasselabels voor de voorbeelden in de testset. De wijze waarop deze labels worden gegenereerd, is afhankelijk van het gevormde model. Door de gegenereerde klasselabels, te vergelijken met de werkelijke klasselabels wordt het generaliserend vermogen van het leeralgoritme vastgesteld. Het generaliserend vermogen vormt een maat voor de betrouwbaarheid waarmee nieuwe (nog niet eerder geziene) voorbeelden worden geclassificeerd. Zo zou het generaliserend vermogen kunnen worden bepaald door een rechter casussen te laten oplossen die niet letterlijk in het wetboek staan, maar waarvan wel bekend is wat de voorgeschreven straf zou moeten zijn. Het generaliserend vermogen van de rechter komt overeen met het percentage correcte straffen.

> Opgave 13.1.2

13.1.3 N-fold cross-validation

Aangezien de toevallige keuze van de testset de schatting van het generaliserend vermogen beïnvloedt, verdient het de aanbeveling om de gegevensverzameling meerdere malen te verdelen in training- en testsetcombinaties. Een veelgebruikte methode is de zogenaamde n-fold cross-validation (of kortweg: n-fold cv). In deze methode wordt uit een gegevensverzameling bestaande uit N voorbeelden, n maal een testset gedefinieerd. Tezamen omvatten deze testsets alle voorbeelden uit de gegevensverzameling. Bij de methode n-fold cv is het generaliserend vermogen gelijk aan de gemiddelde prestatie over de n folds (testset-trainingset-combinaties). Wanneer de methode n-fold cv met n = 4 wordt toegepast op een gegevensverzameling van N = 20 voorbeelden (genummerd 1 t/m 20), dan bestaan de vier ‘folds’ uit de training- en testsets getoond in tabel 13.1.2.

Tabel 13.1.2. Illustratie van het resultaat van 4-fold cv op een gegevensverzameling van N = 20 voorbeelden

fold de trainingset
bevat voorbeelden
de testset bevat
voorbeelden
1 6-20 1-5
2 1-5 en 11-20 6-10
3 1-10 en 16-20 11-15
4 1-15 16-20

> Opgave 13.1.3