问题的措辞是模糊的--我很乐意根据反馈来改变它。但是,我正试图训练一个神经网络来检测网站上的欺诈交易。我有很多输入参数(一天中的时间、原籍国、过去一个月的访问次数、过去一个月来自唯一IP的访问次数、交易数量、平均交易规模等)。总共可能有100多个投入。输入已经标准化和净化,它们形成了一个time series。历史上,我可以查看我的数据,并确定交易是欺诈类型A或B类型,或不欺诈性。我的训练集可能很大(数千分或数万分)。
最终,我想要一个指标: A类欺诈,B型欺诈或非欺诈。一般而言,欺诈性交易往往符合一种模式。我无法准确地识别模式(这就是我使用NN的原因)。然而,没有欺诈交易可以是任何类型的模式。因此,当第三个桶是“其他”的时候,把东西识别成3个桶似乎很奇怪。
如果这是一个开关/情况,它将类似于:
switch transactionData
when transactionData.transaction_count < 0.2 && ....
FRAUD_A
when transactionData.transaction_count > 0.5 && ....
FRAUD_B
else
NOT_FRAUD显然,这些都是简化的案例,但我的问题是如何正确地为else案例进行培训。我是否获得了三种类型的数据(fraud_a、fraud_b和not_fraud)并对它们进行了培训?或者还有其他的方式来训练other
发布于 2015-02-23 17:49:22
拥有其他(而不是欺诈)类以及您感兴趣的类通常是完全可以的。但我理解你的担心。基本上,它的任务是学习“案例/开关”,在大多数情况下,它将学习正确的一个,假设大多数样本不属于欺诈类。在一些病理案例中,分类器可以学到不同的概念,例如,除非证明不是这样,否则一切都是欺诈A类。您通常不能直接控制它,但是可以通过创建更好的特性和其他一些技巧来改变它。现在,继续你所拥有的,看看会发生什么。
你可以做的一件事是训练两个分类器,一个(欺诈/不欺诈),然后如果发现欺诈,将数据输入二级分类器(欺诈A/欺诈B)。有时(但并不总是)这样做会更好。
https://stackoverflow.com/questions/28675967
复制相似问题