作者:彭鴻濤 張宗耀 聶磊 一次偶然的機(jī)會(huì),有一位正在深造機(jī)器學(xué)習(xí)方面學(xué)位的朋友問(wèn)了筆者一個(gè)問(wèn)題:如何成為一名合格的數(shù)據(jù)科學(xué)家? 這個(gè)問(wèn)題回答起來(lái)亦簡(jiǎn)亦難。簡(jiǎn)單回答的話可以拿出標(biāo)準(zhǔn)答案,坐而論道地說(shuō)需要編程能力、數(shù)據(jù)操作能力、數(shù)學(xué)基礎(chǔ)、算法庫(kù)應(yīng)用能力、算法調(diào)優(yōu)能力與業(yè)務(wù)對(duì)接的能力等。 但是這樣的答案筆者其實(shí)是不滿意的,因?yàn)橛刑嗟募夹g(shù)意味。做數(shù)據(jù)分析、將數(shù)據(jù)的價(jià)值發(fā)揮出來(lái),是一個(gè)“工程 + 科學(xué)”的過(guò)程,只要在這個(gè)過(guò)程中的任意一處找到自己的位置,就無(wú)謂數(shù)據(jù)科學(xué)家這種稱號(hào)了。 大數(shù)據(jù)時(shí)代方興未艾,人工智能時(shí)代又呼嘯而至。人們?cè)诤芏鄨?chǎng)合下能看到諸多新應(yīng)用,加之整個(gè)社會(huì)都在熱切地?fù)肀斯ぶ悄芗夹g(shù),使得大家都相信人工智能時(shí)代勢(shì)必會(huì)改變社會(huì)的方方面面,筆者對(duì)此也深信不疑。 在人工智能時(shí)代,將數(shù)據(jù)的價(jià)值發(fā)揮出來(lái)的要素有資金、數(shù)據(jù)、平臺(tái)、技術(shù)、人員等。數(shù)據(jù)科學(xué)家是人員要素中最為重要的部分,是需要企業(yè)非常重視的。在數(shù)據(jù)科學(xué)家自身發(fā)展的方向、組織結(jié)構(gòu),以及如何體現(xiàn)出價(jià)值等方面,相信大家肯定會(huì)有很多想法。 筆者從十幾年前加入IBM SPSS進(jìn)入數(shù)據(jù)分析領(lǐng)域開始,至今擔(dān)任過(guò)分析軟件工具的開發(fā)者、解決實(shí)際業(yè)務(wù)問(wèn)題的數(shù)據(jù)挖掘者、數(shù)據(jù)驅(qū)動(dòng)業(yè)務(wù)以及數(shù)字化轉(zhuǎn)型的咨詢者等多種角色。反觀這些年的成長(zhǎng)路徑,將一些較為重要的經(jīng)驗(yàn)做一個(gè)粗淺的總結(jié),拋磚引玉,以供讀者參考。 01 算法與數(shù)據(jù)科學(xué)家我們隨便打開一些教科書,會(huì)發(fā)現(xiàn)機(jī)器學(xué)習(xí)、人工智能、數(shù)據(jù)挖掘等經(jīng)典領(lǐng)域所談?wù)摰暮芏嘀R(shí)點(diǎn)是共通的,比如從歷史數(shù)據(jù)中學(xué)習(xí)到事物模式并用于對(duì)未來(lái)做出判斷,是機(jī)器學(xué)習(xí)中的重要內(nèi)容,也是人工智能的重要方面,更是數(shù)據(jù)挖掘的重點(diǎn)內(nèi)容。 現(xiàn)在有一個(gè)很時(shí)髦的說(shuō)法,認(rèn)為機(jī)器學(xué)習(xí)是比數(shù)據(jù)挖掘更為高深的學(xué)科,實(shí)現(xiàn)人機(jī)對(duì)話那肯定是人工智能的范疇。 其實(shí),從一個(gè)更為宏觀的視角來(lái)看的話,這幾個(gè)學(xué)科都是在將數(shù)據(jù)的價(jià)值通過(guò)算法和算法的組合(數(shù)據(jù)分析的流程)發(fā)揮出來(lái),沒有一個(gè)清晰的標(biāo)準(zhǔn)說(shuō)某類算法必須屬于人工智能范疇、某類算法必須屬于機(jī)器學(xué)習(xí)的范疇。 1. 數(shù)據(jù)科學(xué)、人工智能、機(jī)器學(xué)習(xí)等 有國(guó)外的學(xué)者試圖給出一個(gè)機(jī)器學(xué)習(xí)、數(shù)據(jù)科學(xué)、人工智能等時(shí)髦名詞之間關(guān)系的示意圖,如圖1-1所示,我們發(fā)現(xiàn),這些學(xué)科間的關(guān)系可以說(shuō)是交纏不清。 ▲圖1-1 數(shù)據(jù)科學(xué)相關(guān)的學(xué)科之間的關(guān)系 筆者也就這些學(xué)科之間的關(guān)系進(jìn)行了深入探索,查詢了很多的資料,發(fā)現(xiàn)圖1-1的中間部分,其實(shí)是來(lái)自SAS在1998年提供的數(shù)據(jù)分析的課程。除此之外,很少有人能將它們的關(guān)系說(shuō)清楚,因?yàn)檫@本來(lái)就說(shuō)不清楚。所以,對(duì)上圖,讀者只當(dāng)其是一個(gè)參考即可。 重點(diǎn)是圖1-1所表達(dá)的含義:這些技術(shù)都是圍繞“問(wèn)題解決” →“分析” →“策略” →“領(lǐng)域知識(shí)” →“溝通” →“表達(dá)” →“探索”等問(wèn)題來(lái)展開的,而這些問(wèn)題都是人們?cè)谡J(rèn)識(shí)世界、解決問(wèn)題時(shí)所涉及的方面。 所以,本節(jié)采用圖1-1想表達(dá)的含義也是如此:計(jì)算機(jī)的技術(shù)在迅猛發(fā)展,現(xiàn)在很多的技術(shù)都可以融合使用來(lái)解決復(fù)雜問(wèn)題了;對(duì)于數(shù)據(jù)科學(xué)相關(guān)的這些技術(shù),很多方面都是通用的。 2. 室內(nèi)活動(dòng)還是室外活動(dòng) 數(shù)據(jù)科學(xué)家是個(gè)含義較廣的名詞,人們往往也不會(huì)太多在意他們所從事的具體工作有什么不同,習(xí)慣將從事算法設(shè)計(jì)開發(fā)、在客戶現(xiàn)場(chǎng)直接應(yīng)用數(shù)據(jù)分析工具解決問(wèn)題的人都稱為數(shù)據(jù)科學(xué)家。 這樣的劃分其實(shí)無(wú)可厚非。但是若將算法看作成品,則可以將數(shù)據(jù)科學(xué)家分為室外(out-house)和室內(nèi)(in-house)兩種角色。 所謂室內(nèi)數(shù)據(jù)科學(xué)家關(guān)注具體算法的設(shè)計(jì)、實(shí)現(xiàn)。比如,在MapReduce的計(jì)算方式下如何實(shí)現(xiàn)分層聚類算法。 而室外數(shù)據(jù)科學(xué)家,也就是數(shù)據(jù)挖掘者,他們一般不需要關(guān)注具體算法和工具的實(shí)現(xiàn),他們的職責(zé)是將客戶的需求翻譯為具體工具能解決的工作流程,并應(yīng)用合適算法能得出有意義的結(jié)論。圖1-2比較形象地對(duì)比了兩種科學(xué)家的不同。 ▲圖1-2 室內(nèi)室外兩種數(shù)據(jù)分析人員職責(zé)對(duì)比 現(xiàn)在還有一種習(xí)慣就是將室內(nèi)數(shù)據(jù)科學(xué)家稱為算法工程師,而對(duì)于室外數(shù)據(jù)科學(xué)家則稱之為數(shù)據(jù)科學(xué)家。我們大可不必糾結(jié)于這些名稱的不同,只要對(duì)他們的職責(zé)有不同的認(rèn)識(shí)即可。 室外數(shù)據(jù)科學(xué)家,在長(zhǎng)期的項(xiàng)目過(guò)程中,需要與業(yè)務(wù)人員有非常深入的溝通才能得出有意義的數(shù)據(jù)分析結(jié)果。所以,相對(duì)于數(shù)據(jù)模型而更加看重業(yè)務(wù)的需求和特點(diǎn),這是室外數(shù)據(jù)科學(xué)家的基本素養(yǎng)。本書所謂的數(shù)據(jù)科學(xué)家是指所謂從事室外活動(dòng)的數(shù)據(jù)分析者。 02 數(shù)據(jù)科學(xué)家不斷成長(zhǎng)的幾個(gè)階段現(xiàn)在移動(dòng)端各種App百花齊放,這已經(jīng)使得信息的傳播沒有任何的限制,人們?cè)诓蛔杂X的過(guò)程其實(shí)已經(jīng)閱讀了大量的自己感興趣的文章。若對(duì)機(jī)器學(xué)習(xí)比較感興趣,相信人們已經(jīng)看到了很多非常炫酷的機(jī)器學(xué)習(xí)的應(yīng)用,如人臉識(shí)別的精度已經(jīng)提高到一個(gè)非常高的水平、大量智能問(wèn)答機(jī)器人的部署已經(jīng)替代了不知多少呼叫中心的員工等。 顯而易見,這些應(yīng)用絕不是單靠一個(gè)算法就能解決的,注定是平臺(tái)、算法、業(yè)務(wù)等要素的綜合應(yīng)用才能產(chǎn)生這樣的效果。在應(yīng)用數(shù)據(jù)分析時(shí)已經(jīng)基本形成一個(gè)共識(shí),就是數(shù)據(jù)分析者要對(duì)業(yè)務(wù)有一定的了解,才能保證產(chǎn)生較好的結(jié)果。 Gartner很早就將數(shù)據(jù)分析能力分成了4種(如圖1-3所示):
▲圖1-3 四種分析能力劃分(Gartner) Business Intelligence的核心能力是解決描述分析和診斷分析。人們常說(shuō)的預(yù)測(cè)模型(包括傳統(tǒng)的隨機(jī)森林、GBT等,還包括深度學(xué)習(xí)的常見算法如CNN等)、聚類模型、關(guān)聯(lián)分析等都屬于預(yù)測(cè)分析范疇。利用凸優(yōu)化、馬爾可夫等方法從眾多的決策選項(xiàng)中尋求最優(yōu)決策,則屬于Prescriptive Analysis的范疇,重點(diǎn)解決最優(yōu)決策的問(wèn)題。 在圖1-3中,分析之后,人們經(jīng)驗(yàn)、業(yè)務(wù)的輸入(Human Input)隨著分析手段的提高而減少,這是因?yàn)镻rescriptive Analysis在分析過(guò)程中已經(jīng)將這些因素充分地引入。 比如,預(yù)測(cè)客戶流失的模型能夠輸出“哪些客戶將要流失”的名單,但是并不會(huì)輸出“OK,企業(yè)應(yīng)該采用何種決策來(lái)挽留”,是應(yīng)該給個(gè)折扣,還是辦一張會(huì)員卡?這些還是需要人們進(jìn)行業(yè)務(wù)決策的輸入。 而Prescriptive Analysis則會(huì)分析折扣和會(huì)員卡哪種方式既能挽留客戶又能使得企業(yè)的收益較高,但是這些決策(會(huì)員卡和折扣)也是需要人們輸入后才能進(jìn)行分析。 所以“通過(guò)數(shù)據(jù)分析的手段發(fā)揮數(shù)據(jù)價(jià)值”的過(guò)程,沒有業(yè)務(wù)輸入是絕對(duì)行不通的。所以,筆者也認(rèn)為數(shù)據(jù)科學(xué)家絕不是僅僅精通算法即可,還需要對(duì)業(yè)務(wù)一直保持熱情,不斷思考如何發(fā)揮數(shù)據(jù)分析的業(yè)務(wù)價(jià)值。我們需要從技能、效果、工作內(nèi)容、工作方法等多個(gè)層面來(lái)擴(kuò)展相關(guān)的能力,這才能發(fā)揮較大的價(jià)值。 總之,如果數(shù)據(jù)科學(xué)家僅僅只是被動(dòng)地考慮用何種算法滿足業(yè)務(wù)部門所提出的要求的話,是遠(yuǎn)遠(yuǎn)不夠的。 如果讀者有志于成為一個(gè)數(shù)據(jù)科學(xué)家,或者已經(jīng)是一個(gè)數(shù)據(jù)科學(xué)家,類似于職場(chǎng)的職業(yè)路徑規(guī)劃,數(shù)據(jù)科學(xué)家的成長(zhǎng)路徑可以是什么?如何不斷成長(zhǎng)?相信大家按照自己的興趣都有不同的理解。 若數(shù)據(jù)科學(xué)家一直致力于“發(fā)揮數(shù)據(jù)的價(jià)值”這條主線,那么筆者認(rèn)為從價(jià)值的大小上可以分為算法、用法、業(yè)務(wù)、戰(zhàn)略4個(gè)層面(如圖1-4所示),數(shù)據(jù)科學(xué)家也可以沿著這條路徑來(lái)成長(zhǎng)。 從圖1-4中可以看到不同層面的數(shù)據(jù)科學(xué)家的職責(zé)和作用是不同的,4個(gè)層次也是數(shù)據(jù)科學(xué)家成長(zhǎng)的不同階段。 ▲圖1-4 數(shù)據(jù)科學(xué)家成長(zhǎng)的4個(gè)階段 1. 算法——如何構(gòu)建數(shù)據(jù)分析模型 人們總是津津樂道各種時(shí)髦的算法,感嘆算法的發(fā)展使得人工智能有了長(zhǎng)足的進(jìn)展。比如,人們看到機(jī)器可以精準(zhǔn)地識(shí)別人臉、機(jī)器可以作詩(shī)、機(jī)器可以識(shí)別圖片內(nèi)容并“說(shuō)出”符合其內(nèi)容的文字描述,也熱衷于緊跟最新的技術(shù)發(fā)展來(lái)做一些新穎的應(yīng)用。這是一個(gè)非常好的趨勢(shì),可以促進(jìn)人工智能的相關(guān)產(chǎn)業(yè)發(fā)展。 然而,人類已經(jīng)發(fā)明的算法遠(yuǎn)不僅僅如此。若讀者一直在從事數(shù)據(jù)分析的相關(guān)工作,會(huì)發(fā)現(xiàn)其實(shí)能夠解決實(shí)際業(yè)務(wù)問(wèn)題的算法非常多,有很多也是簡(jiǎn)單直接的。 比如,找到潛在的價(jià)值客戶,既可以通過(guò)響應(yīng)預(yù)測(cè)的模型,也可以通過(guò)聚類分析的模型,還可以通過(guò)社交網(wǎng)絡(luò)分析的模型來(lái)找到。構(gòu)建這些模型所需要的相關(guān)知識(shí)也需要體系化地學(xué)習(xí)、不斷積累才能真正滿足實(shí)際的業(yè)務(wù)需求。 在很多數(shù)據(jù)挖掘的資料中都會(huì)把算法分為有監(jiān)督的學(xué)習(xí)、無(wú)監(jiān)督的學(xué)習(xí)等類別,每個(gè)類別下各自的算法又有不同。比如聚類算法屬于無(wú)監(jiān)督的學(xué)習(xí)范疇,而能夠做類別判斷或回歸的算法都屬于有監(jiān)督的學(xué)習(xí)范疇。 在實(shí)際使用時(shí),需要針對(duì)需求靈活應(yīng)用,如可以先用決策樹算法生成預(yù)測(cè)模型,然后分析決策樹的分支來(lái)細(xì)分客群。只有對(duì)這些算法有一個(gè)體系化的學(xué)習(xí),才能達(dá)到靈活應(yīng)用的目的。 超參數(shù)(Hyperparameter)是在給定數(shù)據(jù)集的情況下,確定一組參數(shù)組合能使得模型性能、泛化能力達(dá)到較優(yōu)。 每個(gè)算法在調(diào)試超參數(shù)的過(guò)程中,都有一些與算法特征相關(guān)的普遍規(guī)律,如隨機(jī)森林算法中決策樹的個(gè)數(shù)、決策樹的深度等,一般是需要預(yù)先被設(shè)定和關(guān)注的?;陔S機(jī)森林中每棵樹應(yīng)當(dāng)是一個(gè)弱分類器的原理,決策樹的深度應(yīng)該很小才能避免過(guò)擬合。 目前有Grid Search等工具能夠在不同參數(shù)組合下嘗試找出一個(gè)合適的超參數(shù),替代人們不斷進(jìn)行手工嘗試的過(guò)程。但是不論如何,設(shè)置算法參數(shù)時(shí)總有一些經(jīng)驗(yàn)總結(jié)可以在后來(lái)的應(yīng)用中被復(fù)用。 在深刻了解算法原理、算法體系的基礎(chǔ)上,掌握參數(shù)調(diào)優(yōu)的技能是一個(gè)數(shù)據(jù)科學(xué)家的基本能力。不論是對(duì)初學(xué)者還是有一定經(jīng)驗(yàn)的從業(yè)者來(lái)說(shuō),這都是一個(gè)需要不斷學(xué)習(xí)和積累的基本任務(wù)。 2. 用法——如何回頭看模型 在很多情況下,當(dāng)數(shù)據(jù)科學(xué)家花費(fèi)大量時(shí)間和精力構(gòu)建出模型后,興高采烈地試圖交給業(yè)務(wù)人員進(jìn)行使用時(shí),往往會(huì)遇到一個(gè)有趣的情況:業(yè)務(wù)人員聽不懂你對(duì)高深算法的解釋,甚至不在乎你對(duì)數(shù)據(jù)的各種費(fèi)心處理,他們只關(guān)心實(shí)際的問(wèn)題,如模型到底效果如何? 在很多情況下,模型構(gòu)建完成后需要對(duì)模型進(jìn)行驗(yàn)證。比如訓(xùn)練時(shí)采用截止到3月的數(shù)據(jù),而模型部署是在7月,所以需要數(shù)據(jù)科學(xué)家驗(yàn)證截止到6月的情況下,模型的實(shí)際效果能達(dá)到什么程度。 這時(shí),我們除了需要通過(guò)新數(shù)據(jù)計(jì)算模型性能指標(biāo)(如提升度、準(zhǔn)確性、穩(wěn)定性等)外,還需要計(jì)算模型實(shí)際業(yè)務(wù)結(jié)果會(huì)是怎么樣,能帶來(lái)多少收益或能避免多少損失(如圖1-5所示)。 ▲圖1-5 以簡(jiǎn)單明了的方式來(lái)討論模型使用的預(yù)期價(jià)值 數(shù)據(jù)科學(xué)家除了要對(duì)模型性能指標(biāo)熟稔于心外,還需要能夠表達(dá)清楚模型真正的實(shí)際價(jià)值。所以,在第一步模型構(gòu)建完成后,應(yīng)用兩套指標(biāo)來(lái)衡量是比較可取的做法——模型性能指標(biāo)是從數(shù)學(xué)角度說(shuō)明模型優(yōu)劣;業(yè)務(wù)指標(biāo)是從模型應(yīng)用的業(yè)務(wù)結(jié)果來(lái)評(píng)價(jià)其價(jià)值。 在現(xiàn)實(shí)中,人們往往不好準(zhǔn)確把握模型的真實(shí)業(yè)務(wù)價(jià)值,在實(shí)際應(yīng)用后通過(guò)數(shù)據(jù)統(tǒng)計(jì)才能有結(jié)論。 但是這一點(diǎn)都不妨礙模型部署前的估算:按照目前模型的性能指標(biāo),估計(jì)在第一次給定客戶數(shù)的情況能有多少人購(gòu)買,大致的營(yíng)業(yè)額會(huì)是多少。采用估算還是采用事后統(tǒng)計(jì),都是用以說(shuō)明模型業(yè)務(wù)價(jià)值的手段,可以靈活應(yīng)用。 數(shù)據(jù)科學(xué)家要像重視模型性能指標(biāo)的計(jì)算一樣重視模型所帶來(lái)的業(yè)務(wù)指標(biāo)的計(jì)算。 總體來(lái)講,數(shù)據(jù)科學(xué)家不能將自己的工作范圍只框定在純粹建模,需要“抬頭看”和“睜眼看”業(yè)務(wù)價(jià)值。 3. 業(yè)務(wù)——如何產(chǎn)生更大價(jià)值 業(yè)務(wù)問(wèn)題的解決,可以從一處痛點(diǎn)開始突破,也可以按照體系化的方法整體解決。 比如,銀行對(duì)理財(cái)產(chǎn)品的營(yíng)銷:
大多數(shù)情況下,數(shù)據(jù)科學(xué)家應(yīng)當(dāng)在具體的業(yè)務(wù)背景下展開工作。比如,若業(yè)務(wù)部門按照客戶旅程地圖的方法來(lái)分析客戶特征、了解客戶需求、并適時(shí)推薦產(chǎn)品(如圖1-6所示),則數(shù)據(jù)挖掘的模型是服務(wù)于一個(gè)個(gè)業(yè)務(wù)場(chǎng)景,在整體客戶關(guān)系管理的框架下發(fā)揮價(jià)值的。 數(shù)學(xué)科學(xué)家的工作需要深度融入業(yè)務(wù),甚至引領(lǐng)數(shù)據(jù)驅(qū)動(dòng)的業(yè)務(wù)發(fā)展。此時(shí),數(shù)據(jù)科學(xué)家的定位不應(yīng)該僅僅是構(gòu)建模型者,還應(yīng)該是數(shù)據(jù)驅(qū)動(dòng)業(yè)務(wù)這種新模式的搭建者。 這種角色變化就要求數(shù)據(jù)科學(xué)家深刻理解具體的業(yè)務(wù)、新的數(shù)據(jù)驅(qū)動(dòng)模式的運(yùn)作方式,圍繞數(shù)據(jù)驅(qū)動(dòng)模式而展開各種活動(dòng)的意義。 ▲圖1-6 以客戶旅程地圖為例說(shuō)明不同的業(yè)務(wù)場(chǎng)景需要相應(yīng)的模型 在這種情況下,數(shù)據(jù)科學(xué)家在構(gòu)建模型時(shí)需要明確:該模型在數(shù)據(jù)驅(qū)動(dòng)業(yè)務(wù)的新模式中在哪個(gè)階段發(fā)揮什么作用?如何構(gòu)建一個(gè)模型組來(lái)協(xié)同工作?有了這些模型后數(shù)據(jù)驅(qū)動(dòng)業(yè)務(wù)模式能夠做到什么程度? 4. 戰(zhàn)略——如何更廣 數(shù)字化變革是目前幾乎所有企業(yè)都無(wú)法回避的任務(wù)。企業(yè)由于所處行業(yè)、自身特點(diǎn)等原因,需要量身定制數(shù)字化轉(zhuǎn)型的戰(zhàn)略。大型企業(yè)需要選擇發(fā)展重點(diǎn)作為突破方向,在轉(zhuǎn)型過(guò)程中既要做好技術(shù)基礎(chǔ),也需要大力推行敏捷的方法,同時(shí)要對(duì)人們的觀念、組織內(nèi)的流程等方面做出更新(如圖1-7所示)。 ▲圖1-7 一個(gè)量身定制的數(shù)字化轉(zhuǎn)型路線圖示例 資深數(shù)據(jù)科學(xué)家或首席數(shù)據(jù)科學(xué)家所擔(dān)負(fù)的職責(zé)不應(yīng)該僅僅是完成目前安排的任務(wù),或者去做一些博人眼球的所謂智能應(yīng)用。其還應(yīng)該深度參與企業(yè)數(shù)字化轉(zhuǎn)型的戰(zhàn)略制定、計(jì)劃安排、引領(lǐng)加速器項(xiàng)目等工作,因?yàn)橘Y深數(shù)據(jù)科學(xué)家最應(yīng)該懂得數(shù)據(jù)的價(jià)值如何發(fā)揮、能夠發(fā)揮到什么程度。 對(duì)于大型企業(yè)而言,數(shù)字化轉(zhuǎn)型的任務(wù)是艱巨的,不過(guò)眾多行業(yè)已經(jīng)或多或少地開始了相關(guān)的行動(dòng)。筆者由于工作關(guān)系也深入?yún)⑴c到了大型金融機(jī)構(gòu)數(shù)字化轉(zhuǎn)型的咨詢工作,深刻感觸到了企業(yè)在進(jìn)行數(shù)字化轉(zhuǎn)型時(shí)的困難。這使得筆者更加認(rèn)為讓真正懂得如何發(fā)揮數(shù)據(jù)價(jià)值的人員按照加速器的方式來(lái)推動(dòng)數(shù)字化轉(zhuǎn)型進(jìn)程是至關(guān)重要的。 |
|