Εντοπίστε δόλιες συναλλαγές χρησιμοποιώντας μηχανική εκμάθηση με το Amazon SageMaker PlatoBlockchain Data Intelligence. Κάθετη αναζήτηση. Ολα συμπεριλαμβάνονται.

Εντοπίστε δόλιες συναλλαγές χρησιμοποιώντας μηχανική εκμάθηση με το Amazon SageMaker

Οι επιχειρήσεις μπορούν να χάσουν δισεκατομμύρια δολάρια κάθε χρόνο λόγω κακόβουλων χρηστών και δόλιων συναλλαγών. Καθώς όλο και περισσότερες επιχειρηματικές δραστηριότητες κινούνται στο Διαδίκτυο, η απάτη και οι καταχρήσεις σε διαδικτυακά συστήματα αυξάνονται επίσης. Για την καταπολέμηση της διαδικτυακής απάτης, πολλές επιχειρήσεις χρησιμοποιούν συστήματα ανίχνευσης απάτης που βασίζονται σε κανόνες.

Ωστόσο, τα παραδοσιακά συστήματα ανίχνευσης απάτης βασίζονται σε ένα σύνολο κανόνων και φίλτρων κατασκευασμένα στο χέρι από ειδικούς ανθρώπους. Τα φίλτρα μπορεί συχνά να είναι εύθραυστα και οι κανόνες μπορεί να μην καταγράφουν όλο το φάσμα των ψευδών σημάτων. Επιπλέον, ενώ οι δόλιες συμπεριφορές εξελίσσονται διαρκώς, η στατική φύση των προκαθορισμένων κανόνων και φίλτρων καθιστά δύσκολη την αποτελεσματική διατήρηση και βελτίωση των παραδοσιακών συστημάτων ανίχνευσης απάτης.

Σε αυτήν την ανάρτηση, σας δείχνουμε πώς να δημιουργήσετε ένα δυναμικό, αυτοβελτιούμενο και διατηρήσιμο σύστημα ανίχνευσης απάτης πιστωτικών καρτών με τη μηχανική εκμάθηση (ML) χρησιμοποιώντας Amazon Sage Maker.

Εναλλακτικά, εάν αναζητάτε μια πλήρως διαχειριζόμενη υπηρεσία για τη δημιουργία προσαρμοσμένων μοντέλων ανίχνευσης απάτης χωρίς εγγραφή κώδικα, σας συνιστούμε να ελέγξετε Ανιχνευτής απάτης Amazon. Το Amazon Fraud Detector δίνει τη δυνατότητα σε πελάτες χωρίς εμπειρία ML να αυτοματοποιήσουν μοντέλα ανίχνευσης απάτης κτιρίων προσαρμοσμένα για τα δεδομένα τους, αξιοποιώντας περισσότερα από 20 χρόνια εμπειρίας στον εντοπισμό απάτης από την AWS και την Amazon.com.

Επισκόπηση λύσεων

Αυτή η λύση δημιουργεί τον πυρήνα ενός συστήματος ανίχνευσης απάτης πιστωτικών καρτών χρησιμοποιώντας το SageMaker. Ξεκινάμε εκπαιδεύοντας ένα μοντέλο ανίχνευσης ανωμαλιών χωρίς επίβλεψη χρησιμοποιώντας τον αλγόριθμο Δάσος τυχαίας κοπής (RCF). Στη συνέχεια εκπαιδεύουμε δύο εποπτευόμενα μοντέλα ταξινόμησης χρησιμοποιώντας τον αλγόριθμο XGBoost, το ένα ως βασικό μοντέλο και το άλλο για την πραγματοποίηση προβλέψεων, χρησιμοποιώντας διαφορετικές στρατηγικές για την αντιμετώπιση της ακραίας ανισορροπίας της τάξης στα δεδομένα. Τέλος, εκπαιδεύουμε ένα βέλτιστο μοντέλο XGBoost με βελτιστοποίηση υπερπαραμέτρων (HPO) για περαιτέρω βελτίωση της απόδοσης του μοντέλου.

Για το δείγμα δεδομένων, χρησιμοποιούμε τις δημόσιες, ανώνυμες συναλλαγές με πιστωτικές κάρτες σύνολο δεδομένων που κυκλοφόρησε αρχικά ως μέρος του α έρευνα συνεργασία της Worldline και της Ομάδα Μηχανικής Μάθησης της ULB (Université Libre de Bruxelles). Στην περιγραφή, συζητάμε επίσης πώς μπορείτε να προσαρμόσετε τη λύση για να χρησιμοποιήσετε τα δικά σας δεδομένα.

Οι έξοδοι της λύσης είναι οι εξής:

  • Ένας χωρίς επίβλεψη SageMaker RCF μοντέλο. Το μοντέλο εξάγει μια βαθμολογία ανωμαλίας για κάθε συναλλαγή. Μια χαμηλή τιμή βαθμολογίας υποδηλώνει ότι η συναλλαγή θεωρείται κανονική (μη δόλια). Μια υψηλή τιμή υποδηλώνει ότι η συναλλαγή είναι δόλια. Οι ορισμοί του χαμηλού και του υψηλού εξαρτώνται από την εφαρμογή, αλλά η κοινή πρακτική υποδηλώνει ότι βαθμολογίες πέρα ​​από τρεις τυπικές αποκλίσεις από τη μέση βαθμολογία θεωρούνται ανώμαλες.
  • Μια εποπτευόμενη SageMaker XGBoost μοντέλο που εκπαιδεύτηκε χρησιμοποιώντας το ενσωματωμένο σχήμα στάθμισης για να αντιμετωπίσει το εξαιρετικά μη ισορροπημένο ζήτημα δεδομένων.
  • Ένα εποπτευόμενο μοντέλο SageMaker XGBoost που εκπαιδεύεται χρησιμοποιώντας το Τεχνική Υπερδειγματοληψίας Συνθετικής Μειονότητας (ΣΜΟΤΕ).
  • Ένα εκπαιδευμένο μοντέλο SageMaker XGBoost με HPO.
  • Προβλέψεις της πιθανότητας για κάθε συναλλαγή να είναι δόλια. Εάν η εκτιμώμενη πιθανότητα μιας συναλλαγής υπερβαίνει ένα όριο, ταξινομείται ως δόλια.

Για να δείξουμε πώς μπορείτε να χρησιμοποιήσετε αυτήν τη λύση στις υπάρχουσες υποδομές της επιχείρησής σας, περιλαμβάνουμε επίσης ένα παράδειγμα πραγματοποίησης κλήσεων REST API στο τελικό σημείο του αναπτυγμένου μοντέλου, χρησιμοποιώντας AWS Lambda για να ενεργοποιήσετε και τα δύο μοντέλα RCF και XGBoost.

Το παρακάτω διάγραμμα απεικονίζει την αρχιτεκτονική λύσεων.

Προϋποθέσεις

Για να δοκιμάσετε τη λύση στο δικό σας λογαριασμό, βεβαιωθείτε ότι έχετε τα ακόλουθα στη θέση τους:

Όταν η παρουσία του Studio είναι έτοιμη, μπορείτε να εκκινήσετε το Studio και να αποκτήσετε πρόσβαση στο JumpStart. Οι λύσεις JumpStart δεν είναι διαθέσιμες σε περιπτώσεις φορητών υπολογιστών SageMaker και δεν μπορείτε να αποκτήσετε πρόσβαση σε αυτές μέσω των API του SageMaker ή του Διεπαφή γραμμής εντολών AWS (AWS CLI).

Εκκινήστε τη λύση

Για να ξεκινήσετε τη λύση, ακολουθήστε τα παρακάτω βήματα:

  1. Ανοίξτε το JumpStart χρησιμοποιώντας το πρόγραμμα εκκίνησης JumpStart στο Ξεκινήστε Τώρα ενότητα ή επιλέγοντας το εικονίδιο JumpStart στην αριστερή πλαϊνή γραμμή.
  2. Κάτω από Λύσεις, επιλέξτε Εντοπισμός κακόβουλων χρηστών και συναλλαγών για να ανοίξετε τη λύση σε άλλη καρτέλα Studio.
    Βρείτε τη λύση
  3. Στην καρτέλα λύση, επιλέξτε Εκκίνηση για να ξεκινήσει η λύση.
    Εκκινήστε τη λύση
    Παρέχονται οι πόροι λύσης και ανοίγει μια άλλη καρτέλα που δείχνει την πρόοδο ανάπτυξης. Όταν ολοκληρωθεί η ανάπτυξη, ένα Ανοίξτε το Σημειωματάριο εμφανίζεται το κουμπί.
  4. Επιλέξτε Ανοίξτε το Σημειωματάριο για να ανοίξετε το σημειωματάριο λύσεων στο Studio.
    Ανοίξτε το σημειωματάριο

Διερεύνηση και επεξεργασία των δεδομένων

Το προεπιλεγμένο σύνολο δεδομένων περιέχει μόνο αριθμητικά χαρακτηριστικά, επειδή τα αρχικά χαρακτηριστικά έχουν μετατραπεί χρησιμοποιώντας Ανάλυση κύριου στοιχείου (PCA) για την προστασία του απορρήτου των χρηστών. Ως αποτέλεσμα, το σύνολο δεδομένων περιέχει 28 στοιχεία PCA, V1–V28, και δύο χαρακτηριστικά που δεν έχουν μετασχηματιστεί, το Amount και το Time. Το ποσό αναφέρεται στο ποσό της συναλλαγής και ο Χρόνος είναι τα δευτερόλεπτα που μεσολάβησαν μεταξύ οποιασδήποτε συναλλαγής στα δεδομένα και της πρώτης συναλλαγής.

Η στήλη Κατηγορία αντιστοιχεί στο εάν μια συναλλαγή είναι δόλια ή όχι.

Δειγμα δεδομένων

Μπορούμε να δούμε ότι η πλειοψηφία είναι μη δόλια, γιατί από τα συνολικά 284,807 παραδείγματα, μόνο τα 492 (0.173%) είναι δόλια. Πρόκειται για μια περίπτωση ακραίας ταξικής ανισορροπίας, η οποία είναι συνηθισμένη σε σενάρια εντοπισμού απάτης.

Ανισορροπία κατηγορίας δεδομένων

Στη συνέχεια προετοιμάζουμε τα δεδομένα μας για φόρτωση και εκπαίδευση. Χωρίζουμε τα δεδομένα σε ένα σύνολο τρένου και ένα σύνολο δοκιμών, χρησιμοποιώντας το πρώτο για εκπαίδευση και το δεύτερο για να αξιολογήσουμε την απόδοση του μοντέλου μας. Είναι σημαντικό να χωρίσετε τα δεδομένα πριν εφαρμόσετε οποιεσδήποτε τεχνικές για την ανακούφιση της ανισορροπίας της τάξης. Διαφορετικά, ενδέχεται να διαρρεύσουμε πληροφορίες από το σετ δοκιμής στο σετ αμαξοστοιχίας και να βλάψουμε την απόδοση του μοντέλου.

Εάν θέλετε να εισάγετε τα δικά σας δεδομένα εκπαίδευσης, βεβαιωθείτε ότι είναι δεδομένα σε πίνακα σε μορφή CSV, ανεβάστε τα δεδομένα σε Απλή υπηρεσία αποθήκευσης Amazon (Amazon S3) και επεξεργαστείτε τη διαδρομή αντικειμένου S3 στον κωδικό του σημειωματάριου.

Διαδρομή δεδομένων στο S3

Εάν τα δεδομένα σας περιλαμβάνουν κατηγορικές στήλες με μη αριθμητικές τιμές, θα πρέπει να κωδικοποιήσετε αυτές τις τιμές σε ένα μόνο σημείο (χρησιμοποιώντας, για παράδειγμα, OneHotEncoder της sklearn) επειδή ο αλγόριθμος XGBoost υποστηρίζει μόνο αριθμητικά δεδομένα.

Εκπαιδεύστε ένα μοντέλο Random Cut Forest χωρίς επίβλεψη

Σε ένα σενάριο ανίχνευσης απάτης, συνήθως έχουμε πολύ λίγα παραδείγματα με ετικέτα και η απάτη με ετικέτες μπορεί να πάρει πολύ χρόνο και προσπάθεια. Επομένως, θέλουμε επίσης να εξαγάγουμε πληροφορίες από τα διαθέσιμα δεδομένα χωρίς ετικέτα. Αυτό το κάνουμε χρησιμοποιώντας έναν αλγόριθμο ανίχνευσης ανωμαλιών, εκμεταλλευόμενοι την υψηλή ανισορροπία δεδομένων που είναι κοινή στα σύνολα δεδομένων ανίχνευσης απάτης.

Η ανίχνευση ανωμαλιών είναι μια μορφή μάθησης χωρίς επίβλεψη, όπου προσπαθούμε να εντοπίσουμε ανώμαλα παραδείγματα με βάση αποκλειστικά τα χαρακτηριστικά τους. Το Random Cut Forest είναι ένας υπερσύγχρονος αλγόριθμος ανίχνευσης ανωμαλιών που είναι ακριβής και επεκτάσιμος. Με κάθε παράδειγμα δεδομένων, το RCF συσχετίζει μια βαθμολογία ανωμαλίας.

Χρησιμοποιούμε τον ενσωματωμένο αλγόριθμο RCF του SageMaker για να εκπαιδεύσουμε ένα μοντέλο ανίχνευσης ανωμαλιών στο σύνολο δεδομένων εκπαίδευσης και, στη συνέχεια, να κάνουμε προβλέψεις στο δοκιμαστικό μας σύνολο δεδομένων.

Αρχικά, εξετάζουμε και σχεδιάζουμε τις προβλεπόμενες βαθμολογίες ανωμαλιών για θετικά (δόλια) και αρνητικά (μη δόλια) παραδείγματα ξεχωριστά, επειδή ο αριθμός των θετικών και αρνητικών παραδειγμάτων διαφέρει σημαντικά. Αναμένουμε τα θετικά (δόλια) παραδείγματα να έχουν σχετικά υψηλές βαθμολογίες ανωμαλίας και τα αρνητικά (μη δόλια) χαμηλές βαθμολογίες ανωμαλίας. Από τα ιστογράμματα, μπορούμε να δούμε τα ακόλουθα μοτίβα:

  • Σχεδόν τα μισά από τα θετικά παραδείγματα (αριστερό ιστόγραμμα) έχουν βαθμολογίες ανωμαλίας υψηλότερες από 0.9, ενώ τα περισσότερα από τα αρνητικά παραδείγματα (δεξιό ιστόγραμμα) έχουν βαθμολογίες ανωμαλίας χαμηλότερες από 0.85.
  • Ο αλγόριθμος μάθησης χωρίς επίβλεψη RCF έχει περιορισμούς για τον ακριβή εντοπισμό δόλιων και μη παραδειγμάτων. Αυτό συμβαίνει επειδή δεν χρησιμοποιούνται πληροφορίες ετικέτας. Αντιμετωπίζουμε αυτό το ζήτημα συλλέγοντας πληροφορίες ετικετών και χρησιμοποιώντας έναν εποπτευόμενο αλγόριθμο εκμάθησης σε επόμενα βήματα.

Προβλεπόμενες βαθμολογίες ανωμαλιών

Στη συνέχεια, υποθέτουμε ένα πιο πραγματικό σενάριο όπου ταξινομούμε κάθε παράδειγμα δοκιμής είτε ως θετικό (δόλιο) είτε ως αρνητικό (μη δόλιο) με βάση τη βαθμολογία ανωμαλίας του. Σχεδιάζουμε το ιστόγραμμα βαθμολογίας για όλα τα παραδείγματα δοκιμής ως εξής, επιλέγοντας μια βαθμολογία αποκοπής 1.0 (με βάση το μοτίβο που φαίνεται στο ιστόγραμμα) για ταξινόμηση. Συγκεκριμένα, εάν η βαθμολογία ανωμαλίας ενός παραδείγματος είναι μικρότερη ή ίση με 1.0, ταξινομείται ως αρνητική (μη δόλια). Διαφορετικά, το παράδειγμα ταξινομείται ως θετικό (δόλιο).

Ιστόγραμμα βαθμολογιών για δείγματα δοκιμής

Τέλος, συγκρίνουμε το αποτέλεσμα της ταξινόμησης με τις ετικέτες βασικής αλήθειας και υπολογίζουμε τις μετρήσεις αξιολόγησης. Επειδή το σύνολο δεδομένων μας δεν είναι ισορροπημένο, χρησιμοποιούμε τις μετρήσεις αξιολόγησης ισορροπημένη ακρίβεια, Το σκορ Κάπα του Κοέν, Βαθμολογία F1, να RUC AUC, γιατί λαμβάνουν υπόψη τη συχνότητα κάθε κλάσης στα δεδομένα. Για όλες αυτές τις μετρήσεις, μια μεγαλύτερη τιμή υποδηλώνει καλύτερη προγνωστική απόδοση. Σημειώστε ότι σε αυτό το βήμα δεν μπορούμε να υπολογίσουμε ακόμη την AUC του ROC, επειδή δεν υπάρχει εκτιμώμενη πιθανότητα για θετικές και αρνητικές κλάσεις από το μοντέλο RCF σε κάθε παράδειγμα. Υπολογίζουμε αυτήν τη μέτρηση σε επόμενα βήματα χρησιμοποιώντας αλγόριθμους εποπτευόμενης μάθησης.

. RCF
Ισορροπημένη ακρίβεια 0.560023
Cohen's Kappa 0.003917
F1 0.007082
RUC AUC -

Από αυτό το βήμα, μπορούμε να δούμε ότι το μοντέλο χωρίς επίβλεψη μπορεί ήδη να επιτύχει κάποιο διαχωρισμό μεταξύ των κλάσεων, με υψηλότερες βαθμολογίες ανωμαλιών που συσχετίζονται με παραπλανητικά παραδείγματα.

Εκπαιδεύστε ένα μοντέλο XGBoost με το ενσωματωμένο σχήμα στάθμισης

Αφού συγκεντρώσουμε επαρκή αριθμό δεδομένων εκπαίδευσης με ετικέτα, μπορούμε να χρησιμοποιήσουμε έναν εποπτευόμενο αλγόριθμο εκμάθησης για να ανακαλύψουμε σχέσεις μεταξύ των χαρακτηριστικών και των κλάσεων. Επιλέγουμε τον αλγόριθμο XGBoost επειδή έχει αποδεδειγμένο ιστορικό, είναι εξαιρετικά επεκτάσιμος και μπορεί να αντιμετωπίσει δεδομένα που λείπουν. Πρέπει να χειριστούμε την ανισορροπία δεδομένων αυτή τη φορά, διαφορετικά η πλειοψηφική τάξη (τα μη δόλια ή αρνητικά παραδείγματα) θα κυριαρχήσει στη μάθηση.

Εκπαιδεύουμε και αναπτύσσουμε το πρώτο μας εποπτευόμενο μοντέλο χρησιμοποιώντας το ενσωματωμένο κοντέινερ αλγορίθμου XGBoost του SageMaker. Αυτό είναι το βασικό μας μοντέλο. Για να χειριστούμε την ανισορροπία δεδομένων, χρησιμοποιούμε την υπερπαράμετρο scale_pos_weight, το οποίο κλιμακώνει τα βάρη των παραδειγμάτων θετικής κλάσης έναντι των παραδειγμάτων αρνητικής κλάσης. Επειδή το σύνολο δεδομένων είναι πολύ λοξό, ορίσαμε αυτήν την υπερπαράμετρο σε μια συντηρητική τιμή: sqrt(num_nonfraud/num_fraud).

Εκπαιδεύουμε και αναπτύσσουμε το μοντέλο ως εξής:

  1. Ανακτήστε το URI κοντέινερ SageMaker XGBoost.
  2. Ορίστε τις υπερπαραμέτρους που θέλουμε να χρησιμοποιήσουμε για την εκπαίδευση του μοντέλου, συμπεριλαμβανομένης αυτής που αναφέραμε ότι χειρίζεται την ανισορροπία δεδομένων, scale_pos_weight.
  3. Δημιουργήστε έναν εκτιμητή XGBoost και εκπαιδεύστε τον με το σύνολο δεδομένων τρένων μας.
  4. Αναπτύξτε το εκπαιδευμένο μοντέλο XGBoost σε ένα διαχειριζόμενο τελικό σημείο του SageMaker.
  5. Αξιολογήστε αυτό το βασικό μοντέλο με το δοκιμαστικό μας σύνολο δεδομένων.

Στη συνέχεια αξιολογούμε το μοντέλο μας με τις ίδιες τέσσερις μετρήσεις που αναφέρθηκαν στο τελευταίο βήμα. Αυτή τη φορά μπορούμε επίσης να υπολογίσουμε τη μέτρηση ROC AUC.

. RCF XGBoost
Ισορροπημένη ακρίβεια 0.560023 0.847685
Cohen's Kappa 0.003917 0.743801
F1 0.007082 0.744186
RUC AUC - 0.983515

Μπορούμε να δούμε ότι μια εποπτευόμενη μέθοδος μάθησης XGBoost με το σχήμα στάθμισης (χρησιμοποιώντας την υπερπαράμετρο scale_pos_weight) επιτυγχάνει σημαντικά καλύτερη απόδοση από τη μέθοδο μάθησης χωρίς επίβλεψη RCF. Ωστόσο, υπάρχει ακόμα περιθώριο βελτίωσης της απόδοσης. Συγκεκριμένα, η αύξηση της βαθμολογίας Κάπα του Κοέν πάνω από 0.8 θα ήταν γενικά πολύ ευνοϊκή.

Εκτός από τις μετρήσεις μίας τιμής, είναι επίσης χρήσιμο να εξετάσουμε μετρήσεις που υποδεικνύουν την απόδοση ανά τάξη. Για παράδειγμα, ο πίνακας σύγχυσης, η ακρίβεια ανά κατηγορία, η ανάκληση και η βαθμολογία F1 μπορούν να παρέχουν περισσότερες πληροφορίες σχετικά με την απόδοση του μοντέλου μας.

Η μήτρα σύγχυσης του μοντέλου XGBoost

. ακρίβεια ανάκληση f1-βαθμολογία υποστήριξη
μη απάτης 1.00 1.00 1.00 28435
απάτη 0.80 0.70 0.74 46

Συνεχίστε να στέλνετε δοκιμαστική κίνηση στο τελικό σημείο μέσω Lambda

Για να δείξουμε πώς να χρησιμοποιούμε τα μοντέλα μας σε ένα σύστημα παραγωγής, δημιουργήσαμε ένα REST API με Amazon API Gateway και μια συνάρτηση λάμδα. Όταν οι εφαρμογές πελάτη στέλνουν αιτήματα συμπερασμάτων HTTP στο REST API, το οποίο ενεργοποιεί τη συνάρτηση Lambda, η οποία με τη σειρά της καλεί τα τελικά σημεία του μοντέλου RCF και XGBoost και επιστρέφει τις προβλέψεις από τα μοντέλα. Μπορείτε να διαβάσετε τον κωδικό λειτουργίας Lambda και να παρακολουθήσετε τις επικλήσεις στην κονσόλα Lambda.

Δημιουργήσαμε επίσης ένα σενάριο Python που κάνει αιτήματα συμπερασμάτων HTTP στο REST API, με τα δεδομένα δοκιμής μας ως δεδομένα εισόδου. Για να δείτε πώς έγινε αυτό, ελέγξτε το generate_endpoint_traffic.py αρχείο στον πηγαίο κώδικα της λύσης. Οι έξοδοι πρόβλεψης καταγράφονται σε έναν κάδο S3 μέσω ενός Firehose δεδομένων Amazon Kinesis ροή παράδοσης. Μπορείτε να βρείτε το όνομα του κάδου S3 προορισμού στην κονσόλα Kinesis Data Firehose και να ελέγξετε τα αποτελέσματα πρόβλεψης στον κάδο S3.

Εκπαιδεύστε ένα μοντέλο XGBoost με την τεχνική υπερ-δειγματοληψίας SMOTE

Τώρα που έχουμε ένα βασικό μοντέλο που χρησιμοποιεί το XGBoost, μπορούμε να δούμε εάν οι τεχνικές δειγματοληψίας που έχουν σχεδιαστεί ειδικά για προβλήματα ανισορροπίας μπορούν να βελτιώσουν την απόδοση του μοντέλου. Χρησιμοποιούμε Υπερδειγματοληψία συνθετικής μειονότητας (SMOTE), το οποίο υπερδειγματοληψία της μειοψηφίας με παρεμβολή νέων σημείων δεδομένων μεταξύ των υπαρχόντων.

Τα βήματα είναι τα εξής:

  1. Χρησιμοποιήστε το SMOTE για να κάνετε υπερδειγματοληψία της κατηγορίας μειοψηφίας (της κλάσης απάτης) του συνόλου των τρένων μας. Το SMOTE υπερδειγματοληπτικά την τάξη μειοψηφίας από περίπου 0.17–50%. Σημειώστε ότι πρόκειται για περίπτωση ακραίας υπερδειγματοληψίας της μειονοτικής τάξης. Μια εναλλακτική λύση θα ήταν η χρήση μικρότερης αναλογίας επαναδειγματοληψίας, όπως η ύπαρξη ενός δείγματος κατηγορίας μειοψηφίας για κάθε sqrt(non_fraud/fraud) πλειοψηφικό δείγμα ή χρησιμοποιώντας πιο προηγμένες τεχνικές επαναδειγματοληψίας. Για περισσότερες επιλογές υπερδειγματοληψίας, ανατρέξτε στο Συγκρίνετε δειγματολήπτες υπερδειγματοληψίας.
  2. Καθορίστε τις υπερπαράμετρους για την εκπαίδευση του δεύτερου XGBoost έτσι ώστε το scale_pos_weight να αφαιρεθεί και οι άλλες υπερπαράμετροι να παραμείνουν ίδιες όπως κατά την εκπαίδευση του βασικού μοντέλου XGBoost. Δεν χρειάζεται πλέον να χειριζόμαστε την ανισορροπία δεδομένων με αυτήν την υπερπαράμετρο, επειδή το έχουμε ήδη κάνει με το SMOTE.
  3. Εκπαιδεύστε το δεύτερο μοντέλο XGBoost με τις νέες υπερπαραμέτρους στο επεξεργασμένο σύνολο δεδομένων τρένου SMOTE.
  4. Αναπτύξτε το νέο μοντέλο XGBoost σε ένα διαχειριζόμενο τελικό σημείο του SageMaker.
  5. Αξιολογήστε το νέο μοντέλο με το σύνολο δεδομένων δοκιμής.

Κατά την αξιολόγηση του νέου μοντέλου, μπορούμε να δούμε ότι με το SMOTE, το XGBoost επιτυγχάνει καλύτερη απόδοση σε ισορροπημένη ακρίβεια, αλλά όχι στις βαθμολογίες Kappa και F1 του Cohen. Ο λόγος για αυτό είναι ότι το SMOTE έχει υπερδειγματοληψία της κατηγορίας απάτης τόσο πολύ που αύξησε την επικάλυψη του στον χώρο χαρακτηριστικών με τις περιπτώσεις μη απάτης. Επειδή το Kappa του Cohen δίνει μεγαλύτερη βαρύτητα στα ψευδώς θετικά παρά στην ισορροπημένη ακρίβεια, η μέτρηση μειώνεται σημαντικά, όπως και η ακρίβεια και η βαθμολογία F1 για περιπτώσεις απάτης.

. RCF XGBoost XGBoost SMOTE
Ισορροπημένη ακρίβεια 0.560023 0.847685 0.912657
Cohen's Kappa 0.003917 0.743801 0.716463
F1 0.007082 0.744186 0.716981
RUC AUC - 0.983515 0.967497

Ωστόσο, μπορούμε να επαναφέρουμε την ισορροπία μεταξύ των μετρήσεων προσαρμόζοντας το όριο ταξινόμησης. Μέχρι στιγμής, χρησιμοποιούσαμε το 0.5 ως όριο για να επισημάνουμε εάν ένα σημείο δεδομένων είναι δόλιο ή όχι. Μετά από πειραματισμό διαφορετικών ορίων από 0.1–0.9, μπορούμε να δούμε ότι το Kappa του Cohen συνεχίζει να αυξάνεται μαζί με το όριο, χωρίς σημαντική απώλεια στην ισορροπημένη ακρίβεια.

Πειραματιστείτε διαφορετικά κατώφλια για να επαναφέρετε την ισορροπία μεταξύ των μετρήσεων

Αυτό προσθέτει μια χρήσιμη βαθμονόμηση στο μοντέλο μας. Μπορούμε να χρησιμοποιήσουμε ένα χαμηλό όριο εάν δεν είναι η προτεραιότητά μας να μην λείπουν τυχόν δόλιες περιπτώσεις (ψευδώς αρνητικά) ή μπορούμε να αυξήσουμε το όριο για να ελαχιστοποιήσουμε τον αριθμό των ψευδώς θετικών.

Εκπαιδεύστε ένα βέλτιστο μοντέλο XGBoost με HPO

Σε αυτό το βήμα, δείχνουμε πώς να βελτιώσουμε την απόδοση του μοντέλου εκπαιδεύοντας το τρίτο μοντέλο XGBoost με βελτιστοποίηση υπερπαραμέτρων. Κατά την κατασκευή πολύπλοκων συστημάτων ML, η μη αυτόματη εξερεύνηση όλων των πιθανών συνδυασμών τιμών υπερπαραμέτρων δεν είναι πρακτική. Η δυνατότητα HPO στο SageMaker μπορεί να επιταχύνει την παραγωγικότητά σας δοκιμάζοντας πολλές παραλλαγές ενός μοντέλου για λογαριασμό σας. Αναζητά αυτόματα το καλύτερο μοντέλο εστιάζοντας στους πιο πολλά υποσχόμενους συνδυασμούς τιμών υπερπαραμέτρων εντός των περιοχών που καθορίζετε.

Η διαδικασία HPO χρειάζεται ένα σύνολο δεδομένων επικύρωσης, επομένως πρώτα διαχωρίζουμε περαιτέρω τα δεδομένα εκπαίδευσης σε σύνολα δεδομένων εκπαίδευσης και επικύρωσης χρησιμοποιώντας στρωματοποιημένη δειγματοληψία. Για να αντιμετωπίσουμε το πρόβλημα της ανισορροπίας δεδομένων, χρησιμοποιούμε ξανά το σχήμα στάθμισης του XGBoost, ορίζοντας το scale_pos_weight υπερπαράμετρος σε sqrt(num_nonfraud/num_fraud).

Δημιουργούμε έναν εκτιμητή XGBoost χρησιμοποιώντας το ενσωματωμένο κοντέινερ αλγορίθμου XGBoost του SageMaker και καθορίζουμε τη μέτρηση αντικειμενικής αξιολόγησης και τα εύρη υπερπαραμέτρων εντός των οποίων θα θέλαμε να πειραματιστούμε. Με αυτά στη συνέχεια δημιουργούμε ένα HyperparameterTuner και ξεκινήστε την εργασία συντονισμού HPO, η οποία εκπαιδεύει πολλά μοντέλα παράλληλα, αναζητώντας βέλτιστους συνδυασμούς υπερπαραμέτρων.

Όταν ολοκληρωθεί η εργασία συντονισμού, μπορούμε να δούμε την αναφορά αναλυτικών στοιχείων και να επιθεωρήσουμε τις υπερπαραμέτρους κάθε μοντέλου, τις πληροφορίες εργασίας εκπαίδευσης και την απόδοσή του σε σχέση με τη μέτρηση αντικειμενικής αξιολόγησης.

Λίστα με τις πληροφορίες κάθε μοντέλου από την εργασία συντονισμού

Στη συνέχεια, αναπτύσσουμε το καλύτερο μοντέλο και το αξιολογούμε με το δοκιμαστικό μας σύνολο δεδομένων.

Αξιολογήστε και συγκρίνετε όλες τις επιδόσεις του μοντέλου στα ίδια δεδομένα δοκιμής

Τώρα έχουμε τα αποτελέσματα αξιολόγησης και από τα τέσσερα μοντέλα: RCF, XGBoost βασική γραμμή, XGBoost με SMOTE και XGBoost με HPO. Ας συγκρίνουμε τις επιδόσεις τους.

. RCF XGBoost XGBoost με SMOTE XGBoost με HPO
Ισορροπημένη ακρίβεια 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
RUC AUC - 0.983515 0.967497 0.981564

Μπορούμε να δούμε ότι το XGBoost με HPO επιτυγχάνει ακόμη καλύτερη απόδοση από αυτή με τη μέθοδο SMOTE. Συγκεκριμένα, οι βαθμολογίες Kappa του Cohen και F1 είναι πάνω από 0.8, υποδηλώνοντας μια βέλτιστη απόδοση μοντέλου.

εκκαθάριση

Όταν τελειώσετε με αυτήν τη λύση, βεβαιωθείτε ότι έχετε διαγράψει όλους τους ανεπιθύμητους πόρους AWS για να αποφύγετε τυχόν ακούσιες χρεώσεις. Στο Διαγραφή λύσης ενότητα στην καρτέλα λύση, επιλέξτε Διαγράψτε όλους τους πόρους για να διαγράψετε πόρους που δημιουργήθηκαν αυτόματα κατά την εκκίνηση αυτής της λύσης.

Καθαρίστε διαγράφοντας το διάλυμα

Εναλλακτικά, μπορείτε να χρησιμοποιήσετε AWS CloudFormation για να διαγράψετε όλους τους τυπικούς πόρους που δημιουργούνται αυτόματα από τη λύση και το σημειωματάριο. Για να χρησιμοποιήσετε αυτήν την προσέγγιση, στην κονσόλα AWS CloudFormation, βρείτε τη στοίβα CloudFormation της οποίας η περιγραφή περιέχει fraud-detection-using-machine-learning και διαγράψτε την. Αυτή είναι μια γονική στοίβα και η επιλογή της διαγραφής αυτής της στοίβας θα διαγράψει αυτόματα τις ένθετες στοίβες.

Εκκαθάριση μέσω του CloudFormation

Με οποιαδήποτε προσέγγιση, πρέπει να διαγράψετε με μη αυτόματο τρόπο τυχόν επιπλέον πόρους που μπορεί να έχετε δημιουργήσει σε αυτό το σημειωματάριο. Μερικά παραδείγματα περιλαμβάνουν επιπλέον κάδους S3 (επιπλέον του προεπιλεγμένου κάδου της λύσης), επιπλέον τελικά σημεία SageMaker (χρησιμοποιώντας προσαρμοσμένο όνομα) και επιπλέον Μητρώο εμπορευματοκιβωτίων Amazon Elastic (Amazon ECR) αποθετήρια.

Συμπέρασμα

Σε αυτήν την ανάρτηση, σας δείξαμε πώς να δημιουργήσετε τον πυρήνα ενός δυναμικού, αυτοβελτιούμενου και διατηρήσιμου συστήματος ανίχνευσης απάτης πιστωτικών καρτών χρησιμοποιώντας ML με το SageMaker. Κατασκευάσαμε, εκπαιδεύσαμε και αναπτύξαμε ένα μη εποπτευόμενο μοντέλο ανίχνευσης ανωμαλιών RCF, ένα εποπτευόμενο μοντέλο XGBoost ως βάση, ένα άλλο εποπτευόμενο μοντέλο XGBoost με το SMOTE για την αντιμετώπιση του προβλήματος της ανισορροπίας δεδομένων και ένα τελικό μοντέλο XGBoost βελτιστοποιημένο με HPO. Συζητήσαμε πώς να χειριστείτε την ανισορροπία δεδομένων και να χρησιμοποιήσετε τα δικά σας δεδομένα στη λύση. Περιλάβαμε επίσης ένα παράδειγμα υλοποίησης REST API με το API Gateway και το Lambda για να δείξουμε πώς να χρησιμοποιείτε το σύστημα στην υπάρχουσα υποδομή της επιχείρησής σας.

Για να το δοκιμάσετε μόνοι σας, ανοίξτε SageMaker Στούντιο και ξεκινήστε τη λύση JumpStart. Για να μάθετε περισσότερα σχετικά με τη λύση, ελέγξτε τη Αποθετήριο GitHub.


Σχετικά με τους Συγγραφείς

Xiaoli ShenXiaoli Shen είναι μέλος του Solutions Architect and Machine Learning Technical Field Community (TFC) στο Amazon Web Services. Έχει επικεντρωθεί στο να βοηθά τους πελάτες να αρχιτέκτονουν στο cloud και να αξιοποιούν τις υπηρεσίες AWS για να αποκτήσουν επιχειρηματική αξία. Πριν από την ένταξή της στην AWS, ήταν επικεφαλής τεχνολογίας και ανώτερος μηχανικός πλήρους στοίβας που κατασκεύαζε κατανεμημένα συστήματα έντασης δεδομένων στο cloud.

Εντοπίστε δόλιες συναλλαγές χρησιμοποιώντας μηχανική εκμάθηση με το Amazon SageMaker PlatoBlockchain Data Intelligence. Κάθετη αναζήτηση. Ολα συμπεριλαμβάνονται.Δόκτωρ Σιν Χουάνγκ είναι Applied Scientist για τους ενσωματωμένους αλγόριθμους Amazon SageMaker JumpStart και Amazon SageMaker. Επικεντρώνεται στην ανάπτυξη κλιμακούμενων αλγορίθμων μηχανικής μάθησης. Τα ερευνητικά του ενδιαφέροντα είναι στον τομέα της επεξεργασίας φυσικής γλώσσας, της εξηγήσιμης βαθιάς εκμάθησης σε δεδομένα πινάκων και της ισχυρής ανάλυσης της μη παραμετρικής ομαδοποίησης χωροχρόνου. Έχει δημοσιεύσει πολλές εργασίες σε συνέδρια ACL, ICDM, KDD και Royal Statistical Society: Series A.

Εντοπίστε δόλιες συναλλαγές χρησιμοποιώντας μηχανική εκμάθηση με το Amazon SageMaker PlatoBlockchain Data Intelligence. Κάθετη αναζήτηση. Ολα συμπεριλαμβάνονται.Vedant Jain είναι αρχιτέκτονας εξειδικευμένων λύσεων Sr. AI/ML, βοηθώντας τους πελάτες να αντλήσουν αξία από το οικοσύστημα Machine Learning στο AWS. Πριν από την ένταξή του στην AWS, ο Vedant κατείχε θέσεις ML/Data Science Specialty σε διάφορες εταιρείες όπως η Databricks, η Hortonworks (τώρα Cloudera) και η JP Morgan Chase. Εκτός από τη δουλειά του, ο Vedant είναι παθιασμένος με τη μουσική, χρησιμοποιώντας την Επιστήμη για να ζήσει μια ουσιαστική ζωή και εξερευνώντας νόστιμη χορτοφαγική κουζίνα από όλο τον κόσμο.

Σφραγίδα ώρας:

Περισσότερα από Μηχανική εκμάθηση AWS