獨家乾貨分享|標籤對無監督學習算法有什麼作用?

獨家乾貨分享|標籤對無監督學習算法有什麼作用?

概要

DataVisor是業內首個將無監督機器學習(unsupervised machine learning)應用於反欺詐檢測的。其中相較於傳統檢測方法,無監督機器學習有一項顯著的優勢就是無需標籤。但是不是說,無監督就一定不需要標籤?用了標籤就一定是有監督呢?事實並非如此,這要看如何使用標籤了。

在傳統反欺詐檢測中會有這樣的問題:因為缺乏足夠的先驗知識,難以人工標註類別或進行人工類別標註的成本太高。很自然地,我們希望計算機能代我們完成這些工作以減輕人力和財務成本。

什麼是無監督學習?

根據類別未知(沒有被標記)的訓練樣本解決模式識別中的各種問題,稱之為無監督學習。無監督和有監督的區別之一就是對標籤的運用。

區分有監督和無監督,就是看是否有監督(supervised),也就看輸入數據是否有標籤(label)。輸入數據有標籤,則為有監督學習,沒標籤則為無監督學習。

因此,如果標籤被作為模型的輸入,則認為是有監督;若標籤沒有用於輸入來訓練模型,例如只作為驗證所用(為了得出TPR,FPR,FNR等指標),則屬於無監督。

事實上,在反欺詐檢測中,標籤在無監督算法的過程中,仍有十分重要的意義。

從定義的角度闡述無監督學習的含義

首先我們來看什麼是學習(learning)?一個成語就能很典型地概括:舉一反三。此處以高考為例,高考的題目都是新題,但在高中我們經過三年的訓練,已經習得了解題方法,因此考試中陌生的題目我們也能解出。機器學習的思路也類似:我們能不能利用一些訓練數據(已經做過的題),使機器能夠利用它們(解題方法)分析未知數據(高考的題目)?

最經典的一類機器學習算法就是分類(classification)。對於分類,輸入的訓練數據有特徵(feature),有標籤(label)。

所謂的學習,其本質就是找到特徵和標籤間的關係(mapping)。這樣當有特徵而無標籤的未知數據輸入時,我們就可以通過已有的關係得到未知數據標籤。

在上述的分類過程中,如果所有訓練數據都有標籤,則為有監督學習(supervised learning)。如果數據沒有標籤,顯然就是無監督學習(unsupervised learning)了。

這裡主要講無監督學習中的一種-聚類(clustering)。

從集合的角度闡述標籤對無監督學習的作用

同樣,我們先從機器學習常用的三個集合定義開始解釋。這裡,我們引用Ripley, B.D(1996)在他的經典專著Pattern Recognition and Neural Networks中給出的這三個詞的定義。 為了不產生歧義,此處採用雙語定義。

Training set: A set of examples used for learning, which is to fit the parameters [i.e., weights] of the classifier.

訓練集:學習樣本數據集,根據選擇的分類器,學習出一個函數來擬合輸入特徵和輸出標籤的關係。建立一種分類的方式,主要是用來訓練模型的。

Validation set: A set of examples used to tune the parameters [i.e., architecture, not weights] of a classifier, for example to choose the number of hidden units in a neural network.

驗證集:對學習出來的模型,調整分類器算法的高層參數,如在神經網絡中選擇隱藏單元數。驗證集還用來確定網絡結構或者控制模型複雜程度的參數。

Test set: A set of examples used only to assess the performance [generalization] of a fully specified classifier.

測試集:主要是測試訓練好的模型的分辨能力(識別率等)

獨家乾貨分享|標籤對無監督學習算法有什麼作用?

顯然,training set是用來訓練模型或確定模型參數的,如ANN(artificial neutral network)中權值等; validation set是用來做模型選擇(model selection),即做模型的最終優化及確定的,如ANN的結構;而 test set則純粹是為了測試已經訓練好的模型的推廣能力。Test set也並不能保證模型的正確性,他只是說相似的數據用此模型會得出相似的結果。

那麼,為何要這麼劃分?Ripley也談到了這個問題:

1. The error rate estimate of the final model on validation data will be biased (smaller than the true error rate) since the validation set is used to select the final model.

2. After assessing the final model with the test set, YOU MUST NOT tune the model any further.

簡而言之,為了防止過度擬合(overfitting)。如果把所有數據都用來訓練模型的話,建立的模型自然是最契合這些數據的,測試表現也好。但換了其它數據集測試這個模型效果便可能沒那麼好。如同你給班級A定製校服是適合的,但是換到班級B就算年級相同不合適的概率也會增加。簡而言之訓練集和測試集相同的話,模型評估結果看起來好很多,但都是假象。

對於有監督學習,由於標籤作為輸入端,其作用於訓練集(Test set)和驗證集(Validation set)上;對於無監督習,標籤主要作用於驗證集(Validation set)上。

簡單地介紹了相關背景,我們再回到開頭提到的問題標籤對無監督算法有什麼用呢?

1. 用無監督學習來做欺詐團伙的檢測,可以用標籤來評估檢測的好壞。其常用指標有三個:檢測率(Detection rate),召回率(Recall)和準確率(precision)。你的模型是否合格與現有的標籤進行對比,看交集(overlap)有多少,看增益有多少。

2. 標籤用來調優無監督模型,也就是標籤作用於驗證集上。任何一種機器學習算法都包含參數,調參是模型調優的主要工作。有監督的調參主要在training set上進行,例如ANN的權值;而無監督沒有training set,調參主要是在validation set上進行。換言之,有監督的標籤是用來輸入訓練模型的,無監督的標籤是研究人員來驗證的。

從行業的角度闡述無監督的應用

無監督應用於反欺詐,是基於“好人分散壞人扎堆”的基本假設。我們基於行為判斷群組的好壞,標籤可以幫我們進一步確認這個判斷是否正確。那麼,如果沒有標籤怎麼辦?那就需要業務人員的介入,由業務人員來確定結果是否正確。

以下以互聯網和金融行業為例,闡述無監督的應用。

我們曾有一篇文章提到了互聯網刷單,從五個方面介紹了互聯網刷單的方式方法。由於現在互聯網行業存在著很多團伙類欺詐,採用無監督算法聚類是一種十分有效的手段,尤其是DataVisor自主開發的無監督算法,已經被國內外眾多一線互聯網產品所用,涉及的場景有:大規模註冊,活動運營監控,垃圾郵件/信息,賬號盜用等等,部分場景的輸出準確率可以達到99%。

通過無監督算法在互聯網行業聚類出的團伙,即使沒有標籤,通常只要運營人員稍加判斷,就能識別出好壞。當然,如果有標籤,模型的結果會更加優秀。

金融行業的情況比互聯網複雜得多,有存取款、洗錢、信用卡盜刷、騙貸騙保和轉賬等各種開戶行為和交易行為。以信用卡開戶舉例,通過無監督算法聚類出的一些異常行為的群組,可能在業務邏輯上可解釋。例如,一個銷售推薦的開卡人,一天內的開卡地點遍佈全國各地。看似一個人一天內不可能跑遍祖國的大江南北,但實際上,此銷售可能是以電話(cold call)的方式進行的信用卡推薦,因此業務角度判斷屬於正常行為。金融行業的此類疑似團伙欺詐,通常需要用標籤+業務邏輯雙管齊下的方式來判斷,從而對無監督算法作調優。


分享到:


相關文章: