本申請涉及通信技術領域,特別涉及一種數(shù)據(jù)處理方法。本申請同時還涉及一種數(shù)據(jù)處理設備。
背景技術:
傳統(tǒng)的特征選擇遺傳算法是計算機科學人工智能領域中用于解決最優(yōu)化的一種搜索啟發(fā)式算法,遺傳算法能在有限時間中從2^p種特征組合中尋找到近似最優(yōu)的組合,同時分布式的遺傳算法則能夠在海量數(shù)據(jù)集上分布式實現(xiàn)每一步迭代過程,不受單機計算、存儲能力的限制。
目前,傳統(tǒng)的特征選擇過程需要在p個變量中嘗試2^p種組合,并對每一種組合進行建模以尋找最優(yōu)模型,其中“最優(yōu)模型”的定義即擁有最佳AUC或BIC或R^2等指標的模型;遺傳算法能在搜索過程中自動獲取和積累有關搜索空間的知識,并自適應的控制搜索過程以求得最優(yōu)解,同時利用遺傳算法進行特征選擇的方法則使用適者生存的原則,在潛在的特征組合中逐次產(chǎn)生一個近似最優(yōu)解的方案,并在有限時間中從2^p種特征組合中尋找到近似最優(yōu)的組合;分布式的遺傳算法則能夠將每一次建模并計算指標的過程進行分布式實現(xiàn),繞開了單機版計算能力和存儲能力的瓶頸。
然而,發(fā)明人在實現(xiàn)本申請的過程中發(fā)現(xiàn),當數(shù)據(jù)量級達到數(shù)十億的時候,現(xiàn)有技術中的單機無法在這么大的數(shù)據(jù)集上進行一次建模過程,從而導致無法完成指標計算和模型訓練。因此,如何快速地針對海量數(shù)據(jù)進行有效 的篩選,從中選擇有用的特征數(shù)據(jù)進行后續(xù)處理,成為本領域技術人員亟待解決的技術問題。
技術實現(xiàn)要素:
本申請?zhí)峁┝艘环N數(shù)據(jù)處理方法,針對海量的數(shù)據(jù)實現(xiàn)自動匹配以及優(yōu)化處理,從中篩選最優(yōu)數(shù)據(jù)組合,從而提高數(shù)據(jù)處理效率。該方法包括:
根據(jù)各所述數(shù)據(jù)處理單元的數(shù)據(jù)集對應的適應度值確定各所述數(shù)據(jù)處理單元的選擇概率值;
根據(jù)各所述數(shù)據(jù)處理單元的選擇概率值從各所述數(shù)據(jù)處理單元中選擇用于交叉處理的數(shù)組;
根據(jù)預設的算法對所述數(shù)組進行處理,以獲取最優(yōu)數(shù)據(jù)組合。
優(yōu)選地,在根據(jù)與各所述數(shù)據(jù)處理單元中的數(shù)據(jù)集所對應的適應度值確定與各所述數(shù)據(jù)處理單元對應的選擇概率值之前,還包括:
在所述數(shù)據(jù)處理單元存儲所述數(shù)據(jù)集以及一個隨機生成的數(shù)組;
根據(jù)所述數(shù)據(jù)處理單元中的數(shù)據(jù)集生成與所述數(shù)據(jù)處理單元對應的適應度值。
優(yōu)選地,所述算法具體為遺傳算法,在根據(jù)預設的算法對所述數(shù)組進行處理之后,還包括:
判斷當前進程遺傳算法處理的次數(shù)是否超過預設的閾值,
若是,將所述遺傳算法處理后的數(shù)組作為最優(yōu)特征;
若否,根據(jù)各所述數(shù)據(jù)處理單元對應的選擇概率值從各所述數(shù)據(jù)處理單元中選擇用于交叉處理的數(shù)組。
優(yōu)選地,根據(jù)預設的算法對所述數(shù)組進行處理,具體為:
對所述數(shù)組進行交叉處理;
將進行交叉處理后的數(shù)組進行變異處理。
相應地,本申請還提出了一種數(shù)據(jù)處理設備,所述系統(tǒng)包括多個數(shù)據(jù)處理單元,還包括:
確定模塊,根據(jù)各所述數(shù)據(jù)處理單元的數(shù)據(jù)集對應的適應度值確定各所述數(shù)據(jù)處理單元的選擇概率值;
選擇模塊,根據(jù)各所述數(shù)據(jù)處理單元的選擇概率值從各所述數(shù)據(jù)處理單元中選擇用于交叉處理的數(shù)組;
處理模塊,根據(jù)預設的算法對所述數(shù)組進行處理,以獲取最優(yōu)數(shù)據(jù)組合。
優(yōu)選地,還包括:
生成模塊,在所述數(shù)據(jù)處理單元存儲所述數(shù)據(jù)集以及一個隨機生成的數(shù)組,并根據(jù)所述數(shù)據(jù)處理單元中的數(shù)據(jù)集生成與所述數(shù)據(jù)處理單元對應的適應度值。
優(yōu)選地,所述算法具體為遺傳算法,還包括:
判斷模塊,判斷當前進程遺傳算法處理的次數(shù)是否超過預設的閾值,
若是,所述判斷模塊將所述遺傳算法處理后的數(shù)組作為最優(yōu)特征;
若否,所述判斷模塊根據(jù)各所述數(shù)據(jù)處理單元對應的選擇概率值從各所述數(shù)據(jù)處理單元中選擇用于交叉處理的數(shù)組。
優(yōu)選地,所述處理模塊具體用于:
對所述數(shù)組進行交叉處理;
將進行交叉處理后的數(shù)組進行變異處理。
由此可見,通過應用本申請的技術方案,在根據(jù)與數(shù)據(jù)處理設備中的各數(shù)據(jù)處理單元中的數(shù)據(jù)集所對應的適應度值確定與各數(shù)據(jù)處理單元對應的選擇概率值之后,根據(jù)各數(shù)據(jù)處理單元對應的選擇概率值從各數(shù)據(jù)處理單元中選擇用于交叉處理的數(shù)組,隨后根據(jù)遺傳算法對數(shù)組進行處理。從而能夠針對海量數(shù)據(jù)集分布式實現(xiàn)每一步迭代過程,提高了數(shù)據(jù)處理效率。
附圖說明
圖1為本申請?zhí)岢龅囊环N數(shù)據(jù)處理方法的流程示意圖。
圖2為本申請具體實施例中進行遺傳算法處理的示意圖;
圖3為本申請具體實施例中進行特征選擇的轉換邏輯示意圖;
圖4為本申請所提出的一種數(shù)據(jù)處理設備的結構示意圖。
具體實施方式
如背景技術所述,在機器學習的實際應用中,特征數(shù)量往往較多,其中可能存在不相關的特征,特征之間也可能存在相互依賴,容易在導致訓練時間過長的同時使得模型無法生成準確的處理結果。然而傳統(tǒng)的特征選擇過程需要在p個變量中嘗試2^p種組合,并對每一種組合進行建模以尋找最優(yōu)模型(擁有最佳AUC、BIC或R^2等指標的模型)。在面對海量數(shù)據(jù)的情況下,傳統(tǒng)的特征選擇算法往往效率過低,無法有效地對實際需要的特征數(shù)據(jù)進行篩選。
有鑒于上述技術問題,本申請所提出了一種數(shù)據(jù)處理方法,通過將待處理的數(shù)據(jù)劃分為數(shù)據(jù)集并分布于多個數(shù)據(jù)處理單元中,并將每一次建模以及計算指標的過程進行分布式處理,從而繞開了單個處理設備計算能力和存儲 能力的瓶頸,提高了數(shù)據(jù)處理效率。
如圖1所示,該方法應用于包括多個數(shù)據(jù)處理單元的數(shù)據(jù)處理設備中,包括以下步驟:
S101,根據(jù)各所述數(shù)據(jù)處理單元的數(shù)據(jù)集對應的適應度值確定各所述數(shù)據(jù)處理單元的選擇概率值。
遺傳算法是模仿自然界生物進化機制發(fā)展起來的隨機全局搜索和優(yōu)化方法,它借鑒了達爾文的進化論和孟德爾的遺傳學說;它能在搜索過程中自動獲取和積累有關搜索空間的知識,并自適應的控制搜索過程以求得最優(yōu)解。在遺傳算法中有一個重要的變量稱為適應度(適應度),其用于評價某個染色體的適應度,一般遺傳向著高適應度的方向進行繁殖,適應度高的染色體參與繁殖的機會更高,后代就會越多,適應度低的個體參與繁殖的機會比較少,后代越來越少。
因此,在本申請的技術方案中,基于各個數(shù)據(jù)處理單元中的數(shù)據(jù)集的適應度值確定與其對應的選擇概率值。由于各個數(shù)據(jù)處理單元被選中的概率與其適應度值值大小成正比,該選擇概率值為后續(xù)某個數(shù)據(jù)處理單元在當前所有的數(shù)據(jù)處理單元之間被選擇用于進行下一步處理的概率(各個數(shù)據(jù)處理單元被選中的概率與其適應度值大小成正比)。
由于適應度值可以通過計算適應度的函數(shù)結合具體的數(shù)值得到,因此在具體的實施例中,各個數(shù)據(jù)處理單元的適應度值的獲取方式以及類型都可以根據(jù)實際情況靈活進行設置,舉例來說,在傳統(tǒng)機器學習解決的建模問題中,回歸問題可以采用線性回歸、SVM回歸等方式進行建模,同時以BIC、RSE或regularizedR2等指標設定為適應度的值;對于分類問題可以采用邏輯回歸、決策樹等方式進行建模,同時以AUC、誤判率等指標設定為適應度的值;對 于聚類問題可以采用DBI、Modularity或Silhouette index等指標設定為適應度的值;對于排序問題可以采用MAP、NDCG或Kendall's Tau等指標設定為適應度的值,技術人員可在此基礎上進一步進行拓展,這些都屬于本申請的保護范圍。
如圖2所示,為本申請具體實施例中進行遺傳算法處理的示意圖,每一個計算機作為一個worker,每一個worker上存放著三個對象:數(shù)據(jù)集、計算適應度的函數(shù)、數(shù)組,其中數(shù)據(jù)集在每一個worker上均有一個拷貝用于建模,相應地,根據(jù)各個數(shù)組進行特征選擇的轉換邏輯如圖3所示。
S102,根據(jù)各所述數(shù)據(jù)處理單元的選擇概率值從各所述數(shù)據(jù)處理單元中選擇用于交叉處理的數(shù)組。
基于S101具體實施例中的示意圖,假設當前存在的數(shù)據(jù)處理單元的數(shù)量為n,每個數(shù)據(jù)處理單元xi的適應度值為f(xi),則該數(shù)據(jù)處理單元xi的選擇概率如下:
基于上述選擇概率,假設初始時存在A、B、C、D等4個數(shù)據(jù)處理單元,他們的適應度值值分別為4、3、2、1。那么當選擇用于進行后續(xù)處理的最優(yōu)化數(shù)據(jù)組合的時候,有0.4的概率選擇數(shù)據(jù)處理單元A、0.3的概率選擇數(shù)據(jù)處理單元B、0.2的概率選擇數(shù)據(jù)處理單元C、0.1的概率選擇數(shù)據(jù)處理單元D。即后續(xù)用于處理的數(shù)據(jù)處理單元組合可能是A、A、B、D,也可能是B、C、D、B(只是概率會比較小)。
S103,根據(jù)預設的算法對所述數(shù)組進行處理,以獲取最優(yōu)數(shù)據(jù)組合。
在經(jīng)過S101以及S102完成新的種群生成后,該步驟即開始兩數(shù)組之間的交叉處理(Crossover)。特別地,在本申請的優(yōu)選實施例中,此處在分布式實現(xiàn)時約定奇數(shù)worker通知偶數(shù)worker進行交叉(若整體數(shù)量大小Population為奇數(shù),則最大的worker不產(chǎn)生Crossover),如worker1將它的數(shù)組發(fā)送給worker2,worker2將它的數(shù)組發(fā)送給worker1,在進入下一次處理前進行Crossover。
此外,為了進一步提高數(shù)據(jù)處理的準確性,在交叉(Crossover)結束之后在進入下一次處理之前開始變異(Mutation)處理,在本申請優(yōu)選的實施例中,首先對所述數(shù)組進行交叉處理,隨后將進行交叉處理后的數(shù)組進行變異處理。
這樣不斷重復以上過程n次,即完成n次處理的迭代后終止并輸出最佳的數(shù)組和適應度相關的信息。因此,在該步驟之后,本申請優(yōu)選實施例還將判斷當前進程遺傳算法處理的次數(shù)是否超過預設的閾值,若是則將所述遺傳算法處理后的數(shù)組作為最優(yōu)特征;若否則根據(jù)各所述數(shù)據(jù)處理單元對應的選擇概率值從各所述數(shù)據(jù)處理單元中選擇用于交叉處理的數(shù)組。
通過采用以上技術方案,可以在潛在的特征組合中逐次產(chǎn)生一個近似最優(yōu)解的方案,并在有限時間中從2p種特征組合中尋找到近似最優(yōu)的組合,從而在面對海量數(shù)據(jù)的情況下,能夠有效地從中選擇出獲取最優(yōu)數(shù)據(jù)組合,提高數(shù)據(jù)處理效率。
為了進一步闡述本申請的技術思想,現(xiàn)結合具體的應用場景,對本申請 的技術方案進行說明。遺傳算法在實際的工業(yè)應用中存在著非常多的應用,以下舉大數(shù)據(jù)指數(shù)基金為例來說明遺傳算法的應用。
大數(shù)據(jù)指數(shù)基金利用大數(shù)據(jù)的優(yōu)勢嘗試利用數(shù)據(jù)預測大盤、行業(yè)、企業(yè)的股價走勢,往往擁有超過一半經(jīng)驗性選股的優(yōu)勢。在利用已有數(shù)據(jù)預測股價為機器學習中典型的回歸問題,即利用海量特征去嘗試預測一個連續(xù)變量的值,而當回歸問題面臨海量特征的時候,往往會由于噪聲特征而影響預測準確率,那么如何篩選出最重要的一部分特征即能夠減少運算量的同時保證高的準確率。
傳統(tǒng)的重要特征的選擇方法有IV、WOE、信息熵等,利用排名篩選出前10、前20進行預測,這樣能保證預測的準確率略有提升;那么如何尋找一組的特征組合,讓這樣的特征組合建出的模型具有全局最優(yōu)的準確率則是現(xiàn)有技術需要迫切解決的問題,保證全局最優(yōu)的一組特征組合能夠找到最佳的全局最優(yōu)準確率,即全局最優(yōu)的基金回報率。
在利用本申請的技術方案尋找全局最優(yōu)的一組特征組合的過程中,遺傳算法則具有低計算量、高準確率的優(yōu)勢,在大數(shù)據(jù)指數(shù)基金這個案例中,該具體實施例將數(shù)據(jù)集拆分成80%和20%,80%作為模型訓練,20%作為模型驗證;其中每選定一組特征,80%的數(shù)據(jù)集用于建模,目標變量為股價,20%的數(shù)據(jù)集用于預測并計算RMSE(均方根誤差,即適應度函數(shù));利用遺傳算法進行一代代演變的過程中,RMSE會越來越小,最終收斂到全局最優(yōu),那么此時即得到了最優(yōu)的那一組特征。
由此可見,當面臨的數(shù)據(jù)量大到無法利用單機去建模的時候,可基于本申請的數(shù)據(jù)處理方法選擇分布式集群進行迭代并尋找最優(yōu)特征組合的方法,從而能夠利用海量的數(shù)據(jù)尋找全局最優(yōu)的特征組合,進而得到高收益率的大 數(shù)據(jù)指數(shù)基金產(chǎn)品。
為達到以上技術目的,本申請還提出了一種數(shù)據(jù)處理設備,如圖4所示,所述系統(tǒng)包括多個數(shù)據(jù)處理單元,還包括:
確定模塊410,根據(jù)各所述數(shù)據(jù)處理單元的數(shù)據(jù)集對應的適應度值確定各所述數(shù)據(jù)處理單元的選擇概率值;
選擇模塊420,根據(jù)各所述數(shù)據(jù)處理單元的選擇概率值從各所述數(shù)據(jù)處理單元中選擇用于交叉處理的數(shù)組;
處理模塊430,根據(jù)預設的算法對所述數(shù)組進行處理,以獲取最優(yōu)數(shù)據(jù)組合。
在具體的應用場景中,還包括:
生成模塊,在所述數(shù)據(jù)處理單元存儲所述數(shù)據(jù)集以及一個隨機生成的數(shù)組,并根據(jù)所述數(shù)據(jù)處理單元中的數(shù)據(jù)集生成與所述數(shù)據(jù)處理單元對應的適應度值。
在具體的應用場景中,所述算法具體為遺傳算法,還包括:
判斷模塊,判斷當前進程遺傳算法處理的次數(shù)是否超過預設的閾值,
若是,所述判斷模塊將所述遺傳算法處理后的數(shù)組作為最優(yōu)特征;
若否,所述判斷模塊根據(jù)各所述數(shù)據(jù)處理單元對應的選擇概率值從各所述數(shù)據(jù)處理單元中選擇用于交叉處理的數(shù)組。
在具體的應用場景中,所述處理模塊具體用于:
對所述數(shù)組進行交叉處理;
將進行交叉處理后的數(shù)組進行變異處理。
通過以上的實施方式的描述,本領域的技術人員可以清楚地了解到本申請可以通過硬件實現(xiàn),也可以借助軟件加必要的通用硬件平臺的方式來實現(xiàn)?;谶@樣的理解,本申請的技術方案可以以軟件產(chǎn)品的形式體現(xiàn)出來,該軟件產(chǎn)品可以存儲在一個非易失性存儲介質(zhì)(可以是CD-ROM,U盤,移動硬盤等)中,包括若干指令用以使得一臺計算機設備(可以是個人計算機,服務器,或者網(wǎng)絡設備等)執(zhí)行本申請各個實施場景所述的方法。
本領域技術人員可以理解附圖只是一個優(yōu)選實施場景的示意圖,附圖中的模塊或流程并不一定是實施本申請所必須的。
本領域技術人員可以理解實施場景中的裝置中的模塊可以按照實施場景描述進行分布于實施場景的裝置中,也可以進行相應變化位于不同于本實施場景的一個或多個裝置中。上述實施場景的模塊可以合并為一個模塊,也可以進一步拆分成多個子模塊。
上述本申請序號僅僅為了描述,不代表實施場景的優(yōu)劣。
以上公開的僅為本申請的幾個具體實施場景,但是,本申請并非局限于此,任何本領域的技術人員能思之的變化都應落入本申請的保護范圍。