1
00:00:00,000 --> 00:00:04,000
Machine learning heeft de technologische wereld veroverd.
2
00:00:04,000 --> 00:00:09,000
Maar zoals bij elke technologie is het essentieel om de systemen die we bouwen grondig te testen.
3
00:00:09,000 --> 00:00:16,000
In het geval van machine learning is het testen echt niet zo eenvoudig als het uitvoeren van een paar eenvoudige codetesten.
4
00:00:16,000 --> 00:00:18,000
Laten we eens kijken waarom.
5
00:00:18,000 --> 00:00:25,000
Je luistert naar een korte aflevering van AIToday Live met erin een actueel onderwerp in 5 minuten.
6
00:00:25,000 --> 00:00:29,000
Waarom is testen in machine learning nou zo anders?
7
00:00:29,000 --> 00:00:32,000
In traditionele softwareontwikkeling draait alles om de code.
8
00:00:32,000 --> 00:00:35,000
Als de code correct is, werkt het programma zoals verwacht.
9
00:00:35,000 --> 00:00:38,000
In machine learning projecten is de situatie complexer.
10
00:00:38,000 --> 00:00:41,000
We hebben niet alleen te maken met code, maar ook met data.
11
00:00:41,000 --> 00:00:44,000
En deze twee zijn onlosmakelijk met elkaar verbonden.
12
00:00:44,000 --> 00:00:48,000
Stel je voor dat je een recept volgt om een cake te bakken.
13
00:00:48,000 --> 00:00:52,000
De instructies zijn je code en je ingrediënten zijn je data.
14
00:00:52,000 --> 00:00:56,000
Zelfs als je de instructies perfect volgt,
15
00:00:56,000 --> 00:01:01,400
zal het gebruik van bedorven eieren of oude bloem resulteren in een minder dan smakelijke cake.
16
00:01:01,400 --> 00:01:03,880
Dit is een analogie voor machine learning.
17
00:01:03,880 --> 00:01:08,480
De kwaliteit van je uitvoer, de cake, is afhankelijk van zowel je code,
18
00:01:08,480 --> 00:01:12,040
de instructies, als je data, de ingrediënten.
19
00:01:12,040 --> 00:01:16,320
Maar voordat we zelfs maar naar de code kijken,
20
00:01:16,320 --> 00:01:19,840
moeten we ervoor zorgen dat onze data van hoge kwaliteit is.
21
00:01:19,840 --> 00:01:23,160
Dit betekent dat we moeten controleren op een bias.
22
00:01:23,160 --> 00:01:31,160
Een bias in data kan optreden wanneer de gegevens die we verzamelen niet echt representatief zijn voor de realiteit.
23
00:01:31,160 --> 00:01:40,160
Een bias in data kan optreden wanneer de gegevens die we verzamelen niet echt representatief zijn voor de realiteit.
24
00:01:40,160 --> 00:01:42,160
Laten we een voorbeeld nemen.
25
00:01:42,160 --> 00:01:50,160
Stel je voor dat bij het ontwikkelen van een medische diagnose-app alleen gegevens worden verzameld van patiënten in stedelijke ziekenhuizen.
26
00:01:50,160 --> 00:01:55,140
Hierdoor kan het model minder nauwkeurig zijn bij het diagnosticeren van ziekten die vaker
27
00:01:55,140 --> 00:01:56,680
voorkomen in landelijke gebieden.
28
00:01:56,680 --> 00:01:58,960
Dit is een voorbeeld van selectiebias.
29
00:01:58,960 --> 00:02:06,160
Er zijn ook andere soorten bias, zoals zelfselectiebias, confirmationbias, of bijvoorbeeld vooroordeel
30
00:02:06,160 --> 00:02:07,720
of stereotypenbias.
31
00:02:07,720 --> 00:02:13,200
Vooroordelen of stereotypen voor ingenomenheid worden vaak waargenomen in gegevens die zijn
32
00:02:13,200 --> 00:02:16,800
verkregen uit historische bronnen zoals boeken of fotoarchieven.
33
00:02:16,800 --> 00:02:22,160
Door een fotoarchief te gebruiken om een model te trainen dat mannen van vrouwen onderscheid,
34
00:02:22,160 --> 00:02:27,120
kunnen mannen bijvoorbeeld vaker op het werk of buiten huis worden getoond en vrouwen vaak
35
00:02:27,120 --> 00:02:28,120
binnen huis.
36
00:02:28,120 --> 00:02:32,920
Als we dergelijke vertekende gegevens gebruiken, zal ons model dus meer moeite hebben om een
37
00:02:32,920 --> 00:02:35,680
vrouw buiten of een man juist thuis te herkennen.
38
00:02:35,680 --> 00:02:42,640
Het is essentieel om je bewust te zijn van deze biases en actief te zoeken naar tekenen
39
00:02:42,640 --> 00:02:44,000
ervan in je data.
40
00:02:44,000 --> 00:02:46,440
En dat doe je dus met specifieke testen.
41
00:02:46,440 --> 00:02:52,320
Zodra we vertrouwen hebben in onze data moeten we onze code testen.
42
00:02:52,320 --> 00:02:56,720
Dit omvat de code die we gebruiken om onze modellen te trainen als de code die we gebruiken
43
00:02:56,720 --> 00:02:57,840
om voorspellingen te doen.
44
00:02:57,840 --> 00:03:02,000
Bij code gebruiken we daar unit-testen voor.
45
00:03:02,000 --> 00:03:07,560
Unit-testen zijn geautomatiseerde testen die individuele onderdelen, of zoals dat dan heet
46
00:03:07,560 --> 00:03:11,320
units, van software te testen om te verifiëren of ze correct werken.
47
00:03:11,320 --> 00:03:16,320
In de context van software engineering verwijst een unit vaak naar een functiemethode of klas
48
00:03:16,320 --> 00:03:17,320
in de code.
49
00:03:17,320 --> 00:03:23,520
Het doel van een unit test is om elk afzonderlijk deel van de software te valideren op correctheid
50
00:03:23,520 --> 00:03:25,160
onafhankelijk van andere delen.
51
00:03:25,160 --> 00:03:29,280
Dit zorgt ervoor dat als er in de toekomst wijzigingen worden aangebracht we snel kunnen
52
00:03:29,280 --> 00:03:34,000
vaststellen of een deel van de software breekt als gevolg van die wijzigingen.
53
00:03:34,000 --> 00:03:40,880
Dit hebben we dus ook nodig bij machine learning code.
54
00:03:40,880 --> 00:03:45,560
Naast deze unit test moeten we ook testen op systeemniveau uitvoeren.
55
00:03:45,560 --> 00:03:48,560
Dit betekent dat we het hele systeem als geheel testen.
56
00:03:48,560 --> 00:03:54,160
En dat vaak met behulp van een aparte testset van data die niet is gebruikt tijdens de training.
57
00:03:54,160 --> 00:03:59,160
Een belangrijk aspect van systeemtesten is het meten van de prestaties van het model.
58
00:03:59,160 --> 00:04:02,680
En dit gaat verder dan alleen kijken naar de nauwkeurigheid van het model.
59
00:04:02,680 --> 00:04:07,360
We moeten ook rekening houden met zaken als de mate van vals-positieve of vals-negatieve
60
00:04:07,360 --> 00:04:09,760
en bedenken wat de effecten daarvan kunnen zijn.
61
00:04:09,760 --> 00:04:16,240
Tenslotte, voordat we met het machine learning systeem in productie kunnen gaan, moeten
62
00:04:16,240 --> 00:04:17,840
we acceptatietesten uitvoeren.
63
00:04:17,840 --> 00:04:22,840
Dit zijn testen die zijn ontworpen om te bevestigen dat het systeem voldoet aan de eisen van de
64
00:04:22,840 --> 00:04:23,840
klant of eindgebruiker.
65
00:04:23,840 --> 00:04:29,600
Bij machine learning kan het betekenen dat we het model testen met real-world data of
66
00:04:29,600 --> 00:04:33,680
dat we het model onderwerpen aan verschillende scenario's om te zien hoe het presteert onder
67
00:04:33,680 --> 00:04:35,000
verschillende omstandigheden.
68
00:04:35,000 --> 00:04:39,080
Testen in machine learning is complex, maar essentieel.
69
00:04:39,080 --> 00:04:44,040
Door zowel onze data als onze code grondig te testen, kunnen we vertrouwen hebben in de
70
00:04:44,040 --> 00:04:48,640
voorspellingen van ons model en ervoor zorgen dat we waardevolle inzichten leveren aan onze
71
00:04:48,640 --> 00:04:49,640
gebruikers of klanten.
72
00:04:49,640 --> 00:04:50,640
Dank je wel voor het luisteren.
73
00:04:50,640 --> 00:04:51,640
Vind je dit nou interessant content over kunstmatig intelligentie, abonneer je dan op het knopje
74
00:04:51,640 --> 00:05:02,640
in je app waarbij je nu zit te luisteren en mis geen aflevering.