導讀:如何成為一名合格的資料科學家?這個問題回答起來亦簡亦難。本文帶你了解資料科學家的成長之路。
一次偶然的機會,有一位正在深造機器學習方面學位的朋友問了筆者一個問題:如何成為一名合格的資料科學家?
這個問題回答起來亦簡亦難。簡單回答的話可以拿出標準答案,坐而論道地說需要程式設計能力、資料操作能力、數學基礎、演算法庫應用能力、演算法調優能力與業務對接的能力等。
但是這樣的答案筆者其實是不滿意的,因為有太多的技術意味。做資料分析、將資料的價值發揮出來,是一個“工程 + 科學”的過程,只要在這個過程中的任意一處找到自己的位置,就無謂資料科學家這種稱號了。
大資料時代方興未艾,人工智慧時代又呼嘯而至。人們在很多場合下能看到諸多新應用,加之整個社會都在熱切地擁抱人工智慧技術,使得大家都相信人工智慧時代勢必會改變社會的方方面面,筆者對此也深信不疑。
在人工智慧時代,將資料的價值發揮出來的要素有資金、資料、平臺、技術、人員等。資料科學家是人員要素中最為重要的部分,是需要企業非常重視的。在資料科學家自身發展的方向、組織結構,以及如何體現出價值等方面,相信大家肯定會有很多想法。
筆者從十幾年前加入IBM SPSS進入資料分析領域開始,至今擔任過分析軟體工具的開發者、解決實際業務問題的資料探勘者、資料驅動業務以及數字化轉型的諮詢者等多種角色。反觀這些年的成長路徑,將一些較為重要的經驗做一個粗淺的總結,拋磚引玉,以供讀者參考。
01 演算法與資料科學家
我們隨便開啟一些教科書,會發現機器學習、人工智慧、資料探勘等經典領域所談論的很多知識點是共通的,比如從歷史資料中學習到事物模式並用於對未來做出判斷,是機器學習中的重要內容,也是人工智慧的重要方面,更是資料探勘的重點內容。
現在有一個很時髦的說法,認為機器學習是比資料探勘更為高深的學科,實現人機對話那肯定是人工智慧的範疇。
其實,從一個更為巨集觀的視角來看的話,這幾個學科都是在將資料的價值通過演算法和演算法的組合(資料分析的流程)發揮出來,沒有一個清晰的標準說某類演算法必須屬於人工智慧範疇、某類演算法必須屬於機器學習的範疇。
1. 資料科學、人工智慧、機器學習等
有國外的學者試圖給出一個機器學習、資料科學、人工智慧等時髦名詞之間關係的示意圖,如圖1-1所示,我們發現,這些學科間的關係可以說是交纏不清。
▲圖1-1 資料科學相關的學科之間的關係
筆者也就這些學科之間的關係進行了深入探索,查詢了很多的資料,發現圖1-1的中間部分,其實是來自SAS在1998年提供的資料分析的課程。除此之外,很少有人能將它們的關係說清楚,因為這本來就說不清楚。所以,對上圖,讀者只當其是一個參考即可。
重點是圖1-1所表達的含義:這些技術都是圍繞“問題解決” →“分析” →“策略” →“領域知識” →“溝通” →“表達” →“探索”等問題來展開的,而這些問題都是人們在認識世界、解決問題時所涉及的方面。
所以,本節採用圖1-1想表達的含義也是如此:計算機的技術在迅猛發展,現在很多的技術都可以融合使用來解決複雜問題了;對於資料科學相關的這些技術,很多方面都是通用的。
2. 室內活動還是室外活動
資料科學家是個含義較廣的名詞,人們往往也不會太多在意他們所從事的具體工作有什麼不同,習慣將從事演算法設計開發、在客戶現場直接應用資料分析工具解決問題的人都稱為資料科學家。
這樣的劃分其實無可厚非。但是若將演算法看作成品,則可以將資料科學家分為室外(out-house)和室內(in-house)兩種角色。
所謂室內資料科學家關注具體演算法的設計、實現。比如,在MapReduce的計算方式下如何實現分層聚類演算法。
而室外資料科學家,也就是資料探勘者,他們一般不需要關注具體演算法和工具的實現,他們的職責是將客戶的需求翻譯為具體工具能解決的工作流程,並應用合適演算法能得出有意義的結論。圖1-2比較形象地對比了兩種科學家的不同。
▲圖1-2 室內室外兩種資料分析人員職責對比
現在還有一種習慣就是將室內資料科學家稱為演算法工程師,而對於室外資料科學家則稱之為資料科學家。我們大可不必糾結於這些名稱的不同,只要對他們的職責有不同的認識即可。
室外資料科學家,在長期的專案過程中,需要與業務人員有非常深入的溝通才能得出有意義的資料分析結果。所以,相對於資料模型而更加看重業務的需求和特點,這是室外資料科學家的基本素養。本書所謂的資料科學家是指所謂從事室外活動的資料分析者。
02 資料科學家不斷成長的幾個階段現在移動端各種App百花齊放,這已經使得資訊的傳播沒有任何的限制,人們在不自覺的過程其實已經閱讀了大量的自己感興趣的文章。若對機器學習比較感興趣,相信人們已經看到了很多非常炫酷的機器學習的應用,如人臉識別的精度已經提高到一個非常高的水平、大量智慧問答機器人的部署已經替代了不知多少呼叫中心的員工等。
顯而易見,這些應用絕不是單靠一個演算法就能解決的,註定是平臺、演算法、業務等要素的綜合應用才能產生這樣的效果。在應用資料分析時已經基本形成一個共識,就是資料分析者要對業務有一定的了解,才能保證產生較好的結果。
Gartner很早就將資料分析能力分成了4種(如圖1-3所示):
Business Intelligence的核心能力是解決描述分析和診斷分析。人們常說的預測模型(包括傳統的隨機森林、GBT等,還包括深度學習的常見演算法如CNN等)、聚類模型、關聯分析等都屬於預測分析範疇。利用凸優化、馬爾可夫等方法從眾多的決策選項中尋求最優決策,則屬於Prescriptive Analysis的範疇,重點解決最優決策的問題。
在圖1-3中,分析之後,人們經驗、業務的輸入(Human Input)隨著分析手段的提高而減少,這是因為Prescriptive Analysis在分析過程中已經將這些因素充分地引入。
比如,預測客戶流失的模型能夠輸出“哪些客戶將要流失”的名單,但是並不會輸出“OK,企業應該採用何種決策來挽留”,是應該給個折扣,還是辦一張會員卡?這些還是需要人們進行業務決策的輸入。
而Prescriptive Analysis則會分析折扣和會員卡哪種方式既能挽留客戶又能使得企業的收益較高,但是這些決策(會員卡和折扣)也是需要人們輸入後才能進行分析。
所以“通過資料分析的手段發揮資料價值”的過程,沒有業務輸入是絕對行不通的。所以,筆者也認為資料科學家絕不是僅僅精通演算法即可,還需要對業務一直保持熱情,不斷思考如何發揮資料分析的業務價值。我們需要從技能、效果、工作內容、工作方法等多個層面來擴充套件相關的能力,這才能發揮較大的價值。
總之,如果資料科學家僅僅只是被動地考慮用何種演算法滿足業務部門所提出的要求的話,是遠遠不夠的。
如果讀者有志於成為一個數據科學家,或者已經是一個數據科學家,類似於職場的職業路徑規劃,資料科學家的成長路徑可以是什麼?如何不斷成長?相信大家按照自己的興趣都有不同的理解。
若資料科學家一直致力於“發揮資料的價值”這條主線,那麼筆者認為從價值的大小上可以分為演算法、用法、業務、戰略4個層面(如圖1-4所示),資料科學家也可以沿著這條路徑來成長。
從圖1-4中可以看到不同層面的資料科學家的職責和作用是不同的,4個層次也是資料科學家成長的不同階段。
1. 演算法——如何構建資料分析模型
人們總是津津樂道各種時髦的演算法,感嘆演算法的發展使得人工智慧有了長足的進展。比如,人們看到機器可以精準地識別人臉、機器可以作詩、機器可以識別圖片內容並“說出”符合其內容的文字描述,也熱衷於緊跟最新的技術發展來做一些新穎的應用。這是一個非常好的趨勢,可以促進人工智慧的相關產業發展。
然而,人類已經發明的演算法遠不僅僅如此。若讀者一直在從事資料分析的相關工作,會發現其實能夠解決實際業務問題的演算法非常多,有很多也是簡單直接的。
比如,找到潛在的價值客戶,既可以通過響應預測的模型,也可以通過聚類分析的模型,還可以通過社交網路分析的模型來找到。構建這些模型所需要的相關知識也需要體系化地學習、不斷積累才能真正滿足實際的業務需求。
在很多資料探勘的資料中都會把演算法分為有監督的學習、無監督的學習等類別,每個類別下各自的演算法又有不同。比如聚類演算法屬於無監督的學習範疇,而能夠做類別判斷或迴歸的演算法都屬於有監督的學習範疇。
在實際使用時,需要針對需求靈活應用,如可以先用決策樹演算法生成預測模型,然後分析決策樹的分支來細分客群。只有對這些演算法有一個體系化的學習,才能達到靈活應用的目的。
超引數(Hyperparameter)是在給定資料集的情況下,確定一組引數組合能使得模型效能、泛化能力達到較優。
每個演算法在除錯超引數的過程中,都有一些與演算法特徵相關的普遍規律,如隨機森林演算法中決策樹的個數、決策樹的深度等,一般是需要預先被設定和關注的。基於隨機森林中每棵樹應當是一個弱分類器的原理,決策樹的深度應該很小才能避免過擬合。
目前有Grid Search等工具能夠在不同引數組合下嘗試找出一個合適的超引數,替代人們不斷進行手工嘗試的過程。但是不論如何,設定演算法引數時總有一些經驗總結可以在後來的應用中被複用。
在深刻了解演算法原理、演算法體系的基礎上,掌握引數調優的技能是一個數據科學家的基本能力。不論是對初學者還是有一定經驗的從業者來說,這都是一個需要不斷學習和積累的基本任務。
2. 用法——如何回頭看模型
在很多情況下,當資料科學家花費大量時間和精力構建出模型後,興高采烈地試圖交給業務人員進行使用時,往往會遇到一個有趣的情況:業務人員聽不懂你對高深演算法的解釋,甚至不在乎你對資料的各種費心處理,他們只關心實際的問題,如模型到底效果如何?
在很多情況下,模型構建完成後需要對模型進行驗證。比如訓練時採用截止到3月的資料,而模型部署是在7月,所以需要資料科學家驗證截止到6月的情況下,模型的實際效果能達到什麼程度。
這時,我們除了需要通過新資料計算模型效能指標(如提升度、準確性、穩定性等)外,還需要計算模型實際業務結果會是怎麼樣,能帶來多少收益或能避免多少損失(如圖1-5所示)。
資料科學家除了要對模型效能指標熟稔於心外,還需要能夠表達清楚模型真正的實際價值。所以,在第一步模型構建完成後,應用兩套指標來衡量是比較可取的做法——模型效能指標是從數學角度說明模型優劣;業務指標是從模型應用的業務結果來評價其價值。
在現實中,人們往往不好準確把握模型的真實業務價值,在實際應用後通過資料統計才能有結論。
但是這一點都不妨礙模型部署前的估算:按照目前模型的效能指標,估計在第一次給定客戶數的情況能有多少人購買,大致的營業額會是多少。採用估算還是採用事後統計,都是用以說明模型業務價值的手段,可以靈活應用。
資料科學家要像重視模型效能指標的計算一樣重視模型所帶來的業務指標的計算。
總體來講,資料科學家不能將自己的工作範圍只框定在純粹建模,需要“抬頭看”和“睜眼看”業務價值。
3. 業務——如何產生更大價值
業務問題的解決,可以從一處痛點開始突破,也可以按照體系化的方法整體解決。
比如,銀行對理財產品的營銷:
若只關注具體產品的銷售,則簡單的產品響應預測模型即可解決;若只關注一批產品的銷售,則也可以通過構建多輸出預測模型預測每一個產品的購買概率來生成推薦列表;若關注客戶旅程地圖(Customer Journey Map)而確定營銷時機,則需要一批模型;若關注客戶體驗的提升,需要的就不是一批模型,而是一個體系化的平臺加大量模型才能達到預期效果。大多數情況下,資料科學家應當在具體的業務背景下展開工作。比如,若業務部門按照客戶旅程地圖的方法來分析客戶特徵、了解客戶需求、並適時推薦產品(如圖1-6所示),則資料探勘的模型是服務於一個個業務場景,在整體客戶關係管理的框架下發揮價值的。
數學科學家的工作需要深度融入業務,甚至引領資料驅動的業務發展。此時,資料科學家的定位不應該僅僅是構建模型者,還應該是資料驅動業務這種新模式的搭建者。
這種角色變化就要求資料科學家深刻理解具體的業務、新的資料驅動模式的運作方式,圍繞資料驅動模式而展開各種活動的意義。
▲圖1-6 以客戶旅程地圖為例說明不同的業務場景需要相應的模型
在這種情況下,資料科學家在構建模型時需要明確:該模型在資料驅動業務的新模式中在哪個階段發揮什麼作用?如何構建一個模型組來協同工作?有了這些模型後資料驅動業務模式能夠做到什麼程度?
4. 戰略——如何更廣
數字化變革是目前幾乎所有企業都無法迴避的任務。企業由於所處行業、自身特點等原因,需要量身定製數字化轉型的戰略。大型企業需要選擇發展重點作為突破方向,在轉型過程中既要做好技術基礎,也需要大力推行敏捷的方法,同時要對人們的觀念、組織內的流程等方面做出更新(如圖1-7所示)。
▲圖1-7 一個量身定製的數字化轉型路線圖示例
資深資料科學家或首席資料科學家所擔負的職責不應該僅僅是完成目前安排的任務,或者去做一些博人眼球的所謂智慧應用。其還應該深度參與企業數字化轉型的戰略制定、計劃安排、引領加速器專案等工作,因為資深資料科學家最應該懂得資料的價值如何發揮、能夠發揮到什麼程度。
對於大型企業而言,數字化轉型的任務是艱鉅的,不過眾多行業已經或多或少地開始了相關的行動。筆者由於工作關係也深入參與到了大型金融機構數字化轉型的諮詢工作,深刻感觸到了企業在進行數字化轉型時的困難。這使得筆者更加認為讓真正懂得如何發揮資料價值的人員按照加速器的方式來推動數字化轉型程序是至關重要的。
關於作者:彭鴻濤,德勤企業諮詢總監兼首席資料科學家,德勤全球AI團隊核心成員,德勤數字化轉型、智慧營銷、智慧風控、客戶體驗等核心諮詢服務方案的資深顧問。
張宗耀,上海全應科技有限公司資深資料科學家,前華為企業智慧部門資深資料科學家,前IBM SPSS 演算法元件團隊資深演算法工程師。
聶磊,陝西萬禾數字科技有限公司CTO,前IBM SPSS 資深資料科學家,前IBM Watson Analytics資料分析引擎技術主管及架構師。
本文摘編自《增強型分析:AI驅動的資料分析、業務決策與案例實踐》,經出版方授權釋出。
延伸閱讀《增強型分析》
推薦語:增強型分析是資料科學的未來,本書講解了如何通過前沿的大資料技術和AI技術實現智慧的資料分析和業務決策,即增強型分析。本書的三位作者是來自德勤、前華為和前IBM的資深資料科學家,在大資料和AI領域至少都有10年以上的工作經驗,他們將各自多年來在“構建資料探勘模型,解決實際業務問題”方面積累的經驗全部總結在了這本書中。
長按二維碼發現更多好書