Bedrijven kunnen elk jaar miljarden dollars verliezen door kwaadwillende gebruikers en frauduleuze transacties. Naarmate meer en meer bedrijfsactiviteiten online gaan, nemen ook fraude en misbruiken in online systemen toe. Om online fraude te bestrijden, gebruiken veel bedrijven op regels gebaseerde fraudedetectiesystemen.
Traditionele fraudedetectiesystemen zijn echter afhankelijk van een reeks regels en filters die met de hand zijn gemaakt door menselijke specialisten. De filters kunnen vaak broos zijn en de regels vangen mogelijk niet het volledige spectrum van frauduleuze signalen op. Bovendien, hoewel frauduleus gedrag voortdurend in ontwikkeling is, maakt het statische karakter van vooraf gedefinieerde regels en filters het moeilijk om traditionele fraudedetectiesystemen effectief te onderhouden en te verbeteren.
In dit bericht laten we u zien hoe u een dynamisch, zelfverbeterend en onderhoudbaar detectiesysteem voor creditcardfraude kunt bouwen met machine learning (ML) met behulp van Amazon Sage Maker.
Als alternatief, als u op zoek bent naar een volledig beheerde service om aangepaste modellen voor fraudedetectie te bouwen zonder code te schrijven, raden we u aan om uit te checken Amazone fraude detector. Amazon Fraud Detector stelt klanten zonder ML-ervaring in staat om fraudedetectiemodellen op maat voor hun gegevens te automatiseren, gebruikmakend van meer dan 20 jaar expertise op het gebied van fraudedetectie van AWS en Amazon.com.
Overzicht oplossingen
Deze oplossing vormt de kern van een detectiesysteem voor creditcardfraude met SageMaker. We beginnen met het trainen van een niet-gecontroleerd anomaliedetectiemodel met behulp van het algoritme Willekeurig gekapt bos (RCF). Vervolgens trainen we twee gesuperviseerde classificatiemodellen met behulp van het algoritme XGBoost, รฉรฉn als basismodel en de andere voor het maken van voorspellingen, waarbij verschillende strategieรซn worden gebruikt om de extreme klassenonbalans in gegevens aan te pakken. Ten slotte trainen we een optimaal XGBoost-model met hyperparameteroptimalisatie (HPO) om de prestaties van het model verder te verbeteren.
Voor de voorbeelddataset gebruiken we de openbare, geanonimiseerde creditcardtransacties dataset dat oorspronkelijk werd uitgebracht als onderdeel van a onderzoek samenwerking van Worldline en de Machine Learning-groep van de ULB (Universitรฉ Libre de Bruxelles). In de walkthrough bespreken we ook hoe u de oplossing kunt aanpassen om uw eigen gegevens te gebruiken.
De outputs van de oplossing zijn als volgt:
- een onbewaakt SageMaker RCF model. Het model geeft een anomaliescore voor elke transactie. Een lage scorewaarde geeft aan dat de transactie als normaal (niet-frauduleus) wordt beschouwd. Een hoge waarde geeft aan dat de transactie frauduleus is. De definities van laag en hoog zijn afhankelijk van de toepassing, maar de gangbare praktijk suggereert dat scores boven drie standaarddeviaties van de gemiddelde score als afwijkend worden beschouwd.
- een begeleide SageMaker XGBoost model getraind met behulp van het ingebouwde wegingsschema om het zeer ongebalanceerde gegevensprobleem aan te pakken.
- Een onder toezicht staand SageMaker XGBoost-model dat is getraind met behulp van de Sythetic Minority Over-sampling-techniek (SMOTE).
- Een getraind SageMaker XGBoost-model met HPO.
- Voorspellingen van de waarschijnlijkheid dat elke transactie frauduleus is. Als de geschatte waarschijnlijkheid van een transactie een drempel overschrijdt, wordt deze geclassificeerd als frauduleus.
Om te demonstreren hoe u deze oplossing in uw bestaande bedrijfsinfrastructuren kunt gebruiken, nemen we ook een voorbeeld op van het doen van REST API-aanroepen naar het geรฏmplementeerde modeleindpunt, met behulp van AWS Lambda om zowel de RCF- als de XGBoost-modellen te activeren.
Het volgende diagram illustreert de oplossingsarchitectuur.
Voorwaarden
Om de oplossing in uw eigen account uit te proberen, moet u ervoor zorgen dat u over het volgende beschikt:
Wanneer de Studio-instantie gereed is, kunt u Studio starten en JumpStart openen. JumpStart-oplossingen zijn niet beschikbaar in SageMaker-notebookinstanties en u hebt er geen toegang toe via SageMaker-API's of de AWS-opdrachtregelinterface (AWS CLI).
Lanceer de oplossing
Voer de volgende stappen uit om de oplossing te starten:
- Open JumpStart met behulp van het JumpStart-opstartprogramma in de Start nu sectie of door het JumpStart-pictogram in de linkerzijbalk te kiezen.
- Onder Oplossingen, kiezen Detecteer kwaadaardige gebruikers en transacties om de oplossing in een ander Studio-tabblad te openen.
- Kies op het tabblad Oplossingen Lancering om de oplossing te lanceren.
De oplossingsbronnen zijn ingericht en er wordt een ander tabblad geopend met de voortgang van de implementatie. Wanneer de implementatie is voltooid, wordt een Notitieblok openen knop verschijnt. - Kies Notitieblok openen om het oplossingsnotitieblok in Studio te openen.
De gegevens onderzoeken en verwerken
De standaard dataset bevat alleen numerieke features, omdat de originele features zijn getransformeerd met Hoofdcomponentenanalyse (PCA) om de privacy van gebruikers te beschermen. Als gevolg hiervan bevat de dataset 28 PCA-componenten, V1-V28, en twee functies die niet zijn getransformeerd, Amount en Time. Bedrag verwijst naar het transactiebedrag en Tijd is de seconden die zijn verstreken tussen een transactie in de gegevens en de eerste transactie.
De kolom Klasse komt overeen met of een transactie al dan niet frauduleus is.
We kunnen zien dat de meerderheid niet-frauduleus is, want van de in totaal 284,807 voorbeelden zijn er slechts 492 (0.173%) frauduleus. Dit is een geval van extreme klassenonbalans, wat gebruikelijk is in scenario's voor fraudedetectie.
Vervolgens bereiden we onze gegevens voor op het laden en trainen. We splitsen de gegevens op in een treinset en een testset, waarbij we de eerste gebruiken om te trainen en de laatste om de prestaties van ons model te evalueren. Het is belangrijk om de gegevens te splitsen voordat u technieken toepast om de klassenonbalans te verminderen. Anders kunnen we informatie van de testset naar de treinset lekken en de prestaties van het model schaden.
Als u uw eigen trainingsgegevens wilt invoeren, zorg er dan voor dat het tabelgegevens in CSV-indeling zijn, upload de gegevens naar een Amazon eenvoudige opslagservice (Amazon S3) bucket en bewerk het S3-objectpad in de notebookcode.
Als uw gegevens categorische kolommen met niet-numerieke waarden bevatten, moet u deze waarden in รฉรฉn keer coderen (bijvoorbeeld met sklearn's OneHotEncoder) omdat het XGBoost-algoritme alleen numerieke gegevens ondersteunt.
Train een willekeurig bosmodel zonder toezicht
In een scenario voor fraudedetectie hebben we meestal maar heel weinig gelabelde voorbeelden, en het labelen van fraude kan veel tijd en moeite kosten. Daarom willen we ook informatie halen uit de ongelabelde gegevens die voorhanden zijn. We doen dit met behulp van een anomaliedetectie-algoritme, waarbij we profiteren van de hoge gegevensonbalans die gebruikelijk is in datasets voor fraudedetectie.
Anomaliedetectie is een vorm van niet-gesuperviseerd leren waarbij we afwijkende voorbeelden proberen te identificeren uitsluitend op basis van hun kenmerkkenmerken. Random Cut Forest is een geavanceerd algoritme voor het detecteren van afwijkingen dat zowel nauwkeurig als schaalbaar is. Aan elk gegevensvoorbeeld koppelt RCF een anomaliescore.
We gebruiken het ingebouwde RCF-algoritme van SageMaker om een โโanomaliedetectiemodel op onze trainingsdataset te trainen en vervolgens voorspellingen te doen op onze testdataset.
Eerst onderzoeken en plotten we de voorspelde anomaliescores voor positieve (frauduleuze) en negatieve (niet-frauduleuze) voorbeelden afzonderlijk, omdat de aantallen positieve en negatieve voorbeelden significant verschillen. We verwachten dat de positieve (frauduleuze) voorbeelden relatief hoge anomaliescores hebben en de negatieve (niet-frauduleuze) lage anomaliescores. Uit de histogrammen kunnen we de volgende patronen zien:
- Bijna de helft van de positieve voorbeelden (linker histogram) heeft anomaliescores hoger dan 0.9, terwijl de meeste negatieve voorbeelden (rechterhistogram) anomaliescores lager dan 0.85 hebben.
- Het unsupervised learning-algoritme RCF heeft beperkingen om frauduleuze en niet-frauduleuze voorbeelden nauwkeurig te identificeren. Er wordt namelijk geen etiketinformatie gebruikt. We pakken dit probleem aan door labelinformatie te verzamelen en in latere stappen een leeralgoritme onder toezicht te gebruiken.
Vervolgens gaan we uit van een meer realistisch scenario waarin we elk testvoorbeeld classificeren als positief (frauduleus) of negatief (niet-frauduleus) op basis van de anomaliescore. We plotten het scorehistogram voor alle testvoorbeelden als volgt, waarbij we een afkapscore van 1.0 kiezen (gebaseerd op het patroon dat in het histogram wordt getoond) voor classificatie. In het bijzonder, als de anomaliescore van een voorbeeld kleiner is dan of gelijk is aan 1.0, wordt deze geclassificeerd als negatief (niet-frauduleus). Anders wordt het voorbeeld geclassificeerd als positief (frauduleus).
Ten slotte vergelijken we het classificatieresultaat met de grondwaarheidslabels en berekenen we de evaluatiestatistieken. Omdat onze dataset onevenwichtig is, gebruiken we de evaluatiestatistieken gebalanceerde nauwkeurigheid, Cohen's Kappa-score, F1-score en ROC AUC, omdat ze rekening houden met de frequentie van elke klasse in de gegevens. Voor al deze statistieken geeft een grotere waarde een betere voorspellende prestatie aan. Merk op dat we in deze stap de ROC AUC nog niet kunnen berekenen, omdat er geen geschatte waarschijnlijkheid is voor positieve en negatieve klassen van het RCF-model op elk voorbeeld. We berekenen deze statistiek in latere stappen met behulp van begeleide leeralgoritmen.
. | RCF |
Evenwichtige nauwkeurigheid | 0.560023 |
Cohen's Kappa | 0.003917 |
F1 | 0.007082 |
ROC AUC | - |
Uit deze stap kunnen we zien dat het niet-gesuperviseerde model al enige scheiding tussen de klassen kan bereiken, waarbij hogere anomaliescores gecorreleerd zijn met frauduleuze voorbeelden.
Een XGBoost-model trainen met het ingebouwde wegingsschema
Nadat we voldoende gelabelde trainingsgegevens hebben verzameld, kunnen we een algoritme voor begeleid leren gebruiken om relaties tussen de functies en de klassen te ontdekken. We kiezen voor het XGBoost-algoritme omdat het een bewezen staat van dienst heeft, zeer schaalbaar is en kan omgaan met ontbrekende gegevens. We moeten deze keer de onbalans in de gegevens aanpakken, anders zal de meerderheidsklasse (de niet-frauduleuze of negatieve voorbeelden) het leren domineren.
We trainen en implementeren ons eerste gesuperviseerde model met behulp van de SageMaker ingebouwde XGBoost-algoritmecontainer. Dit is ons basismodel. Om de gegevensonbalans aan te pakken, gebruiken we de hyperparameter scale_pos_weight
, waarmee de gewichten van de positieve klassenvoorbeelden worden geschaald tegen de negatieve klassenvoorbeelden. Omdat de dataset sterk scheef is, stellen we deze hyperparameter in op een conservatieve waarde: sqrt(num_nonfraud/num_fraud)
.
We trainen en implementeren het model als volgt:
- Haal de SageMaker XGBoost-container-URI op.
- Stel de hyperparameters in die we willen gebruiken voor de modeltraining, inclusief degene die we noemden die gegevensonbalans afhandelt,
scale_pos_weight
. - Maak een XGBoost-schatter en train deze met onze treindataset.
- Implementeer het getrainde XGBoost-model op een door SageMaker beheerd eindpunt.
- Evalueer dit basismodel met onze testdataset.
Vervolgens evalueren we ons model met dezelfde vier metrieken als vermeld in de laatste stap. Deze keer kunnen we ook de ROC AUC-metriek berekenen.
. | RCF | XGBoost |
Evenwichtige nauwkeurigheid | 0.560023 | 0.847685 |
Cohen's Kappa | 0.003917 | 0.743801 |
F1 | 0.007082 | 0.744186 |
ROC AUC | - | 0.983515 |
We kunnen zien dat een begeleide leermethode XGBoost met het wegingsschema (met behulp van de hyperparameter scale_pos_weight
) behaalt significant betere prestaties dan de niet-gesuperviseerde leermethode RCF. Er is echter nog ruimte om de prestaties te verbeteren. Vooral het verhogen van de Cohen's Kappa-score boven 0.8 zou over het algemeen zeer gunstig zijn.
Naast single-value metrics is het ook handig om te kijken naar metrics die de prestaties per klasse aangeven. De verwarringsmatrix, precisie per klasse, terugroepactie en F1-score kunnen bijvoorbeeld meer informatie geven over de prestaties van ons model.
. | nauwkeurigheid | herinneren | f1-score | ondersteuning |
niet-fraude | 1.00 | 1.00 | 1.00 | 28435 |
bedrog | 0.80 | 0.70 | 0.74 | 46 |
Blijf testverkeer naar het eindpunt sturen via Lambda
Om te demonstreren hoe we onze modellen in een productiesysteem kunnen gebruiken, hebben we een REST API gebouwd met: Amazon API-gateway en een Lambda-functie. Wanneer clienttoepassingen HTTP-inferentieverzoeken verzenden naar de REST API, die de Lambda-functie activeert, die op zijn beurt de RCF- en XGBoost-modeleindpunten aanroept en de voorspellingen van de modellen retourneert. U kunt de Lambda-functiecode lezen en de aanroepingen volgen op de Lambda-console.
We hebben ook een Python-script gemaakt dat HTTP-inferentieverzoeken doet aan de REST API, met onze testgegevens als invoergegevens. Om te zien hoe dit is gedaan, check de generate_endpoint_traffic.py
bestand in de broncode van de oplossing. De voorspellingsoutputs worden gelogd naar een S3-bucket via een Amazon Kinesis-gegevens Firehose levering stroom. U kunt de naam van de S3-bucket van bestemming vinden op de Kinesis Data Firehose-console en de voorspellingsresultaten controleren in de S3-bucket.
Train een XGBoost-model met de over-samplingtechniek SMOTE
Nu we een basismodel hebben dat XGBoost gebruikt, kunnen we zien of bemonsteringstechnieken die specifiek zijn ontworpen voor onevenwichtige problemen, de prestaties van het model kunnen verbeteren. We gebruiken Sythetische minderheidsoversampling (SMOTE), die de minderheidsklasse overbemonstert door nieuwe datapunten tussen bestaande te interpoleren.
De stappen zijn als volgt:
- Gebruik SMOTE om de minderheidsklasse (de frauduleuze klasse) van onze treindataset te oversamplen. SMOTE oversampelt de minderheidsklasse van ongeveer 0.17-50%. Merk op dat dit een geval is van extreme oversampling van de minderheidsklasse. Een alternatief zou zijn om een โโkleinere resampling-ratio te gebruiken, zoals het hebben van รฉรฉn minderheidsklasse-sample voor elke
sqrt(non_fraud/fraud)
meerderheidssteekproef, of met behulp van meer geavanceerde resampling-technieken. Voor meer over-sampling opties, zie: Vergelijk oversampling-samplers. - Definieer de hyperparameters voor het trainen van de tweede XGBoost, zodat scale_pos_weight wordt verwijderd en de andere hyperparameters hetzelfde blijven als bij het trainen van het basislijn XGBoost-model. We hoeven met deze hyperparameter geen data-onbalans meer aan te pakken, want dat hebben we al gedaan met SMOTE.
- Train het tweede XGBoost-model met de nieuwe hyperparameters op de SMOTE-verwerkte treingegevensset.
- Implementeer het nieuwe XGBoost-model op een door SageMaker beheerd eindpunt.
- Evalueer het nieuwe model met de testdataset.
Bij de evaluatie van het nieuwe model kunnen we zien dat XGBoost met SMOTE betere prestaties behaalt op gebalanceerde nauwkeurigheid, maar niet op Cohen's Kappa- en F1-scores. De reden hiervoor is dat SMOTE de fraudeklasse zo veel heeft oversampled dat het de overlap in functieruimte met de niet-fraudegevallen heeft vergroot. Omdat Cohen's Kappa meer gewicht toekent aan valse positieven dan gebalanceerde nauwkeurigheid, daalt de metriek aanzienlijk, evenals de precisie en F1-score voor fraudegevallen.
. | RCF | XGBoost | XGBoost SMOTE |
Evenwichtige nauwkeurigheid | 0.560023 | 0.847685 | 0.912657 |
Cohen's Kappa | 0.003917 | 0.743801 | 0.716463 |
F1 | 0.007082 | 0.744186 | 0.716981 |
ROC AUC | - | 0.983515 | 0.967497 |
We kunnen echter de balans tussen meetwaarden terugbrengen door de classificatiedrempel aan te passen. Tot nu toe hebben we 0.5 gebruikt als de drempel om aan te geven of een datapunt al dan niet frauduleus is. Na verschillende drempels van 0.1-0.9 te hebben geรซxperimenteerd, kunnen we zien dat Cohen's Kappa samen met de drempel blijft toenemen, zonder een significant verlies aan gebalanceerde nauwkeurigheid.
Dit voegt een nuttige kalibratie toe aan ons model. We kunnen een lage drempel gebruiken als het niet missen van frauduleuze gevallen (vals-negatieven) onze prioriteit is, of we kunnen de drempel verhogen om het aantal valse positieven te minimaliseren.
Train een optimaal XGBoost-model met HPO
In deze stap laten we zien hoe we de modelprestaties kunnen verbeteren door ons derde XGBoost-model te trainen met hyperparameteroptimalisatie. Bij het bouwen van complexe ML-systemen is het onpraktisch om alle mogelijke combinaties van hyperparameterwaarden handmatig te onderzoeken. De HPO-functie in SageMaker kan uw productiviteit versnellen door namens u vele varianten van een model uit te proberen. Het zoekt automatisch naar het beste model door te focussen op de meest veelbelovende combinaties van hyperparameterwaarden binnen de bereiken die u opgeeft.
Het HPO-proces heeft een validatiedataset nodig, dus we splitsen onze trainingsdata eerst verder op in trainings- en validatiedatasets met gestratificeerde steekproef. Om het probleem van de gegevensonbalans aan te pakken, gebruiken we opnieuw het wegingsschema van XGBoost, waarbij we de scale_pos_weight
hyperparameter naar sqrt(num_nonfraud/num_fraud)
.
We maken een XGBoost-schatter met behulp van de ingebouwde XGBoost-algoritmecontainer van SageMaker en specificeren de objectieve evaluatiestatistiek en de hyperparameterbereiken waarbinnen we willen experimenteren. Hiermee maken we vervolgens een HyperparameterTuner en start de HPO-tuningjob, die meerdere modellen parallel traint, op zoek naar optimale hyperparametercombinaties.
Wanneer de afstemmingstaak is voltooid, kunnen we het analyserapport bekijken en de hyperparameters, trainingstaakinformatie en de prestaties van elk model inspecteren tegen de objectieve evaluatiestatistiek.
Vervolgens zetten we het beste model in en evalueren deze met onze testdataset.
Evalueer en vergelijk alle modelprestaties op dezelfde testgegevens
Nu hebben we de evaluatieresultaten van alle vier de modellen: RCF, XGBoost baseline, XGBoost met SMOTE en XGBoost met HPO. Laten we hun prestaties vergelijken.
. | RCF | XGBoost | XGBoost met SMOTE | XGBoost met HPO |
Evenwichtige nauwkeurigheid | 0.560023 | 0.847685 | 0.912657 | 0.902156 |
Cohen's Kappa | 0.003917 | 0.743801 | 0.716463 | 0.880778 |
F1 | 0.007082 | 0.744186 | 0.716981 | 0.880952 |
ROC AUC | - | 0.983515 | 0.967497 | 0.981564 |
We zien dat XGBoost met HPO nog betere prestaties behaalt dan met de SMOTE-methode. Met name Cohen's Kappa-scores en F1 zijn meer dan 0.8, wat wijst op een optimale modelprestatie.
Opruimen
Als je klaar bent met deze oplossing, zorg er dan voor dat je alle ongewenste AWS-bronnen verwijdert om te voorkomen dat er onbedoelde kosten in rekening worden gebracht. In de Oplossing verwijderen sectie op uw oplossingtabblad, kies Alle bronnen verwijderen om bronnen te verwijderen die automatisch zijn gemaakt bij het starten van deze oplossing.
Als alternatief kunt u gebruiken AWS CloudFormatie om alle standaardbronnen te verwijderen die automatisch door de oplossing en notebook zijn gemaakt. Om deze aanpak te gebruiken, zoekt u op de AWS CloudFormation-console de CloudFormation-stack waarvan de beschrijving fraudedetectie-met-machine-learning bevat, en verwijdert u deze. Dit is een bovenliggende stapel en als u ervoor kiest om deze stapel te verwijderen, worden de geneste stapels automatisch verwijderd.
Bij beide benaderingen moet u nog steeds handmatig eventuele extra bronnen verwijderen die u in dit notitieblok hebt gemaakt. Enkele voorbeelden zijn extra S3-buckets (naast de standaardbucket van de oplossing), extra SageMaker-eindpunten (met een aangepaste naam) en extra Amazon Elastic Container-register (Amazon ECR) opslagplaatsen.
Conclusie
In dit bericht hebben we u laten zien hoe u de kern kunt bouwen van een dynamisch, zichzelf verbeterend en onderhoudbaar detectiesysteem voor creditcardfraude met behulp van ML met SageMaker. We hebben een niet-gesuperviseerd RCF-afwijkingsdetectiemodel gebouwd, getraind en geรฏmplementeerd, een gecontroleerd XGBoost-model als de basislijn, een ander gecontroleerd XGBoost-model met SMOTE om het probleem van gegevensonbalans aan te pakken, en een definitief XGBoost-model dat is geoptimaliseerd met HPO. We hebben besproken hoe u omgaat met gegevensonbalans en hoe u uw eigen gegevens in de oplossing kunt gebruiken. We hebben ook een voorbeeld van een REST API-implementatie met API Gateway en Lambda toegevoegd om te demonstreren hoe u het systeem in uw bestaande bedrijfsinfrastructuur kunt gebruiken.
Om het zelf uit te proberen, open SageMaker Studio en start de JumpStart-oplossing. Voor meer informatie over de oplossing, bekijk de GitHub-repository.
Over de auteurs
Xiaoli Shen is een Solutions Architect en Machine Learning Technical Field Community (TFC) lid bij Amazon Web Services. Ze is gericht op het helpen van klanten bij het ontwerpen van de cloud en het gebruik van AWS-services om zakelijke waarde te genereren. Voordat ze bij AWS kwam, was ze een tech lead en senior full-stack engineer die data-intensieve gedistribueerde systemen in de cloud bouwde.
Dr Xin Huang is een toegepast wetenschapper voor de ingebouwde algoritmen van Amazon SageMaker JumpStart en Amazon SageMaker. Hij richt zich op het ontwikkelen van schaalbare algoritmen voor machine learning. Zijn onderzoeksinteresses liggen op het gebied van natuurlijke taalverwerking, verklaarbaar diep leren op tabelgegevens en robuuste analyse van niet-parametrische ruimte-tijdclustering. Hij heeft veel artikelen gepubliceerd in ACL, ICDM, KDD-conferenties en het tijdschrift Royal Statistical Society: Series A.
Vedante Jain is een Sr. AI/ML Specialist Solutions Architect, die klanten helpt waarde te halen uit het Machine Learning-ecosysteem bij AWS. Voordat hij bij AWS kwam, heeft Vedant ML/Data Science Specialty-functies bekleed bij verschillende bedrijven zoals Databricks, Hortonworks (nu Cloudera) en JP Morgan Chase. Naast zijn werk is Vedant gepassioneerd door het maken van muziek, het gebruiken van wetenschap om een โโzinvol leven te leiden en het ontdekken van heerlijke vegetarische gerechten van over de hele wereld.
- AI
- ai kunst
- ai kunst generator
- je hebt een robot
- Amazon Sage Maker
- Amazon SageMaker JumpStart
- kunstmatige intelligentie
- certificering van kunstmatige intelligentie
- kunstmatige intelligentie in het bankwezen
- kunstmatige intelligentie robot
- kunstmatige intelligentie robots
- kunstmatige intelligentiesoftware
- AWS-machine learning
- blockchain
- blockchain conferentie ai
- vindingrijk
- conversatie kunstmatige intelligentie
- crypto conferentie ai
- van dall
- diepgaand leren
- google ai
- Intermediair (200)
- machine learning
- Plato
- plato ai
- Plato gegevensintelligentie
- Plato-spel
- PlatoData
- platogamen
- schaal ai
- syntaxis
- Technische instructies
- zephyrnet