99999久久久久久亚洲,欧美人与禽猛交狂配,高清日韩av在线影院,一个人在线高清免费观看,啦啦啦在线视频免费观看www

熱線電話:13121318867

登錄
首頁精彩閱讀分布式機(jī)器學(xué)習(xí)——大數(shù)據(jù)帶來的新機(jī)遇
分布式機(jī)器學(xué)習(xí)——大數(shù)據(jù)帶來的新機(jī)遇
2015-02-28
收藏

一個(gè)新時(shí)代

起源

分布式機(jī)器學(xué)習(xí)是隨著“大數(shù)據(jù)”概念興起的。在有大數(shù)據(jù)之前,有很多研究工作為了讓機(jī)器學(xué)習(xí)算法更快,而利多多個(gè)處理器。這類工作通常稱為“并行計(jì)算”或者“并行機(jī)器學(xué)習(xí)”,其核心目標(biāo)是把計(jì)算任務(wù)拆解成多個(gè)小的任務(wù),分配到多個(gè)處理器上做計(jì)算。

分布式計(jì)算或者分布式機(jī)器學(xué)習(xí)除了要把計(jì)算任務(wù)分布到多個(gè)處理器上,更重要的是把數(shù)據(jù)(包括訓(xùn)練數(shù)據(jù)以及中間結(jié)果)分布開來。因?yàn)樵诖髷?shù)據(jù)時(shí)代,一臺(tái)機(jī)器的硬盤往往裝不下全部數(shù)據(jù),或者即使裝下了,也會(huì)受限于機(jī)器的I/O通道的帶寬,以至于訪問速度很慢。為了更大的存儲(chǔ)容量、吞吐量以及容錯(cuò)能力,我們都希望把數(shù)據(jù)分布在多臺(tái)計(jì)算機(jī)上。

那么什么樣的數(shù)據(jù)大到一臺(tái)機(jī)器甚至幾百臺(tái)機(jī)器的硬盤都裝不下呢?要知道,現(xiàn)在很多服務(wù)器的硬盤空間都是數(shù)TB的了!其實(shí)這樣的大數(shù)據(jù)有很多。比如搜索引擎要爬下很多很多的網(wǎng)頁,對(duì)其內(nèi)容做分析并建立索引。有多少網(wǎng)頁呢?這個(gè)數(shù)字很難估計(jì),因?yàn)檫@是隨時(shí)間變化的。

在Web 2.0出現(xiàn)之前,全球網(wǎng)頁數(shù)量的增長(zhǎng)相對(duì)穩(wěn)定,因?yàn)榫W(wǎng)頁都是專業(yè)人員編輯的。而由于各種Web 2.0工具幫助用戶建立自己的網(wǎng)頁,比如博客、甚至微博,所以網(wǎng)頁數(shù)量呈指數(shù)速度遞增。

另一種典型的大數(shù)據(jù)是電商網(wǎng)站上的用戶行為數(shù)據(jù)。比如在亞馬遜或者淘寶上,每天都很多用戶看到了很多推薦的商品,并且點(diǎn)擊了其中一些。這些用戶點(diǎn)擊推薦商品的行為會(huì)被亞馬遜和淘寶的服務(wù)器記錄下來,作為分布式機(jī)器學(xué)習(xí)系統(tǒng)的輸入。輸出是一個(gè)數(shù)學(xué)模型,可以預(yù)測(cè)一個(gè)用戶喜歡看到哪些商品,從而在下一次展示推薦商品的時(shí)候,多展示那些用戶喜歡的。

類似的,在互聯(lián)網(wǎng)廣告系統(tǒng)中,展示給用戶的廣告、以及用戶點(diǎn)擊的廣告也都會(huì)被記錄下來,作為機(jī)器學(xué)習(xí)系統(tǒng)的數(shù)據(jù),訓(xùn)練點(diǎn)擊率預(yù)估模型。在下一次展示推薦商品時(shí),這些模型會(huì)被用來預(yù)估每個(gè)商品如果被展示之后,有多大的概率被用戶點(diǎn)擊。其中預(yù)估點(diǎn)擊率高的商品,往往展示在預(yù)估點(diǎn)擊率低的商品之前,從而贏得實(shí)際上比較高的點(diǎn)擊率。

從上面的例子我們可以看出來,這些大數(shù)據(jù)之所以大,是因?yàn)樗鼈冇涗浀氖菙?shù)十億互聯(lián)網(wǎng)用戶的行為。而人們每天都會(huì)產(chǎn)生行為,以至于百度、阿里、騰訊、奇虎、搜狗這樣的公司的互聯(lián)網(wǎng)服務(wù)每天收集到很多很多塊硬盤才能裝下的數(shù)據(jù)。而且這些數(shù)據(jù)隨時(shí)間增加,永無止境。雖然對(duì)“大數(shù)據(jù)”的具體定義見人見智,但是互聯(lián)網(wǎng)用戶的行為數(shù)據(jù),毫無疑問地被公認(rèn)為大數(shù)據(jù)了。

價(jià)值

機(jī)器學(xué)習(xí)的應(yīng)用由來已久。大家可能還記得十幾年前IBM推出的語音識(shí)別和輸入系統(tǒng)ViaVoice。這個(gè)系統(tǒng)使用的聲學(xué)模型和語言模型是用人工收集整理和標(biāo)注的數(shù)據(jù)訓(xùn)練的。當(dāng)年因?yàn)镮BM財(cái)大氣粗,收集和整理了很多數(shù)據(jù),所以ViaVoice的識(shí)別準(zhǔn)確率在同類產(chǎn)品中遙遙領(lǐng)先。但是,ViaVoice很難保證能識(shí)別各種口音的人。所以IBM的工程師們?cè)O(shè)計(jì)了一個(gè)自動(dòng)適應(yīng)的功能——通過讓用戶標(biāo)注沒能正確識(shí)別的語音對(duì)應(yīng)的文本,ViaVoice可以針對(duì)主任的口音做特別的優(yōu)化。

今天,大家可以通過互聯(lián)網(wǎng)使用Google的語音識(shí)別系統(tǒng)。我們會(huì)發(fā)現(xiàn),不管使用者口音如何,Google的語音識(shí)別系統(tǒng)幾乎都能準(zhǔn)確識(shí)別,以至于幾乎不再需要“適應(yīng)主人的口音”。而且Google的系統(tǒng)支持的語言種類也更多。這其中的奧妙就在于“大數(shù)據(jù)”。

在Google發(fā)布語音識(shí)別引擎之前,先有語音搜索服務(wù)。在語音搜索服務(wù)之前,有一個(gè)打電話查詢的服務(wù)。實(shí)際上,正式這個(gè)電話服務(wù)收集了很多用戶的語音輸入。這部分?jǐn)?shù)據(jù)經(jīng)過人工標(biāo)注,稱為了訓(xùn)練語言模型和聲學(xué)模型的第一批數(shù)據(jù)。隨后發(fā)布的語音搜索收集了世界各地更多互聯(lián)網(wǎng)用戶的聲音,加上半自動(dòng)標(biāo)注系統(tǒng)的引入,訓(xùn)練數(shù)據(jù)大大豐富了。訓(xùn)練數(shù)據(jù)越多,能覆蓋的口音和語種越多,機(jī)器學(xué)習(xí)得到的模型的識(shí)別準(zhǔn)確率也就越高。

以至于當(dāng)Google發(fā)布語音識(shí)別引擎之初,識(shí)別率就遠(yuǎn)高于依賴人工標(biāo)注訓(xùn)練數(shù)據(jù)的IBM ViaVoice。隨著語音識(shí)別服務(wù)被很多手機(jī)應(yīng)用和桌面應(yīng)用使用,它能采集更多用戶的語音輸入,模型的準(zhǔn)確性會(huì)不斷得到提高。

從上面例子我們可以看出,因?yàn)榛ヂ?lián)網(wǎng)服務(wù)收集的數(shù)據(jù)是萬萬千千用戶的行為的體現(xiàn),而人類行為是人類智能的結(jié)果。

所以如果我們能設(shè)計(jì)分布式機(jī)器學(xué)習(xí)系統(tǒng),能從大數(shù)據(jù)中歸納規(guī)律,我們實(shí)際上就在歸納整個(gè)人類的知識(shí)庫。這個(gè)聽起來很神奇,實(shí)際上在上面的例子里,Google已經(jīng)做到了。在這一系列的最后一節(jié)里,我們會(huì)介紹我們開發(fā)的一個(gè)語義學(xué)習(xí)系統(tǒng),它從上千億條文本數(shù)據(jù)中,歸納漢語中上百萬的“語義”。隨后,只要用戶輸入任何一段文本,這個(gè)系統(tǒng)可以利用訓(xùn)練好的模型在一毫秒之內(nèi),理解文本中表達(dá)的“語義”。這個(gè)理解過程確保消除文本中的歧義,從而讓搜索引擎、廣告系統(tǒng)、推薦系統(tǒng)等應(yīng)用更好地理解用戶需求。

簡(jiǎn)言之,互聯(lián)網(wǎng)使得人類第一次有機(jī)會(huì)收集全人類的行為數(shù)據(jù)。從而為機(jī)器學(xué)習(xí)這一持續(xù)了數(shù)十年的研究方向提供了全新的機(jī)會(huì)——分布式機(jī)器學(xué)習(xí)——從互聯(lián)網(wǎng)數(shù)據(jù)中歸納這個(gè)人類的知識(shí),從而讓機(jī)器比任何一個(gè)個(gè)人都要“聰明”。

作者:火光搖曳

數(shù)據(jù)分析咨詢請(qǐng)掃描二維碼

若不方便掃碼,搜微信號(hào):CDAshujufenxi

數(shù)據(jù)分析師資訊
更多

OK
客服在線
立即咨詢
客服在線
立即咨詢
') } function initGt() { var handler = function (captchaObj) { captchaObj.appendTo('#captcha'); captchaObj.onReady(function () { $("#wait").hide(); }).onSuccess(function(){ $('.getcheckcode').removeClass('dis'); $('.getcheckcode').trigger('click'); }); window.captchaObj = captchaObj; }; $('#captcha').show(); $.ajax({ url: "/login/gtstart?t=" + (new Date()).getTime(), // 加隨機(jī)數(shù)防止緩存 type: "get", dataType: "json", success: function (data) { $('#text').hide(); $('#wait').show(); // 調(diào)用 initGeetest 進(jìn)行初始化 // 參數(shù)1:配置參數(shù) // 參數(shù)2:回調(diào),回調(diào)的第一個(gè)參數(shù)驗(yàn)證碼對(duì)象,之后可以使用它調(diào)用相應(yīng)的接口 initGeetest({ // 以下 4 個(gè)配置參數(shù)為必須,不能缺少 gt: data.gt, challenge: data.challenge, offline: !data.success, // 表示用戶后臺(tái)檢測(cè)極驗(yàn)服務(wù)器是否宕機(jī) new_captcha: data.new_captcha, // 用于宕機(jī)時(shí)表示是新驗(yàn)證碼的宕機(jī) product: "float", // 產(chǎn)品形式,包括:float,popup width: "280px", https: true // 更多配置參數(shù)說明請(qǐng)參見:http://docs.geetest.com/install/client/web-front/ }, handler); } }); } function codeCutdown() { if(_wait == 0){ //倒計(jì)時(shí)完成 $(".getcheckcode").removeClass('dis').html("重新獲取"); }else{ $(".getcheckcode").addClass('dis').html("重新獲取("+_wait+"s)"); _wait--; setTimeout(function () { codeCutdown(); },1000); } } function inputValidate(ele,telInput) { var oInput = ele; var inputVal = oInput.val(); var oType = ele.attr('data-type'); var oEtag = $('#etag').val(); var oErr = oInput.closest('.form_box').next('.err_txt'); var empTxt = '請(qǐng)輸入'+oInput.attr('placeholder')+'!'; var errTxt = '請(qǐng)輸入正確的'+oInput.attr('placeholder')+'!'; var pattern; if(inputVal==""){ if(!telInput){ errFun(oErr,empTxt); } return false; }else { switch (oType){ case 'login_mobile': pattern = /^1[3456789]\d{9}$/; if(inputVal.length==11) { $.ajax({ url: '/login/checkmobile', type: "post", dataType: "json", data: { mobile: inputVal, etag: oEtag, page_ur: window.location.href, page_referer: document.referrer }, success: function (data) { } }); } break; case 'login_yzm': pattern = /^\d{6}$/; break; } if(oType=='login_mobile'){ } if(!!validateFun(pattern,inputVal)){ errFun(oErr,'') if(telInput){ $('.getcheckcode').removeClass('dis'); } }else { if(!telInput) { errFun(oErr, errTxt); }else { $('.getcheckcode').addClass('dis'); } return false; } } return true; } function errFun(obj,msg) { obj.html(msg); if(msg==''){ $('.login_submit').removeClass('dis'); }else { $('.login_submit').addClass('dis'); } } function validateFun(pat,val) { return pat.test(val); }