Winstons algoritme

Uit Wikipedia, de vrije encyclopedie

Het programma van Winston of Winstons algoritme is een algoritme dat wordt gebruikt in machinaal leren.[1][2] Het werd in 1970 gepubliceerd[3] door de Amerikaanse computerwetenschapper Patrick Winston.[4][5]

Werking[bewerken | brontekst bewerken]

Het algoritme kan categorieën leren aan de hand van voorbeelden. Het representeert kennis met behulp van semantische netwerken. Categorisatie is het (menselijk) vermogen om dingen in verzamelingen in te delen. Winstons algoritme gebruikt voorbeelden en tegenvoorbeelden om een definitie van een categorie te construeren. Een semantisch netwerk is een netwerk dat semantische relaties tussen begrippen weergeeft. Het netwerk van een categorie wordt door het algoritme telkens zo aangepast, dat de voorbeelden er onder vallen en de tegenvoorbeelden uitgesloten worden.

Pseudocode[bewerken | brontekst bewerken]

In pseudocode:

representeer de nieuwe observatie
voorspel of de representatie past binnen het semantisch netwerk
als voorspelling correct dan:
behoud het bestaande semantisch netwerk
als voorspelling incorrect dan:
identificeer de verschillen tussen de representatie en het semantische netwerk
kies de verschillen en gebruik deze om het netwerk te:
generaliseren indien de observatie een tegenvoorbeeld is
specialiseren indien de observatie een voorbeeld is
Leer stappen voor concept 'boog'.[3]

Leren[bewerken | brontekst bewerken]

Winstons algoritme is een vorm van gecontroleerd leren (supervised learning[6]). Bij gecontroleerd leren krijgt een algoritme observaties (samples) als input, die door de controleur (supervisor) op een bepaalde bruikbare manier ('voorbeeld' of 'tegenvoorbeeld') worden gelabeld.[7][8]

Kenmerkend voor het programma van Winston is dat elk voorbeeld of tegenvoorbeeld de definitie van een concept ingrijpend kan veranderen. Één verkeerd voorbeeld kan een opgebouwde definitie in de war gooien. Daarom zijn leertechnieken onderzocht die informatie meer gradueel opbouwen.[9] Ook neurale netwerken leren op een graduele manier: elk nieuw voorbeeld levert slechts een kleine bijdrage aan de uiteindelijke waarde van de verbinding tussen cellen.