AI-basisprincipes
Gestructureerd tegen Ongestructureerd Leren
In machine learning, kunnen de meeste taken gemakkelijk worden onderverdeeld in een van twee verschillende klassen: gestructureerde leren problemen of ongestructureerde leren problemen. Bij gestructureerd leren heeft de data labels of klassen die eraan zijn toegevoegd, terwijl ongestructureerd leren ongelabelde data betreft. Laten we eens kijken waarom dit onderscheid belangrijk is en naar enkele van de algoritmes die aan elk type leren zijn gekoppeld.
Gestructureerd vs Ongestructureerd Leren
De meeste machine learning-taken vallen onder het domein van gestructureerd leren. Bij gestructureerde leren-algoritmes hebben de individuele instanties/gegevenspunten in de dataset een klasse of label toegewezen. Dit betekent dat het machine learning-model kan leren om te onderscheiden welke kenmerken correleren met een bepaalde klasse en dat de machine learning-engineer de prestaties van het model kan controleren door te zien hoeveel instanties correct zijn geclassificeerd. Classificatie-algoritmes kunnen worden gebruikt om complexe patronen te onderscheiden, zolang de data maar is gelabeld met de juiste klassen. Bijvoorbeeld, een machine learning-algoritme kan leren om verschillende dieren van elkaar te onderscheiden op basis van kenmerken zoals “snorharen”, “staart”, “klauwen”, enz.
In tegenstelling tot gestructureerd leren, houdt ongestructureerd leren in dat een model wordt gemaakt dat in staat is om patronen te extraheren uit ongelabelde data. Met andere woorden, de computer analyseert de invoerkenmerken en bepaalt zelf welke kenmerken en patronen het meest belangrijk zijn. Ongestructureerd leren probeert de inherente overeenkomsten tussen verschillende instanties te vinden. Als een gestructureerd leren-algoritme ernaar streeft om gegevenspunten in bekende klassen te plaatsen, zullen ongestructureerde leren-algoritmes de kenmerken die gemeenschappelijk zijn voor de objectinstanties onderzoeken en deze in groepen indelen op basis van deze kenmerken, waardoor ze in wezen hun eigen klassen creëren.
Voorbeelden van gestructureerd leren-algoritmes zijn Lineaire Regressie, Logistische Regressie, K-dichtsteburen, Beslissingsbomen en Ondersteuningsvector Machines.
Ondertussen zijn enkele voorbeelden van ongestructureerd leren-algoritmes Principale Componenten Analyse en K-Middelpunt Clustering.
Gestructureerd Leren Algoritme
Lineaire Regressie is een algoritme dat twee kenmerken neemt en de relatie tussen hen uitzet. Lineaire Regressie wordt gebruikt om numerieke waarden te voorspellen in relatie tot andere numerieke variabelen. Lineaire Regressie heeft de vergelijking van Y = a + bX, waar b de helling van de lijn is en a de waarde is waar y de X-as kruist.
Logistische Regressie is een binaire classificatie-algoritme. Het algoritme onderzoekt de relatie tussen numerieke kenmerken en vindt de waarschijnlijkheid dat de instantie kan worden geclassificeerd in een van twee verschillende klassen. De waarschijnlijkheidswaarden worden “samengedrukt” naar 0 of 1. Met andere woorden, sterke waarschijnlijkheden zullen dichtbij 0,99 komen, terwijl zwakke waarschijnlijkheden dichtbij 0 zullen komen.
K-dichtsteburen wijst een klasse toe aan nieuwe gegevenspunten op basis van de toegewezen klassen van een bepaald aantal buren in de trainingsset. Het aantal buren dat door het algoritme wordt overwogen, is belangrijk, en te weinig of te veel buren kunnen gegevenspunten verkeerd classificeren.
Beslissingsbomen zijn een type classificatie- en regressie-algoritme. Een beslissingsboom werkt door een dataset op te splitsen in kleinere en kleinere delen totdat de subsets niet verder kunnen worden opgesplitst en wat resulteert is een boom met knooppunten en bladeren. De knooppunten zijn waar beslissingen over gegevenspunten worden gemaakt met behulp van verschillende filtercriteria, terwijl de bladeren de instanties zijn die een label zijn toegewezen (een gegevenspunt dat is geclassificeerd). Beslissingsboom-algoritmes kunnen zowel numerieke als categorische data verwerken. Splitsingen in de boom worden gemaakt op specifieke variabelen/kenmerken.
Ondersteuningsvector Machines zijn een classificatie-algoritme dat werkt door hypervlakken, of scheidingen, tussen gegevenspunten te trekken. Gegevenspunten worden gescheiden in klassen op basis van welke kant van het hypervlak ze zich bevinden. Meerdere hypervlakken kunnen over een vlak worden getrokken, waardoor een dataset in meerdere klassen wordt opgesplitst. De classificator zal proberen de afstand tussen het hypervlak en de punten aan weerszijden van het vlak te maximaliseren, en hoe groter de afstand tussen het hypervlak en de punten, hoe zelfverzekerder de classificator is.
Ongestructureerd Leren Algoritmes
Principale Componenten Analyse is een techniek die wordt gebruikt voor dimensionaliteitsreductie, wat betekent dat de dimensionaliteit of complexiteit van de data op een eenvoudigere manier wordt weergegeven. Het Principale Componenten Analyse-algoritme vindt nieuwe dimensies voor de data die orthogonaal zijn. Terwijl de dimensionaliteit van de data wordt verminderd, moet de variantie tussen de data zo veel mogelijk worden behouden. Wat dit in praktische zin betekent, is dat het de kenmerken in de dataset neemt en deze terugbrengt tot minder kenmerken die de meeste data vertegenwoordigen.
K-Middelpunt Clustering is een algoritme dat gegevenspunten automatisch in clusters groepeert op basis van gelijkaardige kenmerken. De patronen in de dataset worden geanalyseerd en de gegevenspunten worden opgesplitst in groepen op basis van deze patronen. In wezen creëert K-middelpunt zijn eigen klassen uit ongelabelde data. Het K-middelpunt-algoritme werkt door centra toe te wijzen aan de clusters, of centroiden, en deze centroiden te verplaatsen totdat de optimale positie voor de centroiden is gevonden. De optimale positie zal een zijn waar de afstand tussen de centroiden en de omliggende gegevenspunten binnen de klasse is geminimaliseerd. De “K” in K-middelpunt clustering verwijst naar het aantal centroiden dat is gekozen.
Samenvatting
Om af te sluiten, laten we snel de belangrijkste verschillen tussen gestructureerd en ongestructureerd leren doornemen.
Zoals we eerder bespraken, hebben gestructureerde leren-taken gelabelde invoergegevens en zijn het aantal klassen bekend. Ondertussen heeft ongestructureerd leren ongelabelde invoergegevens en is het aantal klassen onbekend. Ongestructureerd leren heeft de neiging minder computationeel complex te zijn, terwijl gestructureerd leren computationeel complexer is. Terwijl gestructureerd leren resultaten over het algemeen zeer nauwkeurig zijn, zijn ongestructureerd leren resultaten minder nauwkeurig/moderately nauwkeurig.












