2015-02-23 69 views
2

問題措辭含糊不清 - 我很樂意根據反饋進行更改。但是,我試圖訓練一個神經網絡來檢測網站上的欺詐交易。我有很多參數作爲輸入(一天中的時間,原籍國,過去一個月的訪問次數,過去一個月唯一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

+0

_「我會得到三種類型的數據(fraud_a,fraud_b和not_fraud)並且訓練它們嗎?」_基於我對這些事情的有限理解:是的。 – 2015-02-23 14:27:31

+0

然而'not_fraud'會有許多不同類型的數據模式。可能沒有任何東西將它們串在一起。 – Shamoon 2015-02-23 14:28:32

+0

聽起來很不愉快,但我認爲你只需要開始看看會發生什麼。到目前爲止,你似乎沒有足夠的理解你的數據和「其他」類。獲取你的特徵並訓練它們(或者使用一些其他分析,例如聚類),以便查看數據是什麼。只有這樣你才能在「其他」中識別可能的子類。 – runDOSrun 2015-02-23 14:28:46

回答

1

其他(非欺詐)課程以及您感興趣的課程通常是完全可以的,但我理解您的擔憂。基本上,它的工作是學習「案例/開關」,在大多數情況下,它會學到正確的一個,假設大多數樣本屬於NOT FRAUD類。在一些病理情況下,分類器可以學習不同的想法,例如除非另有證明,否則一切都屬於FRAUD類。通常不能直接控制它,但可以通過創建更好的功能和其他技巧來改變它。現在,繼續你所擁有的,看看會發生什麼。

你可以做的一件事是訓練兩個分類器,一個(FRAUD/NOT FRAUD),然後如果檢測到欺詐,則將數據饋送到第二個兩級分類器(FRAUD A/FRAUD B)。有時(但並非總是),這會更好。