기계 학습의 사기 탐지: 알아야 할 사항 [2022]
게시 됨: 2021-01-02음식, 옷, 액세서리 또는 가구. 번잡한 길에 있는 상점에서 사던 모든 것을 이제 온라인에서 구입할 수 있습니다. 전자 상거래는 수십억 달러 규모의 산업이며 점점 더 성장하고 있습니다. 말할 필요도 없이, 이것 역시 범죄 세계의 손아귀에 있습니다. 온라인 범죄자는 당신이 이름을 댈 수 있는 모든 온라인 부문에 존재합니다.
머신 러닝을 통한 사기 탐지는 패턴을 인식하고 미래 거래의 합법성을 예측하기 위해 과거 사기 데이터에서 학습하는 모델의 능력으로 인해 가능합니다. 대부분의 경우 정보 처리의 속도와 효율성으로 인해 사람보다 효과적입니다.
인터넷 사기의 일부 유형은 다음과 같습니다.
- 아이디 위조. 오늘날 신분증은 너무 잘 조작되어 사람이 자신의 적법성을 확인하고 신원 사기를 방지하는 것이 거의 불가능합니다.
AI를 이용하여 신분증 외관의 다양한 특징을 분석하여 문서의 진위 여부를 판단할 수 있습니다. 이를 통해 회사는 특정 ID 문서가 필요한 요청이 있을 때 자체 보안 기준을 설정할 수 있습니다.
- 은행 대출 사기. 누군가가 귀하에게 연락하여 의심스러울 정도로 유리한 조건의 대출 계획을 제안하는 경우 이러한 일이 발생할 수 있습니다. 여기에서 연락하는 사람은 적절한 회사 정보가 없거나 국제 연락 번호를 사용하지 않고도 은행 세부 정보 또는 선불 결제를 요청할 것입니다. 이러한 사기는 AI가 이전 대출 신청 기록을 사용하여 대출 불이행자를 필터링하여 쉽게 처리할 수 있습니다.
- 이메일 피싱. 이것은 가짜 사이트와 메시지를 사용자에게 광고하여 개인 데이터를 공유하도록 요청하는 일종의 사이버 범죄입니다. 사람이 너무 조심하지 않으면 위협에 취약하게 만들 수 있는 기밀 데이터를 입력할 수 있습니다. 이 사기를 피하는 가장 좋은 방법은 사용자가 스스로 조심하는 것이지만 AI는 회귀와 같은 기본 기계 학습 알고리즘을 사용하여 필터링하여 사기 이메일을 찾는 작업을 수행할 수 있습니다.
- 신용카드 사기. 이것은 가장 흔한 지불 사기 유형입니다. 모든 세부 정보가 온라인에 저장되어 범죄자와 해커가 쉽게 액세스할 수 있기 때문입니다. 우편으로 보낸 카드도 쉽게 가로챌 수 있습니다. 머신 러닝을 사용하여 이러한 사기 거래를 필터링하는 한 가지 방법은 아래에 설명되어 있습니다.
- 신분 도용. 신분 도용 탐지를 위한 머신 러닝은 여권, PAN 카드 또는 운전 면허증과 같은 중요한 신분 문서를 실시간으로 확인하는 데 도움이 됩니다. 또한 보안을 더욱 강화하기 위해 생체 정보가 필요할 수 있습니다. 이러한 보안 방법은 사기 가능성을 크게 줄이는 대면 인증이 필요합니다.
또한 읽어보기: 인도의 기계 학습 엔지니어 급여
신용카드 데이터를 이용한 사기 예측 모델
여기에서 매우 유명한 Kaggle 데이터 세트를 사용하여 간단한 신경망 모델을 사용하여 사기 탐지가 작동하는 방식을 보여줍니다.

수입품:
pandas 를 pd 로 가져오기
numpy 를 np 로 가져오기
텐서플로 를 tf 로 가져오기
수입 케라스
sklearn.preprocessing 가져오기 StandardScaler 에서
keras.models 에서 가져오기 순차
keras.layers 에서 Dense 가져오기
sklearn.model_selection import train_test_split 에서
sklearn.metrics 가져오기 분류 보고서 에서
여기 에서 데이터 세트를 살펴보십시오 . Amount 열 은 다른 모든 기능과 마찬가지로 정규화되고 Time 열은 관련이 없으므로 제거됩니다.
데이터= pd.read_csv ( 'creditcard.csv' )
data [ 'Amount_norm' ] = StandardScaler () .fit_transform ( data [ 'Amount' ] .values.reshape ( -1 , 1 ))
data= data.drop ([ 'Amount' ], axis= 1 )
데이터= data.drop ([ '시간' ], 축= 1 )
데이터= 데이터 [: -1 ]
data.info()
이제 일부 데이터 정리 후 데이터 세트에는 총 28개의 기능과 하나의 대상이 포함되며 모두 비어 있지 않은 부동 소수점 값을 가집니다.

우리의 목표는 특정 신용 카드 거래가 사기인지 여부를 결정 하는 클래스 열입니다. 따라서 데이터 세트는 일반적으로 80:20 분할 비율을 유지하면서 훈련과 테스트로 나뉩니다. ( random_state 는 분할 데이터를 재현하는 데 도움이 되도록 수정되었습니다.)
X = data.iloc [:, data.columns != '클래스' ]
y = data.iloc [:, data.columns == '클래스' ]
X_train , X_test , y_train , y_test = train_test_split ( X , y , test_size = 0.2 , random_state= 0 )
keras 라이브러리 의 순차 모델을 사용하여 3개의 조밀한 레이어가 있는 신경망을 구축합니다. 출력 레이어에는 시그모이드 함수를 사용하여 양성 클래스 또는 음성 클래스가 생성되는 단일 뉴런만 포함됩니다.
모델은 아담 옵티마이저로 컴파일되지만, 각 레이어의 단위 수, 활성화, 옵티마이저 등과 같은 하이퍼 매개변수의 다른 값을 직접 시도하여 주어진 조건에 가장 적합한 것이 무엇인지 확인하는 것이 좋습니다. 데이터 세트.
모델= 순차 ()
model.add ( 조밀 한 ( 단위 = 16 , 활성화 = 'relu' , input_dim = 29 ))
model.add ( 조밀 한 ( 단위 = 16 , 활성화 = 'relu' ))
model.add ( 조밀 한 ( 단위 = 1 , 활성화 = 'sigmoid' ))
모델. 컴파일 ( 옵티마이저 = 'adam' , loss = 'binary_crossentropy' , 메트릭 = [ 'accuracy' ])
model.fit ( X_train , y_train , batch_size = 32 , epochs = 15 )
이것은 몇 epoch 동안 모델을 실행한 후의 결과입니다.
모델이 99.97%의 정확도를 매우 빠르게 제공한다는 것을 알 수 있습니다. 아래에서 y_pred 에는 테스트 데이터에 대한 모델의 예측이 포함되어 있으며 성능에 대한 깔끔한 요약이 표시됩니다.
y_pred = model.predict ( X_test )

y_pred = ( y_pred > 0.5 )
인쇄 ( 분류 보고서 ( y_test , y_pred ))
읽기: 초보자를 위한 기계 학습 프로젝트 아이디어
결론
그래서 우리는 사기 거래를 판별하는 매우 정확한 모델을 성공적으로 구축할 수 있었습니다. 이들은 위험 관리 목적에 매우 유용합니다.
기계 학습에 대해 자세히 알아보려면 IIIT-B 및 upGrad의 기계 학습 및 AI PG 디플로마를 확인하세요. 이 PG 디플로마는 일하는 전문가를 위해 설계되었으며 450시간 이상의 엄격한 교육, 30개 이상의 사례 연구 및 과제, IIIT- B 동문 자격, 5개 이상의 실용적인 실습 캡스톤 프로젝트 및 최고의 기업과의 취업 지원.