訓練樣本獲取方法,帳戶預測方法及對應裝置
本說明書一個或多個實施例涉及機器學習領域,尤其涉及利用機器學習模型進行非法帳戶預測,以及為該機器學習模型獲取訓練樣本的方法和裝置。
隨著網際網路的發展,行動支付的普及,基於支付寶等app的行動支付手段越受青睞。然而,與此同時,相關的問題接踵而至,對於行動支付平臺而言,一個重要的威脅來自於非法帳戶的存在以及其惡性發展。非法使用者註冊大量的備用帳戶,並透過非法手段進行花唄套現等行為,這對於行動支付平臺而言是極大的威脅。對於非法帳戶的檢測以及對其潛在非法行為的禁止,對於構建更為安全穩定的行動支付平臺,減少相關平臺的經濟損失,具有重要意義。
目前業界對於非法帳戶檢測的系統,幾乎都是依賴於規則實現,如此的系統只能覆蓋極少的非法帳戶類型,對於潛在非法帳戶,很難做到及時的發現。
而基於機器學習的方法,大部分都採用監督學習的方式,即利用完全標注的資料來學習,此時需要花費極大的時間和精力來進行資料標注,在網際網路的場景下很難做到。
因此,希望能有改進的方案,更加有效地對非法帳戶進行預測。
本說明書一個或多個實施例描述了訓練樣本獲取方法,帳戶預測方法及對應裝置,從而基於較少的人工標注樣本,透過子模型協同訓練的方式,擴充訓練樣本集,得到可靠的預測模型,用以進行異常帳戶的預測。
根據第一態樣,提供了一種獲取訓練樣本的方法,包括:
獲取標注樣本集,所述標注樣本集包括M個標注樣本,每個標注樣本包括與帳戶資訊相關聯的樣本特徵,以及該帳戶是否為異常帳戶的樣本標籤,其中所述樣本特徵按照預定分組規則被劃分為n組特徵,其中n為大於2的自然數;
形成n個子標注樣本集,其中第i個子標注樣本集包括M個子標注樣本,每個子標注樣本包括所述n組特徵中的第i組特徵作為子樣本特徵,以及所述樣本標籤作為其子樣本標籤;
分別利用所述n個子標注樣本集訓練得到n個子模型,其中第i子模型用於基於第i組特徵預測對應帳戶為異常帳戶的機率;
獲取多個未標注樣本,每個未標注樣本包括按照所述預定分組規則進行劃分的n組特徵,所述多個未標注樣本包括第一樣本;
將所述第一樣本的n組特徵中除第i組特徵外的(n-1)組特徵,分別對應輸入所述n個子模型中除第i子模型外的(n-1)個子模型,分別得到所述(n-1)個子模型對該第一樣本的(n-1)個評分,所述評分表示與該第一樣本對應的帳戶為異常帳戶的機率;
基於所述(n-1)個評分,得到針對第i組特徵的第一綜合分;
在所述第一綜合分滿足預定條件的情況下,為所述第一樣本的第i組特徵添加第一標籤,所述第i組特徵和所述第一標籤形成第一子標注樣本;
將所述第一子標注樣本添加到所述第i個子標注樣本集,以更新所述第i個子標注樣本集。
在一個實施例中,所述n組特徵包括以下特徵組中的多個:帳戶對應的使用者的基本屬性特徵;使用者的歷史行為特徵;使用者的關聯關係特徵;使用者的交互特徵。
根據一種實施方式,透過以下方式得到上述第一綜合分:
對所述(n-1)個評分求和,將和值作為所述第一綜合分;或者
對所述(n-1)個評分求平均,將平均值作為所述第一綜合分。
根據一種可能的設計,在所述第一綜合分高於第一閾值的情況下,為所述第一樣本的第i組特徵添加異常帳戶的標籤;在所述第一綜合分低於第二閾值的情況下,為所述第一樣本的第i組特徵添加正常帳戶的標籤,所述第二閾值小於所述第一閾值。
根據另一種可能的設計,還針對所述多個未標注樣本,對應得到針對第i組特徵的多個綜合分;
如果所述第一綜合分在所述多個綜合分的從大到小排序中位於前端的第一數目之內,為所述第一樣本的第i組特徵添加異常帳戶的標籤;
如果所述第一綜合分在所述多個綜合分的從大到小排序中位於後端的第二數目之內,為所述第一樣本的第i組特徵添加正常帳戶的標籤。
根據一種實施方式,方法還包括,用更新後的第i個子標注樣本集,再次訓練所述第i子模型。
根據第二態樣,提供一種帳戶預測方法,包括:
獲取待測帳戶的帳戶特徵;
按照預定分類規則將所述帳戶特徵劃分為n組特徵;
將所述n組特徵分別輸入n個子模型,得到所述n個子模型對所述待測帳戶異常機率的n個評分,所述n個子模型利用申請專利範圍第1項的方法所獲取的訓練樣本訓練得到;
根據所述n個評分,確定所述待測帳戶的總得分;
根據所述總得分,確定所述待測帳戶的預測結果。
在一個實施例中,透過以下方式確定所述帳戶的總得分:
對所述n個評分求和,將和值作為總得分;或者
對所述n個評分求平均,將均值作為總得分。
根據一種可能的設計,如下確定所述待測帳戶的預測結果:
在所述總得分大於預定閾值的情況下,確定所述待測帳戶為異常帳戶。
根據另一種可能的設計,根據所述總得分,確定所述待測帳戶為異常帳戶的機率值,將該機率值作為預測結果。
根據第三態樣,提供一種獲取訓練樣本的裝置,包括:
標注樣本獲取單元,配置為獲取標注樣本集,所述標注樣本集包括M個標注樣本,每個標注樣本包括與帳戶資訊相關聯的樣本特徵,以及該帳戶是否為異常帳戶的樣本標籤,其中所述樣本特徵按照預定分組規則被劃分為n組特徵,其中n為大於2的自然數;
子樣本集形成單元,配置為形成n個子標注樣本集,其中第i個子標注樣本集包括M個子標注樣本,每個子標注樣本包括所述n組特徵中的第i組特徵作為子樣本特徵,以及所述樣本標籤作為其子樣本標籤;
子模型訓練單元,配置為分別利用所述n個子標注樣本集訓練得到n個子模型,其中第i子模型用於基於第i組特徵預測對應帳戶為異常帳戶的機率;
未標注樣本獲取單元,配置為獲取多個未標注樣本,每個未標注樣本包括按照所述預定分組規則進行劃分的n組特徵,所述多個未標注樣本包括第一樣本;
評分獲取單元,配置為將所述第一樣本的n組特徵中除第i組特徵外的(n-1)組特徵,分別對應輸入所述n個子模型中除第i子模型外的(n-1)個子模型,分別得到所述(n-1)個子模型對該第一樣本的(n-1)個評分,所述評分表示與該第一樣本對應的帳戶為異常帳戶的機率;
綜合分獲取單元,配置為基於所述(n-1)個評分,得到針對第i組特徵的第一綜合分;
標籤添加單元,配置為在所述第一綜合分滿足預定條件的情況下,為所述第一樣本的第i組特徵添加第一標籤,所述第i組特徵和所述第一標籤形成第一子標注樣本;
樣本添加單元,配置為將所述第一子標注樣本添加到所述第i個子標注樣本集,以更新所述第i個子標注樣本集。
根據第四態樣,提供一種帳戶預測裝置,包括:
特徵獲取單元,配置為獲取待測帳戶的帳戶特徵;
特徵分組單元,配置為按照預定分類規則將所述帳戶特徵劃分為n組特徵;
評分獲取單元,配置為將所述n組特徵分別輸入n個子模型,得到所述n個子模型對所述待測帳戶異常機率的n個評分,所述n個子模型利用申請專利範圍第11項的裝置所獲取的訓練樣本訓練得到;
總分確定單元,配置為根據所述n個評分,確定所述待測帳戶的總得分;
結果確定單元,配置為根據所述總得分,確定所述待測帳戶的預測結果。
根據第五態樣,提供了一種電腦可讀儲存媒體,其上儲存有電腦程式,當所述電腦程式在電腦中執行時,令電腦執行第一態樣和第二態樣的方法。
根據第六態樣,提供了一種計算設備,包括記憶體和處理器,其特徵在於,所述記憶體中儲存有可執行代碼,所述處理器執行所述可執行代碼時,實現第一態樣和第二態樣的方法。
透過本說明書實施例提供的方法和裝置,採用半監督和多個子模型協同訓練的方式,基於較少的人工標注資料,訓練出多個可靠的子模型。在對待測帳戶進行預測時,利用如此訓練的多個子模型分別進行預測,然後對結果進行綜合,從而得到可靠的預測結果。
下面結合圖式,對本說明書提供的方案進行描述。
如前所述,已經存在一些基於規則的方法來判斷一個帳戶是否存在異常或是否是非法帳戶。然而這樣的方案,很難做到對大量的非法帳戶的行為模式的覆蓋。因此,仍然希望基於機器學習的方式來構建非法帳戶的檢測系統,從而更加全面地對異常帳戶進行檢測。然而,在網際網路場景下,常規的機器學習方式存在一些困難,使其效果不夠理想。
本案的發明人經過研究和分析提出,常規機器學習效果不夠理想的原因至少有以下幾點。一方面,監督學習需要大量的標注樣本,標注樣本越多,學習效果越好。但是,在非法帳戶預測的問題上,樣本標注需要花費極大的時間和精力,因為要鑒別一個帳戶是不是真的非法帳戶,需要消耗巨大的人力,因此只有很少的帳戶是被標注出來非法或者合法的標記,大量的帳戶都是沒有任何標記資訊的。這使得可供監督學習的標注樣本數量不足,影響學習效果。另一方面,為了使得機器學習更加全面,往往對使用者相關的大量特徵進行採集。這就使得用來描述一個使用者的特徵向量變得非常大(如5000+維),其中必然存在大量的資訊冗餘,而對於機器學習系統而言,這樣的特徵向量更是對於系統的效率帶來極大的挑戰。但是,如果簡單地拋棄這一部分資料,又有可能造成資訊損失,影響學習效果。因此,關於特徵資料的採集,也存在兩難問題。
基於以上的觀察和分析,本案發明人創新性提出一種全新解決方案,採用半監督和多模型協同訓練的方式提高機器學習的性能。具體來說,在說明書實施例的方案中,將使用者特徵進行分組,基於協同訓練的方式對每組特徵分別使用,來對無標記樣本逐步打標,擴充標記樣本集,來構建更為強健的系統。
圖1為本說明書披露的一個實施例的實施場景示意圖。該實施場景可以劃分為模型訓練階段,和模型預測階段。在模型訓練階段,計算平臺首先獲取有標記的帳戶樣本資料,這部分樣本資料可能數量並不多。對於這些樣本資料,將其特徵劃分為多個特徵組(圖1中示意性示出3個組),利用每個特徵組和樣本標籤,訓練出一個對應的子模型,圖1中示意性示出3個子模型。然後,利用這3個子模型協同訓練的方式,逐步給無標記資料打標。具體地,對於一條無標記樣本資料,也對應的將樣本特徵劃分為多個特徵組(例如3個)。對於任意一個子模型Mi和對應的特徵組Fi,將其餘的特徵組分別輸入對應的其餘子模型,根據其餘子模型的輸出結果,為該條樣本資料賦予標籤,於是,特徵組Fi和賦予的標籤就可以作為用於訓練子模型Mi的新的訓練樣本。如此,逐步給無標記樣本資料賦予標籤,擴充訓練樣本集。然後,可以利用不斷擴充的訓練樣本集繼續對各個子模型進行訓練,提升其性能。
在模型預測階段,接收到待測的帳戶資料。將該帳戶資料的樣本特徵也劃分為多個特徵組(例如3個),將這多個特徵組分別對應輸入訓練得到的多個子模型,分別獲得其輸出結果。綜合多個子模型的輸出結果,判斷待測帳戶是否為異常帳戶。
下面描述以上實施場景中的具體實施過程。
圖2示出根據一個實施例的獲取訓練樣本的方法流程圖。該方法可以透過任何具有計算、處理能力的裝置、設備、平臺、設備集群等來執行,例如圖1的計算平臺。如圖2所示,該方法至少包括:步驟21,獲取標注樣本集,其中每個標注樣本的樣本特徵被劃分為n組特徵;步驟22,形成n個子標注樣本集,其中第i個子標注樣本集包括n組特徵中的第i組特徵,以及樣本標籤;步驟23,利用所述n個子標注樣本集訓練得到n個子模型;步驟24,獲取多個未標注樣本,其中包括第一樣本,第一樣本包括對應的n組特徵;步驟25,將第一樣本的n組特徵中除第i組特徵外的(n-1)組特徵,分別對應輸入所述n個子模型中除第i子模型外的(n-1)個子模型,分別得到所述(n-1)個子模型對該第一樣本的(n-1)個評分;步驟26,基於所述(n-1)個評分,得到第一綜合分;步驟27,在第一綜合分滿足預定條件的情況下,為第一樣本的第i組特徵添加第一標籤,所述第i組特徵和所述第一標籤形成第一子標注樣本;步驟28,將所述第一子標注樣本添加到所述第i個子標注樣本集,以更新所述第i個子標注樣本集。下面描述上述各個步驟的執行方式。
首先,在步驟21,獲取標注樣本集。一般地,標注樣本集包括多個標注樣本(下面為了描述方便,記為M個),每個標注樣本包括與帳戶資訊相關聯的樣本特徵,以及該帳戶是否為異常帳戶的樣本標籤。
如前所述,為了使得模型訓練的更加全面,樣本特徵往往包含與帳戶對應的使用者的各個態樣的全面特徵,由此形成上千甚至幾千維的特徵向量。在本說明書的實施例中,按照預定分組規則,將樣本特徵劃分為n個特徵組,其中n為大於2的自然數。
在一個具體例子中,將帳戶樣本的樣本特徵劃分為3個特徵組,例如,第一特徵組包括與使用者基本屬性資訊相關的特徵,例如使用者的性別、年齡、學歷、註冊時長等;第二特徵組包括與使用者的歷史行為相關的特徵,例如,使用者最近一周的瀏覽記錄,消費記錄,交易記錄等等;第三特徵組包括與使用者的社交關係相關的特徵,例如與使用者存在交互的好友的基本資訊(年齡、性別、學歷等)。如果一個樣本的總體特徵為1500維的向量,那麼可以透過以上分組,形成3個約500維的分組特徵向量。
可以理解,以上僅僅是一個示例。在其他實施例中,還可以從不同角度,對樣本特徵進行不同的分組,例如劃分為不同數目的特徵組,或者不同內容的特徵組。例如,還可以從樣本特徵中提取出與使用者和好友之間的交互行為相關的特徵,形成交互特徵組;或者專門提取出與使用者的信貸行為相關的特徵,形成信貸特徵組,等等。本說明書對於樣本特徵的分組方式不作限定。
接著,在步驟22,與劃分的n個特徵組相對應的,形成n個子標注樣本集,其中第i個子標注樣本集包括M個子標注樣本,每個子標注樣本包括n組特徵中的第i組特徵作為子樣本特徵,以及樣本標籤作為其子樣本標籤,其中i為1到n中任意的值。
下面延用3個特徵組的例子,結合圖3描述子標注樣本集的形成。
圖3示出根據一個實施例形成的子標注樣本集。在圖3的示例中,假定標注樣本集包含100個(即M=100)標注樣本,每個標注樣本Yj
包含樣本特徵Fj
和樣本標籤Lj
,而樣本特徵Fj
都被劃分為3個特徵組,即Fj
=Gj1
+Gj2
+Gj3
。例如,第1條樣本的樣本特徵F1
劃分為3個特徵組G11
,G12
和G13
,樣本標籤為L1
;第2條樣本的樣本特徵F2
被劃分為G21
,G22
,G23
,樣本標籤為L2
,等等。
根據一個實施例,提取各個標注樣本的第i組特徵和樣本標籤,形成各個子標注樣本,各個子標注樣本構成第i個子標注樣本集。例如,子標注樣本集1對應於特徵組1,其中包括100個子標注樣本,每個子標注樣本包括特徵組1中的特徵作為子樣本特徵,以及樣本標籤作為其子樣本標籤。例如,提取第1條樣本的特徵組1中的特徵,即G11
,以及對應標籤L1
,形成基於特徵組1的一條子標注樣本;提取第2條樣本的特徵組1中的特徵,即G21
,以及對應標籤L2
,形成基於特徵組1的另一條子標注樣本,等等,如此,可以形成基於特徵組1的100個子標注樣本,從而構成第1子標注樣本集。
類似地,子標注樣本集2對應於特徵組2,其中的每個子標注樣本包括特徵組2中的特徵作為子樣本特徵,以及樣本標籤作為其子樣本標籤;子標注樣本集3對應於特徵組3,其中的每個子標注樣本包括特徵組3中的特徵作為子樣本特徵,以及樣本標籤作為其子樣本標籤。
更多特徵組的情況可以以此類推,不再贅述。
在形成了n個子標注樣本集的基礎上,在步驟23,分別利用所述n個子標注樣本集進行模型訓練,得到對應的n個子模型,其中第i子模型用於基於第i組特徵預測對應帳戶為異常帳戶的機率。
可以理解,對於n個子標注樣本集中任意的第i子標注樣本集,由於具有樣本標籤,因此可以採用各種監督學習的方式進行模型訓練,得到對應的子模型Mi。由於第i子標注樣本集基於第i組特徵形成,而樣本標籤用於示出對應帳戶是否為異常帳戶,那麼相應地,基於第i子標注樣本集訓練得到的第i子模型Mi用於基於第i組特徵預測對應帳戶為異常帳戶的機率。
延用圖3中的例子,如果形成了3個子標注樣本集,那麼可以對應訓練出3個子模型。
如此訓練得到的子模型可以作為初步的子模型,協同作用,為未標注樣本進行打標。
於是,接下來,在步驟24,獲取多個未標注樣本,每個未標注樣本包括對應的樣本特徵,但是不具有樣本標籤。對於未標注樣本的樣本特徵,按照處理標注樣本同樣的分組規則,將樣本特徵進行劃分,劃分為n個特徵組。分組的過程不再贅述。
為了描述的方便,將上述多個未標注樣本中的某個不特定樣本稱為第一樣本,結合該第一樣本描述利用上述n個子模型對其進行打標的過程。需要理解,此處第一樣本中的“第一”,以及下文中相應的“第一”,僅僅是為了區分和描述方便,而不具有任何限定意義。
在步驟25,將第一樣本的n組特徵中除第i組特徵外的(n-1)組特徵,分別對應輸入所述n個子模型中除第i子模型外的(n-1)個子模型,分別得到所述(n-1)個子模型對該第一樣本的(n-1)個評分。根據前述的各個子模型的訓練說明,各個子模型用於基於對應的特徵組預測對應帳戶為異常帳戶的機率,因此,各個子模型對第一樣本的評分即表示,與該第一樣本對應的帳戶為異常帳戶的機率。
然後在步驟26,基於所述(n-1)個子模型輸出的(n-1)個評分,得到第一樣本的針對第i組特徵的第一綜合分。
在一個實施例中,對上述(n-1)個評分求和,將和值作為所述第一綜合分。更具體地,在一個例子中,上述求和可以是加權求和。在這樣的情況下,可以根據各個子模型的重要性、可靠性等因素,預先為各個子模型設置對應的權重。如此,對於上述(n-1)個子模型的評分,將各個子模型的權重作為對應評分的權重,對(n-1)個評分進行加權求和,得到上述第一綜合分。
在另一實施例中,對所述(n-1)個評分求平均,將平均值作為所述第一綜合分。在其他實施例中,還可以採用其他方式對(n-1)個評分進行綜合,得到第一綜合分。
接著,對該第一綜合分進行判斷。在步驟27,在該第一綜合分滿足預定條件的情況下,為第一樣本的第i組特徵添加第一標籤。
在不同實施例中,上述預定條件和對應的第一標籤的內容可以有不同實現方式。
在一個實施例中,預先設定綜合分的判斷閾值,例如較高的第一閾值,和較低的第二閾值,根據閾值比較結果確定第一標籤的添加。具體地,如果第一樣本的針對第i組特徵的第一綜合分高於第一閾值,那麼說明,除第i子模型外的其他各個子模型預測第一樣本為異常帳戶的總體機率足夠高,因此,為第一樣本的第i組特徵添加異常帳戶的標籤。如果第一綜合分低於第二閾值,則說明,除第i子模型外的其他各個子模型預測第一樣本為異常帳戶的總體機率很低,因此,為第一樣本的第i組特徵添加正常帳戶的標籤。可選的,如果第一綜合分在第一閾值和第二閾值之間,那麼有可能其他各個子模型對第一樣本是否為異常帳戶的預測機率差異較大,或者說,預測結果並不一致,在這樣的情況下,可以暫時不為第一樣本的第i組特徵添加標籤。
在另一實施例中,設定綜合分的排名閾值,根據排名閾值確定第一標籤的添加。可以理解,以上描述的獲取第一樣本針對第i組特徵的第一綜合分的過程,可以應用於步驟24獲取的多個未標注樣本中的每個樣本,由此可以獲得各個未標注樣本的針對第i組特徵的綜合分,由此得到多個綜合分。可以將這多個綜合分進行從大到小的排序。
如果第一樣本對應的第一綜合分在上述排序中位於靠前的第一數目(例如50個)之內,為第一樣本的第i組特徵添加異常帳戶的標籤。換而言之,如果第一樣本對應的第一綜合分屬於所有未標注樣本中綜合分最高的第一數目個,例如綜合分最高的50個,那麼說明,除第i子模型外的其他各個子模型預測第一樣本為異常帳戶的總體機率足夠高,因此,為第一樣本的第i組特徵添加異常帳戶的標籤。對應的,如果第一綜合分在多個綜合分的從大到小排序中位於後端的第二數目之內,即屬於分數最低的第二數目個,則說明,除第i子模型外的其他各個子模型預測第一樣本為異常帳戶的總體機率足夠低,因此為第一樣本的第i組特徵添加正常帳戶的標籤。上述第一數目和第二數目可以根據未標注樣本的數量而設定,兩者可以相等,也可以不相等。
如此,對於第一樣本,將除第i組特徵外的其他組特徵對應輸入除第i子模型外的其他子模型,基於各個子模型的預測結果,得出針對第i組特徵的綜合分,並基於該綜合分為該第i組特徵添加第一標籤。第一樣本的第i組特徵,以及添加的第一標籤,形成一個子標注樣本,稱為第一子標注樣本。
接著,在步驟28,將如此得到的第一子標注樣本添加到前述的第i個子標注樣本集,以更新所述第i個子標注樣本集。
可以理解,透過對各個未標注樣本的各個特徵組i進行以上步驟25到步驟28的操作過程,可以不斷篩選出(n-1)個子模型的預測結果相對一致的未標注樣本,為其特徵組i添加與預測結果對應的標籤,從而得到新的子標注樣本,如此不斷擴充各個子標注樣本集,增加訓練樣本的數量。
下面仍沿用之前n=3的例子,描述以上過程。
在一個例子中,獲取了例如1000條未標注樣本,每個未標注樣本的樣本特徵被分為3個特徵組。相應地,假定其中第一樣本的樣本特徵被劃分為U1,U2和U3。在步驟25,在i=1的情況下,將這3組特徵中除第1組特徵U1外的2組特徵,即U2和U3,分別對應輸入3個子模型中除第1子模型外的2個子模型,即M2和M3,分別得到這2個子模型對該第一樣本的2個評分,記為c2和c3。
然後,在步驟26,基於上述c2和c3,得到第一樣本的針對第1組特徵的第一綜合分S1。例如,S1可以是c2和c3的和值或均值,等等。
在步驟27,判斷該第一綜合分S1是否滿足預定條件,以此確定是否添加標籤以及添加什麼標籤。例如,在一個例子中,如果S1大於閾值T1,則為第一樣本的第1組特徵添加異常帳戶的標籤;如果S1小於閾值T2,則為其添加正常帳戶的標籤。
或者,在另一例子中,根據該綜合分的排名來確定標籤的添加。例如,獲取1000個未標注樣本中各個未標注樣本針對第1組特徵的綜合分,如此得到1000個綜合分。可以對這1000個綜合分進行排序。如果S1屬於這1000個綜合分中得分最高的例如前50個,那麼就為第一樣本的第1組特徵添加異常帳戶的標籤;如果S1屬於這1000個綜合分中得分最低的例如後50個,那麼就為第一樣本的第1組特徵添加正常帳戶的標籤。
於是,第一樣本的第1組特徵和對應的標籤就構成一條子標注樣本,添加到針對第1組特徵的子標注樣本集中。
類似的,可以針對每條未標注樣本(1-1000條)的每組特徵(第1組特徵,第2組特徵,第3組特徵)進行類似的處理,從而為部分未標注樣本添加標籤,擴充到訓練樣本集中。
在一個實施例中,在如此更新或擴充各個第i個子標注樣本集後,用更新或擴充的第i個子標注樣本集,再次訓練第i子模型。之後,可以用再次訓練的子模型來對接下來的未標注樣本進行預測和打標。如此不斷重複循環,利用多個子模型的預測結果進行自動打標來擴大對於另一子模型的訓練樣本集,再用擴大的訓練樣本集再次訓練子模型,使得整個系統的強健性不斷提升。
圖4示出根據一個實施例的協同訓練過程的示意圖。在圖4的例子中,假設最初有100個帳戶的標注樣本,每個標注樣本的樣本特徵資訊被分為3組,分別為帳戶的基本資訊,動態資訊和關係資訊。由此,形成與3個特徵組對應的3個子標注樣本集,每個子標注樣本集包含100個子標注樣本。基於這3個子標注樣本集,訓練得到3個初始子模型,圖4中表示為模型1,模型2和模型3。
另一態樣,假定獲取到1000條未標注樣本資料。同樣地,將每個未標注樣本的特徵資訊劃分為3組:基本資訊,動態資訊和關係資訊。將各個未標注樣本的各個特徵組相應輸入對應的子模型,例如將基本資訊輸入模型1,動態資訊輸入模型2,關係資訊輸入模型3,分別獲得各個子模型的預測結果,即評分,基於這些評分進行無標記資料的篩選和打標。
具體地,對於某條未標注樣本,為了對其基本資訊(組1)進行打標,就考慮模型2對其動態資訊(組2)的評分c2以及模型3對其關係資訊(組3)的評分c3,基於這兩個評分得出一個綜合分S1。如果綜合分S1滿足一定條件,例如數值閾值條件,或者排名條件,則為該樣本的基本資訊對應添加異常帳戶/正常帳戶的標籤,形成標記資料。
或者,從1000條未標注樣本的整體來看,在利用模型1,模型2和模型3分別對各個未標記樣本的基本資訊、動態資訊、關係資訊進行評分後,對各個樣本,基於模型2和3的評分綜合得到S1,如此得到1000個樣本各自的S1。從中選擇S1大小超過一定數值閾值的,或者選擇S1最大的若干個(例如50個)樣本,獲取這些樣本的基本資訊,為其加上異常帳戶的標籤;選擇S1小於另一較小數值閾值的,或者選擇S1最小的若干個(例如50個)樣本,提取這些樣本的基本資訊,為其附上正常帳戶的標籤。
同理,基於模型1和3的評分綜合得到S2。根據S2對應的數值閾值或排名,從1000個未標記樣本中篩選出若干個,提取其動態資訊,為其添加正常帳戶/異常帳戶的標籤。基於模型1和2的評分綜合得到S3。根據S3對應的數值閾值或排名,選擇若干個樣本,提取其關係資訊,並附上正常帳戶/異常帳戶的標籤。
換而言之,選擇任意兩個模型認為最可靠的那部分未標記樣本,添加上標籤,作為另外一個模型的訓練樣本。
如此添加了標籤的樣本與原標注樣本集中的樣本可以融合在一起,形成更新或擴充的訓練樣本集。例如,如果針對一組特徵,每次選擇另外2個模型的綜合分最高的50個樣本,添加異常帳戶標籤,選擇綜合分最低的50個樣本添加正常帳戶標籤,那麼執行一次上述過程,可以將各個子標注樣本集的樣本數目擴充到200個。
之後,可以利用更新的訓練樣本集再次訓練各個子模型,如此不斷重複循環,訓練樣本集越來越豐富,子模型的預測性能也越來越可靠,整個系統的強健性不斷提升。如此,利用數量較少的人工標注樣本,就可以得到性能可靠的預測系統。
在反復訓練各個子模型,使其可靠性達到一定程度之後,就可以利用如此訓練得到的子模型所構成的總模型,對未知帳戶進行預測。
圖5示出根據一個實施例的帳戶預測方法的流程圖。如圖5所示,該預測方法包括:步驟51,獲取待測帳戶的帳戶特徵;步驟52,按照預定分組規則將所述帳戶特徵劃分為n組特徵;步驟53,將所述n組特徵分別輸入n個子模型,得到所述n個子模型對所述待測帳戶異常機率的n個評分;步驟54,根據所述n個評分,確定所述待測帳戶的總得分;步驟55,根據所述總得分,確定所述待測帳戶的預測結果。
下面結合圖6的例子描述以上過程。圖6示出基於圖4訓練得到的模型進行帳戶預測的過程。
如圖5和圖6所示,首先在步驟51,獲取待測帳戶的帳戶特徵。一般地,帳戶特徵包括與帳戶相關的多態樣的特徵,維度可達上千或者幾千維。
接著,在步驟52,按照預定分組規則,將帳戶特徵劃分為n組特徵。可以理解,此處的分組規則與模型訓練過程中對訓練樣本的樣本特徵進行分組的規則一致。
例如,在圖6中,與圖4對應的,將待測帳戶的特徵分為3組,即基本資訊,動態資訊,關係資訊。
接著,在步驟53,將n組特徵分別輸入n個子模型,得到n個子模型對所述待測帳戶異常機率的n個評分。可以理解,此處的n個子模型是利用圖2方法獲取的訓練樣本訓練得到的。因此,這n個子模型與n組特徵分別對應,第i子模型被訓練為,基於第i組特徵為對應帳戶評分,該評分表示對應帳戶為異常帳戶的機率。如此,n個子模型對應輸出n個評分。
在圖6中,將待測帳戶的基本資訊輸入模型1,得到預測結果1;將動態資訊輸入模型2,得到預測結果2;將關係資訊輸入模型3,得到預測結果3。各個預測結果即對應於上述評分,表示對應模型預測的該帳戶為異常帳戶的機率。
接著,在步驟54,根據上述n個評分,確定待測帳戶的總得分。
在一個實施例中,在步驟54,對所述n個評分求和,將和值作為總得分。更具體地,在一個例子中,上述求和可以是加權求和。即根據各個子模型的重要性、可靠性等因素,預先為各個子模型設置對應的權重。如此,對於上述n個子模型的評分,將各個子模型的權重作為對應評分的權重,對n個評分進行加權求和,得到總得分。
在另一實施例中,還可以對所述n個評分求平均,將均值作為總得分。或者,在其他實施例中,還可以採取其他方式基於這n個評分確定出總得分。
接著,在步驟55,根據上述總得分,確定待測帳戶的預測結果。
在一個實施例中,輸出的預測結果為,待測帳戶是正常帳戶還是異常帳戶的判斷結果。在這樣的情況下,可以將上述總得分與一機率閾值進行比較,在總得分大於該機率閾值的情況下,確定待測帳戶為異常帳戶,否則,確定待測帳戶為正常帳戶。
在另一實施例中,輸出的預測結果為,待測帳戶是異常帳戶的機率。更具體地,在一個例子中,上述總得分是對n個評分求平均而得到;在這樣的情況下,可以直接將上述總得分作為異常帳戶的機率值,而輸出作為預測結果。在另一例子中,上述總得分透過其他方式計算得到,在這樣的情況下,可以對上述總得分進行簡單的處理運算,例如歸一化處理,將處理結果作為異常帳戶的機率值,輸出作為預測結果。
在圖6中,該過程簡單示出為,將預測結果1,預測結果2和預測結果3進行綜合,得到最終預測結果。
透過以上過程可以看到,在實施例的方案中,將待測帳戶的特徵資料劃分為多個組,分別輸入對應的多個子模型,再對子模型的預測結果進行綜合。如此,既避免了特徵資料維度太高對模型計算性能的影響,又不會因為丟棄資料造成資訊損失。
綜合以上,說明書實施例的方案採用半監督和多個子模型協同訓練的方式,基於較少的人工標注資料,訓練出多個可靠的子模型。在對待測帳戶進行預測時,利用如此訓練的多個子模型分別進行預測,然後對結果進行綜合,從而得到可靠的預測結果。
根據另一態樣的實施例,還提供一種獲取訓練樣本的裝置。圖7示出根據一個實施例的獲取訓練樣本的裝置的示意性方塊圖。如圖7所示,該裝置700包括:
標注樣本獲取單元71,配置為獲取標注樣本集,所述標注樣本集包括M個標注樣本,每個標注樣本包括與帳戶資訊相關聯的樣本特徵,以及該帳戶是否為異常帳戶的樣本標籤,其中所述樣本特徵按照預定分組規則被劃分為n組特徵,其中n為大於2的自然數;
子樣本集形成單元72,配置為形成n個子標注樣本集,其中第i個子標注樣本集包括M個子標注樣本,每個子標注樣本包括所述n組特徵中的第i組特徵作為子樣本特徵,以及所述樣本標籤作為其子樣本標籤;
子模型訓練單元73,配置為分別利用所述n個子標注樣本集訓練得到n個子模型,其中第i子模型用於基於第i組特徵預測對應帳戶為異常帳戶的機率;
未標注樣本獲取單元74,配置為獲取多個未標注樣本,每個未標注樣本包括按照所述預定分組規則進行劃分的n組特徵,所述多個未標注樣本包括第一樣本;
評分獲取單元75,配置為將所述第一樣本的n組特徵中除第i組特徵外的(n-1)組特徵,分別對應輸入所述n個子模型中除第i子模型外的(n-1)個子模型,分別得到所述(n-1)個子模型對該第一樣本的(n-1)個評分,所述評分表示與該第一樣本對應的帳戶為異常帳戶的機率;
綜合分獲取單元76,配置為基於所述(n-1)個評分,得到針對第i組特徵的第一綜合分;
標籤添加單元77,配置為在所述第一綜合分滿足預定條件的情況下,為所述第一樣本的第i組特徵添加第一標籤,所述第i組特徵和所述第一標籤形成第一子標注樣本;
樣本添加單元78,配置為將所述第一子標注樣本添加到所述第i個子標注樣本集,以更新所述第i個子標注樣本集。
根據一種實施方式,所述n組特徵包括以下特徵組中的多個:帳戶對應的使用者的基本屬性特徵;使用者的歷史行為特徵;使用者的關聯關係特徵;使用者的交互特徵。
在一個實施例中,上述綜合分獲取單元76配置為:
對所述(n-1)個評分求和,將和值作為所述第一綜合分;或者
對所述(n-1)個評分求平均,將平均值作為所述第一綜合分。
根據一種可能的設計,所述標籤添加單元77配置為:
在所述第一綜合分高於第一閾值的情況下,為所述第一樣本的第i組特徵添加異常帳戶的標籤;
在所述第一綜合分低於第二閾值的情況下,為所述第一樣本的第i組特徵添加正常帳戶的標籤,所述第二閾值小於所述第一閾值。
在一種實施方式中,綜合分獲取單元76配置為,針對所述多個未標注樣本,對應得到針對第i組特徵的多個綜合分;
相應地,標籤添加單元77配置為:
如果所述第一綜合分在所述多個綜合分的從大到小排序中位於前端的第一數目之內,為所述第一樣本的第i組特徵添加異常帳戶的標籤;
如果所述第一綜合分在所述多個綜合分的從大到小排序中位於後端的第二數目之內,為所述第一樣本的第i組特徵添加正常帳戶的標籤。
在一個實施例中,子模型訓練單元73還配置為,用更新後的第i個子標注樣本集,再次訓練所述第i子模型。
根據又一態樣的實施例,還提供一種帳戶預測裝置。圖8示出根據一個實施例的帳戶預測裝置的示意性方塊圖。如圖8所示,該裝置800包括:
特徵獲取單元81,配置為獲取待測帳戶的帳戶特徵;
特徵分組單元82,配置為按照預定分類規則將所述帳戶特徵劃分為n組特徵;
評分獲取單元83,配置為將所述n組特徵分別輸入n個子模型,得到所述n個子模型對所述待測帳戶異常機率的n個評分,所述n個子模型利用申請專利範圍第11項的裝置所獲取的訓練樣本訓練得到;
總分確定單元84,配置為根據所述n個評分,確定所述待測帳戶的總得分;
結果確定單元85,配置為根據所述總得分,確定所述待測帳戶的預測結果。
在一個實施例中,總分確定單元84配置為:對所述n個評分求和,將和值作為總得分;或者,對所述n個評分求平均,將均值作為總得分。
根據一種可能的設計,結果確定單元85配置為:在所述總得分大於預定閾值的情況下,確定所述待測帳戶為異常帳戶。
根據另一種可能的設計,結果確定單元85配置為:根據所述總得分,確定所述待測帳戶為異常帳戶的機率值,將該機率值作為預測結果。
透過圖7和圖8的裝置,採用半監督和多個子模型協同訓練的方式,基於較少的人工標注資料,訓練出多個可靠的子模型。在對待測帳戶進行預測時,利用如此訓練的多個子模型分別進行預測,然後對結果進行綜合,從而得到可靠的預測結果。
根據另一態樣的實施例,還提供一種電腦可讀儲存媒體,其上儲存有電腦程式,當所述電腦程式在電腦中執行時,令電腦執行結合圖2和圖5所描述的方法。
根據再一態樣的實施例,還提供一種計算設備,包括記憶體和處理器,所述記憶體中儲存有可執行碼,所述處理器執行所述可執行碼時,實現結合圖2和圖5所述的方法。
本領域技術人員應該可以意識到,在上述一個或多個示例中,本發明所描述的功能可以用硬體、軟體、韌體或它們的任意組合來實現。當使用軟體實現時,可以將這些功能儲存在電腦可讀媒體中或者作為電腦可讀媒體上的一個或多個指令或碼進行傳輸。
以上所述的具體實施方式,對本發明的目的、技術方案和有益效果進行了進一步詳細說明,所應理解的是,以上所述僅為本發明的具體實施方式而已,並不用於限定本發明的保護範圍,凡在本發明的技術方案的基礎之上,所做的任何修改、等同替換、改進等,均應包括在本發明的保護範圍之內。
21:步驟
22:步驟
23:步驟
24:步驟
25:步驟
26:步驟
27:步驟
28:步驟
51:步驟
52:步驟
53:步驟
54:步驟
55:步驟
71:標注樣本獲取單元
72:子樣本集形成單元
73:子模型訓練單元
74:未標注樣本獲取單元
75:評分獲取單元
76:綜合分獲取單元
77:標籤添加單元
78:樣本添加單元
81:特徵獲取單元
82:特徵分組單元
83:評分獲取單元
84:總分確定單元
85:結果確定單元
700:裝置
800:裝置
為了更清楚地說明本發明實施例的技術方案,下面將對實施例描述中所需要使用的圖式作簡單地介紹,顯而易見地,下面描述中的圖式僅僅是本發明的一些實施例,對於本領域普通技術人員來講,在不付出進步性勞動的前提下,還可以根據這些圖式獲得其它的圖式。
圖1為本說明書披露的一個實施例的實施場景示意圖;
圖2示出根據一個實施例的獲取訓練樣本的方法流程圖;
圖3示出根據一個實施例形成的子標注樣本集;
圖4示出根據一個實施例的協同訓練過程的示意圖;
圖5示出根據一個實施例的帳戶預測方法的流程圖;
圖6示出基於圖4訓練得到的模型進行帳戶預測的過程;
圖7示出根據一個實施例的獲取訓練樣本的裝置的示意性方塊圖;
圖8示出根據一個實施例的帳戶預測裝置的示意性方塊圖。