Növelje a csalási tranzakciókat szintetikus adatok segítségével az Amazon SageMaker PlatoBlockchain Data Intelligence szolgáltatásban. Függőleges keresés. Ai.

Növelje a csalási tranzakciókat szintetikus adatok segítségével az Amazon SageMakerben

A sikeres gépi tanulási (ML) csalási modellek fejlesztése és betanítása nagy mennyiségű, jó minőségű adathoz való hozzáférést igényel. Ezeknek az adatoknak a beszerzése kihívást jelent, mivel a rendelkezésre álló adatkészletek néha nem elég nagyok vagy nem kellően elfogulatlanok az ML-modell hasznos betanításához, és jelentős költséget és időt igényelhetnek. A szabályozás és az adatvédelmi követelmények tovább akadályozzák az adatok felhasználását vagy megosztását még a vállalati szervezeten belül is. Az érzékeny adatok használatának és az azokhoz való hozzáférés engedélyezésének folyamata gyakran késlelteti vagy kisiklatja az ML projekteket. Alternatív megoldásként ezeket a kihívásokat szintetikus adatok generálásával és felhasználásával is megbirkózhatjuk.

A szintetikus adatok olyan mesterségesen létrehozott adatkészleteket írnak le, amelyek utánozzák az eredeti adatkészlet tartalmát és mintáit a szabályozási kockázatok és a megfelelés, valamint a beszerzési idő és költségek kezelése érdekében. A szintetikus adatgenerátorok a valós adatokat használják fel a releváns jellemzők, összefüggések és minták megtanulására annak érdekében, hogy az eredetileg bevitt adatkészlet statisztikai minőségének megfelelő mennyiségű szintetikus adatot generáljanak.

A Synthetic Data már használatban volt laboratóriumi környezetben két évtized alatt; a piac bizonyítékokkal rendelkezik a hasznosságról, amely egyre gyorsul a kereskedelmi és állami szektorban. Gartner jósolja hogy 2024-re az ML és az analitikai megoldások fejlesztéséhez felhasznált adatok 60 százaléka szintetikusan előállításra kerül, és a szintetikus adatok felhasználása továbbra is jelentősen növekedni fog.

A Financial Conduct Authority, az Egyesült Királyság egyik szabályozó testülete, tudomásul veszi „Az adatokhoz való hozzáférés az innováció katalizátora, és a szintetikus pénzügyi adatok szerepet játszhatnak az innováció támogatásában, és lehetővé teszik az új belépők számára az új megoldások kifejlesztését, tesztelését és értékének bemutatását.”

Amazon SageMaker GroundTruth jelenleg támogatja szintetikus adatgenerálás címkézett szintetikus képadatokból. Ez a blogbejegyzés a táblázatos szintetikus adatok generálásával foglalkozik. A strukturált adatok, például az egyedi és relációs táblák, valamint az idősoros adatok a leggyakrabban előforduló típusok a vállalati elemzésben.

Ez egy kétrészes blogbejegyzés; az első részben szintetikus adatokat hozunk létre, és értékeljük azok minőségét második rész.

Ebben a blogbejegyzésben megtudhatja, hogyan kell használni a nyílt forráskódú könyvtárat ydata-szintetikus és a AWS SageMaker notebookok táblázatos adatok szintetizálására olyan csalási esetekhez, ahol nincs elég csalárd tranzakció egy nagy pontosságú csalási modell betanításához. Ez a csalási modell képzésének általános folyamatát tartalmazza Hozzászólás.

A megoldás áttekintése

Ennek az oktatóanyagnak az a célja, hogy szintetizálja egy nagyon kiegyensúlyozatlan hitelkártya-csalási adatkészlet kisebbségi osztályát egy optimalizált generatív ellenséges hálózat (GAN) hívott WGAN-GP hogy megtanulja az eredeti adatok mintáit és statisztikai tulajdonságait, majd végtelen számú szintetikus adatmintát hozzon létre, amelyek hasonlítanak az eredeti adatokra. Ez a folyamat az eredeti adatok javítására is használható ritka események, például csalás, mintavételezéssel, vagy olyan szélsőséges esetek generálására, amelyek nem szerepelnek az eredetiben.

által közzétett hitelkártya-csalási adatkészletet használjuk ULB, amely innen tölthető le Kaggle. A szintetikus adatok előállítása a kisebbségi osztály számára segít a kiegyensúlyozatlan adatkészletekkel kapcsolatos problémák megoldásában, ami segíthet pontosabb modellek kidolgozásában.

Az AWS-szolgáltatásokat használjuk, beleértve az Amazon SageMaker-t és az Amazon S3-at, amelyeknek költsége merül fel a felhőalapú erőforrások használatáért.

Állítsa be a fejlesztői környezetet

A SageMaker felügyelt Jupyter notebook példányt biztosít a modellépítéshez, a képzéshez és a telepítéshez.

Előfeltételek:

A SageMaker futtatásához AWS-fiókkal kell rendelkeznie. Megkaphatod kezdődött a SageMakerrel, és próbáld ki gyakorlati oktatóanyagok.

A Jupyter Notebook munkakörnyezet beállításához lásd: Kezdje el az Amazon SageMaker notebook példányait.

1. lépés: Állítsa be az Amazon SageMaker példányát

  1. Jelentkezzen be az AWS-konzolba, és keressen rá a „SageMaker” kifejezésre.
  2. választ tanulmány.
  3. választ Notebook példányok a bal oldali sávon, és válassza a lehetőséget Jegyzetfüzet példány létrehozása.
  4. A következő oldalon (a következő képen látható módon) válassza ki a virtuális gép (VM) igényeinek megfelelő konfigurációit, majd válassza a Jegyzetfüzet példány létrehozása. Vegye figyelembe, hogy ML-re optimalizált virtuális gépet használtunk GPU nélkül és 5 GB adattal, Amazon Linux 3 operációs rendszert futtató ml.t2.mediumot és Jupyter Lab 3 kernelt.
    Jegyzetfüzet példány létrehozása
  5. Egy notebook példány néhány percen belül használatra készen áll.
  6. választ Nyissa meg a JupyterLabot elindítani.
    Növelje a csalási tranzakciókat szintetikus adatok segítségével az Amazon SageMaker PlatoBlockchain Data Intelligence szolgáltatásban. Függőleges keresés. Ai.
  7. Most, hogy van egy JupyterLabunk a szükséges specifikációkkal, telepítjük a szintetikus könyvtárat.
pip install ydata-synthetic

2. lépés: Töltse le vagy bontsa ki a valódi adatkészletet szintetikus adatok létrehozásához

Töltse le a referenciaadatokat a Kaggle-ből vagy manuálisan, ahogy itt tesszük, vagy programozottan a Kaggle API-n keresztül, ha van Kaggle-fiókja. Ha megvizsgálja ezt az adatkészletet, észre fogja venni, hogy a „csalás” osztály sokkal kevesebb adatot tartalmaz, mint a „nem csalás” osztály.

Ha ezeket az adatokat közvetlenül gépi tanulási előrejelzésekhez használja, a modellek mindig megtanulhatják, hogy „nem csalást” jósoljanak meg. Egy modell könnyen nagyobb pontossággal rendelkezik a nem csalásos esetekben, mivel a csalási esetek ritkák. Mivel azonban ebben a gyakorlatban a csalási esetek felderítése a célunk, a valós adatokra modellezett szintetikus adatokkal növeljük a csalási osztályok számát.

Hozzon létre egy adatmappát a JupyterLabban, és töltse fel a Kaggle adatfájlt abba. Ez lehetővé teszi a notebookon belüli adatok felhasználását a SageMaker óta tárolóval jár amit a jegyzetfüzet példányosításakor megadtál volna.

Növelje a csalási tranzakciókat szintetikus adatok segítségével az Amazon SageMaker PlatoBlockchain Data Intelligence szolgáltatásban. Függőleges keresés. Ai.

Ez az adatkészlet 144 MB

Növelje a csalási tranzakciókat szintetikus adatok segítségével az Amazon SageMaker PlatoBlockchain Data Intelligence szolgáltatásban. Függőleges keresés. Ai.

Ezután szabványos kóddal olvashatja az adatokat a panda könyvtáron keresztül:

import pandas as pd
data = pd.read_csv('./data/creditcard.csv')

A csalásészlelési adatok bizonyos jellemzőkkel rendelkeznek, nevezetesen:

  • Nagy osztálykiegyensúlyozatlanságok (jellemzően a csalásmentes adatpontok felé).
  • Adatvédelemmel kapcsolatos aggályok (érzékeny adatok jelenléte miatt).
  • Bizonyos fokú dinamizmus abban az értelemben, hogy egy rosszindulatú felhasználó mindig megpróbálja elkerülni, hogy a rendszer figyeli a csalárd tranzakciókat.
  • A rendelkezésre álló adatkészletek nagyon nagyok, és gyakran nincsenek címkézve.

Most, hogy megvizsgálta az adatkészletet, szűrjük ki a kisebbségi osztályt (a „csalás” osztályt a hitelkártya-adatkészletből), és hajtsuk végre a szükséges átalakításokat. Ebből megtekintheti az adatátalakításokat jegyzetfüzet.

Amikor ezt a kisebbségi osztályú adatkészletet szintetizálják, és visszaadják az eredeti adatkészlethez, lehetővé teszi egy nagyobb szintetizált adatkészlet létrehozását, amely az adatok egyensúlyhiányát kezeli. Nagyobb előrejelzési pontosságot érhetünk el, ha csalásfelderítési modell képzése az új adatkészlet használatával.

Szintetizáljuk az új csalási adatkészletet.

3. lépés: Tanítsa meg a szintetizátorokat és hozza létre a modellt

Mivel az adatok könnyen elérhetőek a SageMakerben, itt az ideje, hogy a szintetikus GAN modelljeinket működésbe hozzuk.

A generatív ellenséges hálózat (GAN) két részből áll:

A generátor megtanul elfogadható adatokat generálni. A generált példányok negatív tanító példákká válnak a megkülönböztető számára.

A diszkriminátor megtanulja megkülönböztetni a generátor hamis adatait a valós adatoktól. A diszkriminátor megbünteti a generátort, ha valószínűtlen eredményeket produkál.

Amikor a képzés elkezdődik, a generátor nyilvánvalóan hamis adatokat állít elő, és a megkülönböztető gyorsan megtanulja megállapítani, hogy hamisak. A képzés előrehaladtával a generátor egyre közelebb kerül ahhoz, hogy olyan kimenetet állítson elő, amely megtévesztheti a megkülönböztetőt. Végül, ha a generátoros képzés jól megy, a diszkriminátor rosszabbul tudja megmondani a különbséget a valódi és a hamis között. Elkezdi valósnak minősíteni a hamis adatokat, és csökken a pontossága.

A generátor és a diszkriminátor is neurális hálózat. A generátor kimenet közvetlenül a diszkriminátor bemenetére csatlakozik. Keresztül visszaszaporítás, a diszkriminátor besorolása olyan jelet ad, amelyet a generátor a súlyok frissítésére használ.

4. lépés: Szintetikus adatok mintavétele a szintetizátorból

Most, hogy elkészítette és betanította modelljét, ideje mintát venni a szükséges adatokból úgy, hogy zajt táplál a modellbe. Ez lehetővé teszi, hogy annyi szintetikus adatot generáljon, amennyit csak akar.

Ebben az esetben a tényleges adatok mennyiségével azonos mennyiségű szintetikus adatot generál, mert ez megkönnyíti a hasonló mintaméretek összehasonlítását az 5. lépésben.

Lehetőségünk van mintavételezni a csalárd tranzakciókat tartalmazó sorokat – amelyek a nem szintetikus csalási adatokkal kombinálva a „csalás” és a „nem csalás” osztályok egyenlő eloszlását eredményezik. Az eredeti Kaggle adatkészlet 492 284,807 tranzakcióból XNUMX csalást tartalmazott, ezért a szintetizátorból hozzuk létre ugyanazt a mintát.

# use the same shape as the real data
synthetic_fraud = synthesizer.sample(492)

Lehetőségünk van a csalárd tranzakciókat tartalmazó sorok mintavételére az adatkiegészítésnek nevezett folyamat során – ami a nem szintetikus csalási adatokkal kombinálva a „csalás” és a „nem csalás” osztályok egyenlő eloszlásához vezet.

5. lépés: Hasonlítsa össze és értékelje a szintetikus adatokat a valós adatokkal

Bár ez a lépés nem kötelező, minőségileg megjelenítheti és értékelheti a generált szintetikus adatokat a tényleges adatokhoz viszonyítva egy szórásdiagram segítségével.

Ez segít a modellünk iterálásában a paraméterek módosításával, a minta méretének megváltoztatásával és egyéb átalakításokkal a legpontosabb szintetikus adatok előállításához. A pontosság ilyen jellege mindig a szintézis céljától függ

Az alábbi kép azt mutatja, hogy a tényleges csalási és a szintetikus csalási adatpontok mennyire hasonlóak a képzési lépésekben. Ez jó minőségi vizsgálatot ad a szintetikus és a tényleges adatok közötti hasonlóságról, és arról, hogy ez hogyan javul, ahogy több korszakon keresztül futtatjuk (a teljes képzési adatkészlet átvitele algoritmuson keresztül). Vegye figyelembe, hogy ahogy több korszakot futtatunk, a szintetikus adatminta-készlet egyre közelebb kerül az eredeti adatokhoz.

Növelje a csalási tranzakciókat szintetikus adatok segítségével az Amazon SageMaker PlatoBlockchain Data Intelligence szolgáltatásban. Függőleges keresés. Ai.

6. lépés: Tisztítsa meg

Végül állítsa le a notebook példányát, ha végzett a szintézissel, hogy elkerülje a váratlan költségeket.

Következtetés

Gépi tanulási algoritmusként és kódoló keretrendszerként gyorsan fejlődnek, a kiváló minőségű adatok a legszűkebb erőforrás az ML-ben. A jó minőségű szintetikus adatkészletek különféle feladatokban használhatók.

Ebben a blogbejegyzésben megtanulta az adatkészlet szintetizálásának fontosságát egy nyílt forráskódú könyvtár használatával, amely a WGAN-GP. Ez egy aktív kutatási terület, ahol több ezer publikációt tettek közzé a GAN-okról, és sok száz megnevezett GAN-nal kísérletezhet. Vannak olyan változatok, amelyek speciális felhasználási esetekre vannak optimalizálva, például relációs táblákra és idősoros adatokra.

A cikkhez használt összes kódot megtalálja ebben jegyzetfüzet, és természetesen további ehhez hasonló oktatóanyagok érhetők el a SageMaker-től hivatalos dokumentációs oldal.

A második rész Ebben a kétrészes blogbejegyzés-sorozatban részletesen megvizsgáljuk, hogyan értékeljük a szintetikus adatok minőségét a hűség, a hasznosság és a magánélet szempontjából.


A szerzőről

Növelje a csalási tranzakciókat szintetikus adatok segítségével az Amazon SageMaker PlatoBlockchain Data Intelligence szolgáltatásban. Függőleges keresés. Ai.Faris Haddad az AABG Strategic Pursuits csapatának Data & Insights vezetője. Segíti, hogy a vállalkozások sikeresen adatközpontúvá váljanak.

Időbélyeg:

Még több AWS gépi tanulás