logo

Clustering in machinaal leren

Clustering of clusteranalyse is een machine learning-techniek, waarbij de niet-gelabelde dataset wordt gegroepeerd. Het kan worden gedefinieerd als 'Een manier om de datapunten te groeperen in verschillende clusters, bestaande uit vergelijkbare datapunten. De objecten met de mogelijke overeenkomsten blijven in een groep die minder of geen overeenkomsten heeft met een andere groep.'

Het doet dit door een aantal vergelijkbare patronen in de niet-gelabelde dataset te vinden, zoals vorm, grootte, kleur, gedrag, enz., en verdeelt deze op basis van de aan- en afwezigheid van die vergelijkbare patronen.

Het is een ongecontroleerd leren methode, waardoor er geen toezicht wordt uitgeoefend op het algoritme, en het zich bezighoudt met de niet-gelabelde dataset.

lexicografische volgorde

Na toepassing van deze clustertechniek wordt ieder cluster of groep voorzien van een cluster-ID. Het ML-systeem kan deze ID gebruiken om de verwerking van grote en complexe datasets te vereenvoudigen.

Hiervoor wordt vaak de clustertechniek gebruikt statistische gegevensanalyse.

Opmerking: Clustering lijkt ergens op de classificatie algoritme , maar het verschil is het type dataset dat we gebruiken. Bij classificatie werken we met de gelabelde dataset, terwijl we bij clustering werken met de niet-gelabelde dataset.

Voorbeeld : Laten we de clustertechniek eens begrijpen met het praktijkvoorbeeld van Mall: Wanneer we een winkelcentrum bezoeken, kunnen we zien dat de dingen met vergelijkbaar gebruik bij elkaar zijn gegroepeerd. Zoals de t-shirts in één sectie zijn gegroepeerd en de broeken in andere secties, op dezelfde manier zijn appels, bananen, mango's, enz. in aparte secties gegroepeerd, zodat we de dingen gemakkelijk kunnen achterhalen. De clustertechniek werkt ook op dezelfde manier. Andere voorbeelden van clustering zijn het groeperen van documenten op onderwerp.

De clustertechniek kan breed worden gebruikt bij verschillende taken. Enkele meest voorkomende toepassingen van deze techniek zijn:

  • Marktaandeel
  • Statistische gegevensanalyse
  • Analyse van sociale netwerken
  • Segmentatie van afbeeldingen
  • Anomaliedetectie, enz.

Afgezien van deze algemene toepassingen, wordt het gebruikt door de Amazone in zijn aanbevelingssysteem om de aanbevelingen te geven volgens de eerdere zoekopdracht naar producten. Netflix gebruikt deze techniek ook om de films en webseries aan te bevelen aan zijn gebruikers volgens de kijkgeschiedenis.

In het onderstaande diagram wordt de werking van het clusteralgoritme uitgelegd. We kunnen zien dat de verschillende vruchten zijn onderverdeeld in verschillende groepen met vergelijkbare eigenschappen.

Clustering in machinaal leren

Soorten clustermethoden

De clustermethoden zijn grofweg onderverdeeld in: Moeilijke clustering (datapunt behoort tot slechts één groep) en Zachte clustering (gegevenspunten kunnen ook tot een andere groep behoren). Maar er bestaan ​​ook andere verschillende benaderingen van Clustering. Hieronder staan ​​de belangrijkste clustermethoden die worden gebruikt bij machine learning:

    Partitioneren Clustering Op dichtheid gebaseerde clustering Op distributiemodellen gebaseerde clustering Hiërarchische clustering Vage clustering

Partitioneren Clustering

Het is een vorm van clustering waarbij de gegevens in niet-hiërarchische groepen worden verdeeld. Het is ook bekend als de centroid-gebaseerde methode . Het meest voorkomende voorbeeld van clustering van partities is de K-Means Clustering-algoritme .

statisch trefwoord in Java

Bij dit type wordt de dataset verdeeld in een set van k groepen, waarbij K wordt gebruikt om het aantal vooraf gedefinieerde groepen te definiëren. Het clustercentrum is zo gemaakt dat de afstand tussen de datapunten van het ene cluster minimaal is in vergelijking met het zwaartepunt van een ander cluster.

Clustering in machinaal leren

Op dichtheid gebaseerde clustering

De op dichtheid gebaseerde clustermethode verbindt de zeer dichte gebieden tot clusters, en de willekeurig gevormde verdelingen worden gevormd zolang het dichte gebied met elkaar kan worden verbonden. Dit algoritme doet dit door verschillende clusters in de dataset te identificeren en de gebieden met een hoge dichtheid te verbinden tot clusters. De dichte gebieden in de dataruimte zijn van elkaar gescheiden door dunnere gebieden.

Deze algoritmen kunnen problemen ondervinden bij het clusteren van de datapunten als de dataset verschillende dichtheden en hoge dimensies heeft.

Clustering in machinaal leren

Op distributiemodellen gebaseerde clustering

Bij de op distributiemodellen gebaseerde clustermethode worden de gegevens verdeeld op basis van de waarschijnlijkheid van hoe een dataset tot een bepaalde distributie behoort. De groepering wordt gedaan door een aantal algemene verdelingen aan te nemen Gaussische verdeling .

Het voorbeeld van dit type is de Verwachtingsmaximalisatieclusteringalgoritme dat gebruik maakt van Gaussiaanse mengselmodellen (GMM).

Clustering in machinaal leren

Hiërarchische clustering

Hiërarchische clustering kan worden gebruikt als alternatief voor gepartitioneerde clustering, aangezien er geen vereiste is om vooraf het aantal te creëren clusters te specificeren. Bij deze techniek wordt de dataset opgedeeld in clusters om een ​​boomachtige structuur te creëren, ook wel a dendrogram . De waarnemingen of een willekeurig aantal clusters kunnen worden geselecteerd door de boom op het juiste niveau te kappen. Het meest voorkomende voorbeeld van deze methode is de Agglomeratief hiërarchisch algoritme .

Clustering in machinaal leren

Vage clustering

Fuzzy clustering is een soort zachte methode waarbij een data-object tot meer dan één groep of cluster kan behoren. Elke dataset heeft een reeks lidmaatschapscoëfficiënten, die afhankelijk zijn van de mate van lidmaatschap van een cluster. Fuzzy C-betekent algoritme is het voorbeeld van dit soort clustering; het wordt ook wel het Fuzzy k-means-algoritme genoemd.

Clustering van algoritmen

De Clustering-algoritmen kunnen worden onderverdeeld op basis van hun modellen die hierboven worden uitgelegd. Er zijn verschillende soorten clusteralgoritmen gepubliceerd, maar er worden er maar een paar algemeen gebruikt. Het clusteralgoritme is gebaseerd op het soort gegevens dat we gebruiken. Sommige algoritmen moeten bijvoorbeeld het aantal clusters in de gegeven dataset raden, terwijl andere de minimale afstand tussen de observaties van de dataset moeten vinden.

Hier bespreken we voornamelijk populaire Clustering-algoritmen die veel worden gebruikt in machine learning:

    K-Means-algoritme:Het k-means-algoritme is een van de meest populaire clusteralgoritmen. Het classificeert de dataset door de monsters in verschillende clusters met gelijke varianties te verdelen. In dit algoritme moet het aantal clusters worden opgegeven. Het is snel, er zijn minder berekeningen nodig en de lineaire complexiteit van Op). Mean-shift-algoritme:Het Mean-shift-algoritme probeert de dichte gebieden in de vloeiende dichtheid van datapunten te vinden. Het is een voorbeeld van een centroid-gebaseerd model, dat werkt aan het bijwerken van de kandidaten voor centroid om het middelpunt van de punten binnen een bepaalde regio te zijn.DBSCAN-algoritme:Het staat voor op dichtheid gebaseerde ruimtelijke clustering van toepassingen met ruis . Het is een voorbeeld van een op dichtheid gebaseerd model dat lijkt op de gemiddelde verschuiving, maar met enkele opmerkelijke voordelen. In dit algoritme worden de gebieden met een hoge dichtheid gescheiden door de gebieden met een lage dichtheid. Hierdoor zijn de clusters in elke willekeurige vorm te vinden.Verwachtingsmaximalisatieclustering met behulp van GMM:Dit algoritme kan worden gebruikt als alternatief voor het k-means-algoritme of voor die gevallen waarin K-means kan falen. In GMM wordt aangenomen dat de datapunten Gaussiaans verdeeld zijn.Agglomeratief hiërarchisch algoritme:Het agglomeratieve hiërarchische algoritme voert de bottom-up hiërarchische clustering uit. Hierbij wordt elk datapunt vanaf het begin als één cluster behandeld en vervolgens achtereenvolgens samengevoegd. De clusterhiërarchie kan worden weergegeven als een boomstructuur.Affiniteitsvoortplanting:Het verschilt van andere clusteralgoritmen omdat het niet vereist is om het aantal clusters te specificeren. Hierin verzendt elk datapunt een bericht tussen het paar datapunten tot convergentie. Het heeft O(N2T) tijdscomplexiteit, wat het belangrijkste nadeel van dit algoritme is.

Toepassingen van clustering

Hieronder staan ​​enkele algemeen bekende toepassingen van clustertechniek in Machine Learning:

panda's iterrijen
    Bij de identificatie van kankercellen:De clusteralgoritmen worden veel gebruikt voor de identificatie van kankercellen. Het verdeelt de kanker- en niet-kankerachtige datasets in verschillende groepen.In zoekmachines:Zoekmachines werken ook aan de clustertechniek. Het zoekresultaat verschijnt op basis van het object dat het dichtst bij de zoekopdracht ligt. Het doet dit door vergelijkbare gegevensobjecten in één groep te groeperen die ver verwijderd is van de andere ongelijksoortige objecten. Het nauwkeurige resultaat van een zoekopdracht hangt af van de kwaliteit van het gebruikte clusteralgoritme.Klantsegmentatie:Het wordt gebruikt in marktonderzoek om de klanten te segmenteren op basis van hun keuze en voorkeuren.In de biologie:Het wordt in de biologie gebruikt om verschillende soorten planten en dieren te classificeren met behulp van de beeldherkenningstechniek.Bij landgebruik:De clustertechniek wordt gebruikt bij het identificeren van het gebied met vergelijkbaar landgebruik in de GIS-database. Dit kan erg handig zijn om erachter te komen voor welk doel het specifieke land gebruikt moet worden, dat wil zeggen voor welk doel het geschikter is.