本發(fā)明涉及機器學(xué)習(xí)和數(shù)據(jù)挖掘,特別涉及一種基于無標簽數(shù)據(jù)的概念漂移自適應(yīng)方法、系統(tǒng)、終端及計算機可讀存儲介質(zhì)。
背景技術(shù):
1、概念漂移是機器學(xué)習(xí)和數(shù)據(jù)挖掘領(lǐng)域中的一個重要概念,它指的是隨著時間的推移,數(shù)據(jù)的統(tǒng)計特性(如分布、平均值等)發(fā)生變化,導(dǎo)致原先建立的數(shù)據(jù)模型不再適用的現(xiàn)象。這種現(xiàn)象在實時數(shù)據(jù)流環(huán)境中尤為常見,如金融市場分析、網(wǎng)絡(luò)安全監(jiān)控、氣象預(yù)測等領(lǐng)域。概念漂移會使部分舊數(shù)據(jù)與新數(shù)據(jù)的映射關(guān)系不一致,使這些舊數(shù)據(jù)相對于新數(shù)據(jù)成為噪聲,因此以這些舊數(shù)據(jù)訓(xùn)練的模型無法適用于新數(shù)據(jù)。為了解決概念漂移帶來的問題,在檢測到發(fā)生概念漂移之后,概念漂移自適應(yīng)是一個很好的應(yīng)對方法。概念漂移自適應(yīng)可以通過自主的不斷迭代更新模型來適應(yīng)數(shù)據(jù)分布的變化。
2、然而,現(xiàn)有的概念漂移自適應(yīng)方法中,模型的更新均需要用到大量無標簽的新數(shù)據(jù),但這些無標簽的新數(shù)據(jù)需要在人工打完標簽之后,才能用于模型的更新,這個過程是耗時且耗力的。在實時數(shù)據(jù)流中,現(xiàn)有技術(shù)尚不能直接使用無標簽的實時數(shù)據(jù)來及時更新模型,依舊需要使用有標簽的數(shù)據(jù)來更新模型。
3、因此,現(xiàn)有技術(shù)還有待于改進和發(fā)展。
技術(shù)實現(xiàn)思路
1、本發(fā)明的主要目的在于提供一種基于無標簽數(shù)據(jù)的概念漂移自適應(yīng)方法、系統(tǒng)、終端及計算機可讀存儲介質(zhì),旨在解決現(xiàn)有的概念漂移自適應(yīng)方法需要使用人工打完標簽的數(shù)據(jù)來更新模型,耗時耗力的問題。
2、為實現(xiàn)上述發(fā)明目的,本發(fā)明提供一種基于無標簽數(shù)據(jù)的概念漂移自適應(yīng)方法,所述基于無標簽數(shù)據(jù)的概念漂移自適應(yīng)方法包括:
3、收集舊數(shù)據(jù)作為訓(xùn)練集,收集無標簽的新數(shù)據(jù)作為測試集;
4、根據(jù)所述訓(xùn)練集和所述測試集計算kl距離,將所述kl距離與設(shè)定閾值進行比較,判斷所述新數(shù)據(jù)是否發(fā)生概念漂移;
5、當判定所述新數(shù)據(jù)發(fā)生概念漂移時,在所述訓(xùn)練集的基礎(chǔ)上,在所述測試集中選擇部分數(shù)據(jù)增添到所述訓(xùn)練集,得到新訓(xùn)練集;
6、基于原隨機森林模型,結(jié)合基尼系數(shù)、權(quán)重和密度差建立建樹新準則,得到rfkl模型;
7、基于所述新訓(xùn)練集,選擇所述建樹新準則的最小值對應(yīng)的特征為分裂特征,利用所述分裂特征訓(xùn)練所述rfkl模型,得到訓(xùn)練好的rfkl模型;
8、使用準確率作為評價指標評估所述訓(xùn)練好的rfkl模型的性能,將性能滿足要求的所述訓(xùn)練好的rfkl模型作為概念漂移自適應(yīng)后的rfkl模型。
9、可選地,所述收集舊數(shù)據(jù)作為訓(xùn)練集,收集無標簽的新數(shù)據(jù)作為測試集,之前還包括:
10、當實時數(shù)據(jù)流中所述新數(shù)據(jù)的樣本數(shù)達到設(shè)定窗口長度時,啟動概念漂移檢測流程。
11、可選地,所述根據(jù)所述訓(xùn)練集和所述測試集計算kl距離,將所述kl距離與設(shè)定閾值進行比較,判斷所述新數(shù)據(jù)是否發(fā)生概念漂移,具體包括:
12、根據(jù)所述訓(xùn)練集和所述測試集計算kl距離,其中,所述kl距離用于衡量所述訓(xùn)練集在原隨機森林模型上的分布與所述測試集在原隨機森林模型上的分布的差異:
13、
14、其中,d(pi||qi)表示訓(xùn)練集pi與測試集qi間的kl距離,pv,i表示落在第i棵樹的第v個葉子節(jié)點上訓(xùn)練集的樣本數(shù)量,qv,i表示落在第i棵樹的第v個葉子節(jié)點上測試集的樣本數(shù)量,w1為訓(xùn)練集的總樣本數(shù),w2為測試集的總樣本數(shù),l表示第i棵樹的葉子節(jié)點數(shù)量;
15、將所述kl距離與設(shè)定閾值進行比較;
16、當所述kl距離大于所述設(shè)定閾值,則判定所述新數(shù)據(jù)發(fā)生概念漂移;
17、當所述kl距離不大于所述設(shè)定閾值,則判定所述新數(shù)據(jù)沒有發(fā)生概念漂移。
18、可選地,所述新訓(xùn)練集包括已打標簽的訓(xùn)練集數(shù)據(jù)和未打標簽的測試集數(shù)據(jù)。
19、可選地,所述基于原隨機森林模型,結(jié)合基尼系數(shù)、權(quán)重和密度差建立建樹新準則,得到rfkl模型,具體包括:
20、以原隨機森林模型作為基本模型,其中,所述原隨機森林模型的決策樹類型為分類樹;
21、在所述原隨機森林模型使用基尼系數(shù)gini作為建樹準則的基礎(chǔ)上,新增權(quán)重w和密度差d,得到建樹新準則c:
22、c=gini+w*d;
23、其中,所述密度差d是指在構(gòu)建決策樹時左右分支中所述已打標簽的訓(xùn)練集數(shù)據(jù)與所述未打標簽的測試集數(shù)據(jù)之間的密度差異:
24、d=|lleft/lfull-uleft/ufull|;
25、其中,lleft是已打標簽的訓(xùn)練集數(shù)據(jù)中小于分裂閾值且分布在左子樹的樣本數(shù)量;lfull是已打標簽的訓(xùn)練集數(shù)據(jù)在當前節(jié)點的總樣本數(shù)量;uleft是未打標簽的測試集數(shù)據(jù)中小于分裂閾值且分布在左子樹的樣本數(shù)量;ufull是未打標簽的測試集數(shù)據(jù)在當前節(jié)點的總樣本數(shù)量;
26、結(jié)合所述原隨機森林模型和所述建樹新準則,得到rfkl模型。
27、可選地,所述基于所述新訓(xùn)練集,選擇所述建樹新準則的最小值對應(yīng)的特征為分裂特征,利用所述分裂特征訓(xùn)練所述rfkl模型,得到訓(xùn)練好的rfkl模型,具體包括:
28、提取所述新訓(xùn)練集的特征,得到多個特征列;
29、設(shè)立最優(yōu)增益值,并將所述最優(yōu)增益值的初始值設(shè)為設(shè)定值;
30、遍歷所有特征列,并在遍歷每個特征列的同時計算所述特征列中當前特征與相鄰特征的中點值,將多個所述中點值構(gòu)成所述當前特征的閾值列;
31、遍歷所述當前特征的閾值列,計算當前建樹新準則c的值;
32、將所述當前建樹新準則c的值與當前最優(yōu)增益值進行比較,若所述當前建樹新準則c的值小于所述當前最優(yōu)增益值,則將所述當前最優(yōu)增益值更新為所述當前準則c的值;
33、重復(fù)計算獲得各個特征對應(yīng)的建樹新準則c的值,將最小的建樹新準則c的值對應(yīng)的特征作為分裂特征;
34、利用所述分裂特征訓(xùn)練所述rfkl模型,得到訓(xùn)練好的rfkl模型。
35、可選地,所述使用準確率作為評價指標評估所述訓(xùn)練好的rfkl模型的性能,將性能滿足要求的所述訓(xùn)練好的rfkl模型作為概念漂移自適應(yīng)后的rfkl模型,具體包括:
36、根據(jù)所述訓(xùn)練好的rfkl模型的預(yù)測結(jié)果,計算準確率,其中,所述準確率為正確的預(yù)測結(jié)果數(shù)占預(yù)測結(jié)果總數(shù)的比例;
37、使用所述準確率作為評價指標評估所述訓(xùn)練好的rfkl模型的性能,若所述準確率大于性能閾值,則評定所述訓(xùn)練好的rfkl模型的性能滿足要求;
38、將性能滿足要求的所述訓(xùn)練好的rfkl模型作為概念漂移自適應(yīng)后的rfkl模型。
39、為實現(xiàn)上述發(fā)明目的,本發(fā)明還提供一種基于無標簽數(shù)據(jù)的概念漂移自適應(yīng)系統(tǒng),所述基于無標簽數(shù)據(jù)的概念漂移自適應(yīng)系統(tǒng)包括:
40、數(shù)據(jù)收集模塊:用于收集舊數(shù)據(jù)作為訓(xùn)練集,收集無標簽的新數(shù)據(jù)作為測試集;
41、概念漂移檢測模塊:用于根據(jù)所述訓(xùn)練集和所述測試集計算kl距離,將所述kl距離與設(shè)定閾值進行比較,判斷所述新數(shù)據(jù)是否發(fā)生概念漂移;
42、新訓(xùn)練集獲取模塊:用于當判定所述新數(shù)據(jù)發(fā)生概念漂移時,在所述訓(xùn)練集的基礎(chǔ)上,在所述測試集中選擇部分數(shù)據(jù)增添到所述訓(xùn)練集,得到新訓(xùn)練集;
43、rfkl模型獲取模塊:用于基于原隨機森林模型,結(jié)合基尼系數(shù)、權(quán)重和密度差建立建樹新準則,得到rfkl模型;
44、rfkl模型訓(xùn)練模塊:用于基于所述新訓(xùn)練集,選擇所述建樹新準則的最小值對應(yīng)的特征為分裂特征,利用所述分裂特征訓(xùn)練所述rfkl模型,得到訓(xùn)練好的rfkl模型;
45、rfkl模型評估模塊:用于使用準確率作為評價指標評估所述訓(xùn)練好的rfkl模型的性能,將性能滿足要求的所述訓(xùn)練好的rfkl模型作為概念漂移自適應(yīng)后的rfkl模型。
46、為實現(xiàn)上述發(fā)明目的,本發(fā)明還提供一種終端,所述終端包括:存儲器、處理器及存儲在所述存儲器上并可在所述處理器上運行的基于無標簽數(shù)據(jù)的概念漂移自適應(yīng)程序,所述基于無標簽數(shù)據(jù)的概念漂移自適應(yīng)程序被所述處理器執(zhí)行時實現(xiàn)如上所述的基于無標簽數(shù)據(jù)的概念漂移自適應(yīng)方法的步驟。
47、為實現(xiàn)上述發(fā)明目的,本發(fā)明還提供一種計算機可讀存儲介質(zhì),所述計算機可讀存儲介質(zhì)存儲有基于無標簽數(shù)據(jù)的概念漂移自適應(yīng)程序,所述基于無標簽數(shù)據(jù)的概念漂移自適應(yīng)程序被處理器執(zhí)行時實現(xiàn)如上所述的基于無標簽數(shù)據(jù)的概念漂移自適應(yīng)方法的步驟。
48、本發(fā)明中,收集舊數(shù)據(jù)作為訓(xùn)練集,收集無標簽的新數(shù)據(jù)作為測試集;根據(jù)所述訓(xùn)練集和所述測試集計算kl距離,將所述kl距離與設(shè)定閾值進行比較,判斷所述新數(shù)據(jù)是否發(fā)生概念漂移;當判定所述新數(shù)據(jù)發(fā)生概念漂移時,在所述訓(xùn)練集的基礎(chǔ)上,在所述測試集中選擇部分數(shù)據(jù)增添到所述訓(xùn)練集,得到新訓(xùn)練集;基于原隨機森林模型,結(jié)合基尼系數(shù)、權(quán)重和密度差建立建樹新準則,得到rfkl模型;基于所述新訓(xùn)練集,選擇所述建樹新準則的最小值對應(yīng)的特征為分裂特征,利用所述分裂特征訓(xùn)練所述rfkl模型,得到訓(xùn)練好的rfkl模型;使用準確率作為評價指標評估所述訓(xùn)練好的rfkl模型的性能,將性能滿足要求的所述訓(xùn)練好的rfkl模型作為概念漂移自適應(yīng)后的rfkl模型。本發(fā)明采用了kl距離來衡量新數(shù)據(jù)分布與原始數(shù)據(jù)分布的差異度,進而檢測數(shù)據(jù)是否發(fā)生了概念漂移;采用了無標簽的測試集數(shù)據(jù)參與模型訓(xùn)練,實現(xiàn)基于無標簽數(shù)據(jù)的概念漂移的自適應(yīng);采用了建樹新準則c來建樹,優(yōu)先選擇基尼系數(shù)更小,并且新舊數(shù)據(jù)特征分布變化不大的特征值作為構(gòu)建分類樹的分裂節(jié)點。本發(fā)明直接使用無標簽的新數(shù)據(jù)更新模型,實現(xiàn)基于無標簽數(shù)據(jù)的概念漂移的自適應(yīng),省時省力。