程鵬超,杜軍平,薛哲
(北京郵電大學 智能通信軟件與多媒體北京市重點實驗室,北京 100876)
隨著人們生活水平的提高,人們更加關注對 生活質量的追求,在閑余的時間買賣基金、股票等以獲取更多地利潤。隨著人們金融行為和意識的提升,金融領域的用戶行為挖掘可以探究用戶的行為規律,通過挖掘用戶金融行為的規律與變化,為用戶推薦或提供更好的服務。金融大數據中包括結構化文本數據、非結構化文本數據、數值數據等。挖掘金融大數據中用戶的金融行為來改進金融領域服務模式,提高金融領域服務質量,已經成為了一個重要的研究方向[1]。
為了有效挖掘金融大數據中用戶潛在的金融行為特征,提高金融領域的服務模式和服務質量,本文提出了一種基于多路交叉特征的用戶金融行為預測算法(user financial behavior prediction algorithm based on multi-way crossing, MCUP)。首先,根據數據包含的屬性構建訓練的特征,利用因子分解機模型[2](factorization machines, FM)模型借助下游行為預測任務對金融數據的特征進行預訓練,可以獲取到數據中特征的隱含向量。對于文本特征而言,利用預訓練模型對文本特征進行表示以獲得語義豐富的特征向量。然后,引入特征交叉層來對金融數據的較高階特征進行提取,解決FM線性模型只能提取低階特征的缺點。同時,利用殘差網絡結構對金融數據的高階特征進行提取,解決深度神經網絡在提取金融數據高階特征時會因為網絡層數過深而導致梯度消失的問題。最后,利用將FM、特征交叉網絡和殘差網絡結合在一起的多塔模型進行用戶金融行為的預測,融合低階特征與高階特征進行實驗。
本文的主要貢獻如下:
1) 提出了一種基于多路交叉的用戶金融行為預測方法,結合數據低階特征和高階交叉特征對金融大數據用戶行為進行預測;
2) 使用預訓練FM模型對訓練特征隱向量表示進行初始化,加速訓練和模型收斂,同時FM可以提取數據特征的一階和二階交叉特征;
3) 引入交叉特征層和殘差網絡提取數據高階特征,將稀疏的身份(identity, ID)特征表示成稠密向量作為輸入,同時考慮到高階特征對用戶行為的預測效果影響。
目前現有的用戶行為的預測的方法一般分為2種類型,傳統的機器學習方法和深度學習方法。對于傳統的機器學習方法而言,FM在理論上可以進行任意階特征的交叉,由于計算復雜度的限制,目前只是用來進行二階特征交叉。FM核心在于提出了特征隱向量的概念,將原始特征的出現都作為一個特征,每個特征利用稠密的向量來進行表示,解決了多項式特征交叉時交叉系數更新慢的缺點。FM的不足之處在于所有特征對于行為預測的結果影響系數是相同的,導致數據各個特征之間沒有區分性。為了解決FM無法區分特征對行為預測性能的影響,文獻[3]提出了場敏感因子分解模型(field-aware factorization machines, FFM),FFM是在FM的基礎上引入了域概念的行為預測模型。FFM將具有相同性質的特征歸結于同一個域,每一維特征針對每一個域都會學習到一個隱向量,所以隱向量不僅僅與單個特征相關而且和域相關。FM和FFM僅僅考慮到了數據的低階特征,而沒有考慮數據高階交叉特征,類似用戶ID和物品ID特征需要深度網絡才能提取高階交叉特征[4]。隨著深度學習技術的發展,深度學習在推薦、廣告、計算機視覺、自然語言處理、語音識別等領域取得了重要進展,深度學習幾乎無限的表達能力被廣泛地研究[5]。文獻[6]利用結構化和非結構化大數據對商品購買行為進行了預測。文獻[7]基于用戶行為序列數據和選擇模型的方法,對用戶金融行為選擇出最優的因子模型并預測用戶的行為。文獻[8]利用支持向量機模型對用戶的消費情況進行預測并獲得了較好的預測結果。文獻[9]結合支持向量機和邏輯回歸模型進行了購買行為的預測,進一步提升了金融行為預測的準確性。文獻[10]采用改進的決策樹構建用戶金融行為預測模型,實現了大數據環境下的模型構建和訓練。文獻[11]構建了Pareto/NBD模型,結合協變量進一步提升了用戶購買行為預測的準確率。文獻[12]通過改進了傳統的預測模型,在產品購買行為數據集上驗證了方法的有效性。文獻[13]挖掘了用戶購買行為規律,分析出了符合用戶購買意愿的商品序列。文獻[14]構建了線上消費購買率預測模型,預測了未來用戶購買的行為規律。文獻[15]結合遺傳算法與傳統算法進行最優模型組合,并通過實驗驗證了該方法的有效性。
深度學習技術同樣也應用到了用戶行為預測方面。文獻[16]采用CNN-LSTM(convolutional neural network long short term memory)模型預測用戶購買行為,利用卷積神經網絡(convolutional neural network,CNN)進行特征抽取,通過長短期記憶網絡(long short term memory,LSTM)[17]建立時間序列,實現對特征的自動抽取和行為預測。支持因子分解機的神經網絡模型(factorization-machine supported neural networks, FNN)[18]就是來解決FM和FFM僅考慮一階和二階特征的問題,FNN利用FM作為預訓練模型,將訓練好的特征的隱向量作為后續深度神經網絡的輸入,來得到特征的高階組合。它可以解決類似用戶ID沒有出現過的泛化問題,但是忽略了低階特征的重要性,即在數據中頻繁出現的低階特征組合也能顯示出用戶行為。因此,低階特征和高階組合特征對用戶行為的預測都很重要。深度因子分解模型(deep factorization machines, DeepFM)[19]提出了雙塔模型分別對數據低階特征和高階交叉特征進行提取。利用FM模型自動地提取數據一階與二階特征,深度神經網絡提取數據的高階特征,通過融合數據低階特征和高階特征來進行用戶行為的預測,利用FM天然可以自動組合二階特征和一階特征的優點來避免人工干預,并且在模型橫向和縱向來共享FM的特征隱向量,真正實現了端到端的用戶行為預測。DeepFM模型的輸入對于連續特征是不友好的,需要把文本特征作為用戶行為預測的特征之一,文本特征大多數情況會用一個低維稠密向量來表示。深度交叉網絡(Deep&Cross network)[20]共享輸入,即deep部分和cross部分輸入是相同的,在其輸入的時候對于類似文本特征而言會將其與其他特征進行連接作為輸入。cross部分在理論上可以做到對高階特征的組合,而且其參數隨輸入維度是線性增加的,FM要想對高階特征進行組合其復雜度是呈指數增長的。Deep&cross雖然既有高階特征又有低階特征,但是對于輸入的離散特征進行one-hot處理后,特征之間是同等重要的,沒有field的概念。
基于多路交叉特征的用戶行為預測的方法的框架如圖1所示。

圖 1 基于多路交叉特征的用戶行為預測框架Fig. 1 The framework of user behavior prediction based on multi-way
模型由3部分構成,如圖1所示,左側模塊表示利用預訓練FM模型獲取離散特征和連續特征的稠密向量表示;中間模塊利用交叉層對輸入特征進行特征交叉獲得較高階特征向量表示;右側輸入特征經過殘差網絡模塊來提取高階特征,得到特征的高階組合。將3個模塊的輸出特征向量進行連接作為淺層全連接網絡的輸入,最后得到用戶行為的預測結果。
FM模型在理論上可以擬合任意高階特征,由于FM模型在擬合高階特征的同時,模型復雜度將會成指數倍增加,所以一般只使用FM到二階特征交叉。為了在保證模型復雜度低的情況下,對高階特征進行交叉組合提取,引入基于多項式的交叉特征提取方法。
基于多項式的交叉特征提取方法核心思想是利用乘法計算來進行特征交叉。同樣,在理論上基于多項式的交叉特征層可以擬合任意高階組合特征。主要利用x0xlT這種表達方式來進行特征交叉,使用原始特征與基于多項式的交叉特征層進行乘法運算,使得特征交叉通過一個rank-one的數字來表示,大大減少了模型的參數量。具體為

式中:el+1表示l+1層特征向量;e0表示模型原始輸入特征向量;wl表示第l層模型參數;bl表示第l層偏移量;el表示第l層特征向量。
每一層的特征都由其上一層的特征進行交叉組合,并把上一層的原始特征重新加回來。這樣既能特征組合,自動生成交叉組合特征,又能保留低階原始特征,隨著cross層的增加,可以生成任意高階的交叉組合特征,且在此過程中沒有引入更多的參數,有效控制了模型復雜度。
FM的核心在于提出了特征隱向量的概念,將原始特征的出現都作為一個特征,每個特征利用稠密的向量來進行表示,解決了由于數據稀疏導致多項式特征交叉時交叉系數更新慢的缺點。FM利用交叉的特征隱向量之間計算得分來代替多項式計算時的特征交叉系數,根據隨機梯度下降的計算公式可以計算出參數的更新公式,由參數更新公式可以得出參數的更新只要交叉特征中的一個值不為0即可,從而解決了百萬級的類別特征經過one-hot編碼后數據特征稀疏的問題。本文提出利用下游任務去預訓練FM模型,使用預訓練FM模型對MCUP算法中FM模塊進行初始化,以達到加速模型訓練和收斂。
FM一般只用到二階特征組合,為

式中:θ0表示偏置參數;θi表示一階特征的參數;θij表示二階組合特征的參數;xi表示第i個特征;xj表示第j個特征。

式中:vi、vj分別表示第i、j個特征對應的隱向量;其他表示含義同式(1)。
在MCUP算法中利用預訓練FM模型對數據中的特征進行預訓練,類似自然語言處理中詞向量的操作方式,可以獲得數據特征的隱向量表示。利用預訓練FM模型對MCUP算法進行初始化,可以通過數據集對特征隱向量進行微調獲得更好的用戶行為預測的效果。
線性回歸(linear regression, LR)算法、FM算法等僅僅考慮到了低階特征的組合,在下游任務中低階特征可以記住用戶歷史行為,從而對下游任務的目標起到正向作用。但是在收集到的數據中存在大量的ID類特征,即One-hot操作后會得到離散稀疏的向量表示,通常ID類特征在特征組合中起到非常重要的作用。高維離散特征通用的處理方式是使用One-hot進行表示后,利用LR算法進行用戶行為預測等下游任務。隨著深度神經網絡和嵌入方法的發展更新,高維離散特征不僅使用One-hot進行表示,后續還使用詞嵌入的方法對ID類特征進行嵌入學習,使用低維稠密特征對ID類特征進行表示。
基于殘差網絡的高階特征提取方法將ID類特征和連續型特征放在一起作為模型輸入,利用深度神經網絡中的殘差概念來將網絡做深。隨著網絡深度的增加,特征不斷進行交叉組合,最后得到具有泛化能力的高階特征。殘差網絡的計算為

式中:el表示第l層的輸出特征;el-1表示第l層的特征輸入;wl表示第l層的模型參數。
評價用戶行為預測結果好壞的指標一般可以使用精確率、召回率、F1。在實際場景中,也用AUC和MAP來表示模型效果的好壞。

式中:TP表示標記為真正例;FP表示標記為假正例;FN表示標記為假反例;TN表示標記為真假例。

式中:m表示與第i個查詢相關的數據數量;Rk表示相關性排序前k個數據中與查詢數據相關的數據數量;isrelk表示第k個數據是否與查詢相關,如果相關值為1,反之為0;q表示查詢集合中數據數量;APi表示第i個查詢的平均精確率。
實驗數據為2019年天弘基金用戶點擊行為、2019年長信基金用戶點擊行為和鵬華基金用戶點擊行為。點擊基金的用戶行為表示用戶在界面點擊基金對基金基本信息進行查看。基金數據集詳細描述見表1。

表 1 基金數據集Table 1 Fund dataset
為了驗證基于多路交叉特征的用戶行為預測(MCUP)算法的有效性,在3個不同的基金數據集上對用戶點擊行為進行預測。對于每個基金數據集設置3組對比實驗,MCUP算法分別與FM算法、FNN算法和Deep&Cross算法。利用精確率、召回率、F1和MAP對MCUP算法的性能進行評測,特別地在計算MAP指標的時候選取前2、4、6、8和10結果來進行統計,從而驗證MCUP算法在用戶行為預測任務的有效性。
根據表2可以看出,MCUP算法在MAP@2、MAP@4、MAP@6、MAP@8和MAP@10指標均優于傳統的FM與基于深度學習的FNN算法和Deep&Cross算法。在天弘基金數據集上,用戶點擊基金信息的行為預測任務中MCUP算法相較于Deep&Cross算法而言,在MAP@2、MAP@4、MAP@6、MAP@8和MAP@10上分別高0.7%、0.5%、0.8%、0.7%、1%。MCUP算法使用預訓練FM模型對特征隱向量進行初始化,相對于Deep&Cross算法具有更好的收斂速度和預測效果。MCUP算法比起傳統的FM算法在MAP@10提升最大,FM算法僅僅考慮到一階和二階特征對用戶點擊行為預測結果的影響,MCUP算法不僅考慮了低階特征,而且使用殘差網絡來提取高階交叉特征。

表 2 MCUP與對比算法在天弘基金數據集上點擊MAPTable 2 MAP of MCUP and comparison algorithm click behavior on Tianhong fund dataset
根據圖2可以看出,MCUP算法在前2、4、6、8和10的數據中F1指標均優于對比算法。在天弘基金數據集上,用戶點擊基金信息的行為預測任務中,MCUP算法相對于FM算法在top@2上提升最大,MCUP算法同時考慮了低階特征和高階交叉特征對用戶點擊行為預測的影響,利用殘差網絡隱式地提取數據高階交叉特征和FM算法獲取數據一階和二階特征。

圖 2 MCUP與對比算法在天弘基金數據集上點擊F1曲線Fig. 2 F1 curves of MCUP and comparison algorithm click behavior on the Tianhong Fund dataset
根據表3可以看出,MCUP算法在MAP@2、MAP@4、MAP@6、MAP@8和MAP@10指標均優于傳統的FM與基于深度學習的FNN算法和Deep&Cross算法。在長信基金數據集上,用戶點擊基金信息的行為預測任務中MCUP算法在MAP@2、MAP@4、MAP@6、MAP@8和MAP@10上比FNN分別高1.8%、1.6%、1.9%、1.6%、1.7%。MCUP算法不僅使用預訓練FM算法對特征隱向量進行初始化,利用FM提取低階特征并且使用殘差網絡提取高階交叉特征,而FNN算法只利用預訓練的FM算法進行高階交叉特征的提取,沒有考慮低階特征對于用戶點擊行為預測的影響。MCUP算法比具有相似結構的Deep&Cross算法在MAP@10提升最大,Deep&Cross算法沒有考慮到一階和二階特征對用戶點擊行為預測結果的影響,MCUP算法利用FM來進行低階特征的提取。

表 3 MCUP與對比算法在長信基金數據集上點擊MAPTable 3 MAP of MCUP and comparison algorithm click behavior on Changxin fund dataset
根據圖3可以看出,MCUP算法在前2、4、6、8和10的數據中F1指標均優于對比算法。在長信基金數據集上,用戶點擊基金信息的行為預測任務中,MCUP算法相對于Deep&Cross算法在top@6以后提升的幅度逐漸增大,相較于Deep&Cross算法的Deep神經網絡,MCUP算法使用殘差網絡隱式地提取數據高階交叉特征,具有更強的表達能力。

圖 3 MCUP與對比算法在長信基金數據集上點擊F1曲線Fig. 3 F1 curves of MCUP and comparison algorithm click behavior on the Changxin fund dataset
根據表4可以看出,MCUP算法在MAP@2、MAP@4、MAP@6、MAP@8和MAP@10指標均優于傳統的FM算法、FNN算法和Deep&Cross算法。在鵬華基金數據集上,用戶點擊基金信息的行為預測任務中MCUP算法相較于Deep&Cross算法而言,在MAP@2、MAP@4、MAP@6、MAP@8和MAP@10上分別高0.3%、0.2%、0.3%、0.2%、0.4%。MCUP在MAP@10上的性能最好,說明MCUP算法能夠盡可能地將用戶點擊過的基金數據排到前面。MCUP算法融合低階特征和高階交叉特征對用戶點擊行為進行預測,極大地挖掘了用戶潛在的興趣意圖。

表 4 MCUP與對比算法在鵬華基金數據集上點擊MAPTable 4 MAP of MCUP and comparison algorithm click behavior on Penghua fund dataset
根據圖4可以看出,MCUP算法在前2、4、6、8和10的數據中F1指標均優于對比算法。在鵬華基金數據集上,用戶點擊基金信息的行為預測任務中,MCUP算法相對于FNN算法提升更加平穩且F1性能更優,MCUP算法利用特征交叉層顯示進行數據特征的有限階交叉,而且使用殘差網絡隱式地進行數據高階特征的提取,同時考慮了低階特征和高階交叉特征對用戶點擊行為預測的影響。

圖 4 MCUP與對比算法在鵬華基金數據集上點擊F1曲線Fig. 4 F1 curves of MCUP and comparison algorithm click behavior on the Penghua Fund dataset
為了有效挖掘金融大數據中用戶潛在的金融行為特征,本文提出了一種基于多路交叉特征的用戶金融行為預測算法。首先,利用FM模型對金融數據的特征進行預訓練,獲取到數據中特征的隱含向量。然后,引入特征交叉層和殘差網絡結構來對金融數據的較高階特征進行提取,解決了FM線性模型只能提取低階特征、模型無法有效訓練等問題。最后,將FM、特征交叉網絡和殘差網絡結合為統一的多塔模型進行用戶金融行為的預測。在多個金融行為預測數據集上的實驗結果表明,本方法能夠有效融合金融大數據的低階特征與高階特征,并準確地預測了用戶的金融行為。