Keras AutoEncoder で異常検知「詐欺検知」

前回はkaggleコンペでメルカリについて解説しました。今回の記事はAutoEncoderを使ってKaggle のクレジットカードの詐欺検知を解説します。 目次 1. Keras Encoder 2. Kaggleクレジットカード不正利用データ(Credit Card Fraud Detection) 3. 実験・コード __3.1 データ読み込み __3.2 データ可視化 __3.3 データ加工 __3.4 Encoderモデル __3.5 モデル評価   1. Keras Autoencoder 自己符号化器 (autoencoder; AE) は入力を出力にコピーするように学習させたNNです。データが低次元多様体や多様体の小さい集合の周りに集中しているという考えに基づいている。AutoEncoder は特徴量の次元圧縮や異常検知など、幅広い用途に用いられています。 基本的には下図のように、入力と出力が同じになるようにニューラルネットワークを学習させるものです。入力をラベルとして扱っていて、教師あり学習と教師なし学習の中間に位置するような存在です。普通のニューラルネットワークと同様に勾配降下法(gradient descent)などを使って学習させることができます。   2. Kaggleクレジットカード不正利用データ https://www.kaggle.com/mlg-ulb/creditcardfraud#creditcard.csv 2013年9月の2日間の欧州の人が持つカードで、取引を記録したデータセットです。 284,807件の取引があり、その中に492件詐欺行為が含まれて、極めて不均衡なデータセットとなっています。各レコードには不正利用か否かを表す値(1ならば不正利用)を持っていますが、当然ながらほとんどが0となっています。また、個人情報に関わるため、タイムスタンプと金額以外の項目が主成分分析(および標準化)済みとなっていることも特徴です。   3. 実験・コード 3.1 データ読み込み 環境:Google Colab GPU ライブラリのインポート import pandas as pd import seaborn …

Keras AutoEncoder で異常検知「詐欺検知」 Read More »