超級(jí)干貨 :一文總覽數(shù)據(jù)科學(xué)全景:定律、算法、問(wèn)題類型...
Pradeep Menon是一位在大數(shù)據(jù),數(shù)據(jù)科學(xué),數(shù)據(jù)架構(gòu)領(lǐng)域擁有豐富經(jīng)驗(yàn)以及影響力的專家。這是他今年所撰寫(xiě)的簡(jiǎn)述數(shù)據(jù)科學(xué)系列文章中的第一篇,主要介紹數(shù)據(jù)科學(xué)中的基本定律、常用算法以及問(wèn)題類型,讀者可以從中一窺數(shù)據(jù)科學(xué)的全景。
2016年,英國(guó)數(shù)學(xué)家,樂(lè)購(gòu)俱樂(lè)部構(gòu)架師Clive Humbly提出“數(shù)據(jù)是新能源”這樣一個(gè)說(shuō)法。他說(shuō):
“數(shù)據(jù)是新能源。它擁有極高的價(jià)值,卻需要經(jīng)過(guò)提煉才能使用。就像石油一樣,必須被轉(zhuǎn)化為氣體、塑料或者化學(xué)品等,才能發(fā)揮出其實(shí)際的作用; 因此,數(shù)據(jù)只有被分解和分析之后才具備價(jià)值。”
iPhone革命,移動(dòng)經(jīng)濟(jì)的增長(zhǎng),為大數(shù)據(jù)技術(shù)的發(fā)展創(chuàng)造了一個(gè)完美的契機(jī)。在2012年,HBR(Harvard Bussiness Review)發(fā)表過(guò)一篇文章,將數(shù)據(jù)科學(xué)家推到了風(fēng)口浪尖上。這篇名為《數(shù)據(jù)科學(xué)家: 21世紀(jì)最性感的職業(yè)》(Data Scientist: The Sexiest Job of the 21st Centry) ( https://hbr.org/2012/10/data-scientist-the-sexiest-job-of-the-21st-century) 給這群“新人類”打上了標(biāo)簽: 一個(gè)數(shù)據(jù)黑客、分析師、傳播者和信譽(yù)顧問(wèn)的混合體。
每個(gè)公司目前都在嘗試變得更為“數(shù)據(jù)驅(qū)動(dòng)(data-driven)”。機(jī)器學(xué)習(xí)技術(shù)在其中提供了很大的幫助。這其中很多的東西非常專業(yè),很難理解。因此,本系列文章將會(huì)簡(jiǎn)化數(shù)據(jù)科學(xué)。作者嘗試參照斯坦福大學(xué)的課程以及教科書(shū)統(tǒng)計(jì)學(xué)習(xí)導(dǎo)論(Introduction to Statistical Learning) (http://www-bcf.usc.edu /~gareth/ISL/ ),將數(shù)據(jù)科學(xué)以一種簡(jiǎn)單容易理解的形式呈現(xiàn)給讀者。
數(shù)據(jù)科學(xué)是一個(gè)多學(xué)科領(lǐng)域,主要包括:
- 商業(yè)知識(shí) (Business Knowledge)
- 統(tǒng)計(jì)學(xué)習(xí)又名機(jī)器學(xué)習(xí) (Statistical Learning aka Machine Learning)
- 電腦編程 (Computer Programming)
該系列的重點(diǎn)是簡(jiǎn)化數(shù)據(jù)科學(xué)中機(jī)器學(xué)習(xí)方面的知識(shí)。本文將首先介紹數(shù)據(jù)科學(xué)中的基本定律,常用算法以及問(wèn)題類型。
核心定律

(圖片轉(zhuǎn)載自 (Menon, 2017))
數(shù)據(jù)是一項(xiàng)戰(zhàn)略資源:這一概念是一種組織思維。問(wèn)題是:“我們是否正使用我們所收集和存儲(chǔ)的全部數(shù)據(jù)信息?我們能否從中挖掘有意義的資源?”我非常確定,這些問(wèn)題的答案都是“否”。以云端為基礎(chǔ)的公司都依賴數(shù)據(jù)驅(qū)動(dòng)。它們勢(shì)必將數(shù)據(jù)視為戰(zhàn)略性資源。但這一觀念并非適用于大多數(shù)機(jī)構(gòu)。
知識(shí)攝取的系統(tǒng)化流程:挖掘數(shù)據(jù)需要一套有條理的流程,這其中包括明確的步驟,以及每一步清晰可實(shí)現(xiàn)的目標(biāo)。就好比跨行業(yè)數(shù)據(jù)挖掘標(biāo)準(zhǔn)流程(CRISP-DM) (https://en.wikipedia.org/ wiki/ Cross_Industry_Standard_Process_for_Data_Mining)。
與數(shù)據(jù)共眠:相關(guān)機(jī)構(gòu)應(yīng)當(dāng)投資熱衷于數(shù)據(jù)的專業(yè)人士。將數(shù)據(jù)轉(zhuǎn)化為資源的不是煉金術(shù)。這個(gè)世界也沒(méi)有萬(wàn)能的煉金術(shù)士。他們需要的是懂得數(shù)據(jù)價(jià)值,能識(shí)別和創(chuàng)造數(shù)據(jù)資源的信仰者。以及可以將數(shù)據(jù),科技以及金融這些領(lǐng)域鏈接在一起的專業(yè)人才。
接受不確定性:數(shù)據(jù)科學(xué)不是一顆銀色子彈(特效武器)。它也不是水晶球,可以用來(lái)預(yù)言未來(lái)。像報(bào)告和關(guān)鍵績(jī)效指標(biāo)一樣,它是一個(gè)決策推動(dòng)者。數(shù)據(jù)科學(xué)是一個(gè)工具,而不是一種達(dá)到目的的手段。它不是絕對(duì)的,而是屬于概率的范疇。管理層和決策層需要接受這個(gè)事實(shí)。他們需要將被量化的不確定性加入到?jīng)Q策過(guò)程中。只有當(dāng)相關(guān)機(jī)構(gòu)采取實(shí)驗(yàn)的文化,并且能夠從失敗中迅速學(xué)習(xí),才能立足于不確定性之上成長(zhǎng)。
BAB定律(Business-Analytics-Business):我認(rèn)為這是最重要的一條定律。多數(shù)數(shù)據(jù)科學(xué)的文獻(xiàn)都將重點(diǎn)放在模型和算法上。方程式本身缺乏商業(yè)背景。BAB則是突出其中的商業(yè)部分。把算法置于商業(yè)背景中是至關(guān)重要的。定義商業(yè)問(wèn)題,用分析來(lái)求解,最后將答案集成到商業(yè)流程中。也就是所謂的BAB:商業(yè)-分析-商業(yè),這么一個(gè)過(guò)程。
流程

(圖片轉(zhuǎn)載自 (Menon, 2017))
參考第二定律,這一段將會(huì)把重點(diǎn)放在介紹數(shù)據(jù)科學(xué)中的流程部分。以下是一個(gè)典型數(shù)據(jù)科學(xué)項(xiàng)目中的各個(gè)階段:
1. 定義商業(yè)問(wèn)題 (Define Business Problem)
愛(ài)因斯坦曾說(shuō):“凡事保留其本質(zhì),力求最簡(jiǎn)”。這個(gè)引用可以說(shuō)是定義一個(gè)商業(yè)問(wèn)題的關(guān)鍵。問(wèn)題的描述需要精確的加工,必須明確定義出所需達(dá)成的目標(biāo)。根據(jù)我的經(jīng)驗(yàn),業(yè)務(wù)團(tuán)隊(duì)過(guò)于忙于手頭的任務(wù),卻忽略了需要應(yīng)對(duì)的挑戰(zhàn)。頭腦風(fēng)暴會(huì)議,研討會(huì)以及訪談都可以幫助發(fā)現(xiàn)這些挑戰(zhàn),并且制定假設(shè)。舉個(gè)例子,我們假設(shè)一家電信公司由于客戶群的減少導(dǎo)致同比收入下降。在這種情況下,商業(yè)問(wèn)題可以定義為:
- 公司需要通過(guò)開(kāi)發(fā)新客戶群,同時(shí)減少客戶流失,來(lái)擴(kuò)大客戶基礎(chǔ)。
2. 分配機(jī)器學(xué)習(xí)任務(wù) (Decompose To Machine Learning Tasks)
定義好的商業(yè)問(wèn)題需要被分配為各項(xiàng)機(jī)器學(xué)習(xí)任務(wù)。就以上例子來(lái)說(shuō),如果公司需要通過(guò)開(kāi)發(fā)新市場(chǎng),減少客戶流失,來(lái)擴(kuò)大客戶基礎(chǔ),那么我們?nèi)绾螌⑵浞纸鉃闄C(jī)器學(xué)習(xí)問(wèn)題?以下是一個(gè)分解方案:
- 減少客戶流失x%。
- 確定目標(biāo)營(yíng)銷的新客戶群。
3. 數(shù)據(jù)準(zhǔn)備工作 (Data Preparation)
制定了商業(yè)問(wèn)題,并且將其分解為機(jī)器學(xué)習(xí)任務(wù)之后,我們需要深入了解其相關(guān)數(shù)據(jù),以便制定適當(dāng)?shù)姆治霾呗?。需要注意?shù)據(jù)的來(lái)源,數(shù)據(jù)的質(zhì)量,以及數(shù)據(jù)的偏差等主要事項(xiàng)。
4. 探索性數(shù)據(jù)分析(Exploratory Data Analysis)
就像宇航員探索宇宙一樣,一位數(shù)據(jù)科學(xué)家需要探索數(shù)據(jù)模式中的未知,深入了解其隱藏的特征,并記錄新的發(fā)現(xiàn)。探索性數(shù)據(jù)分析(EDA)是一項(xiàng)扣人心弦的任務(wù)。我們能夠更好地了解數(shù)據(jù),調(diào)查其細(xì)微的差別,發(fā)掘隱藏的模式,開(kāi)發(fā)新的特征,并且制定建模策略。
5. 建模 (Modelling)
在探索性數(shù)據(jù)分析之后,我們將進(jìn)行建模。在這個(gè)階段,我們針對(duì)具體的機(jī)器學(xué)習(xí)問(wèn)題,選擇最適用的算法,比如常見(jiàn)的回歸(Regression)、決策樹(shù)(Decision Tree)、隨機(jī)森林(Random Forest)等算法。
6. 部署和評(píng)估 (Deployment and Evaluation)
最終,我們部署好建立的模型,并對(duì)它們進(jìn)行不斷監(jiān)測(cè),觀察他們?cè)诂F(xiàn)實(shí)中的表現(xiàn),并進(jìn)行有針對(duì)性的校準(zhǔn)。
通常,建模和部署部分只占全部工作的20%,剩余的 80%的工作是對(duì)數(shù)據(jù)的研究以及深度的了解。
機(jī)器學(xué)習(xí)的問(wèn)題類型

(圖片轉(zhuǎn)載自 (Menon, 2017))
簡(jiǎn)單來(lái)說(shuō),機(jī)器學(xué)習(xí)被分為兩大類:監(jiān)督學(xué)習(xí)和無(wú)監(jiān)督學(xué)習(xí)。
1. 監(jiān)督學(xué)習(xí)(Supervised Learning)
監(jiān)督學(xué)習(xí)任務(wù)擁有一個(gè)事先定義好的目標(biāo)。建模者有針對(duì)性地觀察并且影響機(jī)器學(xué)習(xí)模型的生成的過(guò)程,以實(shí)現(xiàn)其特定的目標(biāo)。監(jiān)督學(xué)習(xí)可以進(jìn)一步分為兩類:
回歸 (Regression):
回歸模型在機(jī)器學(xué)習(xí)任務(wù)中非常常見(jiàn),用于估計(jì)和預(yù)測(cè)一個(gè)數(shù)值變量。舉兩個(gè)例子:
- 下個(gè)季度潛在收入的預(yù)估是多少?
- 明年可以結(jié)交多少筆交易?
分類 (Classification):
顧名思義,分類模型把目標(biāo)分開(kāi)并歸整為幾個(gè)特定的類型。它適用于所有類型的應(yīng)用。舉幾個(gè)典型的例子:
- 使用分類模型過(guò)濾垃圾郵件,將收到的電子郵件基于某些特征分類為垃圾郵件和可接收郵件。
- 流失預(yù)測(cè)是分類模型的另一個(gè)重要應(yīng)用。電話公司普遍使用流失模型(Churn Model)來(lái)預(yù)測(cè)用戶是否會(huì)流失(即停止使用服務(wù))。
2. 無(wú)監(jiān)督學(xué)習(xí)(Unsupervised Learning)
無(wú)監(jiān)督學(xué)習(xí)沒(méi)有指定的目標(biāo),因此產(chǎn)生的結(jié)果有時(shí)候會(huì)難以解釋。無(wú)監(jiān)督學(xué)習(xí)任務(wù)有很多種類型。最常見(jiàn)的幾個(gè)是:
- 聚類(Clustering):通過(guò)相似度把目標(biāo)歸類在一起。比如客戶細(xì)分就是使用聚類算法。
- 關(guān)聯(lián)(Association):關(guān)聯(lián)算法用來(lái)尋找相互匹配的產(chǎn)品。購(gòu)物籃分析(Market Basket Analysis)就是使用關(guān)聯(lián)算法將產(chǎn)品捆綁銷售。
- 鏈路預(yù)測(cè)(Link Prediction):鏈路預(yù)測(cè)用于查找數(shù)據(jù)項(xiàng)之間的連接。比如 Facebook,Amazon和Netflix這些網(wǎng)站大規(guī)模地使用鏈接預(yù)測(cè)算法來(lái)為我們推薦相關(guān)朋友,熱衷商品和的電影。
- 數(shù)據(jù)簡(jiǎn)化(Data Reduction):數(shù)據(jù)簡(jiǎn)化方法用于減少數(shù)據(jù)集中特征的數(shù)量。它將大量屬性的大型數(shù)據(jù)集用較少的屬性呈現(xiàn)出來(lái)。
機(jī)器學(xué)習(xí)任務(wù)到模型到算法
一旦將業(yè)務(wù)問(wèn)題分解為機(jī)器學(xué)習(xí)任務(wù),一個(gè)或多個(gè)算法可以解決給定的機(jī)器學(xué)習(xí)任務(wù)。通常,一個(gè)模型是使用多個(gè)算法進(jìn)行訓(xùn)練的。選擇提供最佳結(jié)果的算法或算法集合進(jìn)行部署。
Microsoft Azure Machine Learning有30多種預(yù)先構(gòu)建的算法,可用于訓(xùn)練機(jī)器學(xué)習(xí)模型。

(圖片轉(zhuǎn)載自 (Menon, 2017))
Azure Machine Learning cheat-sheet可以幫助你探索這些算法。
結(jié)論
數(shù)據(jù)科學(xué)是一個(gè)非常廣泛的領(lǐng)域。它扣人心弦,是一門(mén)科學(xué),亦是一門(mén)藝術(shù)。在這篇文章中,我們僅僅探索了冰山的一角。如果在不懂得其原理“why”的情況下去探索它的方法“how”是沒(méi)有意義的。在隨后的文章中,我們將繼續(xù)探討機(jī)器學(xué)習(xí)的方法“how”。