萬毅斌,王紹宇,秦彥霞
(東華大學(xué) 計(jì)算機(jī)科學(xué)與技術(shù)學(xué)院,上海 201620)
隨著中國經(jīng)濟(jì)的高速發(fā)展,國內(nèi)各類科技公司不斷涌現(xiàn),傳統(tǒng)行業(yè)加速轉(zhuǎn)型,許多省市都出臺(tái)了各種各樣的政策來吸引和留住人才,同樣對(duì)于企業(yè)來說如何吸引人才和如何留住人才都是對(duì)企業(yè)的發(fā)展至關(guān)重要的。企業(yè)員工流失對(duì)于企業(yè)而言并不是簡單人員流失,而會(huì)對(duì)企業(yè)的人事、財(cái)務(wù)、業(yè)務(wù)等多方面造成諸多影響,比如已投入費(fèi)用的損失,流失員工所負(fù)責(zé)相關(guān)工作的臨時(shí)性中斷,流失員工可能會(huì)帶走企業(yè)一些重要客戶或關(guān)鍵技術(shù),從而使企業(yè)承受巨大損失[1]。
隨著員工需求和社會(huì)環(huán)境的不斷變化,不同企業(yè)的員工所關(guān)心的點(diǎn)也不盡相同。根據(jù)調(diào)查統(tǒng)計(jì),2020 年國內(nèi)企業(yè)員工離職率為19.8%,其中主動(dòng)離職率達(dá)到了13.4%,相較于過去有明顯的升高。
目前很多企業(yè)在原有員工數(shù)據(jù)庫的基礎(chǔ)上,還通過統(tǒng)計(jì)、調(diào)查和問卷等方式建立了可用于預(yù)測員工離職傾向的數(shù)據(jù)集,以供人力資源等部門進(jìn)行預(yù)警分類。目前,主流的分類算法,如基于結(jié)構(gòu)風(fēng)險(xiǎn)最小化的SVM 能克服傳統(tǒng)分類器局部最優(yōu)解、過擬合、維數(shù)災(zāi)難等缺點(diǎn)[2]。但對(duì)于企業(yè)員工離職傾向預(yù)測、疾病診斷、欺詐檢測等不平衡數(shù)據(jù)集的處理上,SVM在訓(xùn)練過程中由于自身的原因,以及數(shù)據(jù)集存在的界模糊,噪聲污染等問題,導(dǎo)致對(duì)不平衡數(shù)據(jù)集的分類效果不佳[3]。為此,Bagging、Boosting、rotation forest 等一些組合算法提出,來解決分類問題中的數(shù)據(jù)不均衡問題[4];董燕杰等提出的Random-SMOTE 算法對(duì)小類樣本進(jìn)行上采樣以平衡數(shù)據(jù)集,有效地解決了不平衡數(shù)據(jù)集中小類分類困難的問題[5];覃朗提出一種基于信息增益的超立方體頂點(diǎn)采樣SMOTE-SVM 算法,通過優(yōu)化算法對(duì)改進(jìn)后的SMOTE-SVM模型的參數(shù)進(jìn)行自動(dòng)尋優(yōu),進(jìn)而增強(qiáng)了算法參數(shù)設(shè)置的合理性,提升了分類性能[6]。
現(xiàn)有方法大多使用SMOTE 算法先對(duì)少數(shù)類樣本進(jìn)行合成,解決不平衡分類問題,但通常SMOTE與SVM 結(jié)合是對(duì)少數(shù)類樣本進(jìn)行處理,沒有結(jié)合SVM 算法本身的特點(diǎn),從而導(dǎo)致分類效果不夠穩(wěn)定。針對(duì)以上缺點(diǎn),本文提出了一種改進(jìn)的代價(jià)敏感算法,通過對(duì)合成的樣本賦予錯(cuò)分代價(jià),來增加通過SMOTE 算法合成的數(shù)據(jù)集的合理性,減少了可能存在的過擬合風(fēng)險(xiǎn),提升了對(duì)企業(yè)員工不平衡數(shù)據(jù)集的分類效果和穩(wěn)定性。
假設(shè)某企業(yè)員工信息數(shù)據(jù)樣本集為{(x1,y1),…,(xi,yi),…,(xn,yn) },i=1,…,n,其中n代表該企業(yè)員工數(shù)量,xi∈Rm,m表示該企業(yè)員工的信息維數(shù),分類標(biāo)簽yi={-1,+1},其中-1 代表已經(jīng)離職的員工,+1 代表在職員工。本文使用的SVM算法通過在Rn空間上尋找一個(gè)使分類邊界最小的實(shí)數(shù)函數(shù)g(x)=(WTx+b),從而確定企業(yè)員工是否離職的分類決策平面,使用決策函數(shù)f(x)=sgn(g(x)) 來預(yù)測輸入的任意一名新員工x對(duì)應(yīng)的是否可能離職分類類別y。
對(duì)于一般的線性可分問題,SVM 通過求解下列二次規(guī)劃問題得到最優(yōu)分類超平面,式(1):
對(duì)于這樣的二次規(guī)劃問題,通常轉(zhuǎn)換成與其對(duì)應(yīng)的Lagrange 對(duì)偶問題來求解,該問題對(duì)應(yīng)的Lagrange 函數(shù)為式(2):
其中,αi≥0 為Lagrange 乘子??衫肔agrange對(duì)偶方法將式(2)轉(zhuǎn)化為對(duì)偶問題,式(3):
求解后可得到分類決策的超平面函數(shù),式(4):
由于企業(yè)員工信息數(shù)據(jù)集的維度較高,分布不均勻,無法通過SVM 對(duì)一般的線性可分問題的求解方法尋找分類超平面,因此本文使用核函數(shù)將企業(yè)員工樣本數(shù)據(jù)集映射到高維空間,在高維空間求解分類超平面。通過核函數(shù)不僅無須知道高維變換的顯示公式,還解決了高維數(shù)據(jù)帶來的問題。對(duì)于給定的核函數(shù)K(x,y)=φ(x)φ(y),則非線性SVM 的對(duì)偶問題可以寫成式(5)形式:
通過上述SVM 算法的分類原理可知,SVM 算法分類的結(jié)果是由分隔超平面所決定,該超平面也就是最終的決策函數(shù),通過兩類樣本中的少量樣本點(diǎn)即支持向量所決定的,所以對(duì)于樣本中其他的非支持向量數(shù)據(jù),不會(huì)影響SVM 算法的分類性能,算法的復(fù)雜性主要取決于支持向量的數(shù)量[7]。因此,傳統(tǒng)SVM 算法一般在數(shù)據(jù)集中正類與負(fù)類樣本數(shù)量大致相同的情況下有較好的表現(xiàn),而面對(duì)現(xiàn)實(shí)應(yīng)用領(lǐng)域中數(shù)據(jù)集不平衡的特點(diǎn),由于SVM 算法決策平面偏移程度不足、支持向量分布不均勻等自身特點(diǎn),其分類性能往往會(huì)大打折扣[8]。在企業(yè)員工離職傾向分類問題中,特別是對(duì)規(guī)模較大的企業(yè),離職員工數(shù)量一般占員工總數(shù)的比例很小,但對(duì)于企業(yè)來說培養(yǎng)一名員工所投入的花費(fèi)很大,為了避免和預(yù)防可能出現(xiàn)員工離職潮,能夠提早發(fā)現(xiàn)員工離職傾向并采取措施是非常重要的。傳統(tǒng)SVM在處理不平衡數(shù)據(jù)分類問題時(shí),分類平面會(huì)向少數(shù)類偏移,即將更多的少數(shù)類樣本錯(cuò)分為多數(shù)類,這樣會(huì)導(dǎo)致企業(yè)對(duì)員工離職傾向判斷不準(zhǔn)確。
為了解決上述問題,本文引入SMOTE 算法,通過人工合成少數(shù)類樣本,即離職員工的數(shù)據(jù)集,使離職員工數(shù)據(jù)數(shù)量與在職員工數(shù)據(jù)量達(dá)到均衡。具體操作是:首先找到離職員工樣本xi的k個(gè)鄰近同類樣本,在這k個(gè)樣本中隨機(jī)選取一個(gè)xj,通過公式(6)合成新的樣本:
雖然SMOTE 過采樣方法已被證明在許多不平衡數(shù)據(jù)上表現(xiàn)良好,但是其對(duì)分類分布進(jìn)行了假設(shè)。使用SMOTE 算法對(duì)數(shù)據(jù)集進(jìn)行過采樣處理,會(huì)使得SVM 算法存在一定的過擬合風(fēng)險(xiǎn),同時(shí)SMOTE算法在合成數(shù)據(jù)的時(shí)候,并未考慮噪聲的影響,會(huì)導(dǎo)致合成的數(shù)據(jù)增加了原始樣本的噪聲率,最終導(dǎo)致影響SVM 算法的準(zhǔn)確性[9]。
為減少SMOTE 算法存在的過擬合問題,可通過改進(jìn)的代價(jià)敏感算法對(duì)少數(shù)類、多數(shù)類以及合成實(shí)例進(jìn)行不同的加權(quán)處理。改進(jìn)的SMOTE-SVM的原始優(yōu)化函數(shù),式(7):
其中,權(quán)重因子cmaj、cmin、csyn控制了多數(shù)類、少數(shù)類和合成實(shí)例的錯(cuò)分代價(jià)。該方法通過對(duì)合成實(shí)例和原始的少數(shù)實(shí)例進(jìn)行不同的加權(quán),使得SVM 能夠更加精細(xì)地控制分離超平面。
通過(7)式求解,得到的a*來確定新樣本實(shí)例anew的類別y,式(8):
算法的主要流程如下:
本文所使用的數(shù)據(jù)為某外企2015~2020 年內(nèi)的所有在離職員工數(shù)據(jù)集。該數(shù)據(jù)集包含了5 020條員工的基礎(chǔ)以及相關(guān)信息數(shù)據(jù),包括員工的年齡、性別、職位等級(jí)、加班情況、旅游情況和公司滿意度等35 列特征信息,其中已離職員工數(shù)量為434 名,在職員工數(shù)量為4 586 名,離職員工數(shù)量與在職員工數(shù)量的比例為1∶10,符合不平衡數(shù)據(jù)集的特點(diǎn)。
由于上述數(shù)據(jù)集中包含缺失值、噪音以及人工錄入錯(cuò)誤導(dǎo)致的異常值存在,不利于算法模型的訓(xùn)練。所以在訓(xùn)練實(shí)驗(yàn)前,首先要對(duì)數(shù)據(jù)集中的臟數(shù)據(jù)進(jìn)行數(shù)據(jù)清理、集成和規(guī)約,使其能夠達(dá)到標(biāo)準(zhǔn),滿足訓(xùn)練要求的數(shù)據(jù)集。
本文針對(duì)外企員工數(shù)據(jù)集中所存在的數(shù)據(jù)缺失、噪聲及冗余等問題做了數(shù)據(jù)預(yù)處理。主要工作包括一是缺失值處理:對(duì)缺失率較高,且重要性較低的信息,比如親屬相關(guān)信息等直接刪除變量,再使用隨機(jī)插值法對(duì)小部分缺失值進(jìn)行補(bǔ)充;二是冗余數(shù)據(jù)處理:由于企業(yè)員工數(shù)據(jù)信息數(shù)據(jù)集包含較多的屬性信息,其中有部分屬性與模型訓(xùn)練任務(wù)不相關(guān),屬于冗余數(shù)據(jù),使用matlab 的scikit-learn 中的遞歸特征消除算法,由整個(gè)數(shù)據(jù)集開始,逐步刪除尚在數(shù)據(jù)集中的最壞屬性。
本文采用基于混淆矩陣的評(píng)價(jià)方法,見表1。其中TP表示實(shí)際是正類且被正確分為正類的樣本的數(shù)目;FN表示實(shí)際是正類但被錯(cuò)誤分為負(fù)類的樣本的數(shù)目;FP表示實(shí)際是負(fù)類但被錯(cuò)誤分為正類的樣本的數(shù)目;TN表示實(shí)際是負(fù)類且被正確分為負(fù)類的樣本的數(shù)目。
表1 評(píng)價(jià)混淆矩陣Tab.1 Evaluation confusion matrix
通過表1 可計(jì)算出5 種評(píng)估標(biāo)準(zhǔn):
(1)查準(zhǔn)率Precision,表示預(yù)測正確的正類占總樣本的比例,公式(9):
(2)查全率Recall,表示預(yù)測正確正類占所有正類的比例,公式(10):
(3)Overall Accuracy(OA),表示每個(gè)樣本所分類的結(jié)果與檢驗(yàn)數(shù)據(jù)類型一致的概率,公式(11):
(4)F- measure是查全率和查準(zhǔn)率的調(diào)和值,是綜合評(píng)價(jià)指標(biāo),公式(12):
(5)G-mean 表示算法在正確正類和負(fù)類的平均性能,公式(13):
其中,G-mean 考慮了兩類樣本的分類性能,只有分類平面不發(fā)生偏移,兩類樣本都有較大的查全率,G-mean值才會(huì)較大。F-measure考慮了少數(shù)類的查全率和查準(zhǔn)率,任何一個(gè)值的變化都能影響F的大小,因此能全面反映分類器對(duì)少數(shù)類樣本的分類性能。
本文采用Matlab 工具中的LibSVM 工具箱在某公司員工信息數(shù)據(jù)集上進(jìn)行實(shí)驗(yàn),對(duì)比傳統(tǒng)SVM 和SMOTE-SVM 兩種模型,驗(yàn)證本文方法的有效性。實(shí)驗(yàn)采用RBF核函數(shù),gamma值取1。由于企業(yè)員工信息數(shù)據(jù)中存在缺失和冗余數(shù)據(jù),因此首先對(duì)原始數(shù)據(jù)集進(jìn)行了預(yù)處理,然后利用3 種模型進(jìn)行學(xué)習(xí),最后使用G-mean和F-measure衡量各方法的分類精確度,結(jié)果見表2。
表2 SVM、SMOTE-SVM與本文方法比較Tab.2 Comparison between SVM,SMOTE-SVM and our method
從表2 中的3 種方法的比較結(jié)果可以看出,由于未考慮不平衡數(shù)據(jù)集的問題,傳統(tǒng)SVM 算法在三者中表現(xiàn)最差,G- mean和F- measure分別只有83.28%和81.95%;使用SMOTE 算法對(duì)少數(shù)類樣本進(jìn)行新實(shí)例合成,多數(shù)類與少數(shù)類樣本數(shù)量基本達(dá)到一致,分類精度有了明顯的提升,G- mean和F-measure分別達(dá)到了99.08%和89.25%;本文方法對(duì)SMOTE-SVM 方法增加了改進(jìn)的代價(jià)敏感算法,對(duì)少數(shù)類樣本、多數(shù)類樣本和新合成的樣本進(jìn)行加權(quán)處理,實(shí)驗(yàn)精度有了進(jìn)一步的提升。本文方法的G- mean值比SMOTE-SVM 略高,而F- measure值均比SMOTE-SVM 高10%,充分證明了本文方法對(duì)企業(yè)員工離職傾向分析的有效性。
本文以某大型外資企業(yè)為例,針對(duì)2015~2018年3 年的員工信息數(shù)據(jù)集,首先對(duì)原始數(shù)據(jù)集進(jìn)行了數(shù)據(jù)預(yù)處理,包括缺失值補(bǔ)充,冗余數(shù)據(jù)處理等;針對(duì)傳統(tǒng)SVM 分類器在處理不平衡數(shù)據(jù)集時(shí)分類超平面會(huì)向少數(shù)類偏移的特點(diǎn),以及使用SMOTE算法對(duì)數(shù)據(jù)樣本集進(jìn)行上采樣后的合成數(shù)據(jù)會(huì)對(duì)SVM 算法造成過擬合風(fēng)險(xiǎn)的問題,本文提出了一種改進(jìn)的基于代價(jià)敏感算法與SMOTE-SVM算法,該算法通過對(duì)少數(shù)類、多數(shù)類以及合成樣本進(jìn)行加權(quán)處理,提高了SVM 分類器的穩(wěn)定性和準(zhǔn)確率。實(shí)驗(yàn)結(jié)果表明論文提出的改進(jìn)算法,相對(duì)于傳統(tǒng)SVM 和SMOTE-SVM 能達(dá)到更高的分類預(yù)測精度,能對(duì)員工離職傾向進(jìn)行有效地預(yù)測,從而能提前采取應(yīng)對(duì)策略來降低員工離職意向和提升企業(yè)競爭力。