เพิ่มธุรกรรมการฉ้อโกงโดยใช้ข้อมูลสังเคราะห์ใน Amazon SageMaker PlatoBlockchain Data Intelligence ค้นหาแนวตั้ง AI.

เพิ่มธุรกรรมการฉ้อโกงโดยใช้ข้อมูลสังเคราะห์ใน Amazon SageMaker

การพัฒนาและฝึกอบรมโมเดลการฉ้อโกงของแมชชีนเลิร์นนิง (ML) ที่ประสบความสำเร็จจำเป็นต้องเข้าถึงข้อมูลคุณภาพสูงจำนวนมาก การจัดหาข้อมูลนี้เป็นสิ่งที่ท้าทายเนื่องจากชุดข้อมูลที่มีอยู่บางครั้งไม่ใหญ่พอหรือไม่เป็นกลางเพียงพอที่จะฝึกโมเดล ML ที่เป็นประโยชน์ และอาจต้องใช้ต้นทุนและเวลาจำนวนมาก ข้อกำหนดด้านกฎระเบียบและความเป็นส่วนตัวยังป้องกันการใช้หรือแบ่งปันข้อมูลแม้ภายในองค์กรระดับองค์กร กระบวนการอนุญาตการใช้และการเข้าถึงข้อมูลที่ละเอียดอ่อนมักทำให้โครงการ ML ล่าช้าหรือตกราง อีกทางหนึ่ง เราสามารถจัดการกับความท้าทายเหล่านี้ได้โดยการสร้างและใช้ข้อมูลสังเคราะห์

ข้อมูลสังเคราะห์อธิบายชุดข้อมูลที่สร้างขึ้นโดยเลียนแบบเนื้อหาและรูปแบบในชุดข้อมูลดั้งเดิม เพื่อจัดการกับความเสี่ยงด้านกฎระเบียบและการปฏิบัติตามกฎระเบียบ เวลา และต้นทุนในการจัดหา เครื่องกำเนิดข้อมูลสังเคราะห์ใช้ข้อมูลจริงเพื่อเรียนรู้คุณลักษณะ ความสัมพันธ์ และรูปแบบที่เกี่ยวข้อง เพื่อสร้างข้อมูลสังเคราะห์ตามจำนวนที่ต้องการซึ่งตรงกับคุณภาพทางสถิติของชุดข้อมูลเดิมที่นำเข้า

ข้อมูลสังเคราะห์ถูกนำมาใช้ในสภาพแวดล้อมของห้องปฏิบัติการสำหรับ กว่าสองทศวรรษ; ตลาดมีหลักฐานของยูทิลิตี้ที่เร่งการยอมรับในเชิงพาณิชย์และภาครัฐ การ์ตเนอร์ คาดการณ์ ภายในปี 2024 60 เปอร์เซ็นต์ของข้อมูลที่ใช้สำหรับการพัฒนา ML และโซลูชันการวิเคราะห์จะถูกสร้างขึ้นจากการสังเคราะห์ และการใช้ข้อมูลสังเคราะห์จะยังคงเพิ่มขึ้นอย่างมาก

Financial Conduct Authority ซึ่งเป็นหน่วยงานกำกับดูแลของสหราชอาณาจักร รับทราบ ว่า “การเข้าถึงข้อมูลเป็นตัวเร่งปฏิกิริยาสำหรับนวัตกรรม และข้อมูลทางการเงินสังเคราะห์สามารถมีบทบาทในการสนับสนุนนวัตกรรม และทำให้ผู้เข้ามาใหม่สามารถพัฒนา ทดสอบ และแสดงคุณค่าของโซลูชันใหม่ได้”

Amazon SageMaker GroundTruth ปัจจุบันรองรับ การสร้างข้อมูลสังเคราะห์ ของข้อมูลภาพสังเคราะห์ที่มีป้ายกำกับ โพสต์บล็อกนี้สำรวจการสร้างข้อมูลสังเคราะห์แบบตาราง ข้อมูลที่มีโครงสร้าง เช่น ตารางเดี่ยวและตารางเชิงสัมพันธ์ และข้อมูลอนุกรมเวลาเป็นประเภทที่พบมากที่สุดในการวิเคราะห์ระดับองค์กร

นี่คือโพสต์บล็อกสองส่วน เราสร้างข้อมูลสังเคราะห์ในส่วนที่หนึ่งและประเมินคุณภาพใน ส่วนที่สอง.

ในบล็อกโพสต์นี้ คุณจะได้เรียนรู้วิธีใช้ไลบรารีโอเพ่นซอร์ส ydata-สังเคราะห์ และ สมุดบันทึก AWS SageMaker เพื่อสังเคราะห์ข้อมูลแบบตารางสำหรับกรณีการใช้งานการฉ้อโกง ซึ่งเราไม่มีธุรกรรมการฉ้อโกงมากพอที่จะฝึกโมเดลการฉ้อโกงที่มีความแม่นยำสูง กระบวนการทั่วไปของการฝึกอบรมรูปแบบการฉ้อโกงจะครอบคลุมอยู่ในนี้ เสา.

ภาพรวมของโซลูชัน

จุดมุ่งหมายของบทช่วยสอนนี้คือการสังเคราะห์ชุดข้อมูลการฉ้อโกงบัตรเครดิตที่ไม่สมดุลอย่างยิ่งในระดับชนกลุ่มน้อยโดยใช้การปรับให้เหมาะสม เครือข่ายปฏิปักษ์กำเนิด (GAN) ที่เรียกว่า WGAN-จีพี เพื่อเรียนรู้รูปแบบและคุณสมบัติทางสถิติของข้อมูลต้นฉบับ จากนั้นสร้างตัวอย่างข้อมูลสังเคราะห์ที่คล้ายกับข้อมูลต้นฉบับไม่รู้จบ กระบวนการนี้ยังสามารถใช้เพื่อปรับปรุงข้อมูลต้นฉบับโดยการสุ่มตัวอย่างเหตุการณ์ที่เกิดขึ้นได้ยาก เช่น การฉ้อโกง หรือเพื่อสร้างกรณีขอบที่ไม่มีอยู่ในต้นฉบับ

เราใช้ชุดข้อมูลการฉ้อโกงบัตรเครดิตที่เผยแพร่โดย ยูแอลบีซึ่งสามารถดาวน์โหลดได้จาก Kaggle. การสร้างข้อมูลสังเคราะห์สำหรับคลาสชนกลุ่มน้อยช่วยแก้ไขปัญหาที่เกี่ยวข้องกับชุดข้อมูลที่ไม่สมดุล ซึ่งสามารถช่วยในการพัฒนาแบบจำลองที่แม่นยำยิ่งขึ้น

เราใช้บริการของ AWS รวมถึง Amazon SageMaker และ Amazon S3 ซึ่งมีค่าใช้จ่ายในการใช้ทรัพยากรระบบคลาวด์

ตั้งค่าสภาพแวดล้อมการพัฒนา

SageMaker จัดเตรียมอินสแตนซ์สมุดบันทึก Jupyter ที่มีการจัดการสำหรับการสร้างแบบจำลอง การฝึกอบรม และการปรับใช้

ที่ต้องการ:

คุณต้องมีบัญชี AWS เพื่อเรียกใช้ SageMaker คุณสามารถได้รับ ข้อความที่เริ่ม ด้วย SageMaker แล้วลอง บทช่วยสอนภาคปฏิบัติ.

สำหรับคำแนะนำในการตั้งค่าสภาพแวดล้อมการทำงาน Jupyter Notebook โปรดดู เริ่มต้นใช้งานอินสแตนซ์โน้ตบุ๊ก Amazon SageMaker.

ขั้นตอนที่ 1: ตั้งค่าอินสแตนซ์ Amazon SageMaker ของคุณ

  1. ลงชื่อเข้าใช้คอนโซล AWS และค้นหา “SageMaker”
  2. เลือก สตูดิโอ.
  3. เลือก อินสแตนซ์โน้ตบุ๊ก บนแถบด้านซ้าย แล้วเลือก สร้างอินสแตนซ์สมุดบันทึก.
  4. จากหน้าถัดไป (ดังแสดงในรูปภาพต่อไปนี้) เลือกการกำหนดค่าของเครื่องเสมือน (VM) ตามความต้องการของคุณ แล้วเลือก สร้างอินสแตนซ์สมุดบันทึก. โปรดทราบว่าเราใช้ VM ที่ปรับให้เหมาะสมกับ ML โดยไม่มี GPU และข้อมูล 5 GB, ml.t3.medium ที่เรียกใช้ Amazon Linux 2 และเคอร์เนล Jupyter Lab 3
    สร้างอินสแตนซ์สมุดบันทึก
  5. อินสแตนซ์โน้ตบุ๊กจะพร้อมให้คุณใช้งานภายในไม่กี่นาที
  6. เลือก เปิด JupyterLab ที่จะเปิดตัว.
    เพิ่มธุรกรรมการฉ้อโกงโดยใช้ข้อมูลสังเคราะห์ใน Amazon SageMaker PlatoBlockchain Data Intelligence ค้นหาแนวตั้ง AI.
  7. ตอนนี้เรามี JupyterLab พร้อมข้อกำหนดที่จำเป็นแล้ว เราจะติดตั้งไลบรารีสังเคราะห์
pip install ydata-synthetic

ขั้นตอนที่ 2: ดาวน์โหลดหรือแยกชุดข้อมูลจริงเพื่อสร้างข้อมูลสังเคราะห์

ดาวน์โหลดข้อมูลอ้างอิง จาก Kaggle ด้วยมืออย่างที่เราทำที่นี่ หรือใช้โปรแกรมผ่าน Kaggle API หากคุณมีบัญชี Kaggle หากคุณสำรวจชุดข้อมูลนี้ คุณจะสังเกตเห็นว่าคลาส "ฉ้อโกง" มีข้อมูลน้อยกว่าคลาส "ไม่ฉ้อโกง" มาก

หากคุณใช้ข้อมูลนี้โดยตรงสำหรับการคาดคะเนของแมชชีนเลิร์นนิง โมเดลอาจเรียนรู้ที่จะคาดการณ์ว่า "ไม่ใช่การฉ้อโกง" เสมอ โมเดลจะมีความแม่นยำสูงกว่าในกรณีที่ไม่ฉ้อโกง เนื่องจากกรณีการฉ้อโกงนั้นหายาก อย่างไรก็ตาม เนื่องจากการตรวจจับกรณีการฉ้อโกงเป็นเป้าหมายของเราในแบบฝึกหัดนี้ เราจะเพิ่มจำนวนประเภทการฉ้อโกงด้วยข้อมูลสังเคราะห์ที่สร้างแบบจำลองจากข้อมูลจริง

สร้างโฟลเดอร์ข้อมูลใน JupyterLab และอัปโหลดไฟล์ข้อมูล Kaggle เข้าไป สิ่งนี้จะช่วยให้คุณใช้ข้อมูลภายในสมุดบันทึกตั้งแต่ SageMaker มาพร้อมกับที่เก็บของ ที่คุณจะระบุไว้เมื่อคุณสร้างอินสแตนซ์ของสมุดบันทึก

เพิ่มธุรกรรมการฉ้อโกงโดยใช้ข้อมูลสังเคราะห์ใน Amazon SageMaker PlatoBlockchain Data Intelligence ค้นหาแนวตั้ง AI.

ชุดข้อมูลนี้คือ 144 MB

เพิ่มธุรกรรมการฉ้อโกงโดยใช้ข้อมูลสังเคราะห์ใน Amazon SageMaker PlatoBlockchain Data Intelligence ค้นหาแนวตั้ง AI.

จากนั้นคุณสามารถอ่านข้อมูลโดยใช้รหัสมาตรฐานผ่านไลบรารีแพนด้า:

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

ข้อมูลการตรวจจับการฉ้อโกงมีลักษณะบางประการ ได้แก่ :

  • ความไม่สมดุลของคลาสขนาดใหญ่ (โดยทั่วไปคือจุดข้อมูลที่ไม่หลอกลวง)
  • ข้อกังวลเกี่ยวกับความเป็นส่วนตัว (เนื่องจากมีข้อมูลที่ละเอียดอ่อน)
  • การเปลี่ยนแปลงในระดับหนึ่ง โดยผู้ใช้ที่ประสงค์ร้ายมักจะพยายามหลีกเลี่ยงการตรวจจับโดยระบบที่ตรวจสอบธุรกรรมที่เป็นการฉ้อโกง
  • ชุดข้อมูลที่มีอยู่มีขนาดใหญ่มากและมักไม่มีป้ายกำกับ

ตอนนี้ คุณได้ตรวจสอบชุดข้อมูลแล้ว มากรองคลาสส่วนน้อย (คลาส "ฉ้อฉล" จากชุดข้อมูลบัตรเครดิต) และดำเนินการแปลงตามที่จำเป็น คุณสามารถตรวจสอบการแปลงข้อมูลได้จากสิ่งนี้ สมุดบันทึก.

เมื่อชุดข้อมูลระดับชนกลุ่มน้อยนี้ถูกสังเคราะห์และเพิ่มกลับเข้าไปในชุดข้อมูลเดิม จะช่วยให้สามารถสร้างชุดข้อมูลสังเคราะห์ที่มีขนาดใหญ่ขึ้นซึ่งจัดการกับความไม่สมดุลของข้อมูลได้ เราสามารถบรรลุความแม่นยำในการทำนายได้มากขึ้นโดย อบรมรูปแบบการตรวจสอบการฉ้อโกง โดยใช้ชุดข้อมูลใหม่

มาสังเคราะห์ชุดข้อมูลการทุจริตใหม่กันเถอะ

ขั้นตอนที่ 3: ฝึกซินธิไซเซอร์และสร้างโมเดล

เนื่องจากคุณมีข้อมูลที่พร้อมใช้งานภายใน SageMaker จึงถึงเวลาที่จะนำโมเดล GAN สังเคราะห์ของเราไปใช้งาน

เครือข่ายต่อต้านกำเนิด (GAN) มีสองส่วน:

พื้นที่ เครื่องกำเนิดไฟฟ้า เรียนรู้ที่จะสร้างข้อมูลที่น่าเชื่อถือ ตัวอย่างที่สร้างขึ้นกลายเป็นตัวอย่างการฝึกอบรมเชิงลบสำหรับผู้เลือกปฏิบัติ

พื้นที่ ผู้เลือกปฏิบัติ เรียนรู้ที่จะแยกแยะข้อมูลปลอมของเครื่องกำเนิดจากข้อมูลจริง ผู้เลือกปฏิบัติจะลงโทษเครื่องกำเนิดที่สร้างผลลัพธ์ที่ไม่น่าเชื่อ

เมื่อการฝึกอบรมเริ่มต้นขึ้น ตัวสร้างจะสร้างข้อมูลปลอมอย่างเห็นได้ชัด และผู้เลือกปฏิบัติจะเรียนรู้อย่างรวดเร็วที่จะบอกว่าเป็นข้อมูลปลอม เมื่อการฝึกอบรมดำเนินไป เครื่องกำเนิดไฟฟ้าจะเข้าใกล้การผลิตมากขึ้นจนสามารถหลอกผู้เลือกปฏิบัติได้ สุดท้าย หากการฝึกอบรมเครื่องกำเนิดเป็นไปได้ด้วยดี ผู้แยกแยะจะแยกแยะความแตกต่างระหว่างของจริงกับของปลอมได้แย่ลง เริ่มจำแนกข้อมูลปลอมว่าเป็นข้อมูลจริง และความแม่นยำลดลง

ทั้งเครื่องกำเนิดและเครื่องจำแนกเป็นโครงข่ายประสาทเทียม เอาต์พุตตัวสร้างเชื่อมต่อโดยตรงกับอินพุตตัวแยก ผ่าน การขยายพันธุ์หลังการจำแนกประเภทของ discriminator ให้สัญญาณที่ตัวสร้างใช้เพื่ออัปเดตน้ำหนักของมัน

ขั้นตอนที่ 4: ตัวอย่างข้อมูลสังเคราะห์จากซินธิไซเซอร์

เมื่อคุณได้สร้างและฝึกฝนโมเดลของคุณแล้ว ก็ถึงเวลาสุ่มตัวอย่างข้อมูลที่จำเป็นโดยป้อนสัญญาณรบกวนให้กับโมเดล สิ่งนี้ทำให้คุณสามารถสร้างข้อมูลสังเคราะห์ได้มากเท่าที่คุณต้องการ

ในกรณีนี้ คุณสร้างข้อมูลสังเคราะห์ในปริมาณที่เท่ากันกับปริมาณข้อมูลจริง เนื่องจากจะทำให้เปรียบเทียบขนาดตัวอย่างที่คล้ายกันในขั้นตอนที่ 5 ได้ง่ายขึ้น

เรามีตัวเลือกในการสุ่มตัวอย่างแถวที่มีธุรกรรมฉ้อฉล ซึ่งเมื่อรวมกับข้อมูลการฉ้อโกงที่ไม่สังเคราะห์ จะนำไปสู่การกระจายของคลาส "การฉ้อโกง" และ "การไม่ฉ้อโกง" ที่เท่าเทียมกัน ต้นตำรับ ชุดข้อมูล Kaggle มีการฉ้อโกง 492 รายการจากธุรกรรม 284,807 รายการ ดังนั้นเราจึงสร้างตัวอย่างเดียวกันจากตัวสังเคราะห์

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

เรามีตัวเลือกในการขึ้นแถวตัวอย่างที่มีธุรกรรมฉ้อฉลในกระบวนการที่เรียกว่าการเพิ่มข้อมูล ซึ่งเมื่อรวมกับข้อมูลการฉ้อโกงที่ไม่ใช่การสังเคราะห์ จะนำไปสู่การกระจายระดับ "การฉ้อโกง" และ "การไม่ฉ้อโกง" ที่เท่าเทียมกัน

ขั้นตอนที่ 5: เปรียบเทียบและประเมินข้อมูลสังเคราะห์กับข้อมูลจริง

แม้ว่าขั้นตอนนี้จะเป็นทางเลือก แต่คุณก็สามารถแสดงภาพเชิงคุณภาพและประเมินข้อมูลสังเคราะห์ที่สร้างขึ้นเทียบกับข้อมูลจริงโดยใช้แผนภาพกระจาย

สิ่งนี้ช่วยให้เราทำซ้ำโมเดลของเราโดยปรับแต่งพารามิเตอร์ เปลี่ยนขนาดตัวอย่าง และแปลงรูปแบบอื่นๆ เพื่อสร้างข้อมูลสังเคราะห์ที่แม่นยำที่สุด ธรรมชาติของความแม่นยำนี้ขึ้นอยู่กับจุดประสงค์ของการสังเคราะห์เสมอ

ภาพด้านล่างแสดงให้เห็นว่าจุดข้อมูลการฉ้อโกงที่เกิดขึ้นจริงและจุดข้อมูลการฉ้อโกงสังเคราะห์มีความคล้ายคลึงกันในขั้นตอนการฝึกอบรมอย่างไร สิ่งนี้ให้การตรวจสอบเชิงคุณภาพที่ดีเกี่ยวกับความคล้ายคลึงกันระหว่างข้อมูลสังเคราะห์และข้อมูลจริง และวิธีการปรับปรุงเมื่อเราดำเนินการผ่านยุคที่มากขึ้น (การส่งผ่านชุดข้อมูลการฝึกอบรมทั้งหมดผ่านอัลกอริทึม) โปรดทราบว่าเมื่อเราใช้ยุคต่างๆ มากขึ้น ชุดรูปแบบข้อมูลสังเคราะห์จะใกล้เคียงกับข้อมูลต้นฉบับมากขึ้น

เพิ่มธุรกรรมการฉ้อโกงโดยใช้ข้อมูลสังเคราะห์ใน Amazon SageMaker PlatoBlockchain Data Intelligence ค้นหาแนวตั้ง AI.

ขั้นตอนที่ 6: ทำความสะอาด

สุดท้าย ให้หยุดอินสแตนซ์โน้ตบุ๊กของคุณเมื่อคุณทำการสังเคราะห์เสร็จแล้วเพื่อหลีกเลี่ยงค่าใช้จ่ายที่ไม่คาดคิด

สรุป

เป็นอัลกอริทึมการเรียนรู้ของเครื่องและกรอบการเข้ารหัส วิวัฒนาการอย่างรวดเร็วข้อมูลคุณภาพสูงในระดับเป็นทรัพยากรที่หายากที่สุดใน ML ชุดข้อมูลสังเคราะห์คุณภาพดีสามารถใช้ได้กับงานที่หลากหลาย

ในบล็อกโพสต์นี้ คุณได้เรียนรู้ถึงความสำคัญของการสังเคราะห์ชุดข้อมูลโดยใช้ไลบรารีโอเพ่นซอร์สที่ใช้ WGAN-จีพี. นี่คือพื้นที่การวิจัยที่ใช้งานอยู่โดยมีเอกสารหลายพันฉบับเกี่ยวกับ GAN ที่ตีพิมพ์และ GAN ที่มีชื่อหลายร้อยรายการที่พร้อมให้คุณทดลอง มีหลายตัวแปรที่ได้รับการปรับให้เหมาะสมสำหรับกรณีการใช้งานเฉพาะ เช่น ตารางเชิงสัมพันธ์และข้อมูลอนุกรมเวลา

คุณสามารถค้นหารหัสทั้งหมดที่ใช้สำหรับบทความนี้ได้ในนี้ สมุดบันทึกและแน่นอนว่า มีบทช่วยสอนเพิ่มเติมเช่นนี้จาก SageMaker หน้าเอกสารอย่างเป็นทางการ

ตัว Vortex Indicator ได้ถูกนำเสนอลงในนิตยสาร ส่วนที่สอง ในบล็อกโพสต์ซีรีส์สองส่วนนี้ เราจะเจาะลึกเกี่ยวกับวิธีการประเมินคุณภาพของข้อมูลสังเคราะห์จากมุมมองของความซื่อสัตย์ ประโยชน์ใช้สอย และความเป็นส่วนตัว


เกี่ยวกับผู้เขียน

เพิ่มธุรกรรมการฉ้อโกงโดยใช้ข้อมูลสังเคราะห์ใน Amazon SageMaker PlatoBlockchain Data Intelligence ค้นหาแนวตั้ง AI.ฟาริส ฮัดแดด เป็นหัวหน้าฝ่ายข้อมูลและข้อมูลเชิงลึกในทีม AABG Strategic Pursuits เขาช่วยให้องค์กรประสบความสำเร็จในการขับเคลื่อนด้วยข้อมูล

ประทับเวลา:

เพิ่มเติมจาก AWS Machine Learning AWS