튜토리얼 143

클러스터링 #1 - KMeans

클러스터링과 KMeans를 이용한 데이타의 군집화조대협 (http://bcho.tistory.com)클러스터링 문제클러스터링은 특성이 비슷한 데이타 끼리 묶어주는 머신러닝 기법이다. 비슷한 뉴스나 사용 패턴이 유사한 사용자를 묶어 주는것과 같은 패턴 인지나, 데이타 압축등에 널리 사용되는 학습 방법이다.클러스터링은 라벨링 되어 있지 않은 데이타를 묶는 경우가 일반적이기 때문에 비지도학습 (Unsupervised learning) 학습 방법이 사용된다. 클러스터링 알고리즘은 KMeans, DBSCAN, Hierarchical clustering, Spectral Clustering 등 여러가지 기법이 있으며, 알고르즘의 특성에 따라 속도나 클러스터링 성능에 차이가 있기 때문에, 데이타의 모양에 따라서 적절..

오토인코더를 이용한 비정상 거래 검출 모델의 구현 #4 - 오토인코더 기반의 신용카드 이상거래 검출코드와 분석 결과

오토인코더를 이용한 비정상 거래 검출 모델 구현 #4신용카드 이상 거래 감지 코드 조대협 (http://bcho.tistory.com) 구현코드 전체 모델 코드는 https://github.com/bwcho75/tensorflowML/blob/master/autoencoder/creditcard_fraud_detection/3.model.ipynb 에 있다. 코드는 http://bcho.tistory.com/1198 에 설명한 MNIST 데이타를 이용한 오토인코더 모델과 다르지 않다. 차이는 데이타 피딩을 784개의 피쳐에서 28개의 피쳐로만 변환하였고, 데이타를 MNIST 데이타셋에서 CSV에서 읽는 부분만 변경이 되었기 때문에 쉽게 이해할 수 있으리라 본다. 학습 및 예측 결과모델을 만들고 학습을 한..

오토인코더를 이용한 비정상 거래 검출 모델의 구현 #3 - 데이타 전처리

오토 인코더를 이용한 신용카드 비정상 거래 검출 #3 학습 데이타 전처리 조대협 (http://bcho.tistory.com) 앞의 글들 (http://bcho.tistory.com/1198 http://bcho.tistory.com/1197 ) 에서 신용카드 이상 검출을 하기 위한 데이타에 대한 분석과, 오토 인코더에 대한 기본 원리 그리고 오토 인코더에 대한 샘플 코드를 살펴보았다. 이제 실제 모델을 만들기에 앞서 신용카드 거래 데이타를 학습에 적절하도록 전처리를 하도록한다.데이타양이 그리 크지 않기 때문에, 데이타 전처리는 파이썬 데이타 라이브러리인 pandas dataframe을 사용하였다. 여기서 사용된 전처리 코드는 https://github.com/bwcho75/tensorflowML/blo..

오토인코더를 이용한 비정상 거래 검출 모델의 구현 #2 - MNIST 오토 인코더 샘플

오토인코더를 이용한 비정상 거래 검출 모델의 구현 #2MNIST 오토인코더 샘플 조대협 (http://bcho.tistory.com) 신용카드 이상 거래 감지 시스템 구현에 앞서서, 먼저 오토인코더에 대한 이해를 하기 위해서 오토 인코더를 구현해보자. 오토 인코더 샘플 구현은 MNIST 데이타를 이용하여 학습하고 복원하는 코드를 만들어 보겠다. 이 코드의 원본은 Etsuji Nakai 님의 https://github.com/enakai00/autoencoder_example 코드를 사용하였다. 데이타 전처리이 예제에서는 텐서플로우에 포함된 MNIST 데이타 tensorflow.contrib.learn.python.learn.datasets 를 tfrecord 로 변경해서 사용한다.TFRecord에 대한 ..

오토 인코더를 이용한 비정상 거래 검출 모델의 구현 #1

오토인코더를 이용한 비정상 거래 검출 모델의 구현 #1신용카드 거래 데이타 분석 조대협 (http://bcho.tistory.com) 이미지 인식 모델은 만들어봤고, 아무래도 실제로 짜봐야 하는지라 좋은 시나리오를 고민하고 있는데, 추천 시스템도 좋지만, 이상 거래 감지에 대해 접할 기회가 있어서 이상 거래 감지 (Fraud Detection System) 시스템을 만들어 보기로 하였다 데이타셋샘플 데이타를 구해야 하는데, 마침 kaggle.com 에 크레딧 카드 이상거래 감지용 데이타가 있었다.https://www.kaggle.com/dalpozz/creditcardfraud 에서 데이타를 다운 받을 수 있다. CSV 형태로 되어 있으며, 2013년 유럽 카드사의 실 데이타 이다. 2일간의 데이타 이고..

텐서플로우 하이레벨 API를 Estimator를 이용한 모델 정의 방법

텐서플로우 하이레벨 API Estimator를 이용한 모델 정의 방법 조대협 (http://bcho.tistory.com) 텐서플로우의 하이레벨 API를 이용하기 위해서는 Estimator 를 사용하는데, Estimator 는 Predefined model 도 있지만, 직접 모델을 구현할 수 있다. 하이레벨 API와 Estimator에 대한 설명은 http://bcho.tistory.com/1195 글을 참고하기 바란다. 이 문서는 Custom Estimator를 이용하여 Estimator를 구현하는 방법에 대해서 설명하고 있으며, 대부분 https://www.tensorflow.org/extend/estimators 의 내용을 참고하여 작성하였다.Custom EstimatorEstimator의 스켈레톤..

Tensorflow Object Detection API를 이용한 물체 인식 #3-얼굴은 학습시켜보자

Object Detection API를 이용하여 커스텀 데이타 학습하기얼굴인식 모델 만들기 조대협 (http://bcho.tistory.com) 이번글에서는 Tensorflow Object Detection API를 이용하여 직접 이미지를 인식할 수 있는 방법에 대해서 알아보자. 이미 가지고 있는 데이타를 가지고 다양한 상품에 대한 인식이나, 사람 얼굴에 대한 인식 모델을 머신러닝에 대한 전문적인 지식 없이도 손쉽게 만들 수 있다. Object Detection API 설치Object Detection API 설치는 http://bcho.tistory.com/1193 와 http://bcho.tistory.com/1192 에서 이미 다뤘기 때문에 별도로 언급하지 않는다.학습용 데이타 데이타 생성 및 준비..

Tensorflow Object Detection API를 이용한 물체 인식 #2-동물 사진을 학습 시켜보자

Object Detection API에 애완동물 사진을 학습 시켜 보자 조대협 (http://bcho.tistory.com) Object Detection API에 이번에는 애완동물 사진 데이타를 학습시켜 보도록 한다.애완 동물 학습 데이타의 원본은 Oxford-IIIT Pets lives 로 http://www.robots.ox.ac.uk/~vgg/data/pets/ 에 있다. 약 37개의 클래스에, 클래스당 200개 정도의 이미지를 가지고 있다. 이번 글에서는 이 애완동물 데이타를 다운 받아서, Object Detection API에 학습 시키는 것까지 진행을 한다.데이타를 다운로드 받은 후, Object Detection API에 학습 시키기 위해서, 데이타 포맷을 TFRecord 형태로 변환한 후..

얼굴 인식 모델을 만들어보자 #6 - CloudML을 이용하여 예측하기

CloudML을 이용하여 예측하기조대협 (http://bcho.tistory.com) 지난글 (http://bcho.tistory.com/1189) 에서 학습된 모델을 *.pb 파일 포맷으로 Export 하였다. 그러면 이 Export 된 모델을 이용하여 예측 (prediction)을 하는 방법에 대해서 알아보겠다. 앞글에서도 언급했듯이, 예측은 Google CloudML을 이용한다.전체 코드를 https://github.com/bwcho75/facerecognition/blob/master/CloudML%20Version/face_recog_model/%2528wwoo%2529%2BML%2BEngine%2Bprediction.ipynb 를 참고하기 바란다. Export된 모델을 CloudML에 배포하기..

텐서플로우 트레이닝 데이타 포맷인 *.tfrecord 파일 읽고 쓰기

TFRecord 조대협 (http://bcho.tistory.com) 텐서플로우를 접하게 다 보면 필히 만나는 부분이 텐서플로우 학습 데이타 포맷인 TFRecord라는 파일 포맷이다. 마침 얼굴 인식 모델을 이번에는 텐서플로우에서 미리 개발되어 제공되는 물체 인식 API인 Tensorflow Object Detection API를 사용해서 얼굴을 학습시켜보려고 하니 데이타 포맷을 TFRecord 포맷으로 변경해야 한다. 그래서, TFRecord 파일을 만들어보고, 테스트를 위해서 데이타 내용도 직접 읽는 코드를 작성해보았다. (전체 코드는 https://github.com/bwcho75/objectdetection/tree/master/tfrecord 에 다.)TFRecord 파일 포맷이란TFRecord..