问题措辞含糊不清 - 我很乐意根据反馈进行更改。但是,我试图训练一个神经网络来检测网站上的欺诈交易。我有很多参数作为输入(一天中的时间,原籍国,过去一个月的访问次数,过去一个月唯一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
?
_“我会得到三种类型的数据(fraud_a,fraud_b和not_fraud)并且训练它们吗?”_基于我对这些事情的有限理解:是的。 – 2015-02-23 14:27:31
然而'not_fraud'会有许多不同类型的数据模式。可能没有任何东西将它们串在一起。 – Shamoon 2015-02-23 14:28:32
听起来很不愉快,但我认为你只需要开始看看会发生什么。到目前为止,你似乎没有足够的理解你的数据和“其他”类。获取你的特征并训练它们(或者使用一些其他分析,例如聚类),以便查看数据是什么。只有这样你才能在“其他”中识别可能的子类。 – runDOSrun 2015-02-23 14:28:46