Machine learning

Machine learning (ML) is een vorm van kunstmatige intelligentie die zich richt op het bouwen van systemen die leren en verbeteren naarmate ze meer gegevens verbruiken. Kunstmatige intelligentie is een bredere term die naar systemen of machines verwijst die menselijke intelligentie nabootsen. Ook al worden machine learning en AI vaak in één adem genoemd en worden de termen soms door elkaar gebruikt, ze betekenen niet hetzelfde. Kortom, alle machine learning is AI, maar niet alle AI is machine learning. Voornaamste conclusies:

  • Machine learning is een onderdeel van AI.
  • De vier meest voorkomende vormen van machine learning zijn supervised, unsupervised, semi-supervised en versterkt.
  • Populaire soorten algoritmen voor machine learning zijn neurale netwerken, beslisbomen, clustering en willekeurige bossen.
  • Veel voorkomende toepassingen van machine learning in het bedrijfsleven zijn objectidentificatie en -classificatie, detectie van afwijkingen, documentverwerking en voorspellende analyse.

Uitleg van machine learning
Machine learning is een techniek die voorheen onbekende relaties in gegevens ontdekte door potentieel zeer grote gegevenssets te doorzoeken om patronen en trends te ontdekken die verder gaan dan eenvoudige statistische analyse. Machine learning maakt gebruik van geavanceerde algoritmen die zijn getraind om patronen in gegevens te identificeren, waardoor modellen worden gecreëerd. Deze modellen kunnen worden gebruikt om voorspellingen te doen en gegevens te categoriseren.
Merk op dat een algoritme niet hetzelfde is als een model. Een algoritme is een verzameling regels en procedures die worden gebruikt om een specifiek probleem op te lossen of een bepaalde taak uit te voeren, terwijl een model de uitvoer of het resultaat is van het toepassen van een algoritme op een gegevensreeks.
Voor de training is een algoritme nodig. Na de training komt een model.
Zo wordt machine learning op grote schaal gebruikt in de gezondheidszorg voor taken als analyse van medische beelden, voorspellende analyses en diagnose van ziekten. Machine-learningmodellen zijn bij uitstek geschikt voor het analyseren van medische beelden, zoals MRI-scans, röntgenfoto's en CT-scans, om patronen te identificeren en afwijkingen op te sporen die misschien niet zichtbaar zijn voor het menselijk oog of die een overwerkte diagnosticus misschien over het hoofd ziet. Machine-leersystemen kunnen ook symptomen, genetische informatie en andere patiëntgegevens analyseren om tests voor te stellen voor aandoeningen zoals kanker, diabetes en hartaandoeningen.
De belangrijkste kenmerken van machine learning zijn

  • Automatische detectie van patronen
  • Voorspelling van waarschijnlijke resultaten
  • Het aanmaken van bruikbare informatie
  • De mogelijkheid om zeer grote hoeveelheden gegevens te analyseren

Soorten machine learning
Er zijn vier hoofdtypen van machine learning. Elk heeft zijn eigen sterke punten en beperkingen, waardoor het belangrijk is om de juiste aanpak te kiezen voor de specifieke taak die moet worden uitgevoerd.
Onder toezicht staande machine learning is het meest voorkomende type. Hier leren gelabelde gegevens het algoritme welke conclusies het moet trekken. Net zoals een kind fruit leert herkennen door het te onthouden uit een plaatjesboek, wordt bij supervised learning het algoritme getraind door een dataset die al gelabeld is. Een voorbeeld van supervised machine learning is een spam e-mailfilter, waarbij het algoritme wordt getraind op een gelabelde gegevensset waarin elke e-mail als spam of geen spam wordt getagd. Het model leert van deze gelabelde voorbeelden en kan vervolgens voorspellen of nieuwe inkomende e-mails waarschijnlijk spam zijn of niet op basis van de patronen die het heeft geïdentificeerd. Voor dit type supervised learning is een menselijke expert nodig om de juiste antwoorden te geven door gegevens te labelen, zodat het algoritme kan leren en in de toekomst nauwkeurige voorspellingen kan doen.
Merk op dat het doel hier niet is om te trainen met ongerepte gegevens. U wilt nabootsen wat het systeem in de echte wereld ziet - sommige spam is gemakkelijk te herkennen, maar andere voorbeelden zijn heimelijk of op het randje. Te schone gegevens leiden tot overfitting, wat betekent dat het model alleen andere ongerepte voorbeelden zal identificeren.
Onbeheerde machine learning maakt gebruik van een meer onafhankelijke benadering, waarbij een computer complexe processen en patronen leert identificeren zonder op eerder gelabelde gegevens te vertrouwen. Bij unsupervised machine learning wordt niet alleen getraind op gegevens zonder labels. Er is ook geen specifieke, gedefinieerde output, zoals of een e-mail waarschijnlijk spam is.
Onbeheerde machine learning, heeft de neiging om groeperingen van vergelijkbare gegevens te detecteren, waardoor clusters ontstaan. Eenmaal getraind, kan het model vergelijkbare patronen identificeren en die gegevens in de juiste groep plaatsen. Een veelgebruikte toepassing van onbeheerde machine learning zijn aanbevelingsmachines, die worden gebruikt in consumententoepassingen om 'klanten die dat kochten, kochten ook dit'-suggesties te geven. Als er ongelijke patronen worden gevonden, kan het algoritme deze identificeren als afwijkingen, wat nuttig is bij het opsporen van fraude.
Semi-supervised machine learning pakt het probleem aan dat er niet genoeg gelabelde gegevens zijn om een model volledig te trainen. U hebt bijvoorbeeld grote sets met trainingsgegevens, maar u wilt niet de tijd en kosten besteden aan het labelen van de hele set. Door een combinatie van supervised en unsupervised methoden te gebruiken, kunt u vaak een volledig getraind model krijgen. Het trainingsproces begint net als bij leren onder toezicht, waarbij gelabelde gegevens worden gebruikt om de eerste resultaten te verkrijgen en richtlijnen op te stellen voor het algoritme. Als de gelabelde gegevens op zijn, krijgt het halfgetrainde model de sets ongelabelde gegevens. Het gebruikt de training die het heeft en kijkt naar de ongelabelde gegevens, met als doel het toevoegen aan de gelabelde gegevensset. Als het model met hoge zekerheid een passend label kan vinden voor een steekproef, wordt die steekproef aan de gelabelde gegevens toegevoegd. Het leerproces begint opnieuw, maar nu met een grotere set gelabelde voorbeelden. Door iteratie worden meer monsters gelabeld met wat vaak pseudo-labels worden genoemd en kan het model verder worden verfijnd. Versterkende machine learning gebruikt, net als unsupervised machine learning, ongelabelde gegevenssets en laat algoritmen de gegevens evalueren. Versterkingsleren verschilt echter in die zin dat het naar een bepaald doel toewerkt in plaats van gegevens te onderzoeken om eventuele patronen te ontdekken. Met een doel voor ogen voert het algoritme een proces van trial-and-error uit. Elke zet krijgt positieve, negatieve of neutrale feedback, die het algoritme gebruikt om zijn algemene besluitvormingsproces aan te scherpen. Versterkingslerende algoritmen kunnen op macroniveau naar het projectdoel toewerken, zelfs als dat betekent dat ze op korte termijn met negatieve gevolgen te maken krijgen. Op die manier kan versterkingsleren meer complexe en dynamische situaties aan dan andere methoden, omdat het de context van het projectdoel het risico in keuzes laat beïnvloeden. Een computer leren schaken is een goed voorbeeld. Het algemene doel is om het spel te winnen, maar dat kan het opofferen van stukken vereisen als het spel doorgaat.
Wat voldoet het beste aan uw behoeften? De keuze voor een beheerde aanpak of een van de andere drie methoden hangt meestal af van de structuur en het volume van uw gegevens, het budget en de uren die u aan training kunt besteden en het gebruikscenario waarop u het uiteindelijke model wilt toepassen. Een suggestie voor een blouse die bij een rok past, kan onbelangrijk zijn. Een tumor missen, nog minder.

Hoe machine learning werkt
Zoals de naam al doet vermoeden, werkt machine learning door het ontwikkelen van computergebaseerde statistische modellen die worden geoptimaliseerd voor een specifiek doel door het analyseren van trainingsgegevens. Dit in tegenstelling tot de traditionele methode, waarbij programmeurs een vast algoritme creëren dat een probleem probeert op te lossen. Terwijl datasets door het ML-model worden gehaald, wordt de resulterende output beoordeeld op nauwkeurigheid, waardoor datawetenschappers het model kunnen aanpassen via een reeks vaststaande variabelen, hyperparameters genaamd, en algoritmisch aangepaste variabelen, leerparameters genaamd.
Omdat het algoritme zich aanpast terwijl het trainingsgegevens evalueert, traint het proces van blootstelling aan en berekening van nieuwe gegevens het algoritme om beter te worden in wat het doet. Het algoritme is het rekenkundige deel van het project, terwijl de term 'model' een getraind algoritme voor echte woordgebruiksgevallen kan worden gebruikt.
De omvang, middelen en doelen van machine-learningprojecten bepalen het meest geschikte pad, maar de meeste bestaan uit een reeks stappen:
1. Gegevens verzamelen en bundelen
Voor het trainen van ML-modellen zijn veel gegevens van hoge kwaliteit nodig. Het vinden ervan is soms moeilijk en het labelen ervan kan, indien nodig, veel middelen vergen. Nadat u potentiële gegevensbronnen hebt geïdentificeerd, evalueert u deze om de algehele kwaliteit te bepalen en de afstemming met de bestaande gegevensintegratie/opslagbronnen van het project. Deze bronnen vormen de trainingsbasis van een machine learning-project.
2. Selecteer een geschikt algoritme om het gewenste model te genereren
Afhankelijk van of het project supervised, unsupervised of semi-supervised learning wil gebruiken, kunnen datawetenschappers de meest geschikte algoritmen selecteren. Een eenvoudiger project met een gelabelde gegevensset kan bijvoorbeeld een beslisboom gebruiken, terwijl clusteren - gegevensmonsters verdelen in groepen van vergelijkbare objecten - meer rekenkracht vereist omdat het algoritme zonder supervisie werkt om het beste pad naar een doel te bepalen.
3. Gegevens verfijnen en voorbereiden voor analyse
De kans is groot dat binnenkomende gegevens nog niet klaar zijn. Gegevensvoorbereiding schoont datasets op om ervoor te zorgen dat alle records gemakkelijk tijdens de training kunnen worden opgenomen. De voorbereiding bestaat uit verschillende transformatietaken, zoals het instellen van datum- en tijdnotaties, het samenvoegen of splitsen van kolommen indien nodig, en het bepalen van andere formaatparameters, zoals het aantal toegestane significante cijfers in gegevens met reële getallen. Andere belangrijke taken zijn het verwijderen van dubbele records, ook wel dataduplicatie genoemd, en het identificeren en mogelijk verwijderen van uitschieters.
4. Het model door middel van training opleiden
Zodra het gewenste eindmodel is geselecteerd, begint het trainingsproces. Tijdens de training wordt een gecureerd gegevensbestand, gelabeld of ongelabeld, naar het algoritme gestuurd. In de eerste runs zijn de resultaten misschien niet geweldig, maar datawetenschappers zullen deze waar nodig aanpassen om de prestaties te verfijnen en de nauwkeurigheid te vergroten. Daarna krijgt het algoritme opnieuw gegevens te zien, meestal in grotere hoeveelheden om het nauwkeuriger af te stellen. Hoe meer gegevens het algoritme ziet, hoe beter het uiteindelijke model wordt in het leveren van de gewenste resultaten.
5. De prestaties en nauwkeurigheid van het model beoordelen
Nadat het model met voldoende nauwkeurigheid is getraind, is het tijd om het eerder ongeziene gegevens te geven om te testen hoe het presteert. Vaak zijn de gegevens die gebruikt worden voor het testen een onderdeel van de trainingsgegevens die voor gebruik na de initiële training apart gezet zijn.
6. Modelparameters verfijnen en verbeteren
Het model is nu waarschijnlijk bijna klaar voor gebruik. Runs met testdatasets zouden zeer nauwkeurige resultaten moeten opleveren. Verbeteringen vinden plaats door extra training met specifieke gegevens - vaak uniek voor de activiteiten van een bedrijf - als aanvulling op de algemene gegevens die in de oorspronkelijke training zijn gebruikt.
7. Het model opstarten
Nu de resultaten geoptimaliseerd zijn, is het model klaar om ongeziene gegevens aan te pakken bij normaal productiegebruik. Wanneer het model live is, zullen projectteams gegevens verzamelen over hoe het model in praktijkscenario's presteert. Dit kan worden gedaan door de belangrijkste prestatiecijfers te controleren, zoals nauwkeurigheid, de algehele juistheid van de voorspellingen van het model, en recall, de verhouding van correct voorspelde positieve waarnemingen. Bedenk ook hoe de voorspellingen van het model de bedrijfsresultaten in de praktijk beïnvloeden - genereert het waarde, of het nu gaat om een hogere verkoop van blouses of betere diagnostiek? Het uitvoeren van regelmatige audits en beoordelingen van de prestaties van het model kan helpen bij het identificeren van problemen of verstoringen die mogelijk zijn ontstaan na de implementatie en zijn essentieel om ervoor te zorgen dat het model effectief presteert en aan de gewenste doelstellingen voldoet.