Upsamplen

Verhoog het aantal data, corrigeer een onevenwichtige dataset en verbeter de modelprestaties

tabelillustratie van upsampling - syntho

Belangrijkste voordelen van Upsampling

Verbeter datagestuurde beslissingen en verbeter de prestaties van AI-modellen

Pictogram voor het balanceren van datasets

Balanceren van onevenwichtige datasets

Veel datasets uit de echte wereld vertonen onevenwichtigheden, waarbij sommige klassen of categorieën ondervertegenwoordigd zijn. Upsampling helpt door het aantal samples in deze ondervertegenwoordigde klassen kunstmatig te vergroten, wat leidt tot evenwichtiger en eerlijker modellen.

Verbetering van het modelprestatiepictogram

Verbetering van de modelprestaties

Wanneer datasets onevenwichtig zijn, kunnen AI-modellen een voorkeur krijgen voor de meest voorkomende klassen. Upsampling zorgt ervoor dat het model voldoende bekendheid krijgt in alle klassen, waardoor het beter in staat is om te generaliseren en nauwkeurige voorspellingen te doen in verschillende scenario's.

Verbetering van de efficiëntie van de training icoon

Verbetering van de trainingsefficiëntie

Met een meer gebalanceerde dataset convergeren modellen sneller tijdens de training, waardoor de benodigde tijd en computerbronnen worden verminderd. Deze efficiëntie is van cruciaal belang voor organisaties die AI-oplossingen snel willen implementeren.

Pictogram voor het verzachten van overfitting

Het beperken van overfitting

Overfitting vindt plaats wanneer een model de ruis in de trainingsdata leert in plaats van het daadwerkelijke signaal. Door gebruik te maken van upsampling kunnen organisaties een robuustere trainingsset bieden waarmee het model meer algemene patronen kan leren, waardoor het risico op overfitting wordt verkleind.

Icoon voor toenemende dataset

Het genereren van synthetische data mogelijk maken

Bij upsampling gaat het vaak om het creëren van synthetische datapunten die lijken op de ondervertegenwoordigde klasse. Dit brengt niet alleen de dataset in evenwicht, maar verrijkt deze ook met nieuwe variaties waar het model van kan leren, waardoor het flexibeler en veerkrachtiger wordt.

Bekijk hier onze gebruikersdocumentatie

Waarom synthetische data geavanceerder zijn

Synthetische data verbeteren de diversiteit, beheren zeldzame gebeurtenissen en verminderen overfitting

Het aanpakken van zeldzame gebeurtenissen

In gevallen waarin zeldzame gebeurtenissen of omstandigheden ondervertegenwoordigd zijn in de data, kunnen synthetische data specifiek worden gegenereerd om deze scenario's op te nemen, zodat het model is getraind om er effectief mee om te gaan.

Het beperken van overfitting

Oversamplingtechnieken, zoals naïeve oversampling, kunnen tot overfitting leiden omdat ze eenvoudigweg bestaande samples dupliceren, waardoor het model zich onthoudt in plaats van generaliseert. Synthetische data kunnen meer diverse en realistische variaties introduceren, waardoor het risico op overfitting wordt verminderd.

Verbeterde diversiteit

Het genereren van synthetische data kan nieuwe combinaties van kenmerken introduceren die misschien niet bestaan ​​in de oorspronkelijke dataset, maar die wel plausibel zijn, waardoor de diversiteit van de trainingsdata wordt verrijkt en de robuustheid van het model wordt verbeterd.

Omgaan met datasparsiteit

In situaties waarin echte data uiterst schaars zijn, kunnen synthetische data de gaten effectiever opvullen dan overbemonsteringstechnieken, die afhankelijk zijn van de beschikbaarheid van bestaande monsters om te dupliceren.

Hoe u upsampling toepast

Creëer synthetische data die het volume en de diversiteit van uw data vergroten

Synthetiseer data in 3 stappen

1. Identificeer de tabel

Identificeer en selecteer de benodigde tabel voor de sectie Synthetiseren

2. Definieer het bedrag

Stel het aantal rijen in dat u wilt genereren

3. Begin met genereren

Begin met genereren en het upsamplingproces is voltooid

Andere functies van Syntho

Ontdek andere functies die we bieden

Veelgestelde vragen

Upsampling verhoogt het aantal datamonsters in een dataset, met als doel onevenwichtige data te corrigeren en de modelprestaties te verbeteren. Deze techniek, ook bekend als oversampling, pakt het onevenwicht in de klassen aan door data uit minderheidsklassen toe te voegen totdat alle klassen even groot zijn. Zowel scikit-learn als Matlab van Python bieden ingebouwde functies voor het implementeren van upsampling-technieken.

Het is belangrijk op te merken dat upsampling in de datawetenschap vaak wordt verward met upsampling in digitale signaalverwerking (DSP). Hoewel bij beide processen het maken van meer monsters betrokken is, verschillen ze qua uitvoering. Bij DSP genereert upsampling meer monsters in het frequentiedomein uit een discreet tijdsignaal door hogere bemonsteringssnelheden te interpoleren. Dit wordt gedaan door nullen in het oorspronkelijke signaal in te voegen en een laagdoorlaatfilter te gebruiken voor interpolatie, in tegenstelling tot upsampling van databalancering.

Op dezelfde manier verschilt upsampling bij het balanceren van data van upsampling bij beeldverwerking. Bij beeldverwerking worden afbeeldingen met een hoge resolutie eerst in resolutie verlaagd (door pixels te verwijderen) voor snellere berekeningen, en vervolgens wordt convolutie gebruikt om de afbeelding terug te brengen naar de oorspronkelijke afmetingen (door pixels terug toe te voegen).

[Bron]

Upsampling is een effectieve methode om onevenwichtigheden binnen een dataset aan te pakken. Er is sprake van een onevenwichtige dataset wanneer een klasse aanzienlijk ondervertegenwoordigd is ten opzichte van de werkelijke populatie, waardoor onbedoelde vertekening ontstaat. Neem bijvoorbeeld een model dat is getraind om afbeeldingen te classificeren als katten of honden. Als de dataset voor 90% uit katten en voor 10% uit honden bestaat, zijn katten oververtegenwoordigd. Een classificatie die voor elke afbeelding ‘kat’ voorspelt, zou een nauwkeurigheid van 90% bereiken voor katten, maar 0% nauwkeurigheid voor honden. Deze onevenwichtigheid zorgt ervoor dat classificatoren de nauwkeurigheid van de meerderheidsklasse bevoordelen ten koste van de minderheidsklasse. Hetzelfde probleem kan zich voordoen bij datasets met meerdere klassen.

Upsampling verzacht dit probleem door het aantal steekproeven voor de ondervertegenwoordigde minderheidsklasse te vergroten. Het synthetiseert nieuwe datapunten op basis van de kenmerken van de oorspronkelijke minderheidsklasse, waarbij de dataset in evenwicht wordt gebracht door een gelijke verhouding van steekproeven in alle klassen te garanderen.

Hoewel het uitzetten van de tellingen van datapunten in elke klasse onevenwichtigheden aan het licht kan brengen, geeft dit niet de omvang van hun impact op het model aan. Prestatiestatistieken zijn essentieel om te evalueren hoe goed upsampling de onevenwichtigheid in de klassen corrigeert. Deze metrieken worden vaak gebruikt bij binaire classificatie, waarbij de ene klasse (meestal de positieve klasse) de minderheid is en de andere (de negatieve klasse) de meerderheid is. Twee populaire maatstaven voor het beoordelen van prestaties zijn de Receiver Operating Characteristic (ROC)-curven en de precisie-recall-curven.

Voordelen

  • Geen informatieverlies: In tegenstelling tot downsampling, waarbij datapunten uit de meerderheidsklasse worden verwijderd, genereert upsampling nieuwe datapunten, waardoor informatieverlies wordt vermeden.
  • Vergroot data tegen lage kosten: Upsampling is vooral effectief, en vaak de enige manier, om de omvang van de dataset op verzoek te vergroten in gevallen waarin data alleen door observatie kunnen worden verkregen. Bepaalde medische aandoeningen zijn bijvoorbeeld eenvoudigweg te zeldzaam om meer data te kunnen verzamelen.

Nadelen

  • overfitting: Omdat upsampling nieuwe data creëert op basis van de bestaande data van minderheidsklassen, kan de classificator overmatig worden aangepast aan de data. Bij upsampling wordt ervan uitgegaan dat de bestaande data de werkelijkheid adequaat weergeven; als dat niet het geval is, kan de classificator mogelijk niet zo goed generaliseren.
  • Gegevensruis: Upsampling kan de hoeveelheid ruis in de data vergroten, waardoor de betrouwbaarheid en prestaties van de classificator afnemen. 2
  • Computationele complexiteit: Door de hoeveelheid data te vergroten, zal het trainen van de classificator rekentechnisch duurder zijn, wat een probleem kan zijn bij het gebruik van cloud computing.2

Willekeurige oversampling

Willekeurige overbemonstering houdt in dat willekeurige datapunten in de minderheidsklasse worden gedupliceerd totdat deze overeenkomen met de grootte van de meerderheidsklasse. Hoewel vergelijkbaar met bootstrapping, verschilt willekeurige oversampling doordat bootstrapping resampling van alle klassen is, terwijl willekeurige oversampling zich uitsluitend op de minderheidsklasse richt. Willekeurige oversampling kan dus worden gezien als een gespecialiseerde vorm van bootstrapping.

Ondanks de eenvoud heeft willekeurige oversampling beperkingen. Het kan tot overfitting leiden, omdat het alleen maar dubbele datapunten toevoegt. Het heeft echter verschillende voordelen: het is eenvoudig te implementeren, er zijn geen aannames over de data nodig en het heeft een lage tijdscomplexiteit vanwege het eenvoudige algoritme.

 

VLOT

De Synthetic Minority Oversampling Technique (SMOTE), voorgesteld in 2002, synthetiseert nieuwe datapunten uit de bestaande punten in de minderheidsklasse. Het proces omvat:

  1. Het vinden van de K dichtstbijzijnde buren voor alle datapunten van minderheidsklassen (K is meestal 5).
  2. Voor elk datapunt van een minderheidsklasse:
    1. Het selecteren van een van de K meest nabije buren.
    2. Het aanwijzen van een willekeurig punt op het lijnsegment dat deze twee punten in de featureruimte verbindt om een ​​nieuw uitvoermonster te genereren (interpolatie).
    3. Het herhalen van de selectie- en interpolatiestappen met verschillende dichtstbijzijnde buren, afhankelijk van de gewenste hoeveelheid upsampling.

SMOTE pakt het overfitting-probleem van willekeurige oversampling aan door nieuwe, voorheen onzichtbare datapunten toe te voegen in plaats van bestaande datapunten te dupliceren. Dit maakt SMOTE voor veel onderzoekers een voorkeurstechniek. Het genereren van kunstmatige datapunten door SMOTE kan echter extra ruis introduceren, waardoor de classificator mogelijk onstabieler wordt. Bovendien kunnen de synthetische punten overlappingen veroorzaken tussen minderheids- en meerderheidsklassen die de realiteit niet weerspiegelen, wat leidt tot overgeneralisatie.

 

Grens SMOTE

Borderline SMOTE is een populaire uitbreiding van de SMOTE-techniek die is ontworpen om kunstmatige datasetruis te verminderen en 'hardere' datapunten te creëren - die dicht bij de beslissingsgrens liggen en daarom moeilijker te classificeren zijn. Deze hardere datapunten zijn vooral gunstig voor het leerproces van het model.

Borderline SMOTE werkt door minderheidsklassepunten te identificeren die dicht bij veel meerderheidsklassepunten liggen en deze te groeperen in een DANGER-set. Deze GEVAARpunten zijn moeilijk te classificeren vanwege hun nabijheid tot de beslissingsgrens. Bij het selectieproces worden punten uitgesloten waarvan de dichtstbijzijnde buren uitsluitend meerderheidsklassepunten zijn, aangezien deze als ruis worden beschouwd. Zodra de DANGER-set is vastgesteld, wordt zoals gebruikelijk het SMOTE-algoritme toegepast om synthetische datapunten uit deze set te genereren.

1. Naïeve oversampling:

  • Beschrijving: Betreft het willekeurig selecteren van bepaalde steekproeven uit minderheidsgroepen en het dupliceren ervan in de dataset. Dit helpt een evenwichtigere verdeling van data te bereiken door de vertegenwoordiging van de minderheidsklasse te vergroten.
  • Wanneer te gebruiken: Naïeve oversampling is relevant wanneer een eenvoudige aanpak nodig is om de dataset in evenwicht te brengen, vooral wanneer de rekencapaciteit of de complexiteit laag moeten worden gehouden en het risico van overfitting geen probleem is.

 

2. SMOET (Synthetische minderheidsoversamplingtechniek) [1]:

  • Beschrijving: SMOTE genereert synthetische steekproeven voor de minderheidsklasse door eerst de k dichtstbijzijnde buren van elk minderheidsklassemonster te identificeren. Vervolgens worden nieuwe synthetische monsters gemaakt langs de lijnsegmenten die deze minderheidsmonsters met hun buren verbinden, waardoor nieuwe, plausibele voorbeelden worden geïntroduceerd en de dataset in evenwicht wordt gebracht.
  • Wanneer te gebruiken: SMOTE is relevanter wanneer er behoefte is om de representatie van minderheidsklassen te verbeteren op een manier die de structuur en kenmerken van de data behoudt, vooral in datasets met numerieke kenmerken.
  • varianten:
    • SMOTE-NC: Gebruikt voor datasets die zowel numerieke als categorische kenmerken bevatten.
    • SMOTEN: Alleen gebruikt voor datasets met categorische kenmerken.

 

3. ADASYN (adaptieve synthetische bemonstering) [2]

  • Beschrijving: ADASYN gebruikt een gewogen verdeling voor verschillende voorbeelden van minderheidsklassen op basis van hun leerproblemen. Het genereert meer synthetische data voor voorbeelden uit minderheidsklassen die moeilijker te leren zijn dan voor voorbeelden die gemakkelijker te leren zijn.
  • Wanneer te gebruiken: ADASYN is relevanter bij het omgaan met onevenwichtige datasets waarbij bepaalde voorbeelden van minderheidsklassen moeilijker te classificeren zijn en aanvullende synthetische samples vereisen voor beter leren.

 

4. Synthetische data

  • Beschrijving: Synthetische data verwijzen naar kunstmatig gegenereerde data die de eigenschappen van echte data nabootsen. Het kan worden gebruikt om echte data aan te vullen of te vervangen voor verschillende doeleinden, waaronder het trainen van machine learning-modellen.
  • Wanneer te gebruiken: Synthetische data zijn relevant als er zorgen zijn over dataprivacy, als echte data schaars of duur zijn om te verkrijgen, of bij het creëren van gebalanceerde datasets voor het trainen van machine learning-modellen. Het is ook geschikt voor het tegengaan van overfitting, het aanpakken van zeldzame gebeurtenissen, het verminderen van vooringenomenheid en het voldoen aan wettelijke vereisten.

 

Referenties:

[1] NV Chawla, KW Bowyer, LOHall, WP Kegelmeyer, "SMOTE: synthetische minderheidsoverbemonsteringstechniek", Journal of Artificial Intelligence Research, 321-357, 2002.

[2] Hij, Haibo, Yang Bai, Edwardo A. Garcia en Shutao Li. “ADASYN: Adaptieve synthetische samplingbenadering voor onevenwichtig leren”, In IEEE International Joint Conference on Neural Networks (IEEE World Congress on Computational Intelligence), pp. 1322-1328, 2008.

Herbalancering van data omvat het herverdelen van data over knooppunten of partities in een gedistribueerd systeem om een ​​optimaal gebruik van bronnen en een evenwichtige belasting te garanderen. Naarmate data worden toegevoegd, verwijderd of bijgewerkt, of wanneer knooppunten worden toegevoegd of verwijderd, kunnen er onevenwichtigheden ontstaan. Deze onevenwichtigheden kunnen leiden tot hotspots, waarbij sommige knooppunten intensief worden gebruikt, terwijl andere onderbenut zijn, of tot inefficiënte patronen voor datatoegang.

 

Waarom is het opnieuw in evenwicht brengen van data belangrijk?

  • Prestatieoptimalisatie: Zonder herbalancering kunnen sommige knooppunten overbelast raken, terwijl andere onderbenut blijven, waardoor prestatieknelpunten ontstaan.
  • Fouttolerantie: In gedistribueerde opslagsystemen zoals Hadoop's HDFS of Apache Kafka worden data vaak gerepliceerd over meerdere knooppunten voor fouttolerantie. Een juiste herbalancering zorgt ervoor dat datareplica's goed worden gedistribueerd, waardoor de veerkracht van het systeem tegen knooppuntstoringen wordt vergroot.
  • schaalbaarheid: Naarmate een cluster groeit of krimpt, helpt herbalancering bij het efficiënt integreren van nieuwe knooppunten of het buiten gebruik stellen van oude.
  • Opslagefficiëntie: Door ervoor te zorgen dat data gelijkmatig worden verdeeld, wordt het gebruik van de beschikbare opslagcapaciteit binnen het cluster gemaximaliseerd.

 

[Bron]

Bouw beter en sneller met synthetische data

Ontgrendel datatoegang, versnel de ontwikkeling en verbeter de dataprivacy. Boek nu een sessie met onze experts.