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.