亚洲免费av电影一区二区三区,日韩爱爱视频,51精品视频一区二区三区,91视频爱爱,日韩欧美在线播放视频,中文字幕少妇AV,亚洲电影中文字幕,久久久久亚洲av成人网址,久久综合视频网站,国产在线不卡免费播放

        ?

        分布式子空間局部鏈接隨機向量函數(shù)鏈接網(wǎng)絡(luò)

        2022-11-23 05:30:20于萬國袁鎮(zhèn)濠陳佳琪何玉林
        深圳大學學報(理工版) 2022年6期
        關(guān)鍵詞:模型

        于萬國,袁鎮(zhèn)濠,陳佳琪,何玉林

        1)河北民族師范學院數(shù)學與計算機科學學院,河北承德 067000;2)深圳大學計算機與軟件學院,廣東深圳 518060;3)人工智能與數(shù)字經(jīng)濟廣東省實驗室(深圳),廣東深圳 518107

        分類是機器學習領(lǐng)域的重要分支,神經(jīng)網(wǎng)絡(luò)模型在處理分類問題方面有著非常優(yōu)異的性能表現(xiàn).其中,應(yīng)用了隨機化技術(shù)的神經(jīng)網(wǎng)絡(luò)模型由于不需要反向傳播計算模型參數(shù),訓(xùn)練速度極快,深受學者們的關(guān)注.如今,基于隨機化技術(shù)的神經(jīng)網(wǎng)絡(luò)已經(jīng)發(fā)展出了幾種代表性結(jié)構(gòu),如隨機向量函數(shù)鏈接(random vector functional link,RVFL)網(wǎng)絡(luò)[1-3]、基于隨機權(quán)重的前饋神經(jīng)網(wǎng)絡(luò)[4]、極限學習機(extreme learning machines,ELM)[5-7]和局部鏈接的極限學習機(extreme learning machine with local connections,ELM-LC)[8]等.RVFL網(wǎng)絡(luò)結(jié)構(gòu)簡單、訓(xùn)練速度快且性能表現(xiàn)佳,而ELM-LC模型作為ELM模型的一種變體,將輸入層節(jié)點和隱藏層節(jié)點的全鏈接改為局部鏈接,獲得了更好的泛化能力.受到ELM-LC思想的啟發(fā),通過將無策略的局部鏈接方法改進為有理論支撐和有策略的局部鏈接方法,子空間局部鏈接RVFL(RVFL with subspace-based local connections,RVFL-SLC)網(wǎng)絡(luò)[9]突破了RVFL網(wǎng)絡(luò)模型的限制,獲得了比RVFL網(wǎng)絡(luò)、ELM和ELM-LC模型更高的測試精度.

        Apache Spark是Apache軟件基金會的一個熱門開源項目,是一個支持多語言的通用內(nèi)存并行計算框架,具有快速運行、簡單易用、高度通用等特點.Spark應(yīng)用程序由單個驅(qū)動器進程和多個執(zhí)行器進程組成,其中驅(qū)動器進程是Spark應(yīng)用程序的核心,主要進行任務(wù)的分發(fā)和任務(wù)信息的維護等,而執(zhí)行器進程主要負責實際的計算工作并在完成后通知驅(qū)動器進程.Spark框架的優(yōu)異特性吸引了越來越多的研究者從Hadoop框架轉(zhuǎn)向Spark框架,對于需要進行大量迭代計算的機器學習任務(wù)而言,基于內(nèi)存的Spark框架無疑比需要借用硬盤中轉(zhuǎn)的Hadoop框架更加快速[10].當前出現(xiàn)的并行隨機權(quán)網(wǎng)絡(luò)算法主要包括下面兩類:

        1)分布式ELM.為解決大數(shù)據(jù)背景下模型訓(xùn)練速度過慢的問題,學者們提出了很多精彩的解決方案.SUN等[11]基于分層對等網(wǎng)絡(luò)(peer to peer,P2P)提出一種在線ELM集成分類框架.不同于以P2P為切入點的算法改進,XIN等[12]通過對ELM算法本身進行分析,發(fā)現(xiàn)矩陣求廣義逆的過程可被分解且其本身計算開銷很大,進而提出一種基于mapReduce框架的新型分布式極限學習機.CHEN等[13]從數(shù)據(jù)集在集群中的分布式特性出發(fā),提出基于mapReduce的分布式算法,使用不同的分布式數(shù)據(jù)塊單獨訓(xùn)練ELM,并將隱藏層權(quán)重進行組合,最終得到一個完整的單隱藏層前饋神經(jīng)網(wǎng)絡(luò).鄧萬宇等[14]提出一種基于Spark框架的ELM并行算法,利用Spark平臺特有的彈性分布式數(shù)據(jù)集(resilient distributed dataset,RDD)數(shù)據(jù)結(jié)構(gòu)來封裝ELM訓(xùn)練過程中的多個矩陣,并在實現(xiàn)過程中利用RDD對應(yīng)的多個應(yīng)用程序界面(application program interface,API)實現(xiàn)ELM的隱藏層輸出矩陣求解和輸出矩陣求解并行化,提高了訓(xùn)練速度的同時還獲得了和單機訓(xùn)練ELM模型同等的精度.楊敏等[15]提出基于Spark平臺的自適應(yīng)差分進化極限學習機,針對差分進化算法的種群劃分機制進行并行化加速,將每個子種群封裝為RDD數(shù)據(jù)結(jié)構(gòu)的某個分區(qū),利用RDD可并行計算的特性,讓每個分區(qū)進行獨立并行進化,期間不斷用子種群中最優(yōu)的個體替換最差個體,實現(xiàn)并行優(yōu)化多個子種群,最終達到提高訓(xùn)練速度的目的.

        2)分布式RVFL.SCARDAPANE等[16]提出使用分散平均共識策略的分布式RVFL算法,能夠免除中央代理的協(xié)調(diào)得到一個通用的學習器模型.隨后,SCARDAPANE等[17]又提出基于乘法器交替方向方法的RVFL算法,解決了每個模式在多個代理中都用時的分布式學習問題.ROSATO等[18]提出一種基于有限精度算術(shù)的RVFL神經(jīng)網(wǎng)絡(luò)在線學習算法,并通過實驗證明這是一種基于遞歸算法的有效分布式方案.ZHAO等[19]基于交替方向乘子法(alternating direction method of multipliers,ADMM)提出一種全新的分布式RVFL,通過ADMM將全局問題分解為多個小的局部問題來實現(xiàn)并行化,從而達到加速算法運行速度的目的.XIE等[20]基于ADMM分布式RVFL網(wǎng)絡(luò)提出采用流形正則化的分布式半監(jiān)督學習算法,進一步擴大了分布式RVFL的適用范圍.

        與上述分布式ELM和RVFL分類模型一樣,RVFL-SLC模型也必須將數(shù)據(jù)全部載入內(nèi)存再進行計算才能完成訓(xùn)練.然而,單機的內(nèi)存十分有限,這意味著RVFL-SLC模型雖然可在中小數(shù)據(jù)集上很好地工作,但在大規(guī)模數(shù)據(jù)集上的訓(xùn)練速度難以被接受.更糟糕的是,當數(shù)據(jù)集超過一定規(guī)模后,單機內(nèi)存將無法裝載全部數(shù)據(jù)集,導(dǎo)致無法進行模型訓(xùn)練.為解決RVFL-SLC模型在大數(shù)據(jù)背景下訓(xùn)練效率低和泛化能力差的問題,本研究提出一種基于Spark框架和隨機樣本劃分技術(shù)的分布式RVFL-SLC(distributed RVFL-SLC,DRVFL-SLC)模型,并在8個大規(guī)模數(shù)據(jù)集上獲得了比單機版本更佳的精度和更快的訓(xùn)練速度.通過分析加速比、可擴展性以及規(guī)模增長性3個衡量分布式算法性能的指標,驗證了該模型的可行性和有效性.

        1 預(yù)備知識

        1.1 隨機樣本劃分

        隨機樣本劃分(random sample partition,RSP)是一種適用于大數(shù)據(jù)的分析模型,主要原理是利用與大數(shù)據(jù)的分布保持概率分布一致性的小數(shù)據(jù)塊(RSP數(shù)據(jù)塊)來估計大數(shù)據(jù)的統(tǒng)計特征[21].在RSP模型中,大數(shù)據(jù)被分為多個RSP數(shù)據(jù)塊,因此在執(zhí)行分類或者回歸任務(wù)時,不需對整個大數(shù)據(jù)進行運算,而只需對部分RSP數(shù)據(jù)塊進行處理就可獲得較準確的結(jié)果,從而大大減少了模型的計算量同時降低了對資源的要求,這在數(shù)據(jù)量劇增的今天有很強的實用性.

        1.2 Spark平臺

        首款流行的mapReduce框架利用多次map和reduce組合操作完成對大數(shù)據(jù)計算任務(wù)的求解,用戶需將目標任務(wù)分解為多個map和reduce操作.但實際中并非所有操作都能被很好地分解,這給使用者帶了不便.此外,mapReduce框架在運行過程中需借助磁盤作為中介,這無疑帶來了很多不必要的磁盤讀寫,延緩了任務(wù)的執(zhí)行.加州大學伯克利分校開發(fā)了一個基于內(nèi)存計算的分布式框架Spark.基于內(nèi)存計算設(shè)計的Spark比mapReduce更適用于迭代任務(wù),因為迭代任務(wù)往往會有大量數(shù)據(jù)需被重復(fù)使用,將數(shù)據(jù)緩存于內(nèi)存中會更便于多次重復(fù)讀取,減少無謂的磁盤讀寫,使任務(wù)完成更快速,如一些常見的機器學習算法就更適合使用Spark框架而非mapReduce框架[22].Spark框架自帶的一系列接口也可讓任務(wù)的設(shè)計不再拘泥于map和reduce操作,使用者可更加靈活和高效地利用讀框架.

        1.3 分布式文件系統(tǒng)

        Spark的文件存儲系統(tǒng)采用Hadoop分布式文件系統(tǒng)(Hadoop distributed file system,HDFS).HDFS因具有容錯性高、對硬件要求低且可保證較高的數(shù)據(jù)訪問吞吐量而流行[23].HDFS的設(shè)計基于master/slave結(jié)構(gòu),master角色由namenode擔任,主要存儲metadata,包括文件系統(tǒng)內(nèi)部的命名空間、client對文件的訪問權(quán)限以及保存文件的副本數(shù)、塊數(shù)和存儲的位置等.datanode作為HDFS設(shè)計中的slave角色,主要任務(wù)是完成client的讀寫文件操作和保存文件及其副本操作.每個文件會按照配置進行切塊,然后被namenode分配到相同或者不同的datanode中保存.為保證系統(tǒng)的容錯性,每個文件都會有相應(yīng)的副本,配合心跳機制,通過datanode周期性發(fā)送心跳包給namenode以表明其工作狀態(tài)是否良好,使文件能夠在部分datanode出現(xiàn)錯誤(如宕機)時,依然可正常讀寫.client在訪問文件時,需與namenode進行交互以獲取相應(yīng)文件信息,而具體文件的讀寫操作則需和datanode進行交互.

        1.4 RDD

        RDD是為了讓使用者可顯式保存中間結(jié)果到內(nèi)存中、控制數(shù)據(jù)集分區(qū)數(shù)以優(yōu)化并行效率,以及擁有完善成熟接口的一種抽象的數(shù)據(jù)集表達方式[24].RDD提出了基于粗粒度的轉(zhuǎn)換而非細粒度的轉(zhuǎn)換方式,具體來說就是通過記錄一系列transformation操作來生成或復(fù)現(xiàn)新的RDD,而非通過記錄真實的數(shù)據(jù)變動來改動數(shù)據(jù)集,此設(shè)計使得RDD擁有了高容錯性和高效率.在出現(xiàn)錯誤時,RDD只需重現(xiàn)已記錄的transformation操作即可.

        2 DRVFL-SLC的并行化設(shè)計

        DRVFL-SLC算法的并行化設(shè)計分為并行化訓(xùn)練模型和并行化測試模型兩部分.并行化訓(xùn)練模型主要是通過將大規(guī)模數(shù)據(jù)集劃分為多個和大規(guī)模數(shù)據(jù)集保持統(tǒng)計意義上分布一致的小數(shù)據(jù)集,然后利用RDD的分區(qū)并行計算特性,將大數(shù)據(jù)集作為1個RDD,每個小數(shù)據(jù)集作為該RDD的1個分區(qū),使RDD的分區(qū)數(shù)等于集成器的個數(shù),從而對RDD使用mapPartitions轉(zhuǎn)換算子創(chuàng)建多個任務(wù)進行集成器的并行訓(xùn)練.并行化測試模型主要有3種方法.

        1)在執(zhí)行器節(jié)點中訓(xùn)練得到最優(yōu)模型后,在同一個任務(wù)中進行測試.這種方法有3個問題:①需將測試集以廣播變量的形式傳送到所有節(jié)點中,而廣播將測試數(shù)據(jù)集從驅(qū)動器節(jié)點通過網(wǎng)絡(luò)發(fā)送到各個執(zhí)行器節(jié)點中,讓集群中所有節(jié)點都擁有測試數(shù)據(jù)集的只讀副本,而非每個執(zhí)行任務(wù)都進行1次測試數(shù)據(jù)集的傳送.這意味著需大量的網(wǎng)絡(luò)讀寫操作來完成測試數(shù)據(jù)集的廣播,然而大數(shù)據(jù)背景下的測試數(shù)據(jù)集十分龐大,這無疑會導(dǎo)致因為傳輸耗時過長而變相降低算法效率的缺陷.②這種方法因在單機上用整個測試數(shù)據(jù)集對單個模型進行測試,當數(shù)據(jù)集達到一定規(guī)模時,單機的內(nèi)存將因無法容納整個測試數(shù)據(jù)集導(dǎo)致測試無法完成.③進行模型測試時,并行的測試任務(wù)數(shù)僅為集成器數(shù)量,同時每個任務(wù)都使用整個測試數(shù)據(jù)集進行測試,結(jié)果令所有矩陣運算都集中在少數(shù)任務(wù)里,此時其他的內(nèi)核沒有分配到任務(wù),因此形成了少數(shù)內(nèi)核在運行,其他內(nèi)核空轉(zhuǎn)的情況,最終導(dǎo)致無法充分發(fā)揮多核系統(tǒng)的優(yōu)勢.

        2)在多個執(zhí)行器節(jié)點并行訓(xùn)練模型結(jié)束后,通過collect算子將模型收集到驅(qū)動器節(jié)點中進行集中測試.這種方法也有3個問題:①與第1種方法一樣,測試是在一個節(jié)點中進行,但該方法還需同時把模型都保存在內(nèi)存中,單機內(nèi)存限制了算法的通用性;②該方法同樣沒有很好地利用多核系統(tǒng)的優(yōu)勢,僅在單機上進行大規(guī)模的矩陣運算,導(dǎo)致算法效率大幅降低;③該方法需將多個最優(yōu)模型進行匯總,而匯總多個最優(yōu)模型的本質(zhì)是通過網(wǎng)絡(luò)將模型所有相關(guān)的參數(shù)傳輸?shù)津?qū)動器節(jié)點中然后重新組合,這將導(dǎo)致不可接受的傳輸耗時.

        3)在多個執(zhí)行器節(jié)點并行訓(xùn)練模型結(jié)束后,將模型收集到驅(qū)動器節(jié)點中,然后以廣播變量的形式將多個最優(yōu)模型的只讀副本傳輸?shù)郊褐兴泄?jié)點,最后在多個節(jié)點中以并行方式進行模型的測試,這也是DRVFL-SLC最終采用的方法.這種方法解決了上述許多問題.首先,這種方法避免了將龐大的測試數(shù)據(jù)集進行廣播,減少了極為耗時的大量網(wǎng)絡(luò)傳輸.其次,這種方法采用了并行的方式進行模型的測試.在將測試數(shù)據(jù)集上傳HDFS后,雖然有了默認的分區(qū)數(shù),但為了最大化并行效率,需調(diào)用repartition算子對測試數(shù)據(jù)集重新分區(qū).Spark的RDD進行寬依賴轉(zhuǎn)換時需進行洗牌操作,這會增加時間消耗,但也帶來可任意控制并行度和最大程度利用多核系統(tǒng)性能優(yōu)勢的好處.例如,在不考慮硬件的情況下,假設(shè)集成器個數(shù)為100,若訓(xùn)練后直接進行模型測試,則會有100個任務(wù)同時參與測試;若將測試數(shù)據(jù)集重新分區(qū)為1000個,則有1000個任務(wù)同時進行測試,效率提升10倍.另一方面,由于測試數(shù)據(jù)集被分為1000份,將100個大矩陣運算分為1000個小矩陣運算,極大地提升了測試速度.這種方法雖有諸多優(yōu)點,但還需解決如何高效地將模型匯總到驅(qū)動器節(jié)點中的問題.

        3 DRVFL-SLC的具體實現(xiàn)

        本研究針對RVFL-SLC提出一種新的優(yōu)化方案DRVFL-SLC,解決了傳輸模型耗時過長的痛點,進一步提升了RVFL-SLC的性能.RVFL-SLC主要有3個參數(shù)需要確定,其中,輸入層權(quán)重矩陣和隱藏層節(jié)點的偏置都通過生成符合給定概率分布的隨機數(shù)賦值,而輸出層權(quán)重矩陣通過計算得到.有了這3個參數(shù),就可以重構(gòu)模型并得到對應(yīng)的預(yù)測值.輸入層權(quán)重矩陣的維度與數(shù)據(jù)集的屬性數(shù)、屬性子空間個數(shù)以及每個屬性子空間的隱藏層節(jié)點數(shù)有關(guān);輸出層權(quán)重矩陣的維度與數(shù)據(jù)集的類別數(shù)、屬性子空間個數(shù)以及每個屬性子空間的隱藏層節(jié)點數(shù)有關(guān);隱藏層節(jié)點的偏置的維度與樣本數(shù)、屬性子空間個數(shù)以及每個屬性子空間的隱藏層節(jié)點數(shù)有關(guān).當處理大數(shù)據(jù)有監(jiān)督學習問題時,由于隱藏層節(jié)點的偏置的維度與樣本數(shù)有關(guān)聯(lián)性,隱藏層節(jié)點偏置的維度是影響傳輸時長的最大因素.分析RVFLSLC不難發(fā)現(xiàn),隱藏層節(jié)點的偏置的每一行都是相同的.因此,傳輸隱藏層節(jié)點的偏置時,僅需傳輸?shù)?行,然后在真正進行模型測試時根據(jù)第1行重新生成隱藏層節(jié)點的偏置.本研究通過此針對性優(yōu)化,消除了所有模型傳輸?shù)津?qū)動器節(jié)點的傳輸量與樣本數(shù)的相關(guān)性,令傳輸量只與數(shù)據(jù)集的屬性數(shù)、屬性子空間個數(shù)、每個屬性子空間的隱藏層節(jié)點數(shù),以及數(shù)據(jù)集的類別數(shù)相關(guān).在處理大數(shù)據(jù)有監(jiān)督學習問題時,樣本數(shù)遠大于其他參數(shù),所以這樣的優(yōu)化可顯著提升分布式算法的執(zhí)行效率.

        分布式環(huán)境下DRVFL-SLC算法的實現(xiàn)步驟如圖1至圖3.算法在Spark上的實現(xiàn)細節(jié)簡要描述為:

        圖1 DRVFL-SLC算法的具體實現(xiàn)步驟(算法1)Fig.1 DRVFL-SLC algorithm procedure.

        圖2 單個RVFL-SLC模型的訓(xùn)練算法(算法2)Fig.2 Training algorithm of single RVFL-SLC model.

        圖3 多個RVFL-SLC模型的測試算法(算法3)Fig.3 Testing algorithm of multiple RVFL-SLC models.

        1)在驅(qū)動器節(jié)點中以RDD形式讀取多個RSP數(shù)據(jù)塊,并將全部RSP數(shù)據(jù)塊進行組合得到TrainRDD,數(shù)據(jù)塊數(shù)量等于RDD分區(qū)數(shù)且等于集成器的個數(shù);

        2)對TrainRDD調(diào)用mapPartitions轉(zhuǎn)換算子,每個分區(qū)在各自的任務(wù)里進行單個RVFL-SLC的訓(xùn)練,對結(jié)果RDD調(diào)用collect執(zhí)行算子,待模型訓(xùn)練完畢后將多個最優(yōu)模型收集到驅(qū)動器節(jié)點備用;

        3)在驅(qū)動器節(jié)點中以RDD形式讀取整個測試數(shù)據(jù)集得到TestRDD,再針對TestRDD調(diào)用repartition操作,將TestRDD的分區(qū)數(shù)調(diào)整到適合的大小以便提升并行測試的效率;

        4)對TestRDD調(diào)用mapPartitions轉(zhuǎn)換算子,每個分區(qū)在各自的任務(wù)里進行多個最優(yōu)模型的測試,得到投票集成的預(yù)測結(jié)果后,調(diào)用collect執(zhí)行算子并將結(jié)果收集到驅(qū)動器節(jié)點中以計算預(yù)測精度.

        4 實驗驗證與結(jié)果分析

        4.1 實驗環(huán)境及數(shù)據(jù)

        本實驗環(huán)境是Spark集群且使用YARN調(diào)度器.其中,集群中擁有6個節(jié)點,每個節(jié)點的配置均相同.節(jié)點擁有2 Tbyte大小的外存,128 Gbyte的內(nèi)存,12核的CPU(Intel(R)Xeon(R)CPU E5-2630 v2@2.60 GHz).集群主要使用的軟件有Spark2.4.0+cdh6.3.1、HDFS3.0.0+cdh6.3.1、YARN3.0.0+cdh6.3.1和JDK1.8等,操作系統(tǒng)為Ubuntu 18.04.3 LTS.Spark集群包括1個master主節(jié)點和5個worker數(shù)據(jù)節(jié)點(主節(jié)點也是數(shù)據(jù)節(jié)點).實驗選用8個仿真數(shù)據(jù)集進行訓(xùn)練和測試,編號1#—8#,特征數(shù)皆為7,類別數(shù)依次為3、5、6、7、7、7、3和3,樣本數(shù)量依次為2×106、2×106、2×106、1×106、15×105、2×106、1×107和5×107個.其中,訓(xùn)練和測試數(shù)據(jù)集占比分別為70%和30%.這些數(shù)據(jù)集可以在百度盤“DRVFL-SLC數(shù)據(jù)集文件夾”(https://pan.baidu.com/s/1bNiuC7JuxDH8PzbuGUOHIQ)使用提取碼k98x下載.

        4.2 實驗結(jié)果及分析

        本研究從3個方面對DRVFL-SLC算法進行分析.首先,在6個不同的百萬級大規(guī)模數(shù)據(jù)集上比較RVFL-SLC算法和DRVFL-SLC算法各自的預(yù)測精度;其次,在8個不同的百萬級大規(guī)模數(shù)據(jù)集上對比分布式RVFL算法和DRVFL-SLC算法的預(yù)測精度;最后,通過在數(shù)據(jù)集的大小為10萬級的原始數(shù)據(jù)集、5倍于原始數(shù)據(jù)集、10倍于原始數(shù)據(jù)集、15倍于原始數(shù)據(jù)集和20倍于原始數(shù)據(jù)集上,計算加速比、可擴展性以及規(guī)模增長性3個常用的衡量并行算法優(yōu)劣的指標,對DRVFL-SLC算法進行評價.其中,正則化因子λ=0.001;通過選用一塊小數(shù)據(jù)集進行交叉驗證,獲得隱藏層節(jié)點個數(shù)L和隨機化權(quán)重區(qū)間的最優(yōu)值;獨立重復(fù)試驗次數(shù)I=10;集成器個數(shù)應(yīng)與數(shù)據(jù)集規(guī)模成正比,一般設(shè)置每個集成器負責的數(shù)據(jù)集占總數(shù)據(jù)集的1/10,本研究設(shè)集成器個數(shù)為110.

        圖4對比了在6個不同的百萬級大規(guī)模數(shù)據(jù)集(數(shù)據(jù)集1#—6#)上,在單機上使用大數(shù)據(jù)集訓(xùn)練單個RVFL-SLC模型和將大數(shù)據(jù)集分塊后訓(xùn)練多個模型并集成的DRVFL-SLC算法各自的預(yù)測精度.對于不同的數(shù)據(jù)集通過交叉驗證法選出最優(yōu)的參數(shù)對后進行訓(xùn)練.由圖4可見,直接在單機上對整個數(shù)據(jù)集訓(xùn)練RVFL-SLC模型獲得的預(yù)測精度,均比將大數(shù)據(jù)集分塊后訓(xùn)練多個模型的集成結(jié)果要差.其中,RVFL-SLC模型學習曲線的陰影部分對應(yīng)I次測試的“平均值±標準差”區(qū)域.

        圖4 在1#—6#數(shù)據(jù)集(對應(yīng)圖(a)—(f))上RVFL-SLC和DRVFL-SLC的測試精度Fig.4 The testing accuracies of RVFL-SLC blue curve and DRVFL-SLC red curve on datasets 1#—6#((a)-(f))respectively.

        圖5對比了在8個不同的百萬級大規(guī)模數(shù)據(jù)集(數(shù)據(jù)集1#—8#)上,分布式RVFL算法和DRVFLSLC算法的預(yù)測精度.由圖5可知,對于同樣的集群和同樣的數(shù)據(jù)集,分布式RVFL算法的預(yù)測精度均比DRVFL-SLC算法的低.其中,RVFL和RVFLSLC模型學習曲線的陰影部分對應(yīng)I次測試的“平均值±標準差”區(qū)域.

        圖5 在1#—8#數(shù)據(jù)集(對應(yīng)圖(a)—(h))上的并行RVFL和DRVFL-SLC的測試精度Fig.5 The testing accuracies of RVFL red curve and DRVFL-SLC blue curve on datasets 1#—6#((a)-(h))respectively.

        圖6展示了基于加速比(Speedup)、可擴展性(Scaleup)和規(guī)模增長性(Sizeup)評估DRVFL-SLC算法并行表現(xiàn).

        圖6 DRVFL-SLC算法的并行效果 (a)加速比;(b)可擴展性;(c)規(guī)模增長性Fig.6 The parallel performances of DRVFL-SLC.(a)Speedup,(b)Scaleup,and(c)Sizeup.

        Speedup指標用于計算當數(shù)據(jù)集大小不變,只增加機器個數(shù)時,算法可提供的計算加速效率.若該指標隨著機器個數(shù)的增加保持線性增長或趨于線性,則說明測試算法可很好地并行化從而提高計算速度.但在實踐中很難獲得真正的線性增長,因為機器數(shù)越多,意味著通過網(wǎng)絡(luò)傳輸?shù)臄?shù)據(jù)就越多,此時網(wǎng)絡(luò)讀寫的耗時占算法總耗時的比例就越高.此外,調(diào)度程序的策略、每個節(jié)點的運行情況,以及硬件設(shè)備的差異都會影響算法的耗時,所以多數(shù)情況下呈現(xiàn)近似線性增長的趨勢.為獲取DRVFLSLC算法的Speedup性能,分別在1核、并行5核、10核、15核和20核的條件下對算法耗時進行測量,數(shù)據(jù)集的大小為10萬級的原始數(shù)據(jù)集和分別5倍、10倍、15倍、20倍于原始數(shù)據(jù)集,結(jié)果如圖6(a).由圖6(a)可見,隨著核數(shù)增加,DRVFL-SLC算法的Speedup逐漸增加;隨著數(shù)據(jù)集大小的增加,DRVFL-SLC算法的Speedup曲線逐漸趨于近似線性.可見,增大數(shù)據(jù)集的規(guī)模和增加計算的核數(shù)都可提高DRVFL-SLC算法的Speedup.

        Scaleup指標用于計算當數(shù)據(jù)集規(guī)模隨著集群規(guī)模增大時,算法對于數(shù)據(jù)集大小的適應(yīng)性.若指標隨著參與計算的并行核數(shù)增多而降低,則意味著測試算法對于數(shù)據(jù)集的大小擁有良好的適應(yīng)性,可很好地提高大數(shù)據(jù)的并行計算速度.為測量DRVFL-SLC算法的Scaleup,分別在1核及原始數(shù)據(jù)集大小、5核及5倍于原始數(shù)據(jù)集大小、10核及10倍于原始數(shù)據(jù)集大小、15核及15倍于原始數(shù)據(jù)集大小和20核及20倍于原始數(shù)據(jù)集大小的條件下運行算法,結(jié)果如圖3(b).由圖3(b)所示,隨著數(shù)據(jù)集和核數(shù)的同時增大,Scaleup逐漸減少且其減速越來越小,表明DRVFL-SLC算法擁有良好的適應(yīng)數(shù)據(jù)集大小變化的能力.

        Sizeup指標用于計算當集群規(guī)模不變時,數(shù)據(jù)集規(guī)模成倍數(shù)增加所花費的時間與原始數(shù)據(jù)集花費時間的比例.為測量DRVFL-SLC算法的Sizeup,分別在1核和并行5核、10核、15核、20核的條件下訓(xùn)練數(shù)據(jù)集大小為10萬級的原始數(shù)據(jù)集和分別5倍、10倍、15倍、20倍于原始數(shù)據(jù)集,結(jié)果如圖3(c).由圖3(c)可見,核數(shù)越高的曲線,其斜率越小,說明多核環(huán)境能夠更好地加快算法的計算速度.

        結(jié)語

        RVFL-SLC算法能解決回歸及分類問題,并通過實驗證明比RVFL、ELM、ELM-LC等算法的泛化性能更好,但如今數(shù)據(jù)集規(guī)模日益膨脹,訓(xùn)練速度日漸成為RVFL-SLC算法的瓶頸.本研究通過分解RVFL-SLC算法的運行步驟,同時結(jié)合Spark并行計算框架和隨機樣本劃分技術(shù),設(shè)計并實現(xiàn)了DRVFL-SLC算法,提高了大規(guī)模數(shù)據(jù)背景下RVFL-SLC算法的計算速度.通過實驗從3個方面對DRVFL-SLC算法的性能進行了評估.結(jié)果表明,DRVFL-SLC算法在預(yù)測精度上比單機上串行運行的RVFL-SLC算法更高.此外,DRVFL-SLC算法的運行效率也比串行的RVFL-SLC算法高出了數(shù)倍,并且高出的倍數(shù)隨著數(shù)據(jù)集規(guī)模的增大而增大,從而證明了DRVFL-SLC算法的有效性和可行性.未來將進一步改進DRVFL-SLC算法,提高其對計算機資源的利用效率,同時由于Spark的版本在持續(xù)更新,繼續(xù)推出更高性能的Spark優(yōu)化DRVFL-SLC算法.

        猜你喜歡
        模型
        一半模型
        一種去中心化的域名服務(wù)本地化模型
        適用于BDS-3 PPP的隨機模型
        提煉模型 突破難點
        函數(shù)模型及應(yīng)用
        p150Glued在帕金森病模型中的表達及分布
        函數(shù)模型及應(yīng)用
        重要模型『一線三等角』
        重尾非線性自回歸模型自加權(quán)M-估計的漸近分布
        3D打印中的模型分割與打包
        天堂麻豆精品在线观看| 亚洲日韩欧美国产另类综合| 熟妇无码AV| 亚洲精品精品日本日本| 刚出嫁新婚少妇很紧很爽| 色婷婷亚洲一区二区三区 | 无码人妻品一区二区三区精99| 女同中的p是什么意思| 吃奶还摸下面动态图gif| 成人国产永久福利看片| 在线亚洲精品免费视频| 日本a级片免费网站观看| 免费中文熟妇在线影片| 人妻久久999精品1024| 精品少妇一区二区三区四区| 中国一级特黄真人片久久| 亚洲人成网站18禁止久久影院| 亚洲国产精品嫩草影院久久| 日韩国产自拍成人在线| 激情综合五月开心婷婷| 欧美性猛交xxxx乱大交3| 亚洲AV无码一区二区三区ba| 日本免费三片在线播放| 色综合久久网| 熟妇人妻av无码一区二区三区| 久久婷婷国产精品香蕉| 区一区二区三免费观看视频| 欧美老妇多毛xxxxx极瑞视频| 久久久久久av无码免费看大片| 少妇被粗大猛进进出出| 中文字字幕在线中文乱码解| 我把护士日出水了视频90分钟| 亚洲夜夜骑| 免费高清日本一区二区| 欧美白人战黑吊| 人妻影音先锋啪啪av资源| 亚洲国产日韩欧美高清片a| 亚洲精品一区二区在线免费观看 | 韩国无码av片在线观看网站 | 偷柏自拍亚洲综合在线| 欧美拍拍视频免费大全|