王 曼,曹 倩, 孫踐知, 張青川, 徐 菲
(北京工商大學(xué) 計算機與信息工程學(xué)院,北京 100048)
隨著移動互聯(lián)網(wǎng)的發(fā)展,智能手機已經(jīng)逐漸成為人們擁有最多的移動設(shè)備.目前國內(nèi)應(yīng)用商店中可用App數(shù)量已經(jīng)超過四百萬個,人們安裝及使用App的情況通常與他們的性別、年齡等基本屬性密切相關(guān),能夠反映用戶的基本屬性、興趣偏好、生活習(xí)慣等個人信息[1].用戶屬性的深入挖掘可以豐富用戶畫像,幫助企業(yè)深入了解用戶從而有針對的推薦產(chǎn)品,還能幫助企業(yè)個性化投放互聯(lián)網(wǎng)廣告,提升廣告投放效果.
在個性化推薦和廣告定向中,用戶的搜索內(nèi)容、瀏覽記錄、地理位置信息和基礎(chǔ)屬性等均發(fā)揮著重要作用,其中基礎(chǔ)屬性性別、年齡至關(guān)重要,但并非所有用戶都愿意公開自己較為隱私的基礎(chǔ)屬性信息,此類信息不容易獲取,需要結(jié)合現(xiàn)有數(shù)據(jù)及相關(guān)算法進行預(yù)測.
很多學(xué)者通過分析用戶的搜索、瀏覽等互聯(lián)網(wǎng)行為數(shù)據(jù)獲取用戶的人口統(tǒng)計信息.Hu等[2]根據(jù)用戶瀏覽的網(wǎng)頁信息,結(jié)合貝葉斯網(wǎng)絡(luò)算法對用戶的性別及年齡進行預(yù)測;Bock等[3]根據(jù)用戶的網(wǎng)頁點擊行為中提取特征,結(jié)合隨機森林算法構(gòu)建模型,對用戶的性別、年齡、教育程度等屬性進行預(yù)測,并將預(yù)測結(jié)果用于網(wǎng)頁在線廣告的定向投放;鹿迅[4]以微博用戶為研究對象,基于用戶昵稱、標簽、微博文本等對用戶的性別、年齡分布以及教育程度進行預(yù)測推測;宋巍等[5]提出根據(jù)微博用戶的興趣偏好建模,從而推斷用戶的隱藏屬性.
近年來,逐漸有學(xué)者開始利用手機應(yīng)用相關(guān)數(shù)據(jù)進行用戶屬性預(yù)測的研究.Seneviratne等[6]首次基于用戶手機安裝的應(yīng)用列表數(shù)據(jù)推斷用戶特征,利用支持向量機方法預(yù)測用戶的宗教信仰、人際關(guān)系、感興趣的國家等;Yilei等[7]通過分析用戶手機安裝的App,提出一種將貝葉斯和協(xié)同過濾相結(jié)合的用戶年齡預(yù)測算法;趙莎[8]通過分析移動終端應(yīng)用的安裝數(shù)據(jù),提出挖掘用戶屬性的框架,使用支持向量機算法對用戶屬性進行預(yù)測.Zhao等[9]通過分析用戶一個月手機App的使用記錄,對用戶使用App行為的相似性進行研究,提出特征排序、兩步聚類的方法,挖掘出382類不同的用戶群體.
綜上所述,一方面,目前已有研究主要是基于用戶安裝的App進行基礎(chǔ)屬性預(yù)測,對用戶App使用數(shù)據(jù)的特征挖掘較少且較為粗糙,對用戶使用App的時長、頻率以及App使用的序列缺乏深入的分析;另一方面,現(xiàn)有研究主要采用SVM、貝葉斯等傳統(tǒng)機器學(xué)習(xí)方法,集成學(xué)習(xí)作為機器學(xué)習(xí)的重要部分也逐漸被應(yīng)用于用戶屬性預(yù)測領(lǐng)域.但是,現(xiàn)有基于集成學(xué)習(xí)的算法也有一些不足之處,如集成學(xué)習(xí)在問題劃分過程中會有一定程度的信息損失,最終的模型融合是一個復(fù)雜、耗時的參數(shù)調(diào)整過程等.針對目前算法的不足,本文主要做了以下工作:
1)提出一種基于集成學(xué)習(xí)的用戶屬性預(yù)測算法,首先將原問題轉(zhuǎn)化為多個二分類問題,每個二分類問題側(cè)重于對某個具體屬性進行預(yù)測,數(shù)據(jù)標簽和特征的較大差異保證了不同二分類器間的差異性;;然后將多個二分類器的預(yù)測概率結(jié)果與原始數(shù)據(jù)集結(jié)合進行多分類模型的學(xué)習(xí),實現(xiàn)二分類器的融合,以獲得整體預(yù)測精度的提升;
2)將LightGBM和FM融合構(gòu)造二分類器,利用LightGBM自動對特征的進行挑選、組合,提取出高階特征;進一步將高階特征作為FM模型的輸入,二分類器的準確率得到提升;
3)根據(jù)用戶App安裝和使用數(shù)據(jù)構(gòu)造了基礎(chǔ)統(tǒng)計特征、用戶App使用偏好特征、Applist2vec特征,充分反映了用戶的安裝偏好、使用時長及頻率,為我們的研究提供了可靠的基礎(chǔ).
本文所提出的算法基于集成學(xué)習(xí)多分類框架,由兩部分構(gòu)成.首先將原問題劃分為多個二分類問題,分別提取特征并訓(xùn)練得到多個二分類器;然后把多個二分類器的預(yù)測概率與原數(shù)據(jù)特征進行結(jié)合得到新的特征,再進行多分類器的訓(xùn)練.具體過程如圖1所示.
圖1 集成分類算法框架圖Fig.1 Framework diagram of integrated classification algorithm
首先將原始多分類問題劃分為多個二分類問題,這一過程需要將數(shù)據(jù)集標簽進行轉(zhuǎn)換,將多分類數(shù)據(jù)標簽轉(zhuǎn)換為對應(yīng)的二分類數(shù)據(jù)標簽.以本文數(shù)據(jù)為例,原始數(shù)據(jù)標簽中將年齡劃分為11個年齡段,是一個多分類問題,本算法需要將用戶年齡標簽轉(zhuǎn)為和二分類器對應(yīng)的二分類標簽,即年齡區(qū)間1、非年齡區(qū)間1,年齡區(qū)間2、非年齡區(qū)間2等,不同二分類數(shù)據(jù)集之間僅數(shù)據(jù)標簽的不同,其他數(shù)據(jù)不做改變.
對每個二分類數(shù)據(jù)集提取特征,并輸入對應(yīng)二分類器,得到并保留各分類器對訓(xùn)練集的預(yù)測概率,為避免邊緣信息及整體信息的丟失,將得到的預(yù)測概率與原始特征進行合并,將合并后的新特征輸入最后的多分類器.從而實現(xiàn)將原本模型的融合轉(zhuǎn)為自動學(xué)習(xí)的過程.
本文通過分析一定數(shù)量的性別、年齡已知的用戶手機安裝的App安裝、使用等數(shù)據(jù),對其他用戶的性別和年齡進行預(yù)測.用戶的性別預(yù)測是一個二分類問題,用戶的年齡被劃分為11個年齡段,預(yù)測年齡是一個多分類問題.
將上述分類框架應(yīng)用于用戶基礎(chǔ)屬性預(yù)測問題,給出一種基于集成學(xué)習(xí)的用戶基礎(chǔ)屬性預(yù)測算法.首先,性別預(yù)測是一個二分類問題,需要將用戶年齡預(yù)測轉(zhuǎn)為多個二分類問題,需要將數(shù)據(jù)集中年齡標簽根據(jù)對應(yīng)的二分類器轉(zhuǎn)為年齡區(qū)間1、非年齡區(qū)間1的模式.然后,對于二分類器部分,考慮到現(xiàn)有的機器學(xué)習(xí)方法如決策樹、SVM等需要大量人工經(jīng)驗對訓(xùn)練樣本進行特征挑選和組合,采用LightGBM+FM模型實現(xiàn)框架中二分類學(xué)習(xí).最后,結(jié)合集成學(xué)習(xí)中stacking的思想,將二分類器預(yù)測的概率與原特征結(jié)合,拼接為新特征輸入到多分類器中進行訓(xùn)練.具體過程見算法1.
算法 1.基于集成學(xué)習(xí)的用戶基礎(chǔ)屬性預(yù)測算法
輸入:原始數(shù)據(jù)集S
1.將原始數(shù)據(jù)劃分為12個二分類數(shù)據(jù)集,其中包括1個性別二分類和11個年齡二分類,不同二分類數(shù)據(jù)集之間僅數(shù)據(jù)標簽的不同;
2.對12二分類數(shù)據(jù)集分別提取特征,輸入到二分類器進行訓(xùn)練,得到預(yù)測概率;
3.將預(yù)測概率與原特征進行拼接,得到新的訓(xùn)練子集特征為{原特征,概率1,概率2,……,概率12};
4.將性別和年齡進行組合,問題轉(zhuǎn)化為一個多分類問題.新的訓(xùn)練子集輸入到多分類器進行訓(xùn)練,輸出結(jié)果.
2.3.1 LightGBM
LightGBM[10,11](Light Gradient Boosting Machine,輕量級梯度提升,簡稱LGB)是GBDT(Gradient Boosting Decision Tree,梯度提升決策樹,簡稱GBDT)的一種高效實現(xiàn)方式,針對GBDT存在的容易過擬合、訓(xùn)練速度慢等問題,2016年微軟公布了LightGBM,主要從直方圖算法和帶深度限制的Leaf-wise決策樹生長策略優(yōu)化GBDT,減小數(shù)據(jù)儲存和執(zhí)行計算時的成本,保證高效率的同時避免發(fā)生過擬合.
利用LightGBM模型來提取高維組合特征[12],將特征集輸入LightGBM模型中進行訓(xùn)練,在LightGBM模型中對訓(xùn)練樣本進行五折交叉預(yù)測,計算每個訓(xùn)練樣本是否屬于每個決策樹的葉子節(jié)點,屬于的葉子節(jié)點記為1,其他的葉子節(jié)點記為0,提取高維組合0-1特征向量為:
x′i=g(xi,θ)num_tree×num_leaves
(1)
其中,x′i表示第i條訓(xùn)練樣本的高維組合0-1特征向量,xi表示第i條訓(xùn)練樣本的特征向量,g(·)表示LightGBM分類器的葉節(jié)點,當該第i條樣本屬于該葉節(jié)點時取1,否則取0;num_tree表示LightGBM模型中決策樹的數(shù)量,num_leaves表示每棵決策樹上葉子節(jié)點的數(shù)量.
2.3.2 FM
因子分解機模型[13,14](Factorization Machine,簡稱FM)由Rendle在2010年首次提出,將矩陣分解和支持向量機算法的優(yōu)勢進行結(jié)合,對變量之間的交互進行建模,可以有效解決高維稀疏數(shù)據(jù)下特征組合的參數(shù)學(xué)習(xí)不充分問題,提高預(yù)測準確率,模型表示為:
(2)
(3)
通過隨機梯度下降(SGD)方法對FM模型進行訓(xùn)練,模型中各參數(shù)的梯度表示為:
(4)
2.3.3 LightGBM+FM融合模型
Facebook提出GBDT和LR融合模型[15]并應(yīng)用在廣告點擊率預(yù)測中,通過GBDT進行非線性特征轉(zhuǎn)換,生成新的特征后提供給LR進行最終預(yù)測,融合模型比單一模型的預(yù)估準確度提升了3%左右.類比于GBDT+L融合模型,本文將LightGBM模型和FM模型進行融合,構(gòu)建二分類器.首先利用LightGBM自動對特征的挑選及組合,生成高階特征;進一步將高階特征輸入FM模型中,二分類模型算法框架見圖2.
圖2 二分類模型算法框圖Fig.2 Block diagram of the binary classification model algorithm
算法 2.基于LightGBM和FM模型的二分類算法
1.將原始數(shù)據(jù)進行預(yù)處理,轉(zhuǎn)化為多個二分類數(shù)據(jù)集;
2.對每個二分類數(shù)據(jù)集進行特征提??;
3.將特征輸入LightGBM模型進行訓(xùn)練,把模型中每棵樹計算得到的預(yù)測概率值所屬的葉子節(jié)點記為1,其他葉子節(jié)點記為0,提取出高維組合特征;
4.將LightGBM提取的特征導(dǎo)入FM分類器中進行訓(xùn)練;
5.輸出二分類結(jié)果.
本文數(shù)據(jù)來源于國內(nèi)某應(yīng)用商店真實數(shù)據(jù),主要包含用戶App安裝數(shù)據(jù)、App使用數(shù)據(jù)、App類別數(shù)據(jù)、基礎(chǔ)屬性數(shù)據(jù).App安裝數(shù)據(jù)是每個設(shè)備上安裝的App列表,共5萬條;App使用數(shù)據(jù)是在一定時期內(nèi)每個設(shè)備上各個應(yīng)用的打開、關(guān)閉行為數(shù)據(jù)及對應(yīng)時間點,共104萬條;App類別數(shù)據(jù)是每個App的類別信息,共分為46類;基礎(chǔ)屬性數(shù)據(jù)是每個設(shè)備對應(yīng)用戶的性別和年齡段,性別編號1、2分別表示男和女,年齡段編號有0-10共11種,分別表示用戶不同的年齡段,年齡段編號越大表示用戶年齡越大.一個用戶只屬于唯一的類別(性別-年齡段),組合后的性別-年齡段共有22個類別,記為sex_age.
sex_age=(sex-1)·11+age
(5)
其中,sex表示用戶性別,取值1、2分別表示男和女;age表示用戶年齡段,取值0-10分別表示用戶不同的年齡段.數(shù)據(jù)集中用戶基礎(chǔ)屬性性別及年齡段編號方式及分布如表1所示.
表1 用戶基礎(chǔ)屬性分布Table 1 Demographic attribute category information
首先我們對數(shù)據(jù)集中的異常數(shù)據(jù)進行過濾,過濾方案包括:
1)用戶App使用時間:從解析出的時間戳可知,用戶打開關(guān)閉App的時間包含了少量1970、1975以及2025年這種異常年份的數(shù)據(jù),絕大部分的數(shù)據(jù)都來自于2017年2-3月,因此我們也只保留了2-3月的數(shù)據(jù),其他月份的數(shù)據(jù)視為噪音;
2)用戶每天使用時長:小時數(shù)過少可能是用戶數(shù)據(jù)采樣過程中存在問題,刪除使用時長小于0.5小時的用戶行為數(shù)據(jù)記錄;
3)App被安裝次數(shù):對于某些只有極少用戶安裝的App,對用戶分類意義較小,所以剔除安裝用戶少于5人的小眾App.
3.3.1 統(tǒng)計學(xué)基本特征
根據(jù)用戶的App安裝、使用數(shù)據(jù)和App類別信息,統(tǒng)計得到App安裝特征、App使用特征見表2.
3.3.2 基于TF-IDF加權(quán)信息增益的特征
為了進一步衡量不同基礎(chǔ)屬性的用戶對App的使用偏好,結(jié)合信息增益和TF-IDT構(gòu)造了用戶App使用偏好特征.首先基于信息增益提取每個屬性下的重要App,然后利用TF-IDF對App的使用集合提取特征.
1)基于信息增益發(fā)現(xiàn)重要App
基于用戶安裝的App列表,如果利用全部的App構(gòu)造one-hot特征,維度過高且稀疏性較大.并且用戶安裝的大量App中,每個App的重要程度是不同的,可能存在大量對用戶屬性貢獻較低的App,影響用戶屬性的挖掘及計算效率的提升.所以,我們需要知道對于用戶基礎(chǔ)屬性性別及年齡的分類來說,哪些App是重要的及對應(yīng)的重要程度.
表2 基本統(tǒng)計特征Table 2 Basic statistical features
所以,根據(jù)用戶App安裝數(shù)據(jù),對每一個用戶屬性,計算各App的信息增益值并進行排序,信息增益值越大表明App越重要.一個手機AppA對一個特定用戶屬性Φ的信息增益[16]可以表示為:
IG(Φ,A)=H(Φ)-H(Φ|A)
(6)
其中,H(Φ)表示這個特定用戶屬性的信息熵,H(Φ|A)是指在AppA固定條件下的信息熵.基于用戶安裝的App列表及屬性信息,我們可以計算得到在性別和年齡屬性下每個App的信息增益,取屬性Φ下信息增益排名前100的App,得到信息增益值排名前100的重要App及對應(yīng)的信息增益,即:
IG(Φ)=(IG1,…,IG100)
(7)
2)TF-IDF
TF-IDF[17]是一種常用于文字信息檢索的通用統(tǒng)計分析方法,可以表示某一個字詞在一個文件集或語料庫中某個文件的重要程度.某字詞的重要程度一般與其在文件及語料庫中出現(xiàn)的頻率高低有關(guān),在文件中出現(xiàn)的頻率越高且在語料庫中出現(xiàn)的頻率越低,則該字詞越重要.
根據(jù)用戶App使用數(shù)據(jù),將用戶一段時間內(nèi)使用的App集合看作一篇文檔,將每個App視為文檔中的文字,利用TF-IDF計算重要App的TF-IDF值,公式為:
(8)
其中,ni,j是Appi在用戶App使用集合dj中的數(shù)量,∑knk,j是用戶App使用集合dj中總的App數(shù)量,|D|是用戶App使用集合的總數(shù)即用戶總數(shù),|{j:wi∈dj}|是包含Appi的App使用集合數(shù).
所以,100個重要App的TF-IDF為:
TFIDF=(TFIDF1,…,TFIDF100)
(9)
與信息增益值相乘,得到100維的TF-IDF加權(quán)信息增益特征,記為TFIDF_IG,即:
TFIDF_IG=TFIDFi·IGi(i=1,2,…,100)
(10)
3.3.3 基于Word2vec的Applist2vec特征
Word2vec[18,19]是由Google公司2013年發(fā)布的一個DeepLearning學(xué)習(xí)工具,利用神經(jīng)網(wǎng)絡(luò)模型,學(xué)習(xí)一個函數(shù)可以將文檔中的單詞映射到向量.類比于詞和文本建模,我們把每個App視為一個詞,每個用戶一段時間內(nèi)使用App的序列視為一個文檔集,利用Word2vec中Embedding層提取特征,可以得到降維后的App向量矩陣.一方面可以考慮用戶使用App的順序關(guān)系,另一方面降低了矩陣的稀疏性、提高了計算效率.Applist2vec特征的訓(xùn)練過程如圖3表示.
圖3 Applist2vec特征的訓(xùn)練過程Fig.3 Applist2vec feature training process
word2vec有CBOW(continuous Bag-of-words)和Skip-gram兩種網(wǎng)絡(luò)結(jié)構(gòu),本文利用基于CBOW的詞向量模型提取用戶使用的App序列特征,詞向量模型如下.
1)已知中心詞wt和上下文Context(wt),其中context(wt)={wt-k,…,wt-1,wt+1,…,wt+k},k為窗口大小.基于層次softmax的CBOW方式,我們需要最終優(yōu)化的目標函數(shù)是:
ζ=∑logp(wt|Context(wt))
(11)
2)定義一個正類和負類的公式為:
(12)
3)條件概率p(wt|Context(wt))一般寫為:
(13)
其中:
(14)
4)得到目標函數(shù)為:
(15)
3.4.1 基礎(chǔ)指標
本文采用準確率(Acc)、召回率(Rec)、F1值、AUC來量化評價二分類器的性能.準確率Acc表示分類正確的樣本數(shù)占全部樣本數(shù)的百分比,Acc越大,表示分類器越好.精度Prec表示正確預(yù)測為正樣本的數(shù)量與所有預(yù)測為正樣本數(shù)量的比值.召回率Rec表示正確預(yù)測為正樣本的數(shù)量與正樣本的實際數(shù)量.F1值是精度和召回率的權(quán)衡.各評價指標的計算方法為:
其中,TP(True Positive)表示實際為正樣本,且被模型預(yù)測為正樣本的具體數(shù)量;TN(True Negative)表示實際為負樣本,且被模型預(yù)測為負樣本的具體數(shù)量;FP(False Positive)表示實際為負樣本,卻被模型預(yù)測為正樣本的具體數(shù)量;FN(False Negative)表示實際為正樣本,卻被模型預(yù)測為負樣本的具體數(shù)量.
3.4.2 損失函數(shù)
針對本文的用戶屬性預(yù)測多分類問題,為了明確評估本文模型的精準性,采用損失函數(shù)logloss評估分類精度,損失函數(shù)Loss為:
(16)
式中:N是測試集包含的用戶數(shù)量,j是用戶性別-年齡組編號,yij是一個布爾值,表示用戶是否屬于這一年齡-性別組;pij是由模型計算出的用戶屬于這一年齡-性別組的概率.損失函數(shù)越小表示模型的預(yù)測精確度越高.
3.5.1 實驗1.Applist2vec特征
利用Word2vec模型,結(jié)合用戶App使用數(shù)據(jù)構(gòu)造Applist2vec特征,用實驗驗證該特征的效果.實驗Word2vec模型的參數(shù)包括:特征向量維度為200;考慮當前使用的App與前、后使用的各4個App,上下文窗口設(shè)置為8;模型選用的是CBOW網(wǎng)絡(luò)結(jié)構(gòu);訓(xùn)練采用自適應(yīng)學(xué)習(xí)速率.
利用LightGBM算法,對只有Applist2vec特征、只有其他特征以及Applist2vec特征和其他特征相結(jié)合3種情況進行實驗,對比3種特征情況下性別-年齡這個多分類問題的準確率,實驗結(jié)果如表3所示,利用Applist2vec特征的分類準確率高于其他特征,Applist2vec特征與其他特征結(jié)合后的損失函數(shù)最低為2.5969,準確率最好,證明了該特征的有效性.
表3 Applist2vec特征效果驗證Table 3 Verification of Applist2vec feature effect
計算各特征在分類過程中重要性,排名前50的特征如圖4所示,排名前50的特征中Embedding特征有26個,占比達到52%,可見該特征的重要性.除此之外,排名前10的重要特征還包括App安裝總數(shù)量、用戶使用App的最早時間、用戶在6點時段App使用總時長、用戶平均彌天打開App的次數(shù)、加權(quán)TFIDF信息增益特征.
圖4 特征重要性得分圖Fig.4 Feature importance score
3.5.2 實驗2.LightGBM+FM二分類算法
以多個二分類問題中性別預(yù)測為例,分別利用XGB(Extreme Gradient Boosting,簡稱XGB)、LGB、LGB+LR、XGB+LR、LGB+FM進行實驗,以驗證二分類器的效果.在設(shè)置LightGBM和FM模型參數(shù)時,我們選擇使用Python庫中的GridSearchCV方法,對模型進行參數(shù)進行交叉驗證以選擇出合適的參數(shù),實驗設(shè)置LightGBM模型的迭代次數(shù)為100,葉節(jié)點數(shù)量限制為32,學(xué)習(xí)率為0.05,葉子中的最小數(shù)據(jù)量為200,特征提取比例0.4,樹的最大深度8.
利用LightGBM算法,將原特征轉(zhuǎn)化為3200維特征,然后輸入到FM模型中進行二分類.設(shè)置FM模型的最優(yōu)迭代次數(shù)為246,學(xué)習(xí)率0.001,采用交叉熵損失函數(shù)進行訓(xùn)練.實驗結(jié)果如表4所示.
表4 性別預(yù)測二分類算法比較Table 4 Comparison of gender prediction binary classification algorithms
從表4可以觀察到僅用一個模型時,LGB模型在各項指標中優(yōu)于XGB模型,LGB與LR模型融合后,融合模型在各項指標上均有提升;LGB+FM融合模型效果最優(yōu),準確率達到67.65%,AUC值為0.6791,證明將LGB和FM融合模型作為二分類基分類器是效果最好的.
3.5.3 實驗3.集成多分類模型
我們對本文提出的基于集成學(xué)習(xí)的用戶屬性預(yù)測算法的有效性進行驗證.將12個二分類器中的用戶App使用偏好特征進行合并,同時將12個二分類器的預(yù)測結(jié)果、基本統(tǒng)計特征、Applist2vec特征拼接到特征集中,得到新特征集為{基本統(tǒng)計特征,Applist2vec特征,合并后的用戶App使用偏好特征,概率1,概率2,……,概率12}.將新特征集重新輸入到多分類器LGB中進行訓(xùn)練,得到性別-年齡組預(yù)測結(jié)果.
進一步,為驗證本文算法特征融合的有效性,將舊特征集{基本統(tǒng)計特征,Applist2vec特征,用戶App使用偏好特征}利用LGB、XGB、隨機森林算法進行實驗,得到實驗結(jié)果如圖5所示.
圖5 用戶性別-年齡多分類預(yù)測Fig.5 Multi-Classifier prediction of user gender-age
由圖5可知,利用本文構(gòu)造的特征,直接利用LGB、XGB、隨機森林算法進行性別-年齡多分類預(yù)測時,LGB效果較好.同時,本文算法將多個二分類器預(yù)測結(jié)果進行融合后,與LGB相比,本文算法的損失函數(shù)最小,性別-年齡分類預(yù)測準確率最高,說明了前期二分類任務(wù)的必要性,進而證明了本文算法的有效性.
針對現(xiàn)有的基于用戶App相關(guān)數(shù)據(jù)預(yù)測用戶屬性算法的不足,本文提出基于集成學(xué)習(xí)的多分類算法以對用戶的性別、年齡進行預(yù)測.首先將原問題轉(zhuǎn)化為多個二分類問題,并借助LightGBM+FM實現(xiàn)二分類學(xué)習(xí);然后把多個二分類器的預(yù)測結(jié)果與原特征結(jié)合,進行多分類的學(xué)習(xí).實驗結(jié)果顯示:二分類方面,LightGBM+FM可以實現(xiàn)特征的自動挑選和組合,具有較高的精度;多分類方面,本文提出的算法準確率明顯高于其他集成模型,驗證了本文模型的有效性.此外,本文目前只對性別及年齡進行預(yù)測,后續(xù)若補充更多的屬性數(shù)據(jù),可利用本文提出的基于集成學(xué)習(xí)的多分類算法進行處理,交叉屬性后的多分類問題轉(zhuǎn)為多個二分類問題進行預(yù)測,其中二分類器的構(gòu)造及特征提取方式也可以借鑒使用.在后續(xù)研究中,將進一步結(jié)合特征工程方法對特征進行處理,減少冗余特征,進一步提高分類準確率.