AIToday Live

S05E50 - Shorts - Testen voor Machine learning

September 14, 2023 Info Support AIToday Season 5 Episode 50
AIToday Live
S05E50 - Shorts - Testen voor Machine learning
Show Notes Transcript

Ontdek waarom testen in machine learning zo complex is en waarom het essentieel is. Leer over de specifieke tests die nodig zijn om datakwaliteit en codefunctionaliteit te waarborgen. 

Met onze podcast AIToday Live zijn we genomineerd voor de Belgian Podcast Awards ! 🏆🤩 Belgisch? Ja, een Belgische award, want er is een speciale categorie voor Nederlandse podcasts: Prijs van Oranje.

Wil je ons steunen? 🙏❤️ Stem op ons!

Aigency
Aigency ontwerpt en ontwikkelt waardevolle, robuuste en betrouwbare Machine Learning-modellen.

Info Support
Info Support is de specialist in maatwerk software en leidend in kunstmatige intelligentie (AI).

Disclaimer: This post contains affiliate links. If you make a purchase, I may receive a commission at no extra cost to you.

Wil je toegang tot exclusieve toegang voor onze luisteraars? Schrijf je in voor de nieuwsbrief 'AI versterkt de Mens'

Contact AIToday Live


We zijn altijd op zoek naar nieuwe gasten die over AI willen spreken.

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.