Amazon SageMaker PlatoBlockchain 데이터 인텔리전스의 합성 데이터를 사용하여 사기 거래를 강화합니다. 수직 검색. 일체 포함.

Amazon SageMaker의 합성 데이터를 사용하여 사기 거래 강화

성공적인 기계 학습(ML) 사기 모델을 개발하고 교육하려면 대량의 고품질 데이터에 액세스해야 합니다. 사용 가능한 데이터 세트가 때때로 ML 모델을 유용하게 교육하기에 충분히 크지 않거나 편향되지 않고 상당한 비용과 시간이 필요할 수 있기 때문에 이 데이터를 소싱하는 것은 어렵습니다. 규정 및 개인 정보 보호 요구 사항은 엔터프라이즈 조직 내에서도 데이터 사용 또는 공유를 더욱 방지합니다. 민감한 데이터의 사용 및 액세스 권한을 부여하는 프로세스는 종종 ML 프로젝트를 지연시키거나 탈선시킵니다. 또는 합성 데이터를 생성하고 사용하여 이러한 문제를 해결할 수 있습니다.

합성 데이터는 규제 위험 및 규정 준수, 시간 및 소싱 비용을 해결하기 위해 원래 데이터 세트의 콘텐츠와 패턴을 모방하여 인위적으로 생성된 데이터 세트를 설명합니다. 합성 데이터 생성기는 원래 수집된 데이터 세트의 통계적 품질과 일치하는 필요한 양의 합성 데이터를 생성하기 위해 실제 데이터를 사용하여 관련 기능, 상관 관계 및 패턴을 학습합니다.

합성 데이터는 실험실 환경에서 다음을 위해 사용되었습니다. XNUMX 년 이상; 시장은 상업 및 공공 부문에서 채택을 가속화하고 있는 유틸리티의 증거를 가지고 있습니다. 가트너 예측 2024년까지 ML 및 분석 솔루션 개발에 사용되는 데이터의 60%가 종합적으로 생성되고 합성 데이터의 사용이 계속해서 크게 증가할 것입니다.

영국 규제 기관인 Financial Conduct Authority는 인정하다 "데이터에 대한 액세스는 혁신의 촉매제이며 합성 금융 데이터는 혁신을 지원하고 새로운 참가자가 새로운 솔루션의 가치를 개발, 테스트 및 입증할 수 있도록 하는 역할을 할 수 있습니다."

Amazon SageMaker GroundTruth 현재 지원 합성 데이터 생성 레이블이 지정된 합성 이미지 데이터의 이 블로그 게시물에서는 테이블 형식 합성 데이터 생성을 살펴봅니다. 단일 및 관계형 테이블과 같은 구조화된 데이터와 시계열 데이터는 엔터프라이즈 분석에서 가장 자주 발생하는 유형입니다.

이것은 두 부분으로 구성된 블로그 게시물입니다. XNUMX부에서 합성 데이터를 생성하고 품질을 평가합니다. 두 번째 부분.

이 블로그 게시물에서는 오픈 소스 라이브러리를 사용하는 방법을 배웁니다. ydata 합성AWS SageMaker 노트북 정확도가 높은 사기 모델을 교육하기에 사기 거래가 충분하지 않은 사기 사용 사례에 대한 표 형식 데이터를 합성합니다. 사기 모델을 교육하는 일반적인 프로세스는 여기에서 다룹니다. 게시.

솔루션 개요

이 튜토리얼의 목표는 최적화된 생성적 적대 신경망(GAN) 라는 WGAN-GP 원본 데이터의 패턴과 통계적 속성을 학습한 다음 원본 데이터와 유사한 합성 데이터의 끝없는 샘플을 생성합니다. 이 프로세스는 사기와 같은 드문 이벤트를 업샘플링하여 원본 데이터를 향상시키거나 원본에 없는 엣지 케이스를 생성하는 데에도 사용할 수 있습니다.

우리는 다음에서 게시한 신용 카드 사기 데이터 세트를 사용합니다. ULB에서 다운로드할 수 있습니다. 카글. 소수 클래스에 대한 합성 데이터를 생성하면 불균형 데이터 세트와 관련된 문제를 해결하는 데 도움이 되어 보다 정확한 모델을 개발하는 데 도움이 될 수 있습니다.

우리는 Amazon SageMaker 및 Amazon S3를 포함한 AWS 서비스를 사용하며 클라우드 리소스를 사용하는 데 비용이 발생합니다.

개발 환경 설정

SageMaker는 모델 구축, 교육 및 배포를 위한 관리형 Jupyter 노트북 인스턴스를 제공합니다.

전제 조건 :

SageMaker를 실행하려면 AWS 계정이 있어야 합니다. 당신은 얻을 수 있습니다 시작 SageMaker로 시도해 보세요. 실습 튜토리얼.

Jupyter Notebook 작업 환경 설정에 대한 지침은 다음을 참조하십시오. Amazon SageMaker 노트북 인스턴스 시작하기.

1단계: Amazon SageMaker 인스턴스 설정

  1. AWS 콘솔에 로그인하고 "SageMaker"를 검색합니다.
  2. 선택 Studio.
  3. 선택 노트북 인스턴스 왼쪽 막대에서 노트북 인스턴스 생성.
  4. 다음 페이지(다음 이미지 참조)에서 필요에 따라 가상 머신(VM)의 구성을 선택하고 다음을 선택합니다. 노트북 인스턴스 생성. GPU가 없고 5GB의 데이터가 있는 ML 최적화 VM, Amazon Linux 3를 실행하는 ml.t2.medium 및 Jupyter Lab 3 커널을 사용했습니다.
    노트북 인스턴스 생성
  5. 몇 분 안에 노트북 인스턴스를 사용할 수 있습니다.
  6. 선택 JupyterLab 열기 개시하다.
    Amazon SageMaker PlatoBlockchain 데이터 인텔리전스의 합성 데이터를 사용하여 사기 거래를 강화합니다. 수직 검색. 일체 포함.
  7. 이제 필요한 사양을 갖춘 JupyterLab이 있으므로 합성 라이브러리를 설치합니다.
pip install ydata-synthetic

2단계: 실제 데이터 세트를 다운로드하거나 추출하여 합성 데이터 생성

참조 데이터 다운로드 여기에서 하는 것처럼 Kaggle에서 수동으로 또는 Kaggle 계정이 있는 경우 Kaggle API를 통해 프로그래밍 방식으로. 이 데이터 세트를 탐색하면 "사기" 클래스에 "사기 아님" 클래스보다 훨씬 적은 데이터가 포함되어 있음을 알 수 있습니다.

기계 학습 예측에 이 데이터를 직접 사용하는 경우 모델은 항상 "사기 아님"을 예측하는 방법을 학습할 수 있습니다. 사기 사례가 드물기 때문에 비사기 사례에서 모델의 정확도가 쉽게 높아집니다. 그러나 사기 사례를 탐지하는 것이 이 연습의 목표이므로 실제 데이터를 모델링한 합성 데이터로 사기 등급 번호를 높일 것입니다.

JupyterLab에 데이터 폴더를 만들고 Kaggle 데이터 파일을 업로드합니다. 이렇게 하면 SageMaker 이후 노트북 내의 데이터를 사용할 수 있습니다. 스토리지와 함께 제공 노트북을 인스턴스화할 때 지정했을 것입니다.

Amazon SageMaker PlatoBlockchain 데이터 인텔리전스의 합성 데이터를 사용하여 사기 거래를 강화합니다. 수직 검색. 일체 포함.

이 데이터 세트는 144MB입니다.

Amazon SageMaker PlatoBlockchain 데이터 인텔리전스의 합성 데이터를 사용하여 사기 거래를 강화합니다. 수직 검색. 일체 포함.

그런 다음 pandas 라이브러리를 통해 표준 코드를 사용하여 데이터를 읽을 수 있습니다.

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

사기 탐지 데이터에는 다음과 같은 특정 특성이 있습니다.

  • 대규모 클래스 불균형(일반적으로 사기가 아닌 데이터 포인트에 대해).
  • 개인 정보 관련 문제(민감한 데이터의 존재로 인해).
  • 악의적인 사용자가 항상 사기 거래를 모니터링하는 시스템의 탐지를 피하려고 한다는 점에서 어느 정도의 역동성입니다.
  • 사용 가능한 데이터 세트는 매우 크고 레이블이 없는 경우가 많습니다.

데이터 세트를 검사했으므로 소수 클래스(신용 카드 데이터 세트의 "사기" 클래스)를 필터링하고 필요에 따라 변환을 수행해 보겠습니다. 여기에서 데이터 변환을 확인할 수 있습니다. 수첩.

이 소수 클래스 데이터 세트가 합성되어 원본 데이터 세트에 다시 추가되면 데이터의 불균형을 해결하는 더 큰 합성 데이터 세트를 생성할 수 있습니다. 우리는 다음을 통해 더 큰 예측 정확도를 달성할 수 있습니다. 사기 탐지 모델 교육 새 데이터 세트를 사용합니다.

새로운 사기 데이터 세트를 합성해 보겠습니다.

3단계: 신시사이저 학습 및 모델 생성

SageMaker 내에서 데이터를 즉시 사용할 수 있으므로 합성 GAN 모델을 작동시킬 때입니다.

GAN(Generative Adversarial Network)은 두 부분으로 구성됩니다.

XNUMXD덴탈의 발전기 그럴듯한 데이터를 생성하는 방법을 배웁니다. 생성된 인스턴스는 판별자에 대한 네거티브 학습 예제가 됩니다.

XNUMXD덴탈의 판별 자 생성기의 가짜 데이터와 실제 데이터를 구별하는 방법을 배웁니다. 판별자는 믿기지 않는 결과를 생성하는 생성자에게 페널티를 부과합니다.

훈련이 시작되면 제너레이터는 명백히 가짜 데이터를 생성하고 판별자는 그것이 가짜라는 것을 빠르게 알아차립니다. 학습이 진행됨에 따라 생성기는 판별자를 속일 수 있는 출력을 생성하는 데 가까워집니다. 마지막으로, 제너레이터 훈련이 잘 되면 discriminator는 진짜와 가짜를 구별하는 능력이 더 나빠집니다. 가짜 데이터를 진짜로 분류하기 시작하고 정확도가 떨어집니다.

생성자와 판별자는 모두 신경망입니다. 생성기 출력은 판별기 입력에 직접 연결됩니다. 을 통해 역 전파, 판별기의 분류는 생성기가 가중치를 업데이트하는 데 사용하는 신호를 제공합니다.

4단계: 합성기에서 합성 데이터 샘플링

이제 모델을 구축하고 훈련했으므로 모델에 노이즈를 공급하여 필요한 데이터를 샘플링할 차례입니다. 이를 통해 원하는 만큼의 합성 데이터를 생성할 수 있습니다.

이 경우 5단계에서 유사한 샘플 크기를 쉽게 비교할 수 있기 때문에 실제 데이터의 양과 동일한 양의 합성 데이터를 생성합니다.

사기 거래가 포함된 행을 샘플링할 수 있는 옵션이 있습니다. 이 거래는 비합성 사기 데이터와 결합될 때 "사기" 및 "사기 아님" 클래스의 균등한 분포로 이어집니다. 원래 Kaggle 데이터 세트 492건의 거래 중 284,807건의 사기가 포함되어 있으므로 합성기에서 동일한 샘플을 생성합니다.

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

데이터 증대라는 프로세스에서 사기 거래가 포함된 행을 업샘플링할 수 있는 옵션이 있습니다. 이 프로세스는 비합성 사기 데이터와 결합될 때 "사기" 및 "사기 아님" 클래스의 균등한 분포로 이어집니다.

5단계: 합성 데이터를 실제 데이터와 비교 및 ​​평가

이 단계는 선택 사항이지만 산점도를 사용하여 실제 데이터에 대해 생성된 합성 데이터를 정성적으로 시각화하고 평가할 수 있습니다.

이를 통해 매개변수를 조정하고, 샘플 크기를 변경하고, 가장 정확한 합성 데이터를 생성하기 위한 기타 변환을 수행하여 모델을 반복할 수 있습니다. 이러한 정확도의 특성은 항상 합성 목적에 따라 달라집니다.

아래 이미지는 훈련 단계에서 실제 사기와 합성 사기 데이터 포인트가 얼마나 유사한지를 보여줍니다. 이는 합성 데이터와 실제 데이터 사이의 유사성과 더 많은 에포크(알고리즘을 통한 전체 교육 데이터 세트 전송)를 통해 실행함에 따라 어떻게 개선되는지에 대한 우수한 질적 검사를 제공합니다. 더 많은 에포크를 실행할수록 합성 데이터 패턴 세트가 원본 데이터에 더 가까워집니다.

Amazon SageMaker PlatoBlockchain 데이터 인텔리전스의 합성 데이터를 사용하여 사기 거래를 강화합니다. 수직 검색. 일체 포함.

6단계: 정리

마지막으로 합성이 완료되면 노트북 인스턴스를 중지하여 예상치 못한 비용이 발생하지 않도록 합니다.

결론

기계 학습 알고리즘 및 코딩 프레임워크로 빠르게 진화하다, 대규모 고품질 데이터는 ML에서 가장 희소한 리소스입니다. 양질의 합성 데이터 세트는 다양한 작업에 사용할 수 있습니다.

이 블로그 게시물에서는 다음을 사용하는 오픈 소스 라이브러리를 사용하여 데이터 세트를 합성하는 것의 중요성을 배웠습니다. WGAN-GP. 이것은 게시된 GAN에 대한 수천 개의 논문과 실험할 수 있는 수백 개의 명명된 GAN이 있는 활발한 연구 영역입니다. 관계형 테이블 및 시계열 데이터와 같은 특정 사용 사례에 최적화된 변형이 있습니다.

이 문서에 사용된 모든 코드는 여기에서 찾을 수 있습니다. 수첩, 물론 이와 같은 더 많은 자습서는 SageMaker에서 사용할 수 있습니다. 공식 문서 페이지.

. 두 번째 부분 두 부분으로 구성된 이 블로그 게시물 시리즈에서는 충실도, 유용성 및 개인 정보 보호의 관점에서 합성 데이터의 품질을 평가하는 방법에 대해 자세히 알아볼 것입니다.


저자에 관하여

Amazon SageMaker PlatoBlockchain 데이터 인텔리전스의 합성 데이터를 사용하여 사기 거래를 강화합니다. 수직 검색. 일체 포함.패리스 하다드 AABG Strategic Pursuits 팀의 Data & Insights Lead입니다. 그는 기업이 성공적으로 데이터 기반이 되도록 돕습니다.

타임 스탬프 :

더보기 AWS 기계 학습