Deze ‘bijsluiter’ is de gebruikershandleiding behorend bij de Handreiking Duurzaam Toegankelijke Algoritmes. Deze handreiking bestaat uit een overzichtsplaat, een vragenlijst en deze bijsluiter. Alle onderdelen van zowel de overzichtsplaat als de vragenlijst worden in dit document nader toegelicht en waar mogelijk voorzien van praktische voorbeelden.
Een algoritme bestaat uit een viertal componenten: trainingsdata, output, logica en documentatie. De archivering heeft betrekking op alle vier deze componenten. Bij het ontwerpen van het algoritme bekijk je dus per component hoe lang deze bewaard moet blijven, voor wie deze toegankelijk moet zijn en in welk vorm die wordt bewaard.
In deze paragraaf wordt elk van de vier componenten toegelicht.
Met ‘trainingsdata’ wordt bedoeld: de data waarmee het algoritme wordt gevoed. Dit wordt ook wel ‘de input’ genoemd.
De vorm van de trainingsdata kan verschillen. Een algoritme kan gebruik maken van een statische set data, die eenmalig worden verzameld en die in principe nooit meer wijzigen, denk aan een database met gegevens over verkeersongevallen gekoppeld aan geografische locaties in het jaar 2017. Er kan ook sprake zijn van realtime-data die enorm vluchtig is, denk bijvoorbeeld aan sensordata. In veel gevallen worden datasets eerst nog bewerkt, dan wordt bijvoorbeeld de datasemantiek genormaliseerd of worden datasets samengevoegd.
Verder kan de trainingsdata bestaan uit enerzijds trainingsdata op basis waarvan het algoritme patronen leert herkennen en anderzijds specifieke data die op basis van die patronen geanalyseerd worden.
Ook de inhoud van de trainingsdata kan verschillende vormen hebben. Data kunnen objectief en subjectief zijn. Een voorbeeld van objectieve data is het aantal inwoners per provincie: dit zijn neutrale feiten die niet ter discussie kunnen worden gesteld. Een voorbeeld van subjectieve data is een database met gegevens over belastingfraudeurs. In dit voorbeeld kan de vraag worden gesteld hoe deze gegevens zijn verzameld, hier zou bijvoorbeeld profilering aan de orde kunnen zijn. Het zijn geen neutrale feiten, maar gegevens die zijn verzameld op basis van beleidsmatige keuzes en menselijke inschatting.
Ontwerpvragen die te maken hebben met trainingsdata, zijn onder meer:
Met ‘output’ wordt bedoeld: de uitkomst van een algoritme. Hierin onderscheiden we drie verschillende vormen:
Ontwerpvragen die te maken hebben met output zijn bijvoorbeeld:
De logica bestaat uit de code en het datamodel.
De code bestaat uit meerdere rekenregels die verbanden weergeven. Een voorbeeld: als een algoritme wordt ingezet om automatisch documenten te herkennen, dan wordt het algoritme eerst getraind door bijvoorbeeld heel veel verschillende facturen te laten zien. Het algoritme zoekt dan naar gedeelde eigenschappen en legt deze vast in rekenregels, zoals: ‘als er bovenaan het document rekening of factuur staat, dan is het waarschijnlijk een factuur’. Hoe meer trainingsdata een algoritme verwerkt, hoe meer verbanden het zal herkennen en hoe uitgebreider de code wordt. Vanwege dit zelflerende karakter, is het vaak nodig om periodiek te toetsen of het algoritme nog naar behoren werkt.
Het datamodel definieert de data waarmee een algoritme wordt gevoed. Dit kun je vergelijken met een Excel-sheet: alle gegevens in kolom A staan voor leeftijd, alle gegevens in kolom B staan voor geslacht. Als er meerdere datasets worden gebruikt, dan maakt het datamodel duidelijk dat op kolom A in dataset 1 dezelfde definitie van toepassing is als op kolom D in dataset 2. Zo weet het algoritme dat het appels met appels vergelijkt en peren met peren. Het datamodel is dus een essentieel element in het algoritme: daarin wordt vastgelegd welke type gegevens worden gebruikt en wat de inhoudelijke betekenis is van die gegevens.
Een voorbeeld. Bij een sollicitatieproces voor stewardessen wordt op basis van een algoritme een lijst opgesteld met de meest geschikte kandidaten. Telkens als er iemand wordt aangenomen, leert het algoritme daar weer van. Omdat in deze specifieke sector meer vrouwelijke dan mannelijke kandidaten beschikbaar zijn, worden er vaker vrouwen dan mannen aangenomen. Het algoritme kijkt niet naar oorzaken, maar enkel naar verbanden. Het gevolg is dat het algoritme mannelijke kandidaten structureel lager scoort. Bij een audit op het algoritme komt dit als onwenselijk, discriminerend gedrag naar boven en het datamodel wordt hierop aangepast, zodat het algoritme het element ‘geslacht’ voortaan niet meer meeneemt in de analyse.
Ontwerpvragen die te maken hebben met logica zijn bijvoorbeeld:
Met documentatie wordt alle documentatie bedoeld die gaat over het ontwerp of de werking van het algoritme.
Er zijn drie soorten documentatie
Ontwerpdocumentatie bestaat bijvoorbeeld uit een functioneel en technisch ontwerp of een privacyimpactanalyse. Beheerdocumentatie bestaat bijvoorbeeld uit verslagen van een Change Advisory Board.
Het is nodig om specifiek stil te staan bij verantwoordingsdocumentatie, want deze zal vaak op initiatief van de informatiebeheerdeskundige worden opgesteld. Het gaat hier om documentatie die vooral bedoeld is om de verantwoordingsfunctie van de overheid in te vullen. Een voorbeeld van dergelijke documentatie is een informatiewaardeanalyse. Als bij analyse van de trainingsdata bijvoorbeeld blijkt dat er subjectieve data wordt gebruikt (zie 2.3 Trainingsdata) dan kan daaruit de maatregel volgen dat er een analyse wordt opgesteld over de totstandkoming van deze gegevens: hoe functioneerde het proces waarin deze gegevens zijn verzameld? Hoe betrouwbaar zijn ze?
Ontwerpvragen die gaan over documentatie zijn bijvoorbeeld: