Ongecontroleerd leren - AI-algoritmes
Bekijk bovenstaande afbeelding op een aparte webpagina: https://www.leerschool.be/othercontent/ml.php
Kies het juiste algoritme afhankelijk van het gewenste doel of de gewenste output
Afhankelijk van het "leerdoel" kies je als ontwikkelaar een supervised of unsupervised leermethode. Voor unsupervised kies je vervolgens het gewenste doel:
Unsupervised learning
-
Clusteren: Clusteren is bedoeld om gelijksoortige gegevenspunten te groeperen op basis van hun kenmerken of nabijheid in de dataset. Het identificeert natuurlijke clusters of groepen binnen de gegevens zonder enige voorkennis van de klassenlabels. Het doel is om inherente structuren of groepen in de gegevens te ontdekken.
-
Dimensionale reductie: Technieken voor dimensionale reductie richten zich op het verminderen van het aantal dimensies of variabelen in de dataset met behoud van de belangrijkste informatie. Dit is nuttig bij het omgaan met hoog-dimensionale gegevens. Het doel is om de dataset te vereenvoudigen door deze te transformeren naar een lagere-dimensionale weergave, wat kan helpen bij visualisatie, ruisonderdrukking en efficiëntere verwerking.
-
Patroonontdekking(inclusief associatie): Het ontdekken van patronen omvat het ontdekken van betekenisvolle relaties, verbanden of terugkerende patronen in de gegevens. Dit kan het identificeren van frequente itemsets of itemcombinaties in transactionele gegevens, sequentiële patronen in tijdreeksgegevens of clusterpatronen in ruimtelijke gegevens omvatten. Het doel is om inzicht te krijgen in de onderliggende patronen en afhankelijkheden die aanwezig zijn in de gegevens.
-
Ontdekken van anomalieën: Ontdekken van anomalieën, ook bekend als anomaliedetectie, richt zich op het identificeren van zeldzame of ongebruikelijke gevallen in de dataset die significant afwijken van het verwachte gedrag of de meerderheid van de gegevens. Het doel is om uitschieters, anomalieën of abnormale patronen te detecteren die kunnen wijzen op mogelijke fouten, fraude of anomalieën in de gegevens.
Samengevat groepeert clusteren gelijksoortige gegevenspunten, dimensiereductie vermindert het aantal variabelen, het ontdekken van patronen onthult zinvolle relaties of terugkerende patronen en het ontdekken van anomalieën identificeert ongebruikelijke of abnormale gevallen in de dataset. Deze technieken dienen verschillende doelen, maar dragen allemaal bij aan het begrijpen en verkrijgen van inzichten uit ongelabelde gegevens.
1. Clusteralgoritmen
Klusteringsalgoritmen, zoals K-means clustering, Hierarchische clusteringen DBSCAN ,worden gebruikt om gegevenspunten te groeperen op basis van hun gelijkenis of nabijheid. Het doel is om de intrinsieke structuur en natuurlijke groeperingen in de gegevens te ontdekken.
a. K-means
Het eerder genoemde K-Means algoritme is een voorbeeld van een methode voor leren zonder toezicht. Het verdeelt gegevens in een door de gebruiker gedefinieerd aantal klassen (k = 1, k = 4...). Je bepaalt dus zelf in hoeveel groepen je de invoergegevens wilt verdelen. Het algoritme is nuttig voor datasets waarin duidelijk te onderscheiden elementen (punten) aanwezig zijn.
- K-means is een methode om punten in groepen te verdelen op basis van hun onderlinge afstand. Stel je voor dat je veel punten op een kaart hebt en je wilt ze in verschillende groepen verdelen.
- K-means werkt door een aantal groepen te kiezen, laten we zeggen drie groepen. Het begint willekeurig met het plaatsen van drie punten, "middelpunten" genoemd, op de kaart. Deze punten vertegenwoordigen de middelpunten van de groepen.
- Dan worden alle andere punten toegewezen aan het dichtstbijzijnde middelpunt. Dus als een punt dichter bij het eerste middelpunt ligt dan bij de andere twee, wordt het toegewezen aan de eerste groep.
- Dan worden de middelpunten herberekend op basis van de gemiddelde positie van de punten in elke groep. Dit betekent dat de middelpunten verplaatst worden naar het gemiddelde van de punten in hun groep.
- Dit proces wordt herhaald totdat de middelpunten niet meer veranderen of totdat een bepaald aantal herhalingen is bereikt. Uiteindelijk krijg je groepen punten die dicht bij elkaar liggen en ver van de andere groepen.
K-means helpt ons patronen te vinden in de gegevens en kan voor verschillende dingen worden gebruikt, zoals het groeperen van klanten op basis van hun aankoopgedrag of het identificeren van verschillende soorten planten op basis van hun kenmerken.
b. Hiërarchisch clusteren
Stel je voor dat je een heleboel verschillende dieren hebt, zoals leeuwen, tijgers, beren en olifanten. Nu wil je deze dieren groeperen op basis van hoe ze op elkaar lijken. Een manier om dit te doen is door middel van hiërarchische clustering. Hiërarchische clustering is als het maken van een stamboom, maar in plaats van mensen, doen we het met dieren. We beginnen met elk dier te bekijken als een aparte groep, als een grote familie met maar één lid. Daarna vergelijken we de dieren om te zien in hoeverre ze op elkaar lijken.
- Laat ons zeggen dat we eerst de leeuwen en tijgers vergelijken. We kijken naar hun kenmerken, zoals hun grootte, kleur en het soort geluiden dat ze maken. Als leeuwen en tijgers veel op elkaar lijken, kunnen we ze samen in een groep zetten.
- Volgende vergelijken we de beren met de leeuwen en tijgers groep. Als beren meer op leeuwen en tijgers lijken dan op olifanten, zetten we beren in dezelfde groep als leeuwen en tijgers.
- We blijven de dieren vergelijken en groeperen tot we een grote stamboom hebben. Bovenaan de boom hebben we de grootste groep die alle dieren omvat. Dan, als we de boom aflopen, hebben we steeds kleinere groepen die meer op elkaar lijken.
Het mooie van hiërarchisch clusteren is dat we kunnen zien hoe de dieren aan elkaar gerelateerd zijn. We kunnen zien welke dieren meer op elkaar lijken en welke meer van elkaar verschillen. Het helpt ons te begrijpen hoe dingen zijn georganiseerd en gegroepeerd op basis van hun overeenkomsten.
Hiërarchisch clusteren is dus simpel gezegd het maken van een stamboom voor dieren op basis van hoe ze op elkaar lijken. Het helpt ons te zien hoe dieren aan elkaar verwant zijn en hoe ze gegroepeerd zijn.
c. DBSCAN
DBSCAN staat voor " Density-Based Spatial Clustering of Applications with Noise", wat betekent dat het een methode is om punten in een ruimte te groeperen op basis van hun nabijheid tot elkaar. Stel je voor dat je veel punten hebt, bijvoorbeeld op een kaart, en je wilt weten welke punten bij elkaar horen.
DBSCAN werkt door punten te groeperen op basis van hoe dicht ze bij elkaar liggen. Het idee is dat als punten dicht bij elkaar liggen, ze waarschijnlijk tot dezelfde groep behoren. Het bepaalt de groepen op basis van twee belangrijke dingen: de afstand tussen de punten en het aantal punten dat zich in de buurt bevindt.
Stel je voor dat je een groep vrienden hebt die allemaal dicht bij elkaar wonen. Ze kunnen gemakkelijk bij elkaars huis komen door een klein stukje te lopen. In dit geval kun je zeggen dat ze tot dezelfde groep behoren. Maar als je een andere vriend hebt die verder weg woont en niet gemakkelijk bij de anderen kan komen, dan hoort hij waarschijnlijk niet bij dezelfde groep.
DBSCAN werkt op een vergelijkbare manier. Het stelt een bepaalde afstand in en als twee punten binnen die afstand van elkaar liggen, worden ze geacht bij elkaar te horen. Dan wordt er gekeken naar andere punten die binnen die afstand liggen en worden ze aan de groep toegevoegd. Dit proces herhaalt zich totdat alle punten gegroepeerd zijn.
DBSCAN is nuttig omdat het ook punten kan identificeren die niet tot een groep behoren, maar meer geïsoleerd zijn. Deze punten worden als "ruis" beschouwd. Stel je voor dat je een paar eenzame huizen hebt die ver weg staan van andere huizen. Ze horen niet echt bij een groep, dus worden ze beschouwd als ruispunten.
Op deze manier helpt DBSCAN ons clusters of groepen van punten te vinden op basis van hun nabijheid. Het wordt op verschillende gebieden gebruikt, zoals het analyseren van gegevens, het identificeren van patronen in afbeeldingen en zelfs het vinden van groepen in sociale netwerken.
2. Reductie van dimensies
Dimensionale reductie is een techniek die wordt gebruikt om dingen eenvoudiger te maken door het aantal kenmerken of aspecten waarmee we rekening houden te verminderen. Stel je voor dat je veel informatie over iets hebt, zoals een foto met veel details. Soms maken al die details het moeilijk om het grote geheel te begrijpen of te analyseren. Dus, dimensionale reductie helpt door de belangrijkste aspecten te vinden en de minder belangrijke weg te laten.
Het is alsof je naar een foto kijkt en besluit om je alleen te richten op de belangrijkste objecten en de kleine details op de achtergrond te negeren. Zo kunnen we de foto beter begrijpen en wordt het makkelijker om ermee te werken.
Dimensionale reductie kan op verschillende manieren worden gedaan, maar het doel is altijd om de meest waardevolle informatie te behouden en de minder nuttige of overbodige delen te verwijderen.
Deze techniek is nuttig op veel gebieden. Bij gegevensanalyse bijvoorbeeld kan het ons helpen complexe gegevens te begrijpen door ons te richten op de belangrijkste factoren. Het helpt ook bij visualisaties, waardoor informatie eenvoudiger en begrijpelijker kan worden weergegeven.
Een voorbeeld:
Dimensionale reductie in unsupervised learning helpt ons grote hoeveelheden informatie te vereenvoudigen. Stel je voor dat we veel afbeeldingen hebben van verschillende dieren. In plaats van alle details van elke afbeelding te gebruiken, kunnen we belangrijke kenmerken zoals de vorm van de snuit, de oren of het type vacht identificeren. Door deze belangrijke kenmerken te behouden en de rest weg te laten, kunnen we de afbeeldingen vereenvoudigen. Dit maakt het gemakkelijker om de dieren te vergelijken en te groeperen op basis van hun overeenkomsten. Dus in plaats van naar alle details van de afbeeldingen te kijken, richten we ons alleen op de belangrijkste kenmerken om het probleem gemakkelijker op te lossen.
3. Patroon ontdekken
Stel je voor dat je een verzameling van je favoriete speelgoed in je kamer hebt. Nu besluit je om ze te organiseren op basis van overeenkomsten. Je begint het speelgoed te groeperen op basis van hun type, kleur of grootte. Je legt bijvoorbeeld alle knuffels op één stapel, alle auto's op een andere en alle actiefiguren op een andere. Door dit te doen, ontdek je patronen of overeenkomsten tussen je speelgoed. Je merkt dat bepaald speelgoed dezelfde kenmerken heeft en bij dezelfde groep hoort. Dit proces van het groeperen van speelgoed op basis van overeenkomsten is vergelijkbaar met wat patroonherkenning doet in unsupervised learning.
In de context van computers en gegevens gaat het bij het ontdekken van patronen om het vinden van vergelijkbare patronen of relaties in een grote dataset. Het doel is om items, objecten of gegevenspunten te identificeren die gemeenschappelijke kenmerken of gedragingen hebben. In de verkoopgegevens van een kruidenierswinkel kan patroonherkenning bijvoorbeeld onthullen dat klanten die brood kopen ook vaak melk kopen of dat bepaalde artikelen vaak samen worden gekocht, zoals chips en frisdrank.
Patronen ontdekken helpt ons te begrijpen hoe verschillende dingen of gebeurtenissen met elkaar samenhangen. Het stelt ons in staat om verborgen structuren of afhankelijkheden in de gegevens bloot te leggen die misschien niet direct voor de hand liggen. Door deze patronen te identificeren, kunnen we inzichten verwerven, voorspellingen doen en betere beslissingen nemen.
Patronen ontdekken is dus in essentie het vinden van verborgen groepen of verbanden in een dataset, net als het organiseren van je speelgoed op basis van overeenkomsten. Het helpt ons interessante en nuttige informatie te ontdekken uit de gegevens die we hebben.
Het verschil tussen clusteren en patronen ontdekken:
-
Doel en aanpak:
- Patroonontdekking: Het doel van patroonherkenning is het ontdekken van betekenisvolle relaties, verbanden of terugkerende patronen in de gegevens. Het richt zich op het vinden van overeenkomsten, afhankelijkheden of interessante verbanden tussen de gegevenspunten. Patroonzoekalgoritmen verkennen de volledige dataset om patronen en relaties te identificeren.
- Clusteren (inclusief K-means): Het doel van clusteren is om gelijksoortige gegevenspunten te groeperen op basis van hun kenmerken of nabijheid. Het doel is om de gegevens te verdelen in verschillende clusters, waarbij punten binnen hetzelfde cluster meer op elkaar lijken dan punten in andere clusters. Clusteralgoritmen, zoals K-means, wijzen gegevenspunten toe aan clusters op basis van afstanden of overeenkomsten.
-
Onderzochte leertechnieken:
- Patroonontdekking: Patroonontdekking omvat verschillende technieken, zoals associatieregelontginning, sequentiële patroonontginning of clusterpatroonontginning. Deze technieken zoeken naar interessante relaties, opeenvolgende volgordes of patronen die vaak voorkomen of sterke associaties hebben in de gegevens.
- Clusteren (inclusief K-means): Clusteringstechnieken, zoals K-means, richten zich specifiek op het verdelen van de gegevens in groepen of clusters. Ze berekenen de gelijkenis of ongelijkenis tussen gegevenspunten en wijzen deze toe aan clusters, met als doel de intracluster gelijkenis te maximaliseren en de intercluster gelijkenis te minimaliseren.
-
uitvoer:
- Patroonontdekking: De uitvoer van patroonzoekalgoritmen is meestal een verzameling ontdekte patronen, relaties of associaties. Deze patronen kunnen worden weergegeven als regels, reeksen of andere vormen die de ontdekte relaties in de gegevens beschrijven.
- Clusteren (inclusief K-means): Het resultaat van clusteralgoritmen is een verdeling van de gegevens in clusters. Elk cluster vertegenwoordigt een groep gelijksoortige gegevenspunten. De uitvoer kan bestaan uit de clustertoewijzingen voor elk gegevenspunt of de clustermiddelen.
Samengevat, terwijl patroonherkenning gericht is op het vinden van relaties, associaties of terugkerende patronen in de gegevens, is clustering (inclusief K-means) gericht op het groeperen van gelijksoortige gegevenspunten op basis van hun kenmerken of nabijheid. Patroonontdekking kan worden gezien als een breder concept dat verschillende technieken omvat, waaronder clustering, om interessante patronen in gegevens te ontdekken.
4. Anomalieën ontdekken
Stel je voor dat jij en je vrienden elke dag dezelfde route naar school nemen. Jullie kennen allemaal het typische verkeer, de gebruikelijke herkenningspunten en de tijd die het kost om op school te komen. Maar op een dag merk je iets vreemds op tijdens het woon-werkverkeer. Er staat een enorme file op de weg die normaal vrij is. Deze ongewone gebeurtenis trekt je aandacht omdat het niet is wat je normaal verwacht.
In unsupervised learning is het ontdekken van anomalieën het identificeren van die ongewone gebeurtenissen of "uitschieters" in een dataset. Het gaat om het vinden van gegevenspunten of gevallen die significant verschillen van de meerderheid of onverwacht zijn op basis van de patronen die in de rest van de gegevens worden waargenomen.
Bedenk bijvoorbeeld dat je een dataset hebt van de dagelijkse temperaturen in je stad in het afgelopen jaar. Meestal variëren de temperaturen van 15 tot 30 graden Celsius, maar op een dag zie je een temperatuur van 40 graden Celsius. Deze uitzonderlijk hoge temperatuur onderscheidt zich van de rest van de datapunten en kan worden beschouwd als een anomalie.
Anomaly discovery algoritmes analyseren de dataset en zoeken naar datapunten die significant afwijken van de norm. Ze doen dit door de kenmerken, patronen of statistische eigenschappen van de gegevens te onderzoeken. Deze algoritmen proberen ongewone gebeurtenissen, onverwacht gedrag, fouten of uitschieters te identificeren die interessant of zorgwekkend kunnen zijn.
Door anomalieën te detecteren, kunnen we potentiële problemen, uitschieters of interessante gebeurtenissen identificeren die nader onderzoek vereisen. Net zoals het opmerken van een ongebruikelijke file op uw gebruikelijke route, helpt het opsporen van anomalieën ons die uitzonderlijke of onverwachte gebeurtenissen in de gegevens te vinden die belangrijk kunnen zijn om te begrijpen of aan te pakken.
Dus, in essentie is het ontdekken van anomalieën in unsupervised learning het vinden van de ongewone, onverwachte of afwijkende gevallen in een dataset, net zoals het opmerken van iets ongewoons tijdens je dagelijkse routine. Het helpt ons om uitschieters of anomalieën te identificeren die op iets speciaals kunnen wijzen of onze aandacht vereisen.