李 國(guó),袁 聞+,王懷超
(1.中國(guó)民航大學(xué) 計(jì)算機(jī)科學(xué)與技術(shù)學(xué)院,天津 300300;2.中國(guó)民航大學(xué) 中國(guó)民航信息技術(shù)科研基地,天津 300300)
中國(guó)民航旅客信息服務(wù)主要由中國(guó)民航信息股份有限公司的新一代旅客服務(wù)信息系統(tǒng)提供,其由21個(gè)相對(duì)獨(dú)立的子系統(tǒng)組成,在航班信息查詢、航班預(yù)定、出票、航班離港、費(fèi)用結(jié)算、旅客畫像等核心業(yè)務(wù)中承擔(dān)主要工作。由于各系統(tǒng)之間標(biāo)準(zhǔn)數(shù)據(jù)結(jié)構(gòu)定義不同,存取方式不同,系統(tǒng)之間通信方式差異等多方面原因,從而造成數(shù)據(jù)缺失、數(shù)據(jù)冗余、數(shù)據(jù)不一致等數(shù)據(jù)質(zhì)量問題,從而影響到后續(xù)旅客流失預(yù)測(cè)分析及其它方面的應(yīng)用,對(duì)航空公司收益造成巨大的損失[1-3]。
本文所研究的問題為基于民航旅客服務(wù)信息數(shù)據(jù)不完備且類別不平衡的情況下,對(duì)旅客進(jìn)行流失預(yù)測(cè)。傳統(tǒng)的方法將此問題分開串行處理,先將數(shù)據(jù)集缺失數(shù)據(jù)使用基于統(tǒng)計(jì)的方法或基于機(jī)器學(xué)習(xí)的方法進(jìn)行填補(bǔ),再將填補(bǔ)后完整的數(shù)據(jù)集進(jìn)行旅客流失預(yù)測(cè)模型構(gòu)建,因沒有關(guān)注任務(wù)之間的相關(guān)性,導(dǎo)致當(dāng)數(shù)據(jù)集屬性維度較多,且缺失率較高時(shí),填補(bǔ)后的數(shù)值與真實(shí)值差異較大,從而影響預(yù)測(cè)任務(wù)精確性。
針對(duì)上述問題,本文考慮到兩個(gè)任務(wù)之間的相關(guān)性,提出以多任務(wù)學(xué)習(xí)為框架,將旅客流失預(yù)測(cè)作為主任務(wù),缺失數(shù)據(jù)填補(bǔ)作為輔助任務(wù),利用兩個(gè)任務(wù)之間的相關(guān)性,將兩個(gè)任務(wù)在深度學(xué)習(xí)模型下同時(shí)并行建模,在提高數(shù)據(jù)處理與分析效率的同時(shí),極大提升了預(yù)測(cè)精度。實(shí)驗(yàn)結(jié)果表明,本文提出的方法在數(shù)據(jù)不完備的條件下對(duì)缺失數(shù)據(jù)的填補(bǔ)質(zhì)量較高,同時(shí)能精準(zhǔn)地對(duì)旅客進(jìn)行流失預(yù)測(cè),從而能為航空公司提供有效的決策,挽回相應(yīng)的損失。
目前針對(duì)類別不平衡問題處理的方法主要包括:樣本采樣技術(shù)、代價(jià)敏感學(xué)習(xí)技術(shù)、決策輸出補(bǔ)償技術(shù)、集成學(xué)習(xí)技術(shù)、主動(dòng)學(xué)習(xí)技術(shù)、一分類技術(shù)[4]。其中,樣本采樣技術(shù)是在工程上最為常用的技術(shù)。即通過增加少數(shù)類樣本或減少多數(shù)類樣本的方式以獲得相對(duì)平衡的訓(xùn)練集。增加少數(shù)類樣本的方法稱為過采樣(oversampling),減少多數(shù)樣本的方法稱為欠采樣(undersampling)。考慮到使用欠采樣方式,會(huì)使訓(xùn)練集中旅客記錄數(shù)據(jù)量減少,導(dǎo)致后續(xù)模型可能學(xué)習(xí)不到旅客的重要特征,從而影響旅客流失預(yù)測(cè)精度。因此,本文決定采用過采樣技術(shù)處理類別不平衡問題。其中,SMOTE算法[5]是由Chawla等提出的經(jīng)典隨機(jī)過采樣方法,可有效解決少數(shù)類樣本不足的問題。其主要思想在于,以每個(gè)少數(shù)類樣本為中心,采用最近鄰KNN算法,選出K近鄰少數(shù)類樣本。在距離較近的K近鄰少數(shù)樣本之間通過式(1)隨機(jī)生成一個(gè)新樣本
(1)
多任務(wù)學(xué)習(xí)(multitask learning)是一類同時(shí)學(xué)習(xí)多個(gè)相關(guān)任務(wù)的機(jī)器學(xué)習(xí)算法,基本思想是在學(xué)習(xí)期間利用其它相關(guān)任務(wù)中包含的信息,更好地或更快地學(xué)習(xí)任務(wù)[6]。其優(yōu)點(diǎn)是能同時(shí)并行學(xué)習(xí)多個(gè)任務(wù),并且通過每個(gè)任務(wù)互相學(xué)習(xí)其它任務(wù)的所附加的額外信息,能最快最好提升自身任務(wù)的學(xué)習(xí)性能。此外,由于使用共享表示,多個(gè)任務(wù)同時(shí)進(jìn)行預(yù)測(cè)時(shí),減少了數(shù)據(jù)來源的數(shù)量以及整體模型參數(shù)的規(guī)模,使預(yù)測(cè)更加高效。
自編碼器是一種無監(jiān)督學(xué)習(xí)神經(jīng)網(wǎng)絡(luò),由編碼器和解碼器兩部分構(gòu)成。編碼器通過隱藏層將輸入樣本數(shù)據(jù)進(jìn)行降維或升維,從而起到數(shù)據(jù)編碼的作用。解碼器將編碼器輸出的樣本再次通過隱藏層恢復(fù)到原來輸入編碼器時(shí)的維度,從而起到數(shù)據(jù)解碼的作用[7]。利用逐層訓(xùn)練優(yōu)化算法初始網(wǎng)絡(luò)權(quán)重并使用反向傳播算法對(duì)網(wǎng)絡(luò)參數(shù)進(jìn)行微調(diào)。通過多次組合自編碼器網(wǎng)絡(luò),把當(dāng)前層的輸出作為下一層的輸入,可形成堆疊自編碼器深度神經(jīng)網(wǎng)絡(luò)。
編碼過程為
(2)
解碼過程為
Y=g(H):=Sz(a′H+b′)
(3)
損失函數(shù)為
(4)
(網(wǎng)絡(luò)參數(shù)為:W={a,a′,b,b′})
(5)
結(jié)合式(5),采用SMOTE算法對(duì)少數(shù)類別樣本進(jìn)行過采樣步驟如下:
(1)將少數(shù)類中每一個(gè)樣本,根據(jù)式(5)計(jì)算其到少數(shù)類集合所有樣本點(diǎn)的距離,得到K近鄰樣本;
(2)根據(jù)樣本不平衡比例設(shè)置合適的采樣頻率N,從K近鄰樣本中,隨機(jī)選擇若干樣本;
(6)
其中,rand(0,1)表示生成0到1之間的隨機(jī)數(shù)。
針對(duì)數(shù)據(jù)屬性缺失處理,數(shù)據(jù)缺失值填補(bǔ)的最終目的是能對(duì)旅客流失做出精確的預(yù)測(cè)。結(jié)合多任務(wù)學(xué)習(xí)與降噪自編碼器的優(yōu)勢(shì),本文設(shè)計(jì)出一種基于降噪自編碼器的多任務(wù)學(xué)習(xí)網(wǎng)絡(luò)模型MLT-DAE。由模型架構(gòu)和訓(xùn)練過程分別進(jìn)行論述。
2.2.1 模型架構(gòu)
模型網(wǎng)絡(luò)架構(gòu)如圖1所示。
圖1 模型MLT-DAE網(wǎng)絡(luò)架構(gòu)
圖1中提出的架構(gòu)由3部分組成:編碼器、解碼器、分類器。各部分中間均包含多個(gè)隱藏層,其中編碼器與解碼器構(gòu)成堆疊降噪自編碼器。參考有關(guān)DAE網(wǎng)絡(luò)[10-12]架構(gòu),區(qū)別于傳統(tǒng)自動(dòng)編碼器架構(gòu),受Kernal SVM[13]啟發(fā),本文采用的架構(gòu)在編碼階段與輸入層相比,連續(xù)隱藏層中的單元數(shù)更多,試圖將輸入數(shù)據(jù)映射到更高維子空間,將數(shù)據(jù)擴(kuò)充有助于增加數(shù)據(jù)可分性以及增強(qiáng)數(shù)據(jù)恢復(fù)能力。從初始Xn維輸入開始,然后在每個(gè)連續(xù)的隱藏層,添加a個(gè)節(jié)點(diǎn),將維度增加a維。在模型輸入階段,將輸入數(shù)據(jù)進(jìn)行歸一化處理,使得數(shù)據(jù)數(shù)值在0和1之間,以加快模型在中小樣本量時(shí)收斂,同時(shí)引入噪聲,在輸入層隨機(jī)將輸入Xn中的一半分量設(shè)置為0,使得網(wǎng)絡(luò)能提取到更加抽象的特征,增強(qiáng)網(wǎng)絡(luò)魯棒性。對(duì)于降噪自編碼器部分,因?yàn)橛啥鄠€(gè)隱藏層構(gòu)成,因此采用逐層貪婪方式先對(duì)編碼器和解碼器網(wǎng)絡(luò)進(jìn)行預(yù)訓(xùn)練,最后配合分類器對(duì)整個(gè)模型參數(shù)進(jìn)行微調(diào)。采用交叉熵?fù)p失函數(shù)針對(duì)分類器進(jìn)行訓(xùn)練,采用均方差損失函數(shù)針對(duì)編碼器解碼器進(jìn)行訓(xùn)練。由于在初始化時(shí)需要完整的數(shù)據(jù),因此在不完整樣本輸入前,對(duì)于缺失的連續(xù)變量使用相應(yīng)的列平均值進(jìn)行初始填補(bǔ),對(duì)于缺失的分類變量的使用屬性中出現(xiàn)最多的值作為初始填補(bǔ)。
2.2.2 模型訓(xùn)練過程
輸入:數(shù)據(jù)集X1,X2,X3,…,Xi,任務(wù)權(quán)重系數(shù)λ
輸出:encoderFφ,decoderGθ,classifierHβ
(1)初始化網(wǎng)絡(luò)參數(shù)φ,θ,β;
比特幣不是基于賬戶的密碼貨幣,而是基于交易的密碼貨幣。在基于賬戶的貨幣中,我們可以通過賬戶直接查詢余額;但在比特幣系統(tǒng)中,我們需要通過未花費(fèi)交易輸出(UTXO)來統(tǒng)計(jì)該地址余額。
(3)逐層無監(jiān)督預(yù)訓(xùn)練編碼器encoderF、解碼器decoderG;
(4)結(jié)合分類器classifierH,通過任務(wù)權(quán)重系數(shù)入對(duì)整體網(wǎng)絡(luò)進(jìn)行聯(lián)合訓(xùn)練,并有監(jiān)督微調(diào)降噪自編碼器網(wǎng)絡(luò);
(5)Repeat
(6)計(jì)算對(duì)應(yīng)任務(wù)的損失函數(shù)
E=λEm+(1-λ)Es
(8)Until網(wǎng)絡(luò)參數(shù)φ,θ,β收斂。
模型由一個(gè)輸入端,兩個(gè)輸出端構(gòu)成。解碼器的輸出是為了對(duì)輸入數(shù)據(jù)的缺失值進(jìn)行恢復(fù),從而采用均方差損失函數(shù)進(jìn)行模型訓(xùn)練。分類器的輸出是為了對(duì)最終目標(biāo)流失預(yù)測(cè)任務(wù),從而采用交叉熵?fù)p失函數(shù)進(jìn)行模型訓(xùn)練。由于兩個(gè)任務(wù)的重要程度不一致,因此在模型中引入任務(wù)權(quán)重系數(shù)λ[14],用于調(diào)節(jié)模型訓(xùn)練兩個(gè)任務(wù)的權(quán)重,以平衡兩個(gè)任務(wù)的重要程度,對(duì)模型整體性能有著非常重要的影響,是重要的模型調(diào)優(yōu)參數(shù)。λ的最優(yōu)值一般處于0到1之間,并且它的取值取決于所解決問題的性質(zhì)以及當(dāng)前數(shù)據(jù)質(zhì)量。
圖2 整體數(shù)據(jù)流
步驟1 從民航常旅客畫像服務(wù)主數(shù)據(jù)系統(tǒng)抽取旅客服務(wù)信息數(shù)據(jù)。其中,抽取的數(shù)據(jù)的屬性主要為旅客基本信息、旅客值機(jī)信息、旅客積分信息等。
步驟2 按照行業(yè)經(jīng)驗(yàn),對(duì)抽取的數(shù)據(jù)進(jìn)行相關(guān)預(yù)處理,并進(jìn)行數(shù)據(jù)標(biāo)注后,等比例對(duì)數(shù)據(jù)進(jìn)行分割。將90%的數(shù)據(jù)形成訓(xùn)練集,10%的數(shù)據(jù)形成測(cè)試集。
步驟3 同時(shí)對(duì)訓(xùn)練集與數(shù)據(jù)集模擬完全隨機(jī)缺失,形成不完備訓(xùn)練集、不完備測(cè)試集。
步驟4 將不完備訓(xùn)練集使用提出的基于部分距離的SMOTE算法進(jìn)行隨機(jī)過采樣生成類別平衡后的不完備訓(xùn)練集。
步驟5 將類別平衡后的不完備訓(xùn)練集與完備訓(xùn)練集放入設(shè)計(jì)好的多任務(wù)學(xué)習(xí)降噪自編碼器模型,進(jìn)行模型訓(xùn)練。
步驟6 將不完備測(cè)試集與完備測(cè)試集放入已訓(xùn)練好的網(wǎng)絡(luò)模型進(jìn)行相關(guān)性能指標(biāo)驗(yàn)證。
步驟7 判斷是否重復(fù)已訓(xùn)練模型10次,如果已訓(xùn)練10次,則計(jì)算模型平均性能指標(biāo),否則回到步驟3繼續(xù)。
本實(shí)驗(yàn)采用從中航信旅客信息服務(wù)部門旅客信息服務(wù)主數(shù)據(jù)系統(tǒng)中抽取的某航空公司部分常旅客會(huì)員信息服務(wù)主數(shù)據(jù)。將數(shù)據(jù)進(jìn)行如上文所述流程處理后,分別進(jìn)行相關(guān)對(duì)比實(shí)驗(yàn)以驗(yàn)證所提出方法的有效性。
由于涉及旅客和航空公司的相關(guān)隱私信息,所有屬性均經(jīng)過脫敏處理。數(shù)據(jù)集一共37 237條樣本記錄,屬性維度為44維。數(shù)據(jù)集中,其與核心業(yè)務(wù)相關(guān)的主要屬性包括3個(gè)方面:①旅客基本信息:包含旅客ID、旅客性別、旅客年齡、旅客工作所在城市、旅客價(jià)值等級(jí)、首次乘機(jī)時(shí)間、旅客入會(huì)時(shí)間等。②旅客值機(jī)信息:包含旅客當(dāng)前累積飛行次數(shù)、第1年乘機(jī)次數(shù)、第2年乘機(jī)次數(shù)觀測(cè)窗口結(jié)束時(shí)間、旅客飛行總公里數(shù)、票價(jià)總收入、平均折扣率、平均乘機(jī)時(shí)間間隔、末次飛行日期等。③旅客會(huì)員積分信息:總基本積分、積分兌換次數(shù)、總精英積分、促銷積分等。
參考民航旅客價(jià)值評(píng)估體系分析的獨(dú)有特點(diǎn),對(duì)傳統(tǒng)的客戶價(jià)值RFM指標(biāo)進(jìn)行相應(yīng)改進(jìn),引入旅客保持關(guān)系長(zhǎng)度L、一定時(shí)間內(nèi)旅客所享受的平均折扣系數(shù)C,形成L、R、F、M、C這5個(gè)價(jià)值系統(tǒng)指標(biāo),作為重要的生成特征[15]。其中,L可由旅客觀測(cè)窗口結(jié)束時(shí)間與旅客入會(huì)時(shí)間相減計(jì)算出;R代表旅客最近一次距今消費(fèi)時(shí)間可由觀測(cè)窗口結(jié)束時(shí)間與末次飛行日期相減計(jì)算出;F代表消費(fèi)頻率可以由屬性當(dāng)前類型飛行次數(shù)得出;C可以由屬性平均折扣率得出。同時(shí),根據(jù)業(yè)務(wù)分析人員經(jīng)驗(yàn)判定第2年乘機(jī)次數(shù)與第1年乘機(jī)次數(shù)比例低于50%為已流失旅客,處于50%到90%之間為準(zhǔn)流失旅客,依然高于90%以上為未流失旅客。其余屬性在刪除例如對(duì)模型訓(xùn)練無意義的旅客ID屬性同時(shí),對(duì)數(shù)據(jù)集中的離散特征的標(biāo)簽類別屬性如旅客性別、旅客工作所在城市等進(jìn)行數(shù)值化處理。最終,形成特征數(shù)40維,已流失旅客數(shù)為4802,準(zhǔn)流失旅客數(shù)為8301,未流失旅客數(shù)為25 134,可以看出絕大多數(shù)的會(huì)員為未流失狀態(tài),已流失的會(huì)員相對(duì)來說比較少,非常符合類別不平衡的情形。為了訓(xùn)練模型的缺失值填補(bǔ)能力,針對(duì)現(xiàn)有的3種缺失機(jī)制:完全隨機(jī)缺失、隨機(jī)缺失、非隨機(jī)缺失[16],考慮到完全隨機(jī)缺失(MCAR)具有普適性,因此對(duì)預(yù)處理后的訓(xùn)練集、測(cè)試集以缺失率0.1至0.6分別模擬完全隨機(jī)缺失,最終形成符合數(shù)據(jù)系統(tǒng)環(huán)境下的不完備訓(xùn)練集、測(cè)試集。在正式輸入網(wǎng)絡(luò)模型訓(xùn)練前,將數(shù)據(jù)進(jìn)行歸一化處理,以加快網(wǎng)絡(luò)模型的參數(shù)收斂。
本實(shí)驗(yàn)環(huán)境為Windows 10 64 bit,CPU 2.8 Hz 內(nèi)存16 G,使用Python語言及Tensorflow2.0框架完成相關(guān)數(shù)據(jù)處理以及模型訓(xùn)練。其中基于部分距離的SMOTE算法,近鄰個(gè)數(shù)k為5,采樣倍率N為5和3分別對(duì)已流失旅客和未流失旅客進(jìn)行隨機(jī)過采樣,從而使數(shù)據(jù)集類別達(dá)到平衡?;诮翟胱跃幋a器的多任務(wù)學(xué)習(xí)網(wǎng)絡(luò)模型,經(jīng)過多次實(shí)驗(yàn)采用四層網(wǎng)絡(luò)架構(gòu),隱藏層激活函數(shù)設(shè)置為Tanh函數(shù),解碼器輸出層激活函數(shù)設(shè)置為Sigmod函數(shù),采用均方差損失函數(shù),分類器輸出層激活函數(shù)設(shè)置為Softmax函數(shù),采用交叉熵?fù)p失函數(shù),編碼器每層增加的節(jié)點(diǎn)數(shù)a為7。整體模型采用Adam優(yōu)化函數(shù)計(jì)算更新網(wǎng)絡(luò)權(quán)重。訓(xùn)練輪數(shù)Epoch設(shè)置為200,每次訓(xùn)練批處理數(shù)Batchsize為256,任務(wù)權(quán)重系數(shù)λ為0.1~0.9。
在傳統(tǒng)分類算法中,一般以整體正確率為評(píng)價(jià)指標(biāo)。由于本文所面向的數(shù)據(jù)集類別不平衡,因此準(zhǔn)確識(shí)別出絕大部分未流失旅客,可能整體正確率會(huì)高達(dá)95%以上,但這對(duì)于航空公司來說沒有實(shí)際價(jià)值意義,重點(diǎn)在于能精確識(shí)別出未流失旅客和準(zhǔn)流失旅客。因此,實(shí)驗(yàn)采用綜合衡量模型精準(zhǔn)率(Precision)和召回率(Re-call)的F1-Score值作為分類預(yù)測(cè)旅客流失任務(wù)的評(píng)價(jià)指標(biāo),其值越大越好,即
(7)
同時(shí),對(duì)于缺失值填補(bǔ)任務(wù),采用均方差損失(RSME)作為評(píng)價(jià)指標(biāo),其值越小越好。
3.5.1 分類預(yù)測(cè)效果對(duì)比
在分類效果對(duì)比實(shí)驗(yàn)中,將本文提出的基于降噪自編碼器的多任務(wù)學(xué)習(xí)方法分別與通過傳統(tǒng)主流數(shù)據(jù)填補(bǔ)算法均值填補(bǔ)算法、MIC算法[17]、KNN、SoftImpute算法[18]先進(jìn)行缺失值填補(bǔ),再采用SVM算法進(jìn)行分類預(yù)測(cè)對(duì)比。同時(shí),將基于部分距離的SMOTE算法與以上算法結(jié)合,驗(yàn)證其有效性。實(shí)驗(yàn)結(jié)果以F1-Score值作為度量分類任務(wù)性能指標(biāo),全部實(shí)驗(yàn)均重復(fù)10次以獲得最終平均結(jié)果。實(shí)驗(yàn)結(jié)果如圖3所示。
圖3 分類預(yù)測(cè)效果對(duì)比實(shí)驗(yàn)
由圖3可知,實(shí)線均為各算法在數(shù)據(jù)經(jīng)過提出的改進(jìn)SMOTE算法在類別平衡化處理后使用后續(xù)相應(yīng)算法訓(xùn)練出的結(jié)果。相比未經(jīng)類別平衡化處理,各算法在使用提出的改進(jìn)SMOTE算法后在分類性能上均有相應(yīng)的提升,體現(xiàn)出基于部分距離的SMOTE算法在解決缺失模式下數(shù)據(jù)類別不平衡的問題的有效性。同時(shí),相比先對(duì)缺失值進(jìn)行填補(bǔ),后對(duì)填補(bǔ)后的數(shù)據(jù)集進(jìn)行分類預(yù)測(cè)的傳統(tǒng)處理方法,本文提出的MLT-DAE網(wǎng)絡(luò)模型在缺失率不斷增大下有著非常好的優(yōu)越性及穩(wěn)定性,F(xiàn)值一直處于0.95以上的水平,而均值填補(bǔ)、KNN填補(bǔ)、SoftImpute填補(bǔ)當(dāng)數(shù)據(jù)集缺失率較大時(shí),模型的分類精度均出現(xiàn)較大的損失。主要原因在于,在數(shù)據(jù)缺失率較高情況下經(jīng)過基于部分距離的SMOTE隨機(jī)過采樣會(huì)生成的帶有噪聲的數(shù)據(jù)樣本,從而影響后續(xù)進(jìn)行分類任務(wù)的性能。由此可以分析出:①經(jīng)過采用基于部分距離的SMOTE算法,能有效解決缺失模式下的類別不平衡問題。②類別平衡后的數(shù)據(jù)經(jīng)過降噪自編碼器處理可以較大減小數(shù)據(jù)經(jīng)過基于部分距離的SMOTE算法采樣后形成的噪聲,從而有助于提升分類任務(wù)的性能。
3.5.2 填補(bǔ)效果對(duì)比
對(duì)于缺失值填補(bǔ)任務(wù),將MLT-DAE模型對(duì)不同缺失率下的數(shù)據(jù)集進(jìn)行填補(bǔ),以對(duì)缺失率為0.3的測(cè)試集LRFMC屬性填補(bǔ)效果為例,經(jīng)多次測(cè)試本文提出的模型部分填補(bǔ)效果見表1~表3。同時(shí)將本文提出的方法與均值填補(bǔ)法、MICE、KNN填補(bǔ)法、SoftImpute填補(bǔ)法進(jìn)行對(duì)比。采用均方根誤差RMSE作為評(píng)價(jià)指標(biāo),為減小隨機(jī)誤差,分別對(duì)5種方法重復(fù)進(jìn)行10次實(shí)驗(yàn),得到綜合實(shí)驗(yàn)結(jié)果如圖4所示。
圖4 缺失填補(bǔ)效果對(duì)比
由表1~表3所示,模型在對(duì)民航價(jià)值業(yè)務(wù)體系業(yè)務(wù)指標(biāo)LRFMC的填補(bǔ)有著非常不錯(cuò)的效果,經(jīng)模型填補(bǔ)后的數(shù)值與數(shù)據(jù)原始值較為接近,有助于后續(xù)對(duì)旅客進(jìn)行更進(jìn)一步的數(shù)據(jù)畫像分析。同時(shí),由圖4所示,相比傳統(tǒng)方法本文提出的方法在缺失填補(bǔ)方面也一直保持較好的效果,隨著數(shù)據(jù)缺失率不斷增大,均方根誤差與其它傳統(tǒng)方法相比較低,且差距明顯。尤其是在數(shù)據(jù)集缺失率較高的情況下,配合多任務(wù)學(xué)習(xí)能對(duì)數(shù)據(jù)進(jìn)行有效填補(bǔ)。進(jìn)一步從側(cè)面體現(xiàn)出,在不完備數(shù)據(jù)集進(jìn)行旅客流失預(yù)測(cè)任務(wù)時(shí),缺失值對(duì)分類結(jié)果有著直接的影響。算法對(duì)缺失值的填補(bǔ)性能的提升有助于分類任務(wù)性能的提升。
表1 測(cè)試集LRFMC屬性原始記錄
表2 測(cè)試集LRFMC屬性缺失記錄
表3 經(jīng)過模型填補(bǔ)后LRFMC屬性記錄
3.5.3 多任務(wù)學(xué)習(xí)有效性驗(yàn)證實(shí)驗(yàn)對(duì)比
由于本文提出的MLT-DAE網(wǎng)絡(luò)模型既能進(jìn)行旅客流失預(yù)測(cè)任務(wù)又能進(jìn)行缺失值填補(bǔ),為了驗(yàn)證多任務(wù)學(xué)習(xí)網(wǎng)絡(luò)架構(gòu)的有效性,將經(jīng)MLT-DAE網(wǎng)絡(luò)模型去掉分類器直接采用由編碼器和解碼器構(gòu)成的DAE網(wǎng)絡(luò)模型填補(bǔ)后的輸出,配合SVM算法、邏輯回歸(LG)算法進(jìn)行旅客流失預(yù)測(cè),與MLT-DAE分類器端的結(jié)果輸出進(jìn)行對(duì)比。分別以缺失率0.2、0.4、0.6重復(fù)進(jìn)行10次實(shí)驗(yàn),取平均值作為最終結(jié)果,綜合結(jié)果見表4。
表4 多任務(wù)學(xué)習(xí)驗(yàn)證對(duì)比
從實(shí)驗(yàn)結(jié)果可以歸納出,針對(duì)旅客流失預(yù)測(cè)問題,傳統(tǒng)的SVM算法要略好于LG算法,原因在于SVM在高維空間中找出分割面將數(shù)據(jù)按照類別得以分割,類別不平衡對(duì)其影響較小,而LG算法要度量總體損失函數(shù),對(duì)平衡類別較為敏感。本文結(jié)合業(yè)務(wù)環(huán)境提出的預(yù)測(cè)方法,考慮到自編碼器對(duì)數(shù)據(jù)進(jìn)行自動(dòng)特征提取的優(yōu)勢(shì),將數(shù)據(jù)在編碼階段進(jìn)行維度擴(kuò)展得到更高維更抽象的特征表達(dá),配合解碼器網(wǎng)絡(luò)和分類器網(wǎng)絡(luò),使得中間層學(xué)習(xí)到的特征表達(dá)既包含原有數(shù)據(jù)樣本缺失的信息,又能對(duì)數(shù)據(jù)進(jìn)行有效的分割,從而使缺失值得填補(bǔ)以分類預(yù)測(cè)為導(dǎo)向,有助于提升預(yù)測(cè)精度。
3.5.4 參數(shù)任務(wù)權(quán)重系數(shù)λ
MLT-DAE模型,對(duì)兩個(gè)任務(wù)同時(shí)進(jìn)行處理,由于兩個(gè)任務(wù)有各自的權(quán)重,因此模型的輸入?yún)?shù)任務(wù)權(quán)重系數(shù)λ對(duì)模型收斂及整體性能有著非常重要的影響。以缺失率為20%、40%、60%的數(shù)據(jù)集為實(shí)驗(yàn)數(shù)據(jù)進(jìn)行說明,以F值為評(píng)價(jià)指標(biāo),對(duì)任務(wù)權(quán)重系數(shù)λ設(shè)置,以0.1為步長(zhǎng),從0.1到0.9分別對(duì)數(shù)據(jù)集進(jìn)行對(duì)比實(shí)驗(yàn),以發(fā)現(xiàn)最優(yōu)值規(guī)律。實(shí)驗(yàn)綜合平均結(jié)果見表5。
表5 參數(shù)任務(wù)權(quán)重系數(shù)λ選擇
當(dāng)數(shù)據(jù)集缺失率低于10%時(shí),參與模型訓(xùn)練的數(shù)據(jù)質(zhì)量比較高,網(wǎng)絡(luò)模型聯(lián)合訓(xùn)練應(yīng)該偏向旅客流失預(yù)測(cè)分類任務(wù),λ值可從0.1~0.2中設(shè)置。隨著數(shù)據(jù)集的缺失率逐漸升高,參與網(wǎng)絡(luò)模型訓(xùn)練的數(shù)據(jù)質(zhì)量逐漸變低,使得模型訓(xùn)練由原來的以流失分類預(yù)測(cè)為主任務(wù)轉(zhuǎn)為以缺失值填補(bǔ)為主任務(wù),導(dǎo)致λ值也相應(yīng)升高。因此,實(shí)際在生產(chǎn)環(huán)境上部署訓(xùn)練模型時(shí),要根據(jù)當(dāng)前環(huán)境下的數(shù)據(jù)質(zhì)量以及模型的主要任務(wù)搜尋合適的權(quán)重系數(shù)以使模型性能達(dá)到最優(yōu)。
針對(duì)民航旅客信息服務(wù)系統(tǒng)中數(shù)據(jù)缺失影響對(duì)旅客做流失預(yù)測(cè)的情形,本文對(duì)已有SMOTE算法進(jìn)行改進(jìn),使其能在不完備數(shù)據(jù)集下對(duì)已流失旅客和準(zhǔn)流失旅客進(jìn)行過采樣以平衡數(shù)據(jù)集。同時(shí),設(shè)計(jì)出一種基于降噪自編碼器的多任務(wù)深度神經(jīng)網(wǎng)絡(luò)模型,將旅客流失預(yù)測(cè)任務(wù)作為主任務(wù),數(shù)據(jù)缺失值填補(bǔ)作為輔助任務(wù),同時(shí)并行解決民航旅客服務(wù)信息主數(shù)據(jù)缺失值填補(bǔ)以及民航旅客流失預(yù)測(cè)問題。實(shí)驗(yàn)結(jié)果表明,相比傳統(tǒng)處理方法,模型考慮到現(xiàn)實(shí)生產(chǎn)環(huán)境,在分類任務(wù)和缺失值填補(bǔ)任務(wù)中有著較好的性能,可提升分類精度和數(shù)據(jù)質(zhì)量,同時(shí)更為重要來說使其能在數(shù)據(jù)不完備的情況下對(duì)旅客流失進(jìn)行精確預(yù)測(cè),因此具有較大的工程實(shí)用價(jià)值。