2019-01-29 映射約減 (map reduce)

大規(guī)模機(jī)器學(xué)習(xí)的方法稱為映射約減 (map reduce) 方法,相比于隨機(jī)梯度下降方法,映射化簡方法能夠處理更大規(guī)模的問題。

映射化簡的基本思想:將訓(xùn)練集劃分成幾個不同的子集,多臺計算機(jī)并行的處理我的訓(xùn)練數(shù)據(jù),每臺計算機(jī)將參與處理這的結(jié)果記成臨時變量。當(dāng)這些計算機(jī)全都完成了各自的工作,臨時變量收集到一起送到一個中心計算服務(wù)器。這臺服務(wù)器會將這些臨時變量合并起來(?j等于0的情況我們需要單獨處理 )負(fù)責(zé)對結(jié)果進(jìn)行匯總。

映射約減

特別的,如果沒有網(wǎng)絡(luò)延時,也不考慮通過網(wǎng)絡(luò)來回傳輸數(shù)據(jù)所消耗的時間,那么你可能可以得到4倍的加速。當(dāng)然 在實際工作中,因為網(wǎng)絡(luò)延時,數(shù)據(jù)匯總額外消耗時間以及其他的一些因素,你能得到的加速總是略小于4倍的。

如果你打算將映射化簡技術(shù)用于加速某個機(jī)器學(xué)習(xí)算法,訓(xùn)練樣本的求和可以考慮使用映射化簡技術(shù)來將算法并行化。某種高級優(yōu)化算法比如說LBFGS算法或者共軛梯度算法,邏輯回歸也適用。

映射化簡技術(shù)在多臺計算機(jī)上實現(xiàn)并行計算,也許是一個計算機(jī)集群,也許是一個數(shù)據(jù)中心中的多臺計算機(jī),有時即使我們只有一臺多核計算機(jī)。

映射化簡

在單臺計算機(jī)上使用映射化簡技術(shù)的一個優(yōu)勢在于不需要擔(dān)心網(wǎng)絡(luò)延時問題,因為所有的通訊所有的來回數(shù)據(jù)傳輸都發(fā)生在一臺計算機(jī)上,相比于使用數(shù)據(jù)中心的多臺計算機(jī),網(wǎng)絡(luò)延時的影響小了許多。關(guān)于在一臺多核計算機(jī)上的并行運算取決于你的編程實現(xiàn)細(xì)節(jié):1.使用了某個線性代數(shù)函數(shù)庫會自動利用多個核并行地完成線性代數(shù)運算2.?并不是每個函數(shù)庫都會自動并行,但如果你用了這樣一個函數(shù)庫,并且你有一個矢量化得很好的算法實現(xiàn),那么有時你只需要按照標(biāo)準(zhǔn)的矢量化方式實現(xiàn)機(jī)器學(xué)習(xí)算法,而不用管多核并行的問題,你的線性代數(shù)函數(shù)庫會自動幫助你完成多核并行的工作。因此這時你不需要使用映射化簡技術(shù)

優(yōu)秀的開源映射化簡實現(xiàn):Hadoop開源系統(tǒng)

映射化簡
多核計算
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

  • 關(guān)于Mongodb的全面總結(jié) MongoDB的內(nèi)部構(gòu)造《MongoDB The Definitive Guide》...
    中v中閱讀 32,306評論 2 89
  • 1. 如何理解“分布式”? 經(jīng)常聽到”分布式系統(tǒng)“,”分布式計算“,”分布式算法“。分布式的具體含義是什么?狹義的...
    java后端學(xué)習(xí)閱讀 7,080評論 0 2
  • http://geek.csdn.net/news/detail/210469http://www.36dsj.c...
    Albert陳凱閱讀 5,620評論 1 21
  • 調(diào)休,周六上班,有點冷清,在網(wǎng)上隨意轉(zhuǎn)轉(zhuǎn),看到個帖子,大意是問三十歲大概有多少存款,看完跟帖不免有些心虛。我拿出我...
    簡茉閱讀 343評論 0 1
  • 冬天剛剛過去,似未走遠(yuǎn) 看,它的足跡還在星空里 月亮斟滿美酒 醉倒了冬天,于是春天來了 我在如此慵懶的季節(jié)遇到你 ...
    一言爾閱讀 179評論 0 0

友情鏈接更多精彩內(nèi)容