欧美在线观看视频网站,亚洲熟妇色自偷自拍另类,啪啪伊人网,中文字幕第13亚洲另类,中文成人久久久久影院免费观看 ,精品人妻人人做人人爽,亚洲a视频

一種分布式機(jī)器學(xué)習(xí)方法和平臺(tái)與流程

文檔序號(hào):11458957閱讀:207來(lái)源:國(guó)知局
一種分布式機(jī)器學(xué)習(xí)方法和平臺(tái)與流程

本申請(qǐng)涉及計(jì)算機(jī)技術(shù),特別涉及一種分布式機(jī)器學(xué)習(xí)方法和平臺(tái)。



背景技術(shù):

大數(shù)據(jù)處理技術(shù)逐步發(fā)展,可以利用大數(shù)據(jù)構(gòu)建在業(yè)務(wù)上應(yīng)用的數(shù)據(jù)模型,并將該數(shù)據(jù)模型應(yīng)用于對(duì)業(yè)務(wù)結(jié)果的預(yù)測(cè)。當(dāng)數(shù)據(jù)量規(guī)模很小的時(shí)候,單臺(tái)計(jì)算機(jī)的運(yùn)算能力已足夠;但是當(dāng)數(shù)據(jù)量規(guī)模比較龐大的時(shí)候,就需要一個(gè)分布式的計(jì)算平臺(tái)進(jìn)行整套的建模過(guò)程。相關(guān)技術(shù)中,在分布式計(jì)算平臺(tái)進(jìn)行建模時(shí),可以將建模過(guò)程包括的多個(gè)功能模塊,分別部署在不同的設(shè)備上進(jìn)行計(jì)算處理,但是,在將各個(gè)功能模塊串接時(shí),由于模塊之間較為復(fù)雜的依賴(lài)關(guān)系,使得模塊串接不流暢,比如,手動(dòng)解析串聯(lián)各模塊,由此也使得數(shù)據(jù)處理的效率較低。



技術(shù)實(shí)現(xiàn)要素:

有鑒于此,本申請(qǐng)?zhí)峁┮环N分布式機(jī)器學(xué)習(xí)方法和平臺(tái),以提高數(shù)據(jù)處理的效率。

具體地,本申請(qǐng)是通過(guò)如下技術(shù)方案實(shí)現(xiàn)的:

第一方面,提供一種分布式機(jī)器學(xué)習(xí)平臺(tái),所述平臺(tái)包括:

邏輯構(gòu)架模塊,用于構(gòu)建數(shù)據(jù)處理任務(wù)的執(zhí)行邏輯,所述數(shù)據(jù)處理任務(wù)包括多個(gè)算法模塊,每個(gè)所述算法模塊包括:輸入部分、算法部分、輸出部分,且所述輸入部分和輸出部分具有相同的接口格式,以供所述多個(gè)算法模塊之間根據(jù)所述接口格式進(jìn)行串接;所述輸入部分包括本算法模塊與其他算 法模塊之間的依賴(lài)信息;

算法執(zhí)行模塊,用于根據(jù)所述邏輯架構(gòu)模塊構(gòu)建的執(zhí)行邏輯,分別執(zhí)行所述各個(gè)算法模塊,且根據(jù)所述算法模塊中的算法部分,調(diào)用資源層中的算法庫(kù)進(jìn)行運(yùn)算。

第二方面,提供一種分布式機(jī)器學(xué)習(xí)方法,包括:

根據(jù)構(gòu)建的數(shù)據(jù)處理任務(wù)的執(zhí)行邏輯,分別執(zhí)行所述數(shù)據(jù)處理任務(wù)中包括的多個(gè)算法模塊;每個(gè)所述算法模塊包括:輸入部分、算法部分、輸出部分,且所述輸入部分和輸出部分具有相同的接口格式;根據(jù)所述算法模塊中的算法部分,調(diào)用資源層中的算法庫(kù)進(jìn)行運(yùn)算;

根據(jù)所述算法模塊中的輸入部分包括的本算法模塊與其他算法模塊之間的依賴(lài)信息,以及所述接口格式,進(jìn)行所述多個(gè)算法模塊之間的串接。

本申請(qǐng)?zhí)峁┑姆植际綑C(jī)器學(xué)習(xí)方法和平臺(tái),通過(guò)將建模過(guò)程包括的多個(gè)算法模塊,分別部署在不同的設(shè)備上進(jìn)行計(jì)算處理,并且,各個(gè)算法模塊可以通過(guò)相同的接口格式,實(shí)現(xiàn)流暢的串接,從而提高了數(shù)據(jù)處理的效率,在應(yīng)用分布式機(jī)器學(xué)習(xí)平臺(tái)建模的例子中,提高了建模效率。

附圖說(shuō)明

圖1是本申請(qǐng)一示例性實(shí)施例示出的一種分布式機(jī)器學(xué)習(xí)平臺(tái)的框架;

圖2是本申請(qǐng)一示例性實(shí)施例示出的一種算法模塊的結(jié)構(gòu)設(shè)計(jì);

圖3是本申請(qǐng)一示例性實(shí)施例示出的算法模塊的串接示意圖;

圖4是本申請(qǐng)一示例性實(shí)施例示出的一種分布式機(jī)器學(xué)習(xí)方法的流程圖。

具體實(shí)施方式

這里將詳細(xì)地對(duì)示例性實(shí)施例進(jìn)行說(shuō)明,其示例表示在附圖中。下面的描述涉及附圖時(shí),除非另有表示,不同附圖中的相同數(shù)字表示相同或相似的要素。以下示例性實(shí)施例中所描述的實(shí)施方式并不代表與本申請(qǐng)相一致的所有實(shí)施方式。相反,它們僅是與如所附權(quán)利要求書(shū)中所詳述的、本申請(qǐng)的一 些方面相一致的裝置和方法的例子。

本申請(qǐng)實(shí)施例提供了一種分布式機(jī)器學(xué)習(xí)平臺(tái),數(shù)據(jù)挖掘師可以使用該平臺(tái)執(zhí)行數(shù)據(jù)處理任務(wù),例如,該數(shù)據(jù)處理任務(wù)可以是根據(jù)獲取到的數(shù)據(jù)建立預(yù)測(cè)模型,并評(píng)估該預(yù)測(cè)模型的準(zhǔn)確率。

圖1示例了該分布式機(jī)器學(xué)習(xí)平臺(tái)的框架,如圖1所示,該平臺(tái)包括邏輯構(gòu)架模塊11、算法執(zhí)行模塊12和資源層13。其中,在執(zhí)行數(shù)據(jù)處理任務(wù)時(shí),比如構(gòu)建模型的過(guò)程中,將使用到各種算法,資源層13作為底層支撐,可以集成多種算法庫(kù),例如圖1中示例的,r、python等單機(jī)版算法庫(kù),還有hadoop、odps、spark等分布式算法庫(kù),此外,還可以包括mllib、mahout、xlib等其他算法庫(kù),不再一一列舉顯示在圖1中。

上述的資源層13相當(dāng)于執(zhí)行數(shù)據(jù)處理任務(wù)的底層支撐,例如,建模過(guò)程中的數(shù)據(jù)處理、特征選擇、模型訓(xùn)練等都將使用到各種各樣的算法,將調(diào)用資源層13中的算法庫(kù)執(zhí)行具體的處理。邏輯構(gòu)架模塊11用于構(gòu)建數(shù)據(jù)處理任務(wù)的執(zhí)行邏輯,例如,該數(shù)據(jù)處理任務(wù)可以包括多個(gè)算法模塊,參見(jiàn)圖1的示例,該分布式機(jī)器學(xué)習(xí)平臺(tái)可以在邏輯構(gòu)架模塊11構(gòu)建dag(directedacyclicgraph,有向無(wú)環(huán)圖)執(zhí)行邏輯,該dag執(zhí)行邏輯可以表示數(shù)據(jù)處理任務(wù)的各個(gè)算法模塊之間的調(diào)用關(guān)系。

圖1示意了算法模塊之間的dag邏輯,例如,算法模塊1可以是對(duì)原始采集數(shù)據(jù)進(jìn)行數(shù)據(jù)處理的模塊,算法模塊2可以是在對(duì)原始數(shù)據(jù)處理后進(jìn)行特征分析的模塊,可以進(jìn)行特征選擇或特征降維等,算法模塊3可以是根據(jù)算法模塊2得到的特征進(jìn)行模型訓(xùn)練獲得模型的模塊,而算法模塊n可以是對(duì)訓(xùn)練得到的模型進(jìn)行效果預(yù)測(cè)的模塊。上述例子僅是示意,實(shí)際應(yīng)用中可以按照數(shù)據(jù)處理任務(wù)的特點(diǎn)劃分多個(gè)算法模塊,并通過(guò)搭建dag圖表示該任務(wù)的執(zhí)行過(guò)程。

算法執(zhí)行模塊12可以根據(jù)邏輯構(gòu)架模塊11構(gòu)建的執(zhí)行邏輯,分別執(zhí)行各個(gè)算法模塊,在執(zhí)行算法模塊時(shí)可以是通過(guò)調(diào)用資源層13中的算法庫(kù)進(jìn)行運(yùn)算。本例子中,資源層13中包括單機(jī)版算法庫(kù)和分布式算法庫(kù),盡可能的 使得資源層13中包括較為全面的多種類(lèi)型的算法庫(kù),算法執(zhí)行模塊12在執(zhí)行某個(gè)算法模塊時(shí),可以根據(jù)本次處理的數(shù)據(jù)量大小、對(duì)算法的準(zhǔn)確性要求等因素,在資源層13中選擇調(diào)用合適的算法庫(kù)執(zhí)行。比如,圖1中示例了對(duì)于其中一個(gè)在邏輯構(gòu)架模塊11構(gòu)建的算法模塊,算法執(zhí)行模塊12可以從資源層13中的hadoop、odps和spark中選擇一個(gè)算法庫(kù)執(zhí)行運(yùn)算。

通過(guò)上述的描述,可以了解本例子的分布式機(jī)器學(xué)習(xí)平臺(tái)的大體架構(gòu),即,邏輯構(gòu)架模塊11可以搭建數(shù)據(jù)處理任務(wù)的dag執(zhí)行邏輯,表示出該數(shù)據(jù)處理任務(wù)包括的各個(gè)算法模塊及其相互關(guān)系,而算法執(zhí)行模塊12可以根據(jù)邏輯構(gòu)架模塊11構(gòu)建的執(zhí)行邏輯,調(diào)用資源層13中的算法庫(kù)執(zhí)行各個(gè)算法模塊。其中,本實(shí)施例中,將各個(gè)算法模塊設(shè)計(jì)為統(tǒng)一的結(jié)構(gòu)格式,以方便模塊之間的串接和分布式部署。

圖2示例了一個(gè)算法模塊的結(jié)構(gòu)設(shè)計(jì),如圖2所示,每個(gè)算法模塊可以包括:輸入部分21、算法部分22和輸出部分23。輸入部分21(input)作為算法部分(algorithm)的輸入,輸出部分23(output)作為算法部分的輸出,該輸入和輸出具有相同的接口格式,其信息類(lèi)型可以是如下三種的至少之一:數(shù)據(jù)(data)、模型(model)或結(jié)果(evaluation)。例如,數(shù)據(jù)可以是采樣的數(shù)據(jù)、拆分后的數(shù)據(jù)等,模型可以是根據(jù)數(shù)據(jù)訓(xùn)練得到的某個(gè)模型,結(jié)果可以是根據(jù)模型預(yù)測(cè)得到的結(jié)果。

輸入部分21還可以包括本算法模塊與其他算法模塊之間的依賴(lài)信息,例如,可以使用算法模塊的模塊標(biāo)識(shí)表示所依賴(lài)的是哪個(gè)算法模塊,比如,本模塊依賴(lài)于上一個(gè)模塊的數(shù)據(jù)、模型或結(jié)果。輸入部分21所依賴(lài)的其他算法模塊的數(shù)量可以為至少一個(gè)。算法部分22用于表示使用何種算法對(duì)輸入數(shù)據(jù)21輸入的信息進(jìn)行處理。而輸出部分23可以用于闡述該算法模塊是否存在數(shù)據(jù)、模型或結(jié)果的產(chǎn)出。

如下通過(guò)一個(gè)例子,示意下算法模塊的結(jié)構(gòu)設(shè)計(jì):

上述的例子,對(duì)算法模塊的輸入部分inputs、算法部分algorithm以及輸出部分outputs都各自進(jìn)行了標(biāo)準(zhǔn)定義,每一個(gè)算法模塊都按照這種結(jié)構(gòu)進(jìn)行設(shè)計(jì)。例如,參見(jiàn)上面的例子中,輸入inputs部分,依賴(lài)于的算法模塊的taskid是‘10002’,并且,該算法模塊‘10002’的數(shù)據(jù)、模型和結(jié)果,都作為本算法模塊的輸入。再參見(jiàn)上述例子的輸出outputs部分,本算法模塊的輸出,包括數(shù)據(jù)和結(jié)果(true),沒(méi)有輸出模型(false)。本算法模塊的算法部分algorithm中,使用的算法稱(chēng)是邏輯回歸算法logisticregression。

此外,為了dag邏輯的清晰性,可以規(guī)定每個(gè)算法模塊只能產(chǎn)出唯一一個(gè)數(shù)據(jù)、模型或結(jié)果,但可以引入多個(gè)數(shù)據(jù)、模型或結(jié)果。例如,在上面的例子中,輸入部分inputs所依賴(lài)的算法模塊只有taskid為‘10002’的算法模塊,這個(gè)模塊的數(shù)據(jù)、模型和結(jié)果作為本算法模塊的輸入。在其他的應(yīng)用場(chǎng)景中,輸入部分inputs所依賴(lài)的算法模塊可以有更多個(gè)。

示例性的,如下示意一種多個(gè)輸入的例子,參見(jiàn)該例子的輸入部分inputs,本算法模塊的輸入依賴(lài)了三個(gè),包括taskid分別為‘10002’、‘10003’和‘10004’的三個(gè)算法模塊,將‘10002’輸出的數(shù)據(jù)data、‘10003’輸出的模型models以及‘10004’輸出的結(jié)果evaluations,均作為本算法模塊的輸入。當(dāng)然,實(shí)際應(yīng)用中還可以是其他場(chǎng)景,例如,輸入部分可以只有數(shù)據(jù)data和模型models,而沒(méi)有結(jié)果evaluations,不再詳舉。

本實(shí)施例中,還對(duì)各個(gè)算法模塊輸出的信息類(lèi)型也進(jìn)行統(tǒng)一定義,例如,對(duì)于數(shù)據(jù)data,可以將中間結(jié)果的數(shù)據(jù)暫存在本地或分布式系統(tǒng)上,使用一個(gè)schema文件即可在不同的算法模塊之間傳遞數(shù)據(jù)。對(duì)于模型models,可以用pmml(predictivemodelmarkuplanguage,預(yù)測(cè)模型標(biāo)記語(yǔ)言)表達(dá)模型參數(shù),pmml是一種事實(shí)標(biāo)準(zhǔn)語(yǔ)言,用于呈現(xiàn)數(shù)據(jù)挖掘模型,并且pmml可以用于不同的算法模塊之間共享預(yù)測(cè)分析模型。對(duì)于結(jié)果evaluations,可以使用json的形式存放模型評(píng)估的結(jié)果數(shù)據(jù),并且,該結(jié)果數(shù)據(jù)還可以進(jìn)行可視化展示。

可以看到,本申請(qǐng)將數(shù)據(jù)處理任務(wù)分成了多個(gè)獨(dú)立的算法模塊,并且這些算法模塊具有統(tǒng)一的接口格式,這種特點(diǎn)使得可以將這些算法模塊進(jìn)行分布式部署,并且該統(tǒng)一接口格式將用于方便各個(gè)算法模塊之間的流暢串接。例如,參見(jiàn)圖3的示例,該圖3示例了三個(gè)算法模塊g1、g2和g3,其中,g1輸出的數(shù)據(jù)和模型、以及g2輸出的數(shù)據(jù)和結(jié)果,都可以作為g3的輸入,而g3輸出的模型又可以作為其他模塊的輸入。在該過(guò)程中,g1、g2與g3的串接,由于g1(或g2)的輸出與g3的輸入具有相同的格式定義,都是數(shù)據(jù)、模型或結(jié)果,很容易實(shí)現(xiàn)模塊之間的串接,不會(huì)產(chǎn)生接口標(biāo)準(zhǔn)方面的沖突。因此,通過(guò)相同的接口格式,各模塊拼接即可組裝為一個(gè)完整的dag邏輯以供執(zhí)行。

在采用本例子的分布式機(jī)器學(xué)習(xí)平臺(tái)進(jìn)行建模時(shí),可以將建模過(guò)程包括的多個(gè)算法模塊,分別部署在不同的設(shè)備上進(jìn)行計(jì)算處理,并且,各個(gè)算法模塊可以通過(guò)相同的接口格式,實(shí)現(xiàn)流暢的串接,從而提高了數(shù)據(jù)處理的效率,在應(yīng)用分布式機(jī)器學(xué)習(xí)平臺(tái)建模的例子中,即提高了建模效率。

圖4示例了使用本申請(qǐng)的分布式機(jī)器學(xué)習(xí)平臺(tái)執(zhí)行的分布式機(jī)器學(xué)習(xí)方法,如圖4所示,該方法可以包括:

在步驟401中,根據(jù)構(gòu)建的數(shù)據(jù)處理任務(wù)的執(zhí)行邏輯,分別執(zhí)行所述數(shù)據(jù)處理任務(wù)中包括的多個(gè)算法模塊;每個(gè)所述算法模塊包括:輸入部分、算法部分、輸出部分,且所述輸入部分和輸出部分具有相同的接口格式;根據(jù)所述算法模塊中的算法部分,調(diào)用資源層中的算法庫(kù)進(jìn)行運(yùn)算。

在步驟402中,根據(jù)所述算法模塊中的輸入部分包括的本算法模塊與其他算法模塊之間的依賴(lài)信息,以及所述接口格式,進(jìn)行所述多個(gè)算法模塊之間的串接。

上述的401和402的執(zhí)行順序并不限制,例如,分布式機(jī)器學(xué)習(xí)平臺(tái)可以一邊執(zhí)行dag邏輯中的算法模塊,一邊將各個(gè)算法模塊進(jìn)行串接。此外,在根據(jù)算法模塊進(jìn)行算法庫(kù)的調(diào)用時(shí),可以是根據(jù)算法模塊中的算法部分algorithm,調(diào)用資源層中的算法庫(kù)進(jìn)行運(yùn)算。并且,本實(shí)施例的機(jī)器學(xué)習(xí)平臺(tái)可以將分布在不同位置的同一算法進(jìn)行封裝,并根據(jù)數(shù)據(jù)量、算法運(yùn)算要求等因素,選擇合適的算法庫(kù)執(zhí)行algorithm的運(yùn)算。

例如,邏輯回歸算法logisticregression的訓(xùn)練模塊在r、python中均有提供單機(jī)版算法庫(kù),同時(shí)在mahout、mllib上也存在分布式算法庫(kù),但是無(wú)論是單機(jī)版還是分布式算法庫(kù),算法本身的參數(shù)并無(wú)太大差異,本例子的機(jī)器學(xué)習(xí)平臺(tái)可以將這些算法庫(kù)進(jìn)行統(tǒng)一封裝。并且,平臺(tái)的算法執(zhí)行模塊可以根據(jù)數(shù)據(jù)量大小、算法的穩(wěn)定性、準(zhǔn)確性要求等因素,評(píng)估選擇合適的算法庫(kù)運(yùn)行。例如,如果數(shù)據(jù)量較小,可以選擇單機(jī)版算法庫(kù),數(shù)據(jù)量較大時(shí),可以選擇分布式算法庫(kù)以提高處理速度。

此外,數(shù)據(jù)處理任務(wù)中使用到的算法類(lèi)型可以有多種,例如,數(shù)據(jù)處理 方面的算法、特征工程方面的算法、模型訓(xùn)練評(píng)估方面的算法。在數(shù)據(jù)處理方面,可以進(jìn)行數(shù)據(jù)采樣處理、數(shù)據(jù)拆分處理、缺失值處理等,在特征工程方面,可以進(jìn)行特征重要性計(jì)算、特征交叉計(jì)算、特征離散化處理、特征選擇等,在模型訓(xùn)練評(píng)估方面,可以進(jìn)行模型訓(xùn)練、模型參數(shù)表達(dá)的pmml智能組裝、模型的預(yù)測(cè)和評(píng)估、模型參數(shù)的智能尋優(yōu)等。

本申請(qǐng)實(shí)施例的分布式機(jī)器學(xué)習(xí)平臺(tái),可以實(shí)現(xiàn)多種算法庫(kù)的共享,盡可能包括較為全面的多種算法庫(kù);還可以構(gòu)建dag邏輯清晰的表達(dá)模型的建模過(guò)程以及各個(gè)算法模塊的關(guān)聯(lián);并且,通過(guò)設(shè)計(jì)統(tǒng)一的算法模塊接口格式,使得各個(gè)算法模塊既可以相對(duì)獨(dú)立的分布式部署,又可以保證模塊之間的順暢串接,從而提高數(shù)據(jù)處理效率。

以上所述僅為本申請(qǐng)的較佳實(shí)施例而已,并不用以限制本申請(qǐng),凡在本申請(qǐng)的精神和原則之內(nèi),所做的任何修改、等同替換、改進(jìn)等,均應(yīng)包含在本申請(qǐng)保護(hù)的范圍之內(nèi)。

當(dāng)前第1頁(yè)1 2 
網(wǎng)友詢(xún)問(wèn)留言 已有0條留言
  • 還沒(méi)有人留言評(píng)論。精彩留言會(huì)獲得點(diǎn)贊!
1
盱眙县| 常德市| 重庆市| 武冈市| 梁山县| 凤城市| 博白县| 磐安县| 德清县| 聊城市| 神农架林区| 灵璧县| 婺源县| 精河县| 庆城县| 澜沧| 昭苏县| 平乐县| 沁水县| 昌黎县| 奉化市| 古蔺县| 远安县| 吴川市| 丘北县| 思南县| 将乐县| 鄂伦春自治旗| 巴东县| 普格县| 阿克陶县| 安顺市| 安塞县| 芒康县| 罗田县| 惠州市| 昌邑市| 综艺| 平定县| 兴海县| 苏尼特左旗|