신용카드 이상거래 검출
-autoencoder-
DaeHyun,YoungJun
index
• FDS (Fraud Detection System)
• data EDA & visualization
• data cleaning
• data modeling - autoencoder
• result
공인인증서가 없는 세상
딥러닝으로 구현한 이상거래탐지시스템
FDS(Fraud Detection System)
“ 이상 금융 거래 방지 시스템“
간편결제와 같은 금융환경의 변화에 맞춰 핀 테크의 중심으로
딥러닝으로 구현한 이상거래탐지시스템
요약하자면
Rule Based System (낮은 정확도) -> DeepLearning 을 적용(높은 정확도)
이상 거래의 사전탐지율을 높이자!
간단한 신경망으로
이상거래를 찾아낼 수 있을까?
Input Output
autoencoder
이미지 잡음 제거, 차원축소, 이상치 감지에 효과적인 비지도학습 모델
encoder 를 통해 입력 데이터의 특징을 추출
decoder 를 통해 추출된 특징을
입력 데이터와 유사하게 복원
기본적인 학습 방법
(출력값 – 입력값) 이 0 에 가까워지도록
Input Output
minimize(output – input)
학습을 진행할수록 출력과 입력이 같아진다
(출력-입력 = 0 에 가까워진다)
학습 후 이상거래 데이터를 넣었을 때 학습한
데이터와 다르므로 출력이 커진다
임의의 임계값을 설정해 (출력-입력) > (임계값) 이
되면 이상거래라고 판단한다
어쨌든 Tensor로 구현해보자
step by step
data EDA
Use Kaggle Data
https://www.kaggle.com/mlg-ulb/creditcardfraud
• creditcard.csv
• 2013년 9월 중 이틀간 유럽 카드사의 실제 데이터
• 총 284,807 건의 트랜잭션 로그( 492건의 비정상 데이터)
• 데이터 분포의 불균형 (비정상 데이터 0.172%)
• 전체 31개 컬럼
• time, v1~v28(features), class(abnormal =1 else 0), amount 로 구성
• v1~v28 컬럼은 보안의 문제로 컬럼명이 모두 삭제됨
pandas 패키지를 이용해 csv 파일을 읽는다
null 값이 있는지 확인
데이터의 불균형 확인
시간에 따른 트랜잭션 양
금액별 트랜잭션 양
시간대별 트랜잭션 금액 사이에서도 별다른 특징점을 찾을 수 없다
각 컬럼별 값 분포 히스토그램 (blue : normal – orange: fraud)
값차이가 있는 feature 와 없는 feature 가 보인다
data EDA
data cleaning
데이터 정규화
데이터를 일정한 값 사이로 분포시켜 네트워크의 학습을 돕는다
Feature scaling
X’ = X- min(X) / max(X) – min(X)
모든 값을 0과1 사이의 값으로
df_norm = (df - df.min() ) / (df.max() - df.min() )
데이터 분할
train 데이터로는 학습을 test 데이터로 나눠 모델의 범용성을 평가
원본데이터 정규화
정상거래
데이터
이상거래
데이터
학습 데이터
(80%)
테스트 데이터
(20%)
테스트 데이터
셔플한 학습
데이터
셔플한 테스트
데이터
Matrix 형태로 변형
data EDA
data cleaning
data modeling
high level API 로 쉽게
모델링하자!
encoder
압축
.
.
.
28
.
.
.
20
.
.
.
14
.
.
10
X
(V1~V28)
encoder
X = tf.placeholder(tf.float32, [None,28])
입력 데이터 V1~V28 특징 컬럼
dense1=tf.layers.dense(inputs=X, units=20, activation=tf.nn.sigmoid)
dense2=tf.layers.dense(inputs=dense1, units=14, activation=tf.nn.sigmoid)
encoder = tf.layers.dense(inputs=dense2, units=10, activation=tf.nn.sigmoid)
decoder
복원
.
.
.
28
.
.
.
20
.
.
.
14
.
.
10
encoder
decoder
(V1’~V28`)
dense4 = tf.layers.dense(inputs=encoder, units=14, activation=tf.nn.sigmoid)
dense5 = tf.layers.dense(inputs=dense4, units=20, activation=tf.nn.sigmoid)
decoder = tf.layers.dense(inputs=dense5, units=28, activation=tf.nn.sigmoid)
optimize
tf.subtract(decoder,X)
cost = tf.reduce_sum(tf.square(tf.subtract(decoder,X)))
optimizer = tf.train.AdamOptimizer().minimize(cost)
빼기 출력 입력
training
epoch = 5
batch size = 500
learning rate = 0.001(default)
critical point(임계값) = 0.07
Data(cost)
임계값
임계값이 넘는 데이터를 이상거래로 판단한다
data EDA
data cleaning
data modeling
result!
test
492 개의 이상거래 데이터 중 447 개의 이상거래 검출(임계값 0.07)
다양한 임계값으로 테스트
임계값이 커질수록 검출을 못한다
개선점
• 비지도 학습에서의 평가지표, 시각화
• 불균형적 데이터의 처리 방법
• 파라미터 튜닝, 반복적 테스트
• 적절한 임계점을 찾을 수 있는 알고리즘 연구
Done!
아쉬워
이상거래로 검출된 데이터를 db 에 저장해보기
import SQLITE3
SQLite는 별도의 DB 서버가 필요없이 DB 파일에 기초하여
데이타베이스 처리를 구현한 Embedded SQL DB 엔진
이상거래라 판단되는 데이터를 하나씩 리스트에
담아준다
리스트를 DataFrame화 해준다
DataFrame을 만든 db 파일에 한번에 넣어준다
SQLITE3 를 사용해 db 파일을 만든다
maybefraud = pd.DataFrame(a_list)
con = sqlite3.connect("company.db")
maybefraud.to_sql('maybefraud’, con)
DB browser 로 확인
이상 거래로 의심되는 V1~V28 특징값이 잘 들어갔다
코드는 이곳에서
https://github.com/itwill009/deeplearning
자신감을 얻고 가세요
감사합니다!

More Related Content

PDF
오토인코더의 모든 것
PDF
1시간만에 GAN(Generative Adversarial Network) 완전 정복하기
PPTX
3D Gaussian Splatting
PDF
Generative adversarial networks
PDF
Generative adversarial networks
PDF
An Introduction to Deep Learning
PDF
그림 그리는 AI
PDF
Artificial Neural Network Lect4 : Single Layer Perceptron Classifiers
오토인코더의 모든 것
1시간만에 GAN(Generative Adversarial Network) 완전 정복하기
3D Gaussian Splatting
Generative adversarial networks
Generative adversarial networks
An Introduction to Deep Learning
그림 그리는 AI
Artificial Neural Network Lect4 : Single Layer Perceptron Classifiers

What's hot (20)

PPTX
Conditional Random Fields
PPT
Vanishing & Exploding Gradients
PDF
Introduction to Deep learning
PDF
Generative Adversarial Networks
PDF
Proximal Policy Optimization (Reinforcement Learning)
PDF
Notes from Coursera Deep Learning courses by Andrew Ng
PPTX
Misha Bilenko, Principal Researcher, Microsoft at MLconf SEA - 5/01/15
PDF
SSII2019TS: Shall We GANs?​ ~GANの基礎から最近の研究まで~
PDF
Feature Engineering
PDF
Wasserstein GAN 수학 이해하기 I
PDF
Mask R-CNN
PPTX
Deep Reinforcement Learning
PDF
GANs and Applications
PDF
Deep Learning
PPTX
Stochastic Gradient Decent (SGD).pptx
PDF
Deep learning - what is it and why now?
PDF
Deep Learning - Convolutional Neural Networks
PDF
Reinforcement learning
PDF
Image classification on Imagenet (D1L4 2017 UPC Deep Learning for Computer Vi...
PDF
Monitoring AI with AI
Conditional Random Fields
Vanishing & Exploding Gradients
Introduction to Deep learning
Generative Adversarial Networks
Proximal Policy Optimization (Reinforcement Learning)
Notes from Coursera Deep Learning courses by Andrew Ng
Misha Bilenko, Principal Researcher, Microsoft at MLconf SEA - 5/01/15
SSII2019TS: Shall We GANs?​ ~GANの基礎から最近の研究まで~
Feature Engineering
Wasserstein GAN 수학 이해하기 I
Mask R-CNN
Deep Reinforcement Learning
GANs and Applications
Deep Learning
Stochastic Gradient Decent (SGD).pptx
Deep learning - what is it and why now?
Deep Learning - Convolutional Neural Networks
Reinforcement learning
Image classification on Imagenet (D1L4 2017 UPC Deep Learning for Computer Vi...
Monitoring AI with AI
Ad

Similar to 딥러닝으로 구현한 이상거래탐지시스템 (20)

PDF
2017 빅콘테스트
PDF
Deep Learning with Python 2-1
PDF
Deep learning framework 제작
PDF
AWS 기계 학습 솔루션을 활용한 온라인 사기·부정거래 감지 – 서지혜 AWS 스타트업 AIML 스페셜리스트:: AWS Cloud Week...
PDF
Tensorflow for Deep Learning(SK Planet)
PPTX
Neural network (perceptron)
PDF
AI 파이프라인과 실전 테스팅 전략
PPTX
Cnn 강의
PDF
[컴퓨터비전과 인공지능] 5. 신경망
PPTX
iT Cafe - Deep Learning
PDF
Deep neural networks cnn rnn_ae_some practical techniques
PDF
4.convolutional neural networks
PPTX
Anomaly Detection with GANs
PPTX
Apache MXNet으로 배워보는 딥러닝(Deep Learning) - 김무현 (AWS 솔루션즈아키텍트)
PPTX
시종설 1조
PDF
딥러닝을 위한 Tensor flow(skt academy)
PDF
Lecture 4: Neural Networks I
PDF
소프트웨어 2.0을 활용한 게임 어뷰징 검출
PPTX
Keras
PDF
Image data augmentatiion
2017 빅콘테스트
Deep Learning with Python 2-1
Deep learning framework 제작
AWS 기계 학습 솔루션을 활용한 온라인 사기·부정거래 감지 – 서지혜 AWS 스타트업 AIML 스페셜리스트:: AWS Cloud Week...
Tensorflow for Deep Learning(SK Planet)
Neural network (perceptron)
AI 파이프라인과 실전 테스팅 전략
Cnn 강의
[컴퓨터비전과 인공지능] 5. 신경망
iT Cafe - Deep Learning
Deep neural networks cnn rnn_ae_some practical techniques
4.convolutional neural networks
Anomaly Detection with GANs
Apache MXNet으로 배워보는 딥러닝(Deep Learning) - 김무현 (AWS 솔루션즈아키텍트)
시종설 1조
딥러닝을 위한 Tensor flow(skt academy)
Lecture 4: Neural Networks I
소프트웨어 2.0을 활용한 게임 어뷰징 검출
Keras
Image data augmentatiion
Ad

딥러닝으로 구현한 이상거래탐지시스템