Machine Learning

Machine Learning, een ander Internet of Things resultaat. Een onderdeel van informatietechnologie en computerwetenschappen dat tot doel heeft om computers zelfstandig te laten leren, zonder dat deze geprogrammeerd hoeven te worden.

WAT IS MACHINE LEARNING?

Machine learning, oftewel het leren aan machines. Dit zeer specifieke vakgebied op het kruispunt van informatietechnologie, computerwetenschappen en kunstmatige intelligentie houdt zich bezig met het leerproces van computers. Hoe kunnen deze nog sneller en slimmer gemaakt worden? Hoe kunnen deze zich aanpassen aan omstandigheden en plotselinge afwijkingen?

Het belangrijkste doel van machine learning is om tot een punt te komen waarop computers zelfstandig door kunnen ontwikkelen en kunnen leren van nieuwe input en gebeurtenissen. Zo hoeft er niemand meer aan te pas te komen om de computers te programmeren of nieuwe software te installeren – maar kan de computer zelfstandig leren.

De eerste die de term machine learning gebruikte was Arthur Samuel, een pionier op het gebied van gaming en kunstmatige intelligentie, die deze in 1959 introduceerde terwijl hij bij IBM werkte. Na ontwikkelingen in patroonherkenning en computationele leertheorieën, ging machine learning verder in het bestuderen en samenstellen van algoritmes die leren van - en voorspellingen maken op basis van - verzamelde data.

Dergelijke algoritmes kunnen uiteindelijk voorspellingen doen of beslissingen nemen, gebaseerd op de verzamelde data en de analyse hiervan door geavanceerde modellen. Het wordt vooral toegepast in velden waar het handmatige ontwerpen en programmeren van expliciete algoritmes ontzettend lastig of zelfs onmogelijk is: denk daarbij aan e-mail filters, detectie van datalekken of ongeautoriseerde gebruikers, gezichtsherkenning en het opstellen van een ranking aan de hand van meerdere variabelen.

Simpel gezegd, is een veelgebruikte, formele definitie van machine learning dat “een computerprogramma zou kunnen leren van gebeurtenis E, ten opzichte van soortgelijke taken T en prestatiemaatstaf P, als zijn prestatie op de taken in T, zoals gemeten door P, verbetert door ervaring E.”

Taken die onderdeel uitmaken van machine learning kunnen normaal gezien opgesplitst worden in twee bredere categorieën, afhankelijk van of er, als leermechanisme, een ‘signaal’ of ‘feedback’ beschikbaar wordt gesteld voor een lerend systeem:
  • Gecontroleerd leren, waarbij het algoritme voorbeelden van gangbare input en de daarbij passende output voor zich krijgt. Aan de hand van deze voorbeelden leert het systeem hoe bepaalde eigenschappen van de input bepalen wat de output gaat zijn. Na de initiële leerfase kan zo’n algoritme zelfstandig nieuwe input omzetten in de juiste output, of worden er oefeningen uitgevoerd waarbij bepaalde inputelementen ingedeeld moeten worden in groepen.
  • Ongecontroleerd leren, waarbij geen voorbeelden gegeven worden van gangbare input en de gewenste output; maar het system zelf leert, aan de hand van de structuur van de input – bijvoorbeeld door input onder te verdelen in soortgelijke groepen.
  • Semigecontroleerd leren bevat zowel elementen van gecontroleerd en ongecontroleerd leren. Na een incomplete ‘leersessie’ via de gecontroleerde methode, leert het system verder via ongecontroleerd leren.
  • Ondersteund leren leert zichzelf gedrag aan, aan de hand van zijn relatie tot de rest van de wereld en behaalde successen. Het systeem leert dus al doende, bijvoorbeeld door het rijden in een voertuig of het spelen van een bepaald spel.
  • Transductieleren wordt het minst gebruikt van alle methoden, en kan alleen getraind worden voor een beperkte set gevallen (gebaseerd op een budget), waarbij zelfstandig een keuze gemaakt dient te worden tussen gevallen waar in getraind moet worden.

TOEPASSINGEN VAN MACHINE LEARNING

In de veelgebruikte Gartner Hype Cycle uit 2016 wordt machine learning aan de top van ‘inflated expectations’ geplaatst. Kenmerkend voor dit punt is dat er, dankzij vroege publiciteit, een aantal succesverhalen naar buiten zijn gebracht. Deze worden echter vaak begeleid door minstens net zoveel rampverhalen over mislukte implementaties.

Dit maakt deze fase van de ontwikkeling het make-or-break moment. De voorstanders ervan kunnen besluiten om nog actiever de positieve pers op te zoeken en de negatieve geluiden de kop in te drukken.

Op dit moment blijkt dit met name lastig: succesverhalen van effectieve machine learning zijn lastig te vinden, aangezien het erg lastig blijkt om patronen te vinden en er vaak ook te weinig data beschikbaar is om het systeem te trainen. Als gevolg hiervan kunnen bestaande machine learning programma’s nog niet altijd leveren wat ze op voorhand beloofd hebben: een systeem dat zichzelf, geheel zelfstandig, constant slimmer maakt.

Al zijn er al wel enkele gebieden waar de technologie ver genoeg ontwikkeld is om nuttig te zijn. Enkele van de meest gebruikte toepassingen van de machine learning technologie zijn in velden als:
  • Bio-informatica, waarmee onder meer eiwitfuncties voorspeld kunnen worden.
  • Natuurlijke taalverwerking, zodat bijvoorbeeld de functie en betekenis van woorden in een zin bepaald kunnen worden.
  • Audiovisuele dataverwerking, waarbij visuele weergaves en/of audiofragmenten – bijvoorbeeld captchas – geanalyseerd of opgelost kunnen worden.
  • E-mail spamfilters, waarbij een systeem zichzelf leert welke e-mailberichten potentieel ongewenst en/of spam zijn.

De overeenkomst tussen al deze vakgebieden is dus dat het taken betreft die nagenoeg altijd identiek zijn, herhalend werk, waarbij slechts een beperkt aantal uitkomsten mogelijk is. Aan de hand van variabelen in de input, kan een systeem zichzelf constant verder ontwikkelen om zo nog beter zijn taak te kunnen uitvoeren; en zo betrouwbare output te kunnen leveren op basis van de verwerkte input.

In theorie zou dus iedere industrie die baat heeft bij een versimpeling van moeilijk te automatiseren repeterende taken, machine learning kunnen gebruiken. Een algoritme kan de vaak subjectieve en/of aan meerdere variabelen onderhevige input classificeren in bruikbare output, wat een enorme tijdswinst zou opleveren.

Ervan uitgaande dat het systeem zichzelf in de toekomst zal blijven ontwikkelen en betrouwbaarder kan worden in zijn uitkomsten, zal het een waardevolle toevoeging blijken.
Reactie plaatsen