Machine Learning

Een van de belangrijkste verschillen tussen mensen en computers is dat mensen leren van ervaringen uit het verleden, ze proberen het tenminste, maar computers of machines moeten worden verteld wat ze moeten doen. Computers zijn strikte logische machines zonder gezond verstand. Dat betekent dat als we willen dat ze iets doen, we hen gedetailleerde, stapsgewijze instructies moeten geven over wat ze precies moeten doen. Daarom schrijven we scripts en geprogrammeerde computers om die instructies te volgen. Dat is waar Machine Learning om de hoek komt kijken. Machine Learning bestaat uit computers laten leren van ervaringen uit het verleden.

Wat is Machine Learning?
Machine Learning is een toepassing van kunstmatige intelligentie die het AI-systeem de mogelijkheid biedt om automatisch van de omgeving te leren en dat leren toepast om betere beslissingen te nemen, zonder expliciet te worden geprogrammeerd. Er zijn verschillende algoritmen die Machine Learning gebruikt om iteratief gegevens te leren, te beschrijven en te verbeteren om betere resultaten te voorspellen. Deze algoritmen gebruiken statistische technieken om patronen te herkennen en vervolgens acties op deze patronen uit te voeren.
Het leerproces begint met observaties of gegevens, zoals voorbeelden, directe ervaring of instructie, om patronen in gegevens te zoeken en in de toekomst betere beslissingen te nemen op basis van de voorbeelden die we geven. Het primaire doel is om de computers automatisch te laten leren zonder menselijke tussenkomst of assistentie en acties dienovereenkomstig aan te passen.
Supervised Machine Learning versus  Unsupervised Machine Learning vs. Reinforcement Learning
De basis van Machine Learning bestaat uit leren uit de omgeving en dat leren vervolgens toepassen om beslissingen te nemen. Om dit effectief te doen, zijn er categorieën algoritmen voor Machine Learning die dit mogelijk maken. Machine Learning-algoritmen worden vaak gecategoriseerd als met toezicht of zonder toezicht (vanuit de ontwikkelaar en gebruiker).
Supervised Machine Learning
Supervised Machine Learning kan wat in het verleden is geleerd, toepassen op nieuwe gegevens met behulp van gelabelde voorbeelden om toekomstige gebeurtenissen te voorspellen. Uitgaande van de analyse van een bekende trainingsdataset, produceert het leeralgoritme een afgeleide functie om voorspellingen te doen over de outputwaarden.
Bij Supervised Learning is het doel om met een mappingfunctie (f) te komen die de invoergegevens (x) het beste beschrijft om de uitvoergegevens (Y) af te sluiten. We kennen X en we kennen Y. Maar we moeten de mappingfunctie (f) vinden die een bepaald prestatieniveau zal bereiken. Vervolgens kunnen we de toewijzingsfunctie (f) toepassen op nieuwe gegevens om vergelijkbare resultaten te verkrijgen. Trainingsgegevens worden gebruikt om de functie f te vinden.
Y = f (X)
Er zijn twee soorten problemen met onder toezicht staande Machine Learning: classificatie en regressie, afhankelijk van het type uitvoervariabele. Als de uitvoervariabele categorisch is, dan is het een classificatieprobleem. (Voorbeeld: kleur kan rood, blauw, paars, enz. Zijn) Als de uitvoervariabele een echte waarde is, dan is het een regressieprobleem. (Voorbeeld: hoogte kan op een schaal van 0ft tot 10ft zijn).
Een lijst met algoritmen voor gecontroleerd Machine Learning omvat:

  Modellen Machine Learning    
  Linear Regression Linear Discriminant Analysis  
  Support Vector Machines Decision Trees  
  Logistic Regression K-nearest neighbour algorithm  

Unsupervised Machine Learning
In tegenstelling tot gecontroleerde (supervised) algoritmes worden algoritmen voor machine Learning zonder toezicht gebruikt wanneer de data die wordt gebruikt om te trainen niet geclassificeerd of gelabeld is. Unsupervised Learning algoritmes bestuderen hoe systemen een functie kunnen afleiden om een ​​verborgen structuur uit niet-gelabelde gegevens te beschrijven. In tegenstelling tot Supervised Machine Learning, gaat Unsupervised Machine Learning dus niet uit van een correcte set output “Y”. Er zijn geen outputs. Het doel is hier om de meest interessante structuur te presenteren die de invoergegevens het beste beschrijft.
Er zijn twee soorten Unsupervised Machine Learning-problemen: clustering en associatie. Clusteringproblemen zijn wanneer u groeperingen binnen de invoergegevens ontdekt. (Voorbeeld: stemgedrag groeperen op geslacht) Associatie is wanneer u regels ontdekt in de invoergegevens. (Voorbeeld: vrouwelijke kiezers stemmen meestal op vrouwelijke kandidaten)

Een lijst met algoritmen voor Unsupervised Machine Learning omvat:

  Unsupervised    
  Hierarchical clustering Principal component analysis Expectation-maximazation Algorithm
  K-means clustering DBSCAN Non-negative Matrix Factorization
  Mixture models Neural Networks  

Semi-supervised Machine Learning-algoritmen
Semi-supervised algoritmen voor machine Learning vallen ergens tussen Supervised en Unsupervised Learning omdat ze zowel gelabelde als niet-gelabelde gegevens gebruiken voor training. Meestal gaat het om een kleine hoeveelheid gelabelde gegevens en een grote hoeveelheid niet-gelabelde gegevens. De systemen die deze methode gebruiken, kunnen de leernauwkeurigheid aanzienlijk verbeteren.
Reinforcement Learning
Reinforcement Machine Learning-algoritme is een leermethode die interactie heeft met zijn omgeving door acties te produceren en fouten of beloningen te ontdekken. Zoeken met vallen en opstaan ​​en vertraagde beloning zijn de meest relevante kenmerken van het bekrachtigingsleren. Met deze methode kunnen machines en softwareagenten automatisch het ideale gedrag binnen een specifieke context bepalen om de prestaties te maximaliseren.
In tegenstelling tot Machine Learning onder toezicht en Machine Learning zonder toezicht, is Reinforcement Learning gericht op het vinden van het beste pad in een situatie om de beloning in een situatie te maximaliseren. Bij elke stap neemt het algoritme het pad naar totale beloning, het zal ofwel een positieve ofwel een negatieve beloning hebben. De totale beloning is de som van alle positieve en negatieve beloningen langs het pad. Het doel is om het beste pad te vinden dat de beloning maximaliseert. (Een goed voorbeeld hiervan is een op AI gebaseerd aandelenhandelssysteem.)

  Reinforcement algorithmes    
  Q-learning State-Action-Reward-State-Action (SARSA)  
  Policy Iteration Deep Q Network  
  Deep Deterministic Policy Gradient    

Voorbeelden van machine Learning
Machine Learning wordt tegenwoordig in een breed scala aan toepassingen gebruikt. Een van de bekendste voorbeelden is de nieuwsfeed van Facebook. De nieuwsfeed gebruikt machine Learning om de feed van elk lid te personaliseren. Als een lid vaak stopt met scrollen om de berichten van een bepaalde vriend te lezen of leuk te vinden, zal de nieuwsfeed eerder in de feed meer van de activiteit van die vriend weergeven.
Achter de schermen gebruikt de software eenvoudig statistische analyse en voorspellende analyse om patronen in de gegevens van de gebruiker te identificeren en die patronen te gebruiken om de nieuwsfeed te vullen. Als het lid niet langer stopt met het lezen, liken van of reageren op de berichten van een vriend, worden die nieuwe gegevens opgenomen in de dataset en wordt de nieuwsfeed dienovereenkomstig aangepast.
Machine Learning betreedt ook een reeks bedrijfstoepassingen. Customer Relationship Management (CRM) -systemen gebruiken leermodellen om e-mails te analyseren en de leden van het verkoopteam ertoe te bewegen eerst op de belangrijkste berichten te reageren.
Geavanceerdere systemen kunnen zelfs potentieel effectieve reacties aanbevelen. Leveranciers van business intelligence (BI) en analytics gebruiken Machine Learning in hun software om gebruikers te helpen automatisch belangrijke datapunten te identificeren.
Software en applicaties
Machine Learning is met veel verschillende software en/of applicaties uit te voeren. Hieronder een korte lijst van mogelijkheden.
Open Source                                                              

  • TenserFlow
  • R
  • Spark MLlib
  • Neural Lab

Softwarepakketten

  • IBM SPSS Modeler
  • IBM Watson Studio (Cloud/Desktop)
  • MATLAB
  • Microsoft Azure