自动编码器检测检测信用卡欺诈

本文介绍了如何利用自动编码器来检测信用卡欺诈行为。通过对不平衡的信用卡交易数据集进行分析,发现PCA变换后的特征与原始数值特征(如时间、金额)一起用于构建自动编码器模型。模型训练后,展示了损失随epoch减少,AUC接近1,表明模型性能良好。此外,还探讨了精确率和召回率之间的权衡,并通过混淆矩阵进一步评估模型效果。

首先我们来学习自动编码器。
自动编码器是一种无监督机器学习算法、有三层的神经网络:输入层、隐藏层(编码层)和解码层。该网络的目的是重构其输入,使其隐藏层学习到该输入的良好表征。其应用了反向传播,可将目标值设置成与输入值相等。自动编码器属于无监督预训练网络(Unsupervised Pretained Networks)的一种。其结构如下图所示:
在这里插入图片描述

自动编码器的目标是学习函数 h(x)≈x。换句话说,它要学习一个近似的恒等函数,使得输出 x^ 近似等于输入 x。自动编码器属于神经网络家族,但它们也和 PCA(主成分分析)紧密相关,其一些关键特点为:
它是一种类似于 PCA 的无监督机器学习算法
它要最小化和 PCA 一样的目标函数
它是一种神经网络
这种神经网络的目标输出就是其输入
尽管自动编码器与 PCA 很相似,但自动编码器比 PCA 灵活得多。在编码过程中,自动编码器既能表征线性变换,也能表征非线性变换;而 PCA 只能执行线性变换。因为自动编码器的网络表征形式,所以可将其作为层用于构建深度学习网络。

本次实验用到的数据集来自kaggle竞赛提供(最初是来自位于比利时布鲁塞尔ULB(Université Libre de Bruxelles) 的研究小组Worldline and the Machine Learning Group,基于证书Database: Open Database, Contents: Database Contents发布),可以从这里下载:https://www.kaggle.com/mlg-ulb/creditcardfraud
在这里插入图片描述

该页面同时简单地展示了数据集的内容
在这里插入图片描述

数据集的整体特征如下
在这里插入图片描述

在284807条交易记录中共包含492条欺诈记录。显然,数据集是不平衡的,欺诈这个类别仅仅占了0.172%。
数据集仅包含数值型的变量是因为做了PCA变换。特征V1,V2,…V28分别是通过PCA变换得到的主成成分。
没有做PCA变换的变量是 Time 和 Amount
文件 creditcardfraud.csv中包含31个字段,具体信息如下:
每一行记录了一条交易。
在这里插入图片描述

导入所需库文件

评论 1
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值