Trace Id is missing
Naar hoofdinhoud gaan

Machine learning-algoritmen

Een inleiding in de wiskunde en logica achter machine learning.

Wat zijn machine learning-algoritmen?

Machine learning-algoritmen zijn stukjes code die gebruikers helpen bij het verkennen, analyseren en vinden van betekenissen in complexe gegevenssets. Elke algoritme is een beperkte set stapsgewijze, ondubbelzinnige instructies die een machine kan volgen om een bepaald doel te bereiken. Het doel van een machine learning-model is het bepalen of ontdekken van patronen die mensen kunnen gebruiken om voorspellingen te maken of informatie te categoriseren. Wat is machine learning?

Machine learning-algoritmen gebruiken parameters die zijn gebaseerd op trainingsgegevens, een subset gegevens die de grotere set vertegenwoordigt. Naarmate de trainingsgegevens worden uitgebreid, zodat deze de wereld realistischer vertegenwoordigen, worden met het algoritme nauwkeurigere resultaten berekend.

Met verschillende algoritmen worden gegevens op verschillende manieren geanalyseerd. Ze worden vaak gegroepeerd op basis van de machine learning-technieken waarvoor ze worden gebruikt: leren onder supervisie, leren zonder supervisie en bekrachtigend leren. Voor de meestgebruikte algoritmen worden regressie en classificatie gebruikt voor het voorspellen van doelcategorieën, het vinden van ongebruikelijke gegevenspunten, het voorspellen van waarden en het detecteren van overeenkomsten.

Machine learning-technieken

Naarmate je meer leert over machine learning-algoritmen, zal je merken dat deze doorgaans binnen een van de drie machine learning-technieken vallen:


Leren onder supervisie

Bij leren onder supervisie doen algoritmen voorspellingen op basis van een set gelabelde voorbeelden die je opgeeft. Deze techniek is nuttig als je weet hoe het resultaat er ongeveer uit moet zien.
 

Je geeft bijvoorbeeld een gegevensset op met het aantal inwoners van steden per jaar voor de afgelopen 100 jaar, en je wilt weten hoeveel inwoners een specifieke stad over vier jaar zal hebben. In het resultaat wordt gebruikgemaakt van labels die al bestaan in de gegevensset: inwoners, plaats en jaar.
 

Leren zonder supervisie

In leren zonder supervisie zijn de gegevenspunten niet voorzien van een label: de algoritme labelt deze voor je door de gegevens te organiseren of de structuur ervan te beschrijven. Deze techniek is nuttig als je niet weet hoe het resultaat er ongeveer uit moet zien.

 

Je geeft bijvoorbeeld klantgegevens op en je wilt segmenten maken van klanten die soortgelijke producten hebben. De gegevens die je opgeeft, zijn niet voorzien van een label en de labels in het resultaat worden gegenereerd op basis van de overeenkomsten die zijn gedetecteerd tussen gegevenspunten.

 

Bekrachtigend leren

Voor bekrachtigend leren wordt gebruikgemaakt van algoritmen die leren van resultaten en bepalen welke actie vervolgens moet worden uitgevoerd. Na elke actie ontvangt de algoritme feedback waarmee kan worden bepaald of de gekozen keuze juist, neutraal of onjuist is. Het is een goede techniek om te gebruiken voor geautomatiseerde systemen die een groot aantal kleine beslissingen moeten nemen zonder menselijk ingrijpen.

 

Je ontwerpt bijvoorbeeld een zelfrijdende auto en je wilt er zeker van zijn dat deze voldoet aan wettelijke richtlijnen en mensen niet in gevaar brengt. Naarmate de auto wordt verbeterd en een geschiedenis van bekrachtiging wordt opgebouwd, leert de auto hoe deze op zijn rijstrook blijft, de juiste snelheid aanhoudt en remt voor voetgangers.

De mogelijkheden van machine learning-algoritmen

Machine learning-algoritmen helpen je bij het beantwoorden van vragen die te complex zijn om via handmatige analyse te beantwoorden. Er zijn veel verschillende soorten machine learning-algoritmen, maar gebruiksvoorbeelden hiervan vallen meestal in een van deze categorieën.

Een doelcategorie voorspellen

Metalgoritmen voor tweeklassige (binaire) classificatie verdeel je de gegevens in twee categorieën. Ze zijn nuttig voor vragen met slechts twee mogelijke antwoorden die elkaar wederzijds uitsluiten, inclusief vragen die alleen met ja of nee kunnen worden beantwoord. Bijvoorbeeld:

  • Zal deze band binnen 1500 kilometer versleten zijn: ja of nee?
  • Wat levert meer verwijzingen op: een tegoedbon van $ 10 of een korting van 15%?

 

MetMulticlass (multinomial)-classificatiealgoritmen verdeel je de gegevens in drie of meer categorieën. Ze zijn nuttig voor vragen met drie of meer mogelijke antwoorden die elkaar wederzijds uitsluiten. Bijvoorbeeld:

  • In welke maand koopt het merendeel van de reizigers een vliegticket?
  • Welke emotie toont de persoon op deze foto?

Ongebruikelijke gegevenspunten zoeken

Algoritmen voor anomaliedetectie identificeer gegevenspunten die vallen buiten de gedefinieerde parameters voor wat normaal is. Zo kan je algoritmen voor anomaliedetectie bijvoorbeeld gebruiken voor het beantwoorden van vragen als:

  • Waar bevinden zich in deze batch de defecte onderdelen?
  • Welke creditcardaankopen zijn mogelijk frauduleus?

Waarden voorspellen

Metregressie-algoritmen voorspel je de waarde van een nieuw gegevenspunt op basis van historische gegevens. Ze helpen je bij het beantwoorden van vragen als:

  • Wat kost de gemiddelde woning met twee slaapkamers in mijn woonplaats volgend jaar?
  • Hoeveel patiënten komen er op dinsdag naar de kliniek?

Hoe waarden veranderen in de loop van de tijd

Tijdreeksalgoritmen tonen hoe een bepaalde waarde in de loop van de tijd verandert. Met behulp van tijdreeksanalyse en tijdreeksvoorspelling worden gegevens met regelmatige intervallen in de loop van de tijd verzameld en gebruikt om voorspellingen te doen en trends, seizoensgebondenheid, cycliciteit en onregelmatigheid te identificeren. Tijdreeksalgoritmen worden gebruikt om vragen te beantwoorden zoals:

  • Is het waarschijnlijk dat de prijs van een bepaald aandeel in het komende jaar zal stijgen of dalen?
  • Wat zijn mijn uitgaven volgend jaar?

Overeenkomsten ontdekken

Metclustering-algoritmen verdeel je de gegevens in meerdere groepen door te bepalen in hoeverre gegevenspunten overeenkomen. Clustering-algoritmen werken goed voor vragen als:

  • Welke kijkers houden van dezelfde typen films?
  • Welke printermodellen mislukken op dezelfde manier?

Classificatie

Classificatie-algoritmen gebruiken voorspellende berekeningen om gegevens toe te wijzen aan vooraf ingestelde categorieën. Classificatie-algoritmen worden getraind met invoergegevens en worden gebruikt om vragen te beantwoorden zoals:

  • Is dit e-mailbericht spam?
  • Wat is het sentiment (positief, negatief of neutraal) van een bepaalde tekst?
Linear regressie -algoritmen tonen of voorspellen de relatie tussen twee variabelen of factoren door een doorlopende rechte lijn op de gegevens toe te passen. De lijn wordt vaak berekend met behulp van de functie voor kwadraatfoutkosten. Lineaire regressie is een van de meest populaire vormen van regressieanalyse.

Metlogistieke regressie -algoritmen pas je een doorlopende S-vormige curve toe op de gegevens. Ook logistieke regressie is een populaire vorm van regressieanalyse.

MetNaïve Bayes -algoritmen bereken je de waarschijnlijkheid dat een gebeurtenis plaatsvindt, op basis van het optreden van een gerelateerde gebeurtenis.

Support Vector Machines tekenen een hypervlak tussen de twee dichtstbijzijnde gegevenspunten. Hiermee wordt de klassen gemarginaliseerd en worden de afstanden tussen de klassen gemaximaliseerd om ze duidelijker te onderscheiden.

Met algoritmen voorbeslissingsstructuren splits je gegevens in twee of meer homogene sets. Ze gebruiken als-dan-regels om de gegevens van elkaar te scheiden op basis van het meest significante onderscheid tussen gegevenspunten.

MetK-dichtstbijzijnde buren -algoritmen worden alle beschikbare gegevenspunten opgeslagen en worden alle nieuwe gegevenspunten geclassificeerd op basis van de gegevens die zich het dichtst bij elkaar bevinden, zoals gemeten met een afstandsfunctie.

Random forest -algoritmen zijn gebaseerd op beslissingsstructuren. Hiermee wordt echter niet één structuur, maar een forest aan structuren gemaakt, waarna je de structuren in dat forest een willekeurige volgorde geeft. Vervolgens verzamel je hiermee stemmen uit verschillende willekeurige formaties van de beslissingsstructuren om de uiteindelijke klasse van het testobject te bepalen.

MetGradient Boosting -algoritmen maak je een voorspellingsmodel dat zwakke voorspellingsmodellen bundelt (doorgaans beslissingsstructuren) via een samenstellingsproces waarmee de algehele prestaties van het model worden verbeterd.

MetK-means -algoritmen classificeer je gegevens in clusters, waarbij K gelijk is aan het aantal clusters. De gegevenspunten in elk cluster zijn homogeen, en ze zijn heterogeen met gegevenspunten in andere clusters.

Wat zijn machine learning-bibliotheken?

Een machine learning-bibliotheek is een set functies, frameworks, modules en routines die in een bepaalde taal zijn geschreven. Ontwikkelaars gebruiken de code in machine learning-bibliotheken als bouwstenen voor het maken van machine learning-oplossingen die complexe taken kunnen uitvoeren. In plaats van elk algoritme en elke formule in een machine learning-oplossing handmatig te moeten coderen, kunnen ontwikkelaars de functies en modules die ze nodig hebben in een van de vele beschikbare ML-bibliotheken vinden en deze gebruiken om een oplossing te bouwen die aan hun behoeften voldoet.

Beginnen met experimenteren met Azure Machine Learning

Bekijk hoe je met verschillende algoritmen gegevens analyseert door je eigen machine learning-modellen te bouwen en te implementeren met Azure Machine Learning.