大數(shù)據(jù)微課回顧佘偉領(lǐng)域大數(shù)據(jù)科學(xué)家,抽象與聚焦的完美結(jié)合_第1頁(yè)
大數(shù)據(jù)微課回顧佘偉領(lǐng)域大數(shù)據(jù)科學(xué)家,抽象與聚焦的完美結(jié)合_第2頁(yè)
大數(shù)據(jù)微課回顧佘偉領(lǐng)域大數(shù)據(jù)科學(xué)家,抽象與聚焦的完美結(jié)合_第3頁(yè)
大數(shù)據(jù)微課回顧佘偉領(lǐng)域大數(shù)據(jù)科學(xué)家,抽象與聚焦的完美結(jié)合_第4頁(yè)
大數(shù)據(jù)微課回顧佘偉領(lǐng)域大數(shù)據(jù)科學(xué)家,抽象與聚焦的完美結(jié)合_第5頁(yè)
已閱讀5頁(yè),還剩14頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡(jiǎn)介

1、【大數(shù)據(jù)微課回顧】佘偉:領(lǐng)域大數(shù)據(jù)科學(xué)家,抽象與聚焦 的完美結(jié)合佘偉明略數(shù)據(jù)技術(shù)合伙人 兼研究院執(zhí)行院長(zhǎng)今天的題目是領(lǐng)域大數(shù)據(jù)科學(xué)家抽 象與聚焦的完美結(jié)合。今天的 topic 將分為 3 個(gè)部分,第一 部分是領(lǐng)域大數(shù)據(jù)科學(xué)家的介紹,第二部分是明略的 DataInsight 產(chǎn)品實(shí)現(xiàn)大數(shù)據(jù)挖掘的抽象,第三部分是明略在 具體領(lǐng)域中的一些應(yīng)用。 首先,我們來(lái)看第一個(gè)話題,領(lǐng)域大數(shù)據(jù)科學(xué)家。在介紹這 個(gè)話題之前,我們先來(lái)思考一個(gè)問題:為什么我們需要領(lǐng)域 大數(shù)據(jù)科學(xué)家。大家都知道,我們現(xiàn)在進(jìn)入了大數(shù)據(jù)時(shí)代。 大數(shù)據(jù)時(shí)代最突出的特點(diǎn)是數(shù)據(jù)膨脹。據(jù)預(yù)測(cè),全球的數(shù)據(jù) 量將會(huì)從 2013 年的 4.4ZB 膨脹

2、到 2020 年的 44ZB 。可見, 數(shù)據(jù)規(guī)模是以一個(gè)非常快的速度不斷增長(zhǎng)的。 大數(shù)據(jù)不僅僅體現(xiàn)在數(shù)據(jù)量的膨脹之上,當(dāng)數(shù)據(jù)變多時(shí),隨 之而來(lái)的是數(shù)據(jù)的類型也不斷增加。在傳統(tǒng)的數(shù)據(jù)庫(kù)中,往 往只有結(jié)構(gòu)化數(shù)據(jù),數(shù)據(jù)都非常的規(guī)整。但是到了大數(shù)據(jù)時(shí) 代,各種類型的數(shù)據(jù)層出不窮,例如文本數(shù)據(jù),圖片數(shù)據(jù), 音頻數(shù)據(jù),視頻數(shù)據(jù),甚至還有傳感器數(shù)據(jù)。這些都是一些 非結(jié)構(gòu)化的數(shù)據(jù)。數(shù)據(jù)類型的增多導(dǎo)致數(shù)據(jù)之間關(guān)系變得非 常復(fù)雜。大家都知道,兩個(gè)點(diǎn)之間只存在一條邊, 3 個(gè)點(diǎn)之間就有了 3條邊,而4個(gè)點(diǎn)之間就有了 6條邊。邊的增加是點(diǎn)的 n2 級(jí)別,所以當(dāng)數(shù)據(jù)類型增多之后,數(shù)據(jù)之間的關(guān)系也會(huì)越來(lái) 越復(fù)雜。數(shù)據(jù)量的

3、膨脹和數(shù)據(jù)類型的增多對(duì)大數(shù)據(jù)技術(shù)提出了非常 高的要求,但是同時(shí)也帶來(lái)了新的機(jī)遇,我們可以從這么豐 富的數(shù)據(jù)中去挖掘更多的價(jià)值,催生了新的業(yè)務(wù)。我們現(xiàn)在 的業(yè)務(wù)已經(jīng)從傳統(tǒng)的統(tǒng)計(jì)分析,報(bào)表展現(xiàn)變成了對(duì)個(gè)體進(jìn)行 分析,對(duì)未來(lái)進(jìn)行預(yù)測(cè)等新型的應(yīng)用。好,既然有了這么多的數(shù)據(jù),這么復(fù)雜的數(shù)據(jù)關(guān)系,我們就 需要有大數(shù)據(jù)處理技術(shù)。從 2006 年 Hadoop 誕生,或者更早 一些的 Google 三駕馬車的提出, 大數(shù)據(jù)的處理技術(shù)的發(fā)展已 經(jīng)超過 10 年了。目前的大數(shù)據(jù)處理技術(shù)已經(jīng)進(jìn)入到了一個(gè) 相對(duì)成熟的階段,我們已經(jīng)能夠非常好的對(duì)數(shù)據(jù)進(jìn)行整合、 存儲(chǔ)、計(jì)算、查詢和管理,相當(dāng)多的企業(yè)已經(jīng)構(gòu)建了大數(shù)據(jù) 平臺(tái)

4、。但是,有了大數(shù)據(jù)處理技術(shù)就夠了嗎?顯然是不夠的。新的 業(yè)務(wù)需要新的分析手段,我們必須對(duì)大數(shù)據(jù)進(jìn)行深度挖掘, 才能真正的從大數(shù)據(jù)中挖掘出對(duì)業(yè)務(wù)有幫助的價(jià)值。在大數(shù)據(jù)時(shí)代,數(shù)據(jù)挖掘是挖掘大數(shù)據(jù)挖掘的有利武器。但 是由于環(huán)境的變化,小數(shù)據(jù)時(shí)代的數(shù)據(jù)挖掘不一定適用于在 大數(shù)據(jù)時(shí)代,所以我們就必須去研究大數(shù)據(jù)時(shí)代的數(shù)據(jù)挖掘 技術(shù)。例如并行化、分布式數(shù)據(jù)挖掘技術(shù)。 最近科技界最火的事情莫過于 AlphaGO 和李世石的圍棋大 戰(zhàn),最后機(jī)器人 4:1 獲勝。在 AlphaGO 中,大量使用了深 度學(xué)習(xí)算法。我們堅(jiān)信,深度學(xué)習(xí)算法是未來(lái)大數(shù)據(jù)挖掘的 方向,所以明略也在投入力量加大這方面的研究工作。 此外,大

5、數(shù)據(jù)上的可視化技術(shù)也是我們需要深入研究的,如 何將數(shù)據(jù)更好的展現(xiàn)出來(lái),特別是將具有復(fù)雜關(guān)系的海量數(shù) 據(jù)直觀的呈現(xiàn)出來(lái),這是大數(shù)據(jù)挖掘需要考慮的另外一個(gè)話 題。 所以,我們需要大數(shù)據(jù)科學(xué)家,只有大數(shù)據(jù)科學(xué)家才能非常 好的幫助企業(yè)真正從數(shù)據(jù)中挖掘價(jià)值。那么,什么是大數(shù)據(jù) 科學(xué)家呢。我們先來(lái)看一幅圖。首先,我們的大數(shù)據(jù)科學(xué)家 必須有大數(shù)據(jù)的處理能力,這是和傳統(tǒng)的數(shù)據(jù)挖掘人員有很 大不同的。對(duì)于傳統(tǒng)的數(shù)據(jù)挖掘人員,他們的數(shù)據(jù)源往往都 非常單一,而且數(shù)據(jù)比較規(guī)整,數(shù)據(jù)質(zhì)量很高,在這種情況 下,只需要對(duì)數(shù)據(jù)簡(jiǎn)單數(shù)據(jù)即可。而大數(shù)據(jù)時(shí)代下,數(shù)據(jù)量 是海量的,數(shù)據(jù)源是眾多的,數(shù)據(jù)質(zhì)量是非常低的,因此, 大數(shù)據(jù)科

6、學(xué)家的首要任務(wù)是對(duì)大數(shù)據(jù)進(jìn)行處理,得到能夠用 來(lái)進(jìn)行建模的數(shù)據(jù)。 其次,大數(shù)據(jù)科學(xué)家必須有非常強(qiáng)的數(shù)據(jù)挖掘能力,這要求 他們有計(jì)算機(jī)、統(tǒng)計(jì)、機(jī)器學(xué)習(xí)、數(shù)學(xué)等方面的知識(shí),并且 有著非常豐富的實(shí)踐經(jīng)驗(yàn)。只有這樣,才能應(yīng)用大數(shù)據(jù)挖掘能力去建立模型,幫助企業(yè)實(shí)現(xiàn)大數(shù)據(jù)真正的落地。 有了大數(shù)據(jù)處理能力和大數(shù)據(jù)挖掘能力就是一位合格的大 數(shù)據(jù)科學(xué)家了嗎?并不是這樣。大數(shù)據(jù)科學(xué)家還需要的一項(xiàng) 素質(zhì)是領(lǐng)域業(yè)務(wù)知識(shí)。他們必須熟悉領(lǐng)域,數(shù)據(jù)業(yè)務(wù),這樣 才能有的放矢,真正的幫助客戶實(shí)現(xiàn)數(shù)據(jù)挖掘。 非常幸運(yùn),明略有著這樣一批大數(shù)據(jù)科學(xué)家。我們有多個(gè)開 源社區(qū)的 Contributor 和 Committer ,我們有豐

7、富的數(shù)據(jù)挖掘 經(jīng)驗(yàn),我們的數(shù)據(jù)科學(xué)家應(yīng)用大數(shù)據(jù)技術(shù)和數(shù)據(jù)挖掘技術(shù), 結(jié)合客戶的業(yè)務(wù)和數(shù)據(jù),建立模型,幫助用戶真正的從大數(shù) 據(jù)中挖掘出價(jià)值。大數(shù)據(jù)的核心在于挖掘大數(shù)據(jù)中的價(jià)值, 而大數(shù)據(jù)科學(xué)家正是去挖掘價(jià)值的人,因此在大數(shù)據(jù)時(shí)代, 大數(shù)據(jù)科學(xué)家的重要性不言而喻。 工欲善其事必先利其器,要真正的將大數(shù)據(jù)挖掘落地,我們 就必須有良好的工具來(lái)支撐。明略大數(shù)據(jù)挖掘平臺(tái) DataInsight 正是一款基于大數(shù)據(jù)的數(shù)據(jù)挖掘平臺(tái)。 在介紹 DataInsight 之前, 我們先來(lái)看看在企業(yè)中數(shù)據(jù)挖掘都 是怎么做的,以及有著哪些問題。左邊這個(gè)圖是1999 年提出的跨行業(yè)數(shù)據(jù)挖掘標(biāo)準(zhǔn)流程 ,在圖中定義了數(shù)據(jù)挖掘

8、 的 6 個(gè)步驟。雖然這個(gè)圖已經(jīng)提出有 10 幾年了,但是在大 數(shù)據(jù)環(huán)境下,這個(gè)流程依然適用。 數(shù)據(jù)挖掘的第一步是理解商業(yè)問題,這需要大數(shù)據(jù)科學(xué)家和 行業(yè)專業(yè),以及客戶的業(yè)務(wù)專家一起來(lái)明確問題。這是整個(gè) 大數(shù)據(jù)挖掘中最關(guān)鍵的一步。如果不理解業(yè)務(wù)就貿(mào)然開做, 最后的項(xiàng)目一定是失敗的。當(dāng)明確了業(yè)務(wù)問題之后,我們就需要去分析數(shù)據(jù),看看到底 哪些數(shù)據(jù)能夠支撐我們的業(yè)務(wù),用哪些數(shù)據(jù)去解決問題。在 這個(gè)階段,我們可能發(fā)現(xiàn)數(shù)據(jù)不足,或者數(shù)據(jù)質(zhì)量太差,這 個(gè)時(shí)候就可能要尋求第三方數(shù)據(jù)的幫助,或者規(guī)劃如何去采 集更多的數(shù)據(jù)了。前兩步都是在做數(shù)據(jù)挖掘前的準(zhǔn)備,當(dāng)業(yè)務(wù)明確,數(shù)據(jù)可用 時(shí),我們就正式開始數(shù)據(jù)挖掘了。首

9、先我們要對(duì)數(shù)據(jù)進(jìn)行處理,從數(shù)據(jù)中提取特征。這是數(shù)據(jù) 挖掘非常關(guān)鍵的一步,特征的好壞直接影響最終模型的效 果。在數(shù)據(jù)挖掘過程中,算法其實(shí)并不是最主要的因素,影 響效果最直接的因素就是特征。良好的特征需要有非常好的區(qū)分度,只有這些特征,才能很 好的去解決問題。舉個(gè)例子,我們要辨別一個(gè)西瓜是好是壞, 可能顏色是一個(gè)特征,條紋,重量,瓜蒂也是特征。但是, 大家都知道西瓜一般都是綠色的,所以用綠色去作為判別西 瓜好壞是沒有區(qū)分度的。而條紋,重量,瓜蒂是判別一個(gè)西 瓜是好是壞非常重要的因素,因此他們是好特征。我們?cè)诮鉀Q不同問題時(shí),所用的特征是不一樣的??赡茉诮?決某個(gè)問題有用的特征在解決另外一個(gè)問題時(shí)就不

10、具備區(qū) 分度。因此,我們必須緊密的聯(lián)系業(yè)務(wù), 去選擇合適的特征 在提取特征時(shí),因?yàn)槲覀兪谴髷?shù)據(jù)挖掘,所以要使用大數(shù)據(jù) 技術(shù)去從原始數(shù)據(jù)中提取特征。這需要大數(shù)據(jù)科學(xué)家有著非 常豐富的大數(shù)據(jù)處理技能。當(dāng)特征提取完畢后,我們就需要去應(yīng)用算法建立模型了。在 實(shí)際的建模過程中,由于數(shù)據(jù)量過于龐大,算法訓(xùn)練過程往 往十分緩慢,如何加速算法計(jì)算速度,是一個(gè)非常突出的問 題。此外,由于傳統(tǒng)的數(shù)據(jù)挖掘算法都是針對(duì)小數(shù)據(jù)集的,當(dāng)數(shù) 據(jù)規(guī)模到了一臺(tái)服務(wù)器無(wú)法處理的程度,傳統(tǒng)的數(shù)據(jù)挖掘算 法就不再適用。此時(shí),我們需要有新的數(shù)據(jù)挖掘技術(shù)來(lái)支持 大數(shù)據(jù)上的數(shù)據(jù)挖掘。當(dāng)模型建立完成之后,我們需要對(duì)模型進(jìn)行評(píng)估,來(lái)確定模 型

11、效果。此時(shí)最重要的是建立模型的評(píng)價(jià)指標(biāo)。這個(gè)評(píng)價(jià)指 標(biāo)必須是要結(jié)合業(yè)務(wù)來(lái)建立的。當(dāng)模型效果不佳時(shí),我們要 回到特征提取,建模過程來(lái)不斷的迭代,甚至可能要重新分 析業(yè)務(wù)和數(shù)據(jù)。當(dāng)一個(gè)效果非常好的模型建立完畢了,我們的數(shù)據(jù)挖掘就結(jié) 束了嗎?傳統(tǒng)的數(shù)據(jù)挖掘軟件往往只做到模型建立這一步, 但是在模型建立完成之后還有很多工作要做。我們?nèi)绾螌⒛?型在生產(chǎn)系統(tǒng)中使用起來(lái),如何去管理、運(yùn)行、維護(hù)、擴(kuò)展 模型。DataInsight 是一款覆蓋了建模整個(gè)生命周期的產(chǎn)品,他不但 可以供數(shù)據(jù)科學(xué)家建立模型,同時(shí)還是一個(gè)良好的模型管 理、運(yùn)行、維護(hù)、擴(kuò)展的平臺(tái),能非常好的和企業(yè)其他生產(chǎn) 系統(tǒng)進(jìn)行對(duì)接,加速大數(shù)據(jù)挖掘落

12、地過程。我們先來(lái)看看 DataInsight 對(duì)業(yè)務(wù)的支持。 可以將 DataInsight 看做一個(gè)模型運(yùn)行的平臺(tái)。他提供一套分布式的模型執(zhí)行引 擎。所有通過 DataInsight 建立的模型都可以在這個(gè)分布式執(zhí) 行引擎中運(yùn)行。在執(zhí)行引擎之上, DataInsight 還提供了多個(gè)系統(tǒng)供不同業(yè)務(wù) 使用。我們有支持實(shí)時(shí)分析業(yè)務(wù)的實(shí)時(shí)分析系統(tǒng),有支持離 線批處理業(yè)務(wù)的離線分析系統(tǒng),還有規(guī)則引擎系統(tǒng),可以讓 用戶的業(yè)務(wù)人員去通過規(guī)則對(duì)模型進(jìn)行修正。 用戶需要針對(duì)不同的業(yè)務(wù)去建立不同的模型,這個(gè)建模過程 可以由用戶自己完成,也可以由明略的大數(shù)據(jù)科學(xué)家去完 成。建立好的模型以插件的形式插入到 Dat

13、aInsight 中去,方 便模型的管理和擴(kuò)展。用戶的業(yè)務(wù)系統(tǒng)會(huì)通過 API 和 DataInsight 進(jìn)行通信, 來(lái)運(yùn)行 或者更新 DataInsight 中插入的模型。一個(gè)典型的 DataInsight 模型運(yùn)行過程如下:用戶通過 API 調(diào)用 DataInsight ,在請(qǐng)求中指定模型,模型的輸入和模型的 輸出。 DataInsight 會(huì)將數(shù)據(jù)從數(shù)據(jù)源中取出,送入模型,并 且將模型分成多個(gè)步驟,并行化的在分布式執(zhí)行引擎中運(yùn) 行。當(dāng)模型運(yùn)行完畢后,結(jié)果將送入用戶指定的目的數(shù)據(jù)庫(kù) 中。這樣,用戶的應(yīng)用系統(tǒng)就可以直接從目的數(shù)據(jù)庫(kù)中獲得 模型運(yùn)行的最新結(jié)果了。DataInsight 中將解決

14、客戶業(yè)務(wù)問題的模型成為業(yè)務(wù)模型,或 者應(yīng)用。 DataInsight 對(duì)業(yè)務(wù)模型也進(jìn)行了一定層次的抽象。 每個(gè)業(yè)務(wù)模型都是由若干步驟組成的。每個(gè)步驟被稱作一個(gè) 算子。上圖是一個(gè)文本分類的業(yè)務(wù)模型,其解決的問題是將 若干文本進(jìn)行分類。例如我們有很多文章,我們要對(duì)每篇文 章的情感進(jìn)行分類,就可以使用這個(gè)模型。 我們將文本分類模型抽象為很多算子的組合。每個(gè)算子都是 對(duì)數(shù)據(jù)進(jìn)行了某種轉(zhuǎn)換,將一組輸入轉(zhuǎn)化為一組輸出。這個(gè) 轉(zhuǎn)化過程可能是對(duì)數(shù)據(jù)進(jìn)行的預(yù)處理,也可能是某種機(jī)器學(xué) 習(xí)算法。 每個(gè)算子都有輸入和輸出,且算子的輸出可以作為另外一個(gè) 算子的輸入。這樣,整個(gè)業(yè)務(wù)模型就抽象成了一個(gè)有向無(wú)環(huán) 圖(DAG

15、)。Datalnsight在執(zhí)行模型時(shí),會(huì)去調(diào)度模型中的 每個(gè)算子,將適合分布式計(jì)算的算子送入不同的執(zhí)行容器中 去運(yùn)行,加速了整個(gè)模型的計(jì)算速度。Datalnsight 支持非常靈活的算法開發(fā)和擴(kuò)展。 Datalnsight 支 持多種語(yǔ)言去開發(fā)算法。目前支持 Scala, Java, Python, R 去開發(fā)新的算法。 在算法開發(fā)完畢后, 必須將算法進(jìn)行封裝, 需要定義算法的輸入、輸出和算法參數(shù),這樣在 Datalnsight 中可以直接在模型編輯器中可視化的使用算法。 Datalnsight 是一個(gè)混合型的計(jì)算架構(gòu)。具體計(jì)算框架見下圖。我們以Spark為核心運(yùn)行平臺(tái),所有的任務(wù)的調(diào)度都通

16、過Spark來(lái)執(zhí)行。充分發(fā)揮 Spark 內(nèi)存迭代計(jì)算的優(yōu)勢(shì),來(lái)對(duì)數(shù)據(jù)進(jìn)行處 理。 DataInsight 支持 Spark SQL ,并且可以直接使用 Spark 的 Mllib 庫(kù)來(lái)進(jìn)行數(shù)據(jù)挖掘。但是, Spark 中的并行算法是有限的,而且為了分布式計(jì)算, Spark 中的算法簡(jiǎn)化了很多功能。例如經(jīng)典的 SVM 算法, Spark 只實(shí)現(xiàn)了線性核,并沒有實(shí)現(xiàn)高斯核、多項(xiàng)式核等非 線性核。所以在實(shí)際工作中,光有 Spark 算法是不夠的。 我們將 Python 、R 的支持加入到了 DataInsight 中。用戶可以 直接使用 Python 和 R 中大量的經(jīng)典算法來(lái)解決實(shí)際問題。 所以

17、, DataInsight 是基于 S p a rk ,但是又不是純粹 Spark 的這 樣一種混合式計(jì)算框架。 我們還引入了其他的算法框架來(lái)更好的支持?jǐn)?shù)據(jù)挖掘。除了 Spark之外,我們還引入了 MPI、Google TensorFlow以及 Parameter Server來(lái)運(yùn)行算法。但是,算子之間的數(shù)據(jù)通信最 終還是通過 Spark 的 DataFrame 來(lái)進(jìn)行通信的。 由于深度學(xué)習(xí)的興起, GPU 計(jì)算越來(lái)越流行。我們?cè)贒atalnsight中還加入了 GPU的支持。GPU的計(jì)算速度是CPU 的 1000 倍左右,因此使用 GPU 可以大大的加速建模過程, 將原來(lái)可能需要 1天的訓(xùn)練

18、時(shí)間縮短為 10 分鐘。DataInsight 中除了支持在 GPU 上的深度學(xué)習(xí)算法之外, 還將 大量的傳統(tǒng)算法使用 GPU 加速,充分發(fā)揮了 GPU 的計(jì)算能 力。目前, DataInsight 正在嘗試軟硬件一體的銷售方式,省 卻了用戶對(duì) GPU 硬件選型的問題。DataInsight 總體的體系架構(gòu)見下圖:明略的大數(shù)據(jù)科學(xué)家使 用 DataInsight ,已經(jīng)將大數(shù)據(jù)挖掘在多個(gè)行業(yè)進(jìn)行了實(shí)際的 應(yīng)用,并且取得了良好的效果。下面我們介紹一下明略在各 個(gè)領(lǐng)域中的一些案例。 由于時(shí)間關(guān)系, 我這里只舉兩個(gè)案例。 一是精準(zhǔn)營(yíng)銷方面。明略是從秒針系統(tǒng)拆分出來(lái)的,秒針系 統(tǒng)是一家以互聯(lián)網(wǎng)精準(zhǔn)營(yíng)銷

19、為主要業(yè)務(wù)的公司,因此明略在 精準(zhǔn)營(yíng)銷方面有著接近 10 年的積累。明略的精準(zhǔn)營(yíng)銷方案 已經(jīng)服務(wù)于多個(gè)行業(yè),例如電商、旅游、新聞、汽車、教育、 房地產(chǎn)等等。在這些領(lǐng)域中,明略的精準(zhǔn)營(yíng)銷方案都取得了 不錯(cuò)的效果。上圖是明略精準(zhǔn)營(yíng)銷解決方案整體架構(gòu)圖。 首先,明略的大數(shù)據(jù)平臺(tái) MDP 會(huì)將企業(yè)各種自有數(shù)據(jù),包 括 CRM 數(shù)據(jù)、交易行為數(shù)據(jù)以及官網(wǎng)數(shù)據(jù)等,和第三方數(shù) 據(jù)一起收集起來(lái),并對(duì)這些數(shù)據(jù)進(jìn)行關(guān)聯(lián)和打通,一起存儲(chǔ) 到大數(shù)據(jù)平臺(tái) MDP 中去。 我們針對(duì)企業(yè)不同的業(yè)務(wù),建立多個(gè)模型,例如智能推薦模 型,用戶畫像模型,消費(fèi)預(yù)測(cè)模型,商圈聚類模型等等,這 些模型作為插件插入到我們的大數(shù)據(jù)挖掘平臺(tái)

20、DataInsight 中 去。我們可以將原始數(shù)據(jù)從 MDP 中取出,進(jìn)過 DataInsight 中模 型的計(jì)算之后,生成最終的結(jié)果數(shù)據(jù),結(jié)果數(shù)據(jù)將送入用戶 畫像系統(tǒng)和推薦系統(tǒng)的離線部分。用戶的推薦系統(tǒng)分為在線和離線兩個(gè)部分,離線推薦的結(jié)果 就是 DataInsight 中計(jì)算出來(lái)的結(jié)果。 在線推薦系統(tǒng)將會(huì)接收 一個(gè)在線的推薦請(qǐng)求,通過客戶畫像系統(tǒng)和離線推薦結(jié)果, 并結(jié)合當(dāng)時(shí)的一些場(chǎng)景,共同計(jì)算出最終向用戶推薦的物 品。明略的精準(zhǔn)營(yíng)銷系統(tǒng)已經(jīng)應(yīng)用到了個(gè)性化推薦、精準(zhǔn)營(yíng)銷、 用戶洞察、廣告投放等多個(gè)領(lǐng)域,并取得了良好的效果。下面我給大家介紹一個(gè)智能推薦算法。和傳統(tǒng)的協(xié)同過濾算 法不一樣,這個(gè)算

21、法是采用了分類的思想,通過分類的方法 來(lái)實(shí)現(xiàn)推薦的。首先,在進(jìn)行推薦之前,我們必須明確推薦 的目標(biāo)。那就是向用戶推薦用戶感興趣的物品。這里的物品 可以是商品, 也可以是廣告, 甚至是文章、 電影、 音樂等等 然后我們需要去尋找解決這個(gè)問題所需的數(shù)據(jù)。我們有物品 內(nèi)容數(shù)據(jù)庫(kù),用戶 CRM 數(shù)據(jù)庫(kù),以及用戶行為數(shù)據(jù)。 解決了目標(biāo)和數(shù)據(jù)之后,我們就需要采集一批有標(biāo)注的樣 本。因?yàn)槭遣捎玫姆诸愃惴?,這是有監(jiān)督的算法,所以標(biāo)注 樣本是建模的第一步工作。標(biāo)注就是通過人工或機(jī)器來(lái)判定 用戶是否對(duì)某個(gè)物品感興趣。標(biāo)注問題解決后,我們就需要從數(shù)據(jù)中提取特征。我們的特 征分為 3 類:物品自身屬性,比如我們推薦的

22、是手機(jī),手機(jī)型號(hào),手機(jī)價(jià)格,手機(jī)顏色都是物品的自身屬性。其次,我們要提取人的屬性,比如人的性別、年齡、收入、教育程度一類。最后,我們還需要知道人和物品的交互關(guān)系,他是瀏覽過商品還是加入過購(gòu)物車,還是點(diǎn)擊過商品,甚至購(gòu)買過 該商品。除了和推薦的商品之間的關(guān)系之外,我們還可以將 用戶和其他商品之間的關(guān)系也作為特征。這樣,我們就可以通過分類算法去建立模型了。常用的分類 算法我們都可以嘗試,諸如 GBDT ,邏輯回歸, SVM 等等。 當(dāng)模型建立完畢之后,我們就可以得到分類結(jié)果了。分類結(jié) 果是某用戶對(duì)某商品是否感興趣,以及感興趣的程度。感興 趣的程度我們可以通過概率來(lái)表示。有了分類結(jié)果還不是我們最終的

23、推薦結(jié)果。我們根據(jù)分類概 率對(duì)結(jié)果進(jìn)行排序,最后選出 TopK 個(gè)結(jié)果作為最終結(jié)果返 回。我們的第二個(gè)案例是有關(guān)設(shè)備診斷方案的。我們知道,工業(yè)4.0 是目前比較火熱的一個(gè)話題。 而設(shè)備診斷正是工業(yè) 4.0 中 非常重要的一個(gè)應(yīng)用。設(shè)備診斷又分為故障診斷和故障預(yù)測(cè)兩大類。故障診斷是當(dāng) 一個(gè)設(shè)備出現(xiàn)故障,我們需要辨別該故障的類型。故障預(yù)測(cè) 是我們要預(yù)測(cè)出某個(gè)設(shè)備在未來(lái)會(huì)不會(huì)出現(xiàn)故障。這是兩個(gè) 截然不同的問題,但是處理的方法是類似的。故障診斷和故障預(yù)測(cè)已經(jīng)在多個(gè)行業(yè)中得到應(yīng)用,并且已經(jīng) 取得了非常突出的效果。明略的故障診斷方案如下圖:首先,各種設(shè)備的數(shù)據(jù)通過ETL 匯聚進(jìn)大數(shù)據(jù)平臺(tái)中去。這些數(shù)據(jù)包括

24、傳感器實(shí)時(shí)數(shù) 據(jù),設(shè)備歷史數(shù)據(jù),時(shí)間歷史數(shù)據(jù)等等。然后,在 DataInsight 中建立故障診斷和故障預(yù)測(cè)模型,來(lái)對(duì) 原始的數(shù)據(jù)進(jìn)行分析,并得到診斷和預(yù)測(cè)結(jié)果。DataInsight 中的模型會(huì)部署到生產(chǎn)系統(tǒng)中去,通過 API 和故 障診斷和故障預(yù)測(cè)應(yīng)用進(jìn)行交互,提供最終的分析結(jié)果給到 應(yīng)用,在應(yīng)用中根據(jù)分析結(jié)果進(jìn)行各種統(tǒng)計(jì)和可視化的展 現(xiàn)。進(jìn)行故障診斷和故障預(yù)測(cè)建模有兩種方式,其一是傳統(tǒng)的方 式,其二是通過深度學(xué)習(xí)的方式。上圖是我們通過傳統(tǒng)方式 來(lái)進(jìn)行故障診斷和故障預(yù)測(cè)的示意圖。在這個(gè)過程中首先我們要對(duì)故障進(jìn)行標(biāo)注。對(duì)于故障診斷, 我們要標(biāo)注的是何種類型的故障,對(duì)于故障預(yù)測(cè),我們要標(biāo) 注的

25、是有沒有發(fā)生故障。標(biāo)注的工作是專業(yè)性極強(qiáng)的工作, 一般需要用戶的專家來(lái)進(jìn)行標(biāo)注。對(duì)于傳統(tǒng)方法而言,最復(fù)雜的部分是特征選取。上文我們也 講到,只有那些有強(qiáng)區(qū)分度的特征才能有效的支持最終的模 型。所以,需要由業(yè)務(wù)專家來(lái)指導(dǎo)如何從原始數(shù)據(jù)中提取特 征。這就需要將業(yè)務(wù)專家的經(jīng)驗(yàn)程序化,將人的知識(shí)變?yōu)闄C(jī) 器能夠處理的方法。這是非常困難的。當(dāng)特征提取完了之后,我們會(huì)采用分類算法來(lái)訓(xùn)練模型,最 終得到故障診斷和故障預(yù)測(cè)的結(jié)果。在傳統(tǒng)方法之外,我們還可以通過深度學(xué)習(xí)的方法來(lái)進(jìn)行故 障的診斷和預(yù)測(cè),深度學(xué)習(xí)方法示意圖如下:相比起傳統(tǒng)的 方法,故障標(biāo)注這一步是省不掉的,因?yàn)槲覀冇玫倪€是一個(gè) 有監(jiān)督的方法,這個(gè)方法

26、必須要有一批標(biāo)注好的樣本。 和傳統(tǒng)方法不一樣的是,我們直接將樣本送入深度學(xué)習(xí)算 法,常用的如卷積神經(jīng)網(wǎng)絡(luò)去進(jìn)行訓(xùn)練,來(lái)得到最終的故障 診斷和預(yù)測(cè)的結(jié)果。相比傳統(tǒng)方法,深度學(xué)習(xí)方法省卻了特征提取的過程。我們通過深度學(xué)習(xí)算法直接從原始數(shù)據(jù)中學(xué)習(xí),省卻了專家指導(dǎo)的過程。深度學(xué)習(xí)方法甚至能夠?qū)W習(xí)到專家所不知道,或者在專家潛意識(shí)內(nèi)但無(wú)法表達(dá)出來(lái)的特征。通過深度學(xué)習(xí)算法 出來(lái)的模型,其效果往往好于傳統(tǒng)方法的模型。但是,深度學(xué)習(xí)算法對(duì)數(shù)據(jù)量的要求非常大。只有有大量訓(xùn) 練樣本才能使用深度學(xué)習(xí)。這在現(xiàn)實(shí)的工作中可能是一個(gè)問 題。以上就是本次微課的分享。下面,挖掘機(jī)就把這次分享中,最精髓的問題給大家羅列一 下!能

27、將一下Scopa嗎?想知道它的圖存儲(chǔ)和圖檢索相關(guān)的 內(nèi)容。Scopa是我們的一個(gè)圖挖掘圖計(jì)算的平臺(tái)。今天的時(shí) 間有些倉(cāng)促,今后我們會(huì)給大家專門做一次 Scopa 的分享。 也請(qǐng)大家繼續(xù)關(guān)注我們的微課! 那 DataInsight 是如何做模型管理的呢?所有的模型在 DataInsight 中都是以 DAG 的形式進(jìn)行存儲(chǔ), DataInsight 負(fù) 責(zé)管理模型的元信息,用戶可以通過任意的語(yǔ)言開發(fā)模型中 的算子,DAG就是將這些算子串起來(lái)的。 DAG是Datalnsight 內(nèi)部進(jìn)行管理的,基本是基于 Spark 的。我們?cè)?DataInsight 中自己做了一套任務(wù)管理,類似oozie。這是

28、一套可視化的系統(tǒng)。那推薦算法 feature 怎么映射到 spark mllib 的分類算 法? spark mllib 我們作為 Datalnsight 的一個(gè)算子來(lái)運(yùn)行的, 我們對(duì) mllib 做了一定的封裝。 mllib 只是我們一部分算法, 里面有些算法我們重寫了,另外還加了一些算法。請(qǐng)問老師,有用什么nosql嗎? nosql是作為數(shù)據(jù)源來(lái)使 用的。如果你說(shuō)hbase是nosql的話,數(shù)據(jù)etl后有一些是存 在hbase中的。還有分析結(jié)果:分析結(jié)果分兩類,第一類是 數(shù)據(jù),第二類是報(bào)表。數(shù)據(jù)是直接落到用戶指定的數(shù)據(jù)庫(kù)中 的。報(bào)表我們采用了另外的地方去存儲(chǔ)。DAG 在運(yùn)行過程中每個(gè)算子的

29、結(jié)果是落地還是直接讓 rdd 在算子間傳遞?這個(gè)是 rdd 傳遞。 具體說(shuō)說(shuō)設(shè)備故 障診斷這塊應(yīng)用,如果用傳統(tǒng)方法,這個(gè)特征提取,是指把 不同時(shí)間顆粒度的數(shù)據(jù)都統(tǒng)一到一個(gè)顆粒度,還是都用特征 量代替?特征提取就是把業(yè)務(wù)專家的經(jīng)驗(yàn)轉(zhuǎn)化為程序表達(dá)。 比如,業(yè)務(wù)專家的經(jīng)驗(yàn)說(shuō),如果某個(gè)傳感器的值超過某個(gè)閾 值了,會(huì)發(fā)生故障,我們就會(huì)在特征向量的一個(gè)維度中用 1 代表超過閾值, 0 代表沒超過。所以傳統(tǒng)方法特征很難提 全。 經(jīng)驗(yàn)一般是不是些閾值?是的, 所以特征提取非常 難,必須要把專家腦子里的經(jīng)驗(yàn)取出來(lái)。剛才說(shuō)的閾值只是 很簡(jiǎn)單的部分。還有波形,這個(gè)也是一個(gè)非常重要的特征。 就像股票 k 線圖一樣,各

30、種指標(biāo)。這些都可以作為特征。 一般來(lái)說(shuō)傳感器的采集量是否可以看做時(shí)間序列?是 的,是時(shí)間序列。 業(yè)務(wù)人員不懂算法和建模, 他們?cè)趺从卯a(chǎn)品的呢?我們 的客戶有兩類, 一類是自己有建模能力, 一類是純粹的業(yè)務(wù)。 第一類 DataInsight 更多是一個(gè)建模工具, 第二類需要我們的 大數(shù)據(jù)科學(xué)家去幫助他們建模,建完的模型通過 DataInsight 去管理、 執(zhí)行。 怎么解決客戶具體業(yè)務(wù)呢?這個(gè)就需要 我們大數(shù)據(jù)科學(xué)家了啊。我們和客戶先碰業(yè)務(wù),了解了業(yè)務(wù) 之后碰數(shù)據(jù),然后去建模。有行業(yè)專家一起參與。 提到客戶推薦里面有數(shù)據(jù)融合, 比較好奇, 第三方數(shù)據(jù) 如何和企業(yè)數(shù)據(jù)融合?我看例子,貌似是運(yùn)營(yíng)商數(shù)

31、據(jù)。有很 多種,最簡(jiǎn)單的是 key 的融合,比如手機(jī)號(hào),身份證號(hào),卡 號(hào)一類的另外有很多研究,有很多算法可以來(lái)做這個(gè)融合。最后給用戶的肯定是融合了多種算法的最終結(jié)果。老師 你們有用kylin做cube么? kylin在我們另外一款 產(chǎn)品里面用到。 我們有 kylin 社區(qū)的 contributor 和 Commiter 。 做 olap 是 klyin 好還是 Druid ?我們目前選擇的路線是 kylin 。明略有一個(gè) BU 叫數(shù)據(jù)互聯(lián) BU ,就是做第三方數(shù)據(jù) 的事情。 老師,基于分類的推薦,相比協(xié)同過濾和關(guān)聯(lián)規(guī)則。有 哪些優(yōu)點(diǎn)呢?協(xié)同過濾是基于相似性的算法,關(guān)聯(lián)規(guī)則是一 個(gè)頻繁項(xiàng)的一個(gè)算

32、法,和分類的原理完全不同。我們?cè)趯?shí)際 的工作中幾種算法都會(huì)用。另外推薦中冷啟動(dòng)問題是非常大 的問題。基于統(tǒng)計(jì)的方法能有效的解決這個(gè)問題。老師能否指點(diǎn)下實(shí)踐中一般如何抉擇。 在做一個(gè)實(shí)際問 題的時(shí)候往往是多種算法一起嘗試,然后挑出效果好的。并 且可以用多種算法去做,最后進(jìn)行融合。實(shí)際工作中,融合 的效果比單一算法要好很多。是不是在用深度學(xué)習(xí)算法時(shí), 提取或者說(shuō)找到了新的特 征?是的。深度學(xué)習(xí)本身就是一個(gè)黑盒子,你把原始數(shù)據(jù)給 他,他自己去擬合,那就是完全依賴于數(shù)據(jù)。所以深度學(xué)習(xí) 的數(shù)據(jù)量要非常大。深度學(xué)習(xí)也會(huì)存在過度擬合吧?當(dāng)然會(huì)。 輸入 100 個(gè)維度, 模型自己找出特征?這個(gè)數(shù)據(jù)量還不 是原始數(shù)據(jù),是有標(biāo)注的數(shù)據(jù)

溫馨提示

  • 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

評(píng)論

0/150

提交評(píng)論