數(shù)據(jù)科學面臨的共同挑戰(zhàn)有哪些?
隨著我們進入2017年下半年,是時候看看那些使用數(shù)據(jù)科學和機器學習的公司面臨的共同挑戰(zhàn)。假設(shè)你的公司已經(jīng)在大規(guī)模收集數(shù)據(jù),需要用到分析工具,而且你已經(jīng)認識到數(shù)據(jù)科學可以發(fā)揮重大作用(包括改善決策或企業(yè)經(jīng)營、增加收入等等),并進行了優(yōu)先排序。收集數(shù)據(jù)和識別感興趣的問題并非小事,但假設(shè)你已經(jīng)在這些方面起了個好頭,那么還剩下哪些挑戰(zhàn)呢?
數(shù)據(jù)科學是一個寬泛的話題,所以我要說明一下:本文主要探討的是督導式機器學習的使用現(xiàn)狀。
一切從(訓練)數(shù)據(jù)開始
假設(shè)你有一支處理數(shù)據(jù)攝取和整合的團隊,以及一支維護數(shù)據(jù)平臺(“真相來源”)的團隊,新的數(shù)據(jù)來源不斷出現(xiàn),由領(lǐng)域?qū)<邑撠熣页鲞@些數(shù)據(jù)來源。而且,由于我們主要探討督導式學習,因此,訓練數(shù)據(jù)的缺乏依然是機器學習項目的首要瓶頸,這一點毫不意外。
在迅速創(chuàng)建龐大的訓練數(shù)據(jù)集(或者加強現(xiàn)有的訓練數(shù)據(jù)集)方面,有一些很好的研究項目和工具。斯坦福大學的研究人員已經(jīng)證明,弱監(jiān)督和數(shù)據(jù)編程可以用來訓練模型,不必使用大量手工標記的訓練數(shù)據(jù)。深度學習研究人員對生成式模型的初步研究,已經(jīng)在無督導式學習的計算機視覺和其他領(lǐng)域取得了可喜的成果。
“思考特性而不是算法”,這是在機器學習背景下評估數(shù)據(jù)的另一個有用方法。友情提示:數(shù)據(jù)擴充可能改善你的現(xiàn)有模型,在某些情況下,甚至有助于緩解冷啟動問題。大部分數(shù)據(jù)科學家可能已經(jīng)利用開源數(shù)據(jù)或者通過第三方數(shù)據(jù)提供商,來擴充他們的現(xiàn)有數(shù)據(jù)集,但我發(fā)現(xiàn),數(shù)據(jù)擴充有時會遭到忽視。人們覺得,獲取外部數(shù)據(jù)、使之規(guī)范化、并利用這些數(shù)據(jù)進行實驗,這不像開發(fā)模型和算法那么具有吸引力。
從原型到產(chǎn)品
讓數(shù)據(jù)科學項目實現(xiàn)產(chǎn)品化,這是許多用例的目標。為了使這一過程更有效率,近來出現(xiàn)了一個新的工作角色——機器學習工程師。還有一套新的工具用于推進從原型到產(chǎn)品的轉(zhuǎn)變,幫助追蹤與分析產(chǎn)品有關(guān)的背景和元數(shù)據(jù)。
機器學習在產(chǎn)品中的應用還處于早期階段,***實踐才剛剛開始出現(xiàn)。隨著高級分析模型的普及,有幾點需要考慮,包括:
- 部署環(huán)境:你可能需要與已有的日志或A/B測試基礎(chǔ)設(shè)施進行整合。除了把穩(wěn)定、高性能的模型部署到服務(wù)器以外,部署環(huán)境還越來越多地包括,如何以及何時把模型部署到邊緣側(cè)(移動設(shè)備是常見的例子)。把模型部署到邊緣設(shè)備的新工具和策略已經(jīng)出現(xiàn)。
- 規(guī)模,延遲,新鮮度:需要用多少數(shù)據(jù)來訓練模型 模型推導的響應時間應該是多少 重新訓練模型和更新數(shù)據(jù)集的頻率應該是多少 后者說明你擁有可重復的數(shù)據(jù)管道。
- 偏差:如果你的訓練數(shù)據(jù)不具有代表性,那么你將得到不理想(甚至不公正)的結(jié)果。在某些情況下,你也許可以利用傾向得分或其他方法,相應地調(diào)整數(shù)據(jù)集。
- 監(jiān)控模型:我認為人們低估了監(jiān)控模型的重要性。在這個方面,學過統(tǒng)計學的人擁有競爭優(yōu)勢。想知道模型何時退化以及退化了多少,這可能很棘手。概念漂移也許是一個因素。就分類器而言,一個策略是把模型預測的類別分布與預測類別的觀測分布進行比較。你也可以設(shè)立不同于機器學習模型評估指標的商業(yè)目標。比如,一個推薦系統(tǒng)的任務(wù)可能是幫助發(fā)現(xiàn)“隱藏或長尾”內(nèi)容。
- 關(guān)鍵應用程序:與普通的消費者應用程序相比,在關(guān)鍵環(huán)境中部署的模型必須更加穩(wěn)定。另外,這類環(huán)境中的機器學習應用程序必須能夠數(shù)月“連續(xù)”運行(不會發(fā)生內(nèi)存泄漏等故障)。
- 隱私和安全:通常來說,如果你能讓用戶和企業(yè)相信他們的數(shù)據(jù)是安全的,那么他們可能更愿意共享數(shù)據(jù)。如上文所述,用額外特征進行擴充的數(shù)據(jù)往往會帶來更好的結(jié)果。對于在歐盟經(jīng)商的企業(yè)而言,一個迫在眉睫的問題是,《一般數(shù)據(jù)保護條例》(GDPR)將于2018年5月生效。在其他領(lǐng)域,對抗性機器學習和安全性機器學習(包括能夠處理加密數(shù)據(jù))的實踐研究開始出現(xiàn)。
模型開發(fā)
媒體對模型和算法開發(fā)的報道越來越多,但如果你同數(shù)據(jù)科學家交談,他們中的大多數(shù)人都會告訴你,訓練數(shù)據(jù)的匱乏以及數(shù)據(jù)科學的產(chǎn)品化是更加緊迫的問題。通常來說,市面上已有足夠多的簡單明了的用例,讓你可以開發(fā)你喜歡的(基本或高級的)算法,并在以后進行調(diào)整或替換。
由于工具使算法的應用變得容易,因此,先回想一下如何評估機器學習模型的結(jié)果,這很有必要。盡管如此,不要忽視了你的業(yè)務(wù)指標和目標,因為它們未必與調(diào)試得***或表現(xiàn)得***的模型完全相符。關(guān)注與公正和透明有關(guān)的事情進展,研究人員和企業(yè)正開始檢查、解決這方面的問題。對隱私的擔憂,加之設(shè)備的激增,催生了不依賴于集中式數(shù)據(jù)集的技術(shù)。
深度學習正逐漸變成數(shù)據(jù)科學家必須了解的算法。深度學習最初用于計算機視覺和語音識別,現(xiàn)在開始涉及數(shù)據(jù)科學家能想到的各種數(shù)據(jù)類型和問題。其中的挑戰(zhàn)包括,選擇適當?shù)木W(wǎng)絡(luò)結(jié)構(gòu)(結(jié)構(gòu)工程是新的特征工程),超參數(shù)調(diào)整,以及描述問題和轉(zhuǎn)換數(shù)據(jù)以適合深度學習。(巧合的是,今年我見過的最有趣的大型數(shù)據(jù)產(chǎn)品之一,并不是基于深度學習。)
很多時候,用戶更喜歡可解釋的模型(某些情況下,黑盒模型不被人們所接受)??紤]到基本機制易于理解,可解釋的模型也更容易改進。隨著深度學習的興起,企業(yè)開始使用那些能解釋模型預測原理的工具,以及能解釋模型從何而來(通過追蹤學習算法和訓練數(shù)據(jù))的工具。
工具
我不想列出一個工具清單,因為可列舉的工具實在太多了。幫助我們攝取、整合、處理、準備和存儲數(shù)據(jù)以及部署模型的工具都非常重要。以下是對機器學習工具的幾點看法:
- Python和R是***的機器學習編程語言。對于那些想使用深度學習技術(shù)的人來說,Keras是***的入門級語言。
- 雖然筆記本電腦似乎是不錯的模型開發(fā)工具,但集成開發(fā)環(huán)境(IDE)在R用戶中深受歡迎。
- 通用機器學習和深度學習的庫有很多,其中一些更善于推進從原型到產(chǎn)品的轉(zhuǎn)變。
- 推進從單機到集群的擴展是重要的考慮事項。在這方面,Apache Spark是使用廣泛的執(zhí)行框架。經(jīng)過一系列的數(shù)據(jù)整理后,你的數(shù)據(jù)集往往適合部署到穩(wěn)定的單一服務(wù)器上。
- 供應商開始支持協(xié)作和版本控制。
- ***,你可能需要數(shù)據(jù)科學工具來無縫整合現(xiàn)有的生態(tài)系統(tǒng)和數(shù)據(jù)平臺。
企業(yè)如果想評估哪些問題、哪些用例適合于運用機器學習,眼下就是一個很好的時機。我總結(jié)了一些近期的趨勢和尚未解決的瓶頸,你從中得出的主要結(jié)論應該是:現(xiàn)在可以開始使用機器學習了。先從已經(jīng)擁有一部分數(shù)據(jù)的問題入手,然后建立出色的模型。