(54)一種基于交替乘子法的分布式大數(shù)據(jù)分類系統(tǒng)及方法
【專利摘要】本發(fā)明公開了一種基于交替乘子法的分布式大數(shù)據(jù)分類系統(tǒng)及方法,其系統(tǒng)包括采樣模塊、隨機特征映射模塊和分布式線性支持向量機模塊,其中:采樣模塊,對數(shù)據(jù)進行均勻無放回采樣;隨機特征映射模塊,實現(xiàn)訓(xùn)練數(shù)據(jù)和預(yù)測數(shù)據(jù)的隨機特征映射;分布式線性支持向量機模塊,通過將數(shù)據(jù)分成若干部分,每個部分作為一個子問題進行訓(xùn)練,在每個子問題上加上一致性約束,通過子問題和中心節(jié)點的通信,使得子問題解保持一致。與現(xiàn)有技術(shù)相比,在預(yù)測準確率相當?shù)那闆r下,本發(fā)明明顯快于傳統(tǒng)的支持向量機軟件LIBSVM,從而可以更高效的進行大數(shù)據(jù)的分類。
【專利說明】一種基于交替乘子法的分布式大數(shù)據(jù)分類系統(tǒng)及方法
【技術(shù)領(lǐng)域】
[0001] 本發(fā)明屬于大數(shù)據(jù)處理領(lǐng)域軟件,特別是涉及大規(guī)模數(shù)據(jù)的分布式支持向量分類 方法。
【背景技術(shù)】
[0002] 近年來,大數(shù)據(jù)的處理越來越成為學(xué)術(shù)界和工業(yè)界研究與生產(chǎn)的核心話題。大數(shù) 據(jù)處理涉及數(shù)據(jù)的產(chǎn)生、存儲、分析和處理等等。適當?shù)姆治鎏幚泶髷?shù)據(jù),得到相應(yīng)問題的 模式和規(guī)律,是大數(shù)據(jù)可以有效為生產(chǎn)生活服務(wù)的關(guān)鍵所在。眾多大數(shù)據(jù)分析方法中,機器 學(xué)習(xí)方法擁有堅實的理論基礎(chǔ),良好的實用表現(xiàn),越來越成為大數(shù)據(jù)分析處理的主要方法。
[0003] 本發(fā)明所涉及的技術(shù)包括:支持向量機、交替乘子法、MPI分布式通訊模型和隨機 特征。三種技術(shù)分別介紹如下:
[0004] 支持向量機是一種簡單高效的機器學(xué)習(xí)方法,特別是在分類問題上有良好的分類 效果和合理的誤差界。使用支持向量機進行大數(shù)據(jù)的分類分析,成為近年來大數(shù)據(jù)處理的 有效方法。支持向量機分為線性支持向量機和非線性支持向量機。分類速度上,線性支持 向量機的處理速度明顯快于非線性支持向量機;分類效果上,由于引入了核函數(shù),非線性支 持向量機擁有更好的分類效果。
[0005] 然而,支持向量機也存在一定的問題。支持向量機的訓(xùn)練過程需要很多計算資源 的支撐,比如足夠的內(nèi)存、足夠的CPU處理速度等。然而,當數(shù)據(jù)量增長到一定級別時,單機 上的內(nèi)存和CPU速度往往不能夠滿足支持向量機的要求。因此,將數(shù)據(jù)分散,進行分布式的 訓(xùn)練顯得越發(fā)的迫切。
[0006] 交替乘子法是一種分布式的優(yōu)化方法,該方法通過將優(yōu)化問題分為若干子問題, 使得每個子問題可以在不同計算機上進行運算,再在若干子問題之間添加一致性的約束, 通過分布式的通信模式,每個子問題和中心計算機進行信息交互,使得子問題上得到的解 保持一致??梢酝ㄟ^交替乘子法修改線性支持向量機,使之成為分布式的線性支持向量機。
[0007] MPI是一種分布式的通信模型。該模型實現(xiàn)了一對一、一對多、多對多等通信模式。 該模型有許多可靠的實現(xiàn)版本如MPICH、0penMPI等等。這些實現(xiàn)都對上述不同的通信模式 進行了實現(xiàn)。在軟件中使用MPI,可以實現(xiàn)分布式框架下不同計算機之間的高效通信。
[0008] 隨機特征是一種近似的核函數(shù)表示方法。通過將數(shù)據(jù)映射為隨機特征,再使用線 性支持向量機對數(shù)據(jù)進行分類,就可以將線性支持向量機的訓(xùn)練速度上的優(yōu)勢與非線性支 持向量機的分類效果上的優(yōu)勢結(jié)合在一起,達到又快又好地進行分類的目標。
[0009] 參考文獻:
[0010] l、Boyd S,Parikh N,Chu E,Peleato B,Eckstein J. Distributed optimization and statistical learning via the alternating direction method of multipliers. Foundations and Trends? in Machine Learning,2011,3(1) :1 - 122.
[0011] 2、Forero PA,Cano A,Giannakis GB. Consensus-based distributed support vector machines. Journal of Machine Learning Research,2010,11 :1663-1707.
[0012] 3λ Baza EG? Li FX, Sminchisescu C. Fourier kernel learning. In :Fitzgibbon A, Lazebnik S,Perona P,Sato Y,Schmid C eds. Proceedings of thel2th European Conference on Computer Vision. Berlin :Springer,2012. 459-473.
[0013] 4、Chitta R,Jin R,Jain AK. Efficient Kernel Clustering Using Random Fourier Features. In :Proceedings of IEEE12th International Conference on Data Mining. 2012. 161-170.
[0014] 5、Cortes C, Mohri M,Talwalkar A. On the Impact of Kernel Approximation on Learning Accuracy. In :Teh YW, Titterington M eds.Proceedings of the 13th International Conference on Artificial Intelligence and Statistics. 2010. 113-120.
【發(fā)明內(nèi)容】
[0015] 為了克服上述現(xiàn)有技術(shù),本發(fā)明提出了一種基于交替乘子法的分布式大數(shù)據(jù)分類 系統(tǒng)及方法,針對大數(shù)據(jù)實現(xiàn)了分布式求解支持向量機的有效途徑。
[0016] 本發(fā)明提出了一種基于交替乘子法的分布式大數(shù)據(jù)分類系統(tǒng),該系統(tǒng)包括采樣模 塊、隨機特征映射模塊和分布式線性支持向量機模塊,其中:
[0017] 采樣模塊,對數(shù)據(jù)進行均勻無放回采樣,即:將η個數(shù)據(jù)進行標號并且按照標號從 小到大排列到一標號數(shù)組中,對該標號數(shù)組做一個隨機的置換,將置換后的數(shù)組前1個作 為所采取的樣本;
[0018] 隨機特征映射模塊,實現(xiàn)訓(xùn)練數(shù)據(jù)和預(yù)測數(shù)據(jù)的隨機特征映射,即:輸入所 需的近似高斯核參數(shù)σ和需要進行特征映射的訓(xùn)練數(shù)據(jù)和預(yù)測數(shù)據(jù);從w的分布
【權(quán)利要求】
1. 一種基于交替乘子法的分布式大數(shù)據(jù)分類系統(tǒng),其特征在于,該系統(tǒng)包括采樣模塊、 隨機特征映射模塊和分布式線性支持向量機模塊,其中: 采樣模塊,對數(shù)據(jù)進行均勻無放回采樣,即:將η個數(shù)據(jù)進行標號并且按照標號從小到 大排列到一標號數(shù)組中,對該標號數(shù)組做一個隨機的置換,將置換后的數(shù)組前1個作為所 采取的樣本; 隨機特征映射模塊,實現(xiàn)訓(xùn)練數(shù)據(jù)和預(yù)測數(shù)據(jù)的隨機特征映射,即:輸入所需 的近似高斯核參數(shù)σ和需要進行特征映射的訓(xùn)練數(shù)據(jù)和預(yù)測數(shù)據(jù);從w的分布
中采樣出D個不同的{Wl. . . wD},將{Wl. . . wD}存入文本文件中;對 訓(xùn)練數(shù)據(jù)和預(yù)測數(shù)據(jù)用上述采樣出的{Wl. ..%}按照公式(1)進行隨機特征映射;
其中,《為所求向量,V表示w的轉(zhuǎn)置,X為原始樣本,將隨機特征映射后的結(jié)果存于文 本文件中; 分布式線性支持向量機模塊,通過將數(shù)據(jù)分成若干部分,每個部分作為一個子問題進 行訓(xùn)練,在每個子問題上加上一致性約束,通過子問題和中心節(jié)點的通信,使得子問題解保 持一致。
2. 如權(quán)利要求1所述的一種基于交替乘子法的分布式大數(shù)據(jù)分類系統(tǒng),其特征在于, 所述分布式線性支持向量機模塊具體包括以下處理: 步驟(1)、輸入所需的訓(xùn)練數(shù)據(jù)集,所需分塊數(shù); 步驟(2)、對于輸入的訓(xùn)練數(shù)據(jù)集,將數(shù)據(jù)集分割成m個數(shù)據(jù)塊; 步驟(3)、為每一塊數(shù)據(jù)分配一個進程,該m個進程分布在m臺計算機上執(zhí)行; 步驟(4)、輸入一個初始的模型%和對偶變量\的值。根據(jù)該輸入,每個進程對所分 得的數(shù)據(jù)塊使用任一支持向量機的訓(xùn)練方法進行訓(xùn)練; 步驟(5)、使用MPI提供的通信函數(shù),各個計算機將訓(xùn)練得到的結(jié)果發(fā)送給中心計算 機,中心計算機根據(jù)各個計算機訓(xùn)練得到的模型%的平均值計算出輔助變量z的值,并將 該值發(fā)送給各個計算機更新對偶變量的值; 步驟(6)、若算法達到收斂準則,則推出。否則,各個計算機利用步驟5)中的到的z和 入j作為下一步迭代的輸入轉(zhuǎn)上述步驟(4)。
3. -種基于交替乘子法的分布式大數(shù)據(jù)分類方法,其特征在于,該方法包括以下步 驟: 步驟一、對數(shù)據(jù)進行均勻無放回采樣,即:將η個數(shù)據(jù)進行標號并且按照標號從小到大 排列到一標號數(shù)組中,對該標號數(shù)組做一個隨機的置換,將置換后的數(shù)組前1個作為所采 取的樣本; 步驟二、實現(xiàn)訓(xùn)練數(shù)據(jù)和預(yù)測數(shù)據(jù)的隨機特征映射,即:輸入所需的近似高斯核參數(shù) σ和需要進行特征映射的訓(xùn)練數(shù)據(jù)和預(yù)測數(shù)據(jù);從w的分布e IT
中采 樣出D個不同的{Wi...Wd},將{Wi...Wd}存入文本文件中;對訓(xùn)練數(shù)據(jù)和預(yù)測數(shù)據(jù)用上述采 樣出的{Wl. . . %}按照公式(1)進行隨機特征映射;
其中,W為所求向量,WT表示W(wǎng)的轉(zhuǎn)置,X為原始樣本,將隨機特征映射后的結(jié)果存于文 本文件中; 步驟三、通過將數(shù)據(jù)分成若干部分,每個部分作為一個子問題進行訓(xùn)練,在每個子問題 上加上一致性約束,通過子問題和中心節(jié)點的通信,使得子問題解保持一致。
4.如權(quán)利要求1所述的一種基于交替乘子法的分布式大數(shù)據(jù)分類方法,其特征于,所 述步驟三還具體包括以下處理: 步驟(1)、輸入所需的訓(xùn)練數(shù)據(jù)集,所需分塊數(shù); 步驟(2)、對于輸入的訓(xùn)練數(shù)據(jù)集,將數(shù)據(jù)集分割成m個數(shù)據(jù)塊; 步驟(3)、為每一塊數(shù)據(jù)分配一個進程,該m個進程分布在m臺計算機上執(zhí)行; 步驟(4)、輸入一個初始的模型%和對偶變量\的值。根據(jù)該輸入,每個進程對所分 得的數(shù)據(jù)塊使用任一支持向量機的訓(xùn)練方法進行訓(xùn)練; 步驟(5)、使用MPI提供的通信函數(shù),各個計算機將訓(xùn)練得到的結(jié)果發(fā)送給中心計算 機,中心計算機根據(jù)各個計算機訓(xùn)練得到的模型%的平均值計算出輔助變量z的值,并將 該值發(fā)送給各個計算機更新對偶變量λ ^的值; 步驟(6)、若算法達到收斂準則,則推出。否則,各個計算機利用步驟5)中的到的ζ和 入j作為下一步迭代的輸入轉(zhuǎn)上述步驟(4)。
【文檔編號】G06F17/30GK104217022SQ201410498542
【公開日】2014年12月17日 申請日期:2014年9月25日 優(yōu)先權(quán)日:2014年9月25日
【發(fā)明者】廖士中, 李子達 申請人:天津大學(xué)