AI-basisprincipes

Wat is Machine Learning?

mm

Machine learning is een van de snelst groeiende technologische gebieden, maar ondanks hoe vaak de woorden “machine learning” worden gebruikt, kan het moeilijk zijn om te begrijpen wat machine learning precies is.

Machine learning verwijst niet naar één ding, het is een paraplu-term die kan worden toegepast op veel verschillende concepten en technieken. Het begrijpen van machine learning betekent dat je vertrouwd bent met verschillende vormen van modelanalyse, variabelen en algoritmen. Laten we een nauwe blik werpen op machine learning om beter te begrijpen wat het omvat.

Wat Is Machine Learning?

Terwijl de term machine learning op veel dingen kan worden toegepast, verwijst de term in het algemeen naar het mogelijk maken van een computer om taken uit te voeren zonder expliciete, regel voor regel instructies te ontvangen. Een machine learning-specialist hoeft niet alle stappen te schrijven die nodig zijn om het probleem op te lossen, omdat de computer in staat is om “te leren” door patronen in de data te analyseren en deze patronen te generaliseren naar nieuwe data.

Machine learning-systemen hebben drie basisonderdelen:

  • Inputs
  • Algoritmen
  • Outputs

De inputs zijn de data die in het machine learning-systeem worden ingevoerd, en de inputdata kan worden onderverdeeld in labels en kenmerken. Kenmerken zijn de relevante variabelen, de variabelen die zullen worden geanalyseerd om patronen te leren en conclusies te trekken. Ondertussen zijn de labels klassen/beschrijvingen die worden gegeven aan de individuele instanties van de data.

Kenmerken en labels kunnen worden gebruikt in twee verschillende soorten machine learning-problemen: supervised learning en unsupervised learning.

Ongezien vs. Begeleid Leren

Bij begeleid leren wordt de inputdata vergezeld van een grondwaarheid. Begeleide leerproblemen hebben de correcte outputwaarden als onderdeel van de dataset, zodat de verwachte klassen van tevoren bekend zijn. Dit maakt het mogelijk voor de datawetenschapper om de prestaties van het algoritme te controleren door de data te testen op een testdataset en te zien welk percentage van de items correct werd geclassificeerd.

In tegenstelling tot ongezien leren hebben ongeziene leerproblemen geen grondwaarheidslabels die eraan zijn vastgemaakt. Een machine learning-algoritme dat is getraind om ongeziene leren taken uit te voeren, moet in staat zijn om de relevante patronen in de data zelf af te leiden.

Begeleide leer-algoritmen worden typisch gebruikt voor classificatieproblemen, waarbij men een grote dataset heeft met instanties die moeten worden gesorteerd in een van de vele verschillende klassen. Een andere soort begeleid leren is een regressietaken, waarbij de waarde die door het algoritme wordt gegenereerd, continu is in plaats van categorisch.

Ondertussen worden ongeziene leer-algoritmen gebruikt voor taken zoals dichtheidschatting, clustering en representatieleer. Deze drie taken vereisen dat het machine learning-model de structuur van de data afleidt, er zijn geen vooraf gedefinieerde klassen die aan het model worden gegeven.

Laten we een korte blik werpen op enkele van de meest voorkomende algoritmen die worden gebruikt in zowel ongeziene als begeleide leren.

Soorten Begeleid Leren

Gemeenschappelijke begeleide leer-algoritmen zijn:

  • Naïeve Bayes
  • Support Vector Machines
  • Logistische Regressie
  • Willekeurige Bossen
  • Kunstmatige Neuronale Netwerken

Support Vector Machines zijn algoritmen die een dataset opdelen in verschillende klassen. Data-punten worden gegroepeerd in clusters door lijnen te trekken die de klassen van elkaar scheiden. Punten die aan één kant van de lijn worden gevonden, behoren tot één klasse, terwijl de punten aan de andere kant van de lijn tot een andere klasse behoren. Support Vector Machines streven ernaar om de afstand tussen de lijn en de punten aan weerszijden van de lijn te maximaliseren, en hoe groter de afstand, hoe zekerder de classificator is dat het punt tot één klasse behoort en niet tot een andere klasse.

Logistische Regressie is een algoritme dat wordt gebruikt in binaire classificatie-taken wanneer data-punten moeten worden geclassificeerd als behorend tot één van de twee klassen. Logistische Regressie werkt door het data-punt te labelen als 1 of 0. Als de waargenomen waarde van het data-punt 0,49 of lager is, wordt het geclassificeerd als 0, terwijl het als 0,5 of hoger wordt geclassificeerd als 1.

Decision Tree-algoritmen werken door datasets op te delen in kleinere en kleinere fragmenten. De exacte criteria die worden gebruikt om de data op te delen, zijn afhankelijk van de machine learning-ingenieur, maar het doel is om uiteindelijk de data op te delen in enkele data-punten, die vervolgens worden geclassificeerd met een sleutel.

Een Random Forest-algoritme is in wezen een verzameling van enkele Decision Tree-classificatoren die samen worden gekoppeld tot een krachtigere classificator.

De Naïeve Bayes-classificator berekent de waarschijnlijkheid dat een bepaald data-punt is opgetreden op basis van de waarschijnlijkheid van een voorafgaand evenement. Het is gebaseerd op de Bayes-theorema en het plaatst de data-punten in klassen op basis van hun berekende waarschijnlijkheid. Wanneer een Naïeve Bayes-classificator wordt geïmplementeerd, wordt ervan uitgegaan dat alle voorspellers dezelfde invloed hebben op de klasse-uitkomst.

Een Kunstmatig Neuraal Netwerk, of multi-laags perceptron, zijn machine learning-algoritmen die zijn geïnspireerd door de structuur en functie van de menselijke hersenen. Kunstmatige neurale netwerken krijgen hun naam van het feit dat ze zijn opgebouwd uit veel knooppunten/neuronen die met elkaar zijn verbonden. Elk neuron manipuleert de data met een wiskundige functie. In kunstmatige neurale netwerken zijn er inputlagen, verborgen lagen en outputlagen.

De verborgen laag van het neurale netwerk is waar de data daadwerkelijk wordt geïnterpreteerd en geanalyseerd voor patronen. Met andere woorden, het is waar het algoritme leert. Meer neuronen die met elkaar zijn verbonden, maken complexere netwerken mogelijk die complexere patronen kunnen leren.

Soorten Ongezien Leren

Ongeziene leer-algoritmen zijn:

  • K-means clustering
  • Auto-encoders
  • Principale Componenten Analyse

K-means clustering is een ongeziene classificatie-techniek, en het werkt door data-punten te scheiden in clusters of groepen op basis van hun kenmerken. K-means clustering analyseert de kenmerken die worden gevonden in de data-punten en onderscheidt patronen in hen die de data-punten in een bepaalde klasse-cluster meer gelijk maken dan ze zijn aan clusters die de andere data-punten bevatten. Dit wordt bereikt door mogelijke centra voor de cluster, of centroids, in een grafiek van de data te plaatsen en de positie van de centroid te herschikken totdat een positie wordt gevonden die de afstand tussen de centroid en de punten die tot die centroid behoren, minimaliseert. De onderzoeker kan het gewenste aantal clusters specificeren.

Principale Componenten Analyse is een techniek die grote aantallen kenmerken/variabelen terugbrengt tot een kleinere kenmerkenruimte/minder kenmerken. De “principale componenten” van de data-punten worden geselecteerd voor behoud, terwijl de andere kenmerken worden samengeperst tot een kleinere weergave. De relatie tussen de oorspronkelijke data-punten wordt behouden, maar omdat de complexiteit van de data-punten eenvoudiger is, is de data gemakkelijker te kwantificeren en te beschrijven.

Auto-encoders zijn versies van neurale netwerken die kunnen worden toegepast op ongeziene leer-taken. Auto-encoders zijn in staat om ongelabelde, vrije data te nemen en deze om te zetten in data die een neurale netwerk kan gebruiken, waardoor ze in wezen hun eigen gelabelde trainingsdata creëren. Het doel van een auto-encoder is om de inputdata om te zetten en deze zo nauwkeurig mogelijk opnieuw op te bouwen, zodat het in het belang van het netwerk is om te bepalen welke kenmerken het meest belangrijk zijn en deze te extraheren.

Blogger en programmeur met specialisaties in Machine Learning en Deep Learning onderwerpen. Daniel hoopt anderen te helpen de kracht van AI te gebruiken voor het sociale goede.