隨著我們進入2017年下半年,是時候看看那些使用數據科學和機器學習的公司面臨的共同挑戰。假設你的公司已經在大規模收集數據,需要用到分析工具,而且你已經認識到數據科學可以發揮重大作用(包括改善決策或企業經營、增加收入等等),并進行了優先排序。收集數據和識別感興趣的問題并非小事,但假設你已經在這些方面起了個好頭,那么還剩下哪些挑戰呢?
數據科學是一個寬泛的話題,所以我要說明一下:本文主要探討的是督導式機器學習的使用現狀。
一切從(訓練)數據開始
假設你有一支處理數據攝取和整合的團隊,以及一支維護數據平臺(“真相來源”)的團隊,新的數據來源不斷出現,由領域專家負責找出這些數據來源。而且,由于我們主要探討督導式學習,因此,訓練數據的缺乏依然是機器學習項目的首要瓶頸,這一點毫不意外。
在迅速創建龐大的訓練數據集(或者加強現有的訓練數據集)方面,有一些很好的研究項目和工具。斯坦福大學的研究人員已經證明,弱監督和數據編程可以用來訓練模型,不必使用大量手工標記的訓練數據。深度學習研究人員對生成式模型的初步研究,已經在無督導式學習的計算機視覺和其他領域取得了可喜的成果。
“思考特性而不是算法”,這是在機器學習背景下評估數據的另一個有用方法。友情提示:數據擴充可能改善你的現有模型,在某些情況下,甚至有助于緩解冷啟動問題。大部分數據科學家可能已經利用開源數據或者通過第三方數據提供商,香港網存空間 北京主機,來擴充他們的現有數據集,但我發現,數據擴充有時會遭到忽視。人們覺得,獲取外部數據、使之規范化、并利用這些數據進行實驗,這不像開發模型和算法那么具有吸引力。
從原型到產品
讓數據科學項目實現產品化,這是許多用例的目標。為了使這一過程更有效率,近來出現了一個新的工作角色——機器學習工程師。還有一套新的工具用于推進從原型到產品的轉變,幫助追蹤與分析產品有關的背景和元數據。
機器學習在產品中的應用還處于早期階段,最佳實踐才剛剛開始出現。隨著高級分析模型的普及,有幾點需要考慮,包括:
· 部署環境:你可能需要與已有的日志或A/B測試基礎設施進行整合。除了把穩定、高性能的模型部署到服務器以外,部署環境還越來越多地包括,如何以及何時把模型部署到邊緣側(移動設備是常見的例子)。把模型部署到邊緣設備的新工具和策略已經出現。
· 規模,延遲,新鮮度:需要用多少數據來訓練模型 模型推導的響應時間應該是多少 重新訓練模型和更新數據集的頻率應該是多少 后者說明你擁有可重復的數據管道。
· 偏差:如果你的訓練數據不具有代表性,那么你將得到不理想(甚至不公正)的結果。在某些情況下,你也許可以利用傾向得分或其他方法,相應地調整數據集。
· 監控模型:我認為人們低估了監控模型的重要性。在這個方面,學過統計學的人擁有競爭優勢。想知道模型何時退化以及退化了多少,這可能很棘手。概念漂移也許是一個因素。就分類器而言,一個策略是把模型預測的類別分布與預測類別的觀測分布進行比較。你也可以設立不同于機器學習模型評估指標的商業目標。比如,一個推薦系統的任務可能是幫助發現“隱藏或長尾”內容。
· 關鍵應用程序:與普通的消費者應用程序相比,在關鍵環境中部署的模型必須更加穩定。另外,這類環境中的機器學習應用程序必須能夠數月“連續”運行(不會發生內存泄漏等故障)。
· 隱私和安全:通常來說,如果你能讓用戶和企業相信他們的數據是安全的,那么他們可能更愿意共享數據。如上文所述,用額外特征進行擴充的數據往往會帶來更好的結果。對于在歐盟經商的企業而言,一個迫在眉睫的問題是,《一般數據保護條例》(GDPR)將于2018年5月生效。在其他領域,對抗性機器學習和安全性機器學習(包括能夠處理加密數據)的實踐研究開始出現。
模型開發
媒體對模型和算法開發的報道越來越多,但如果你同數據科學家交談,他們中的大多數人都會告訴你,訓練數據的匱乏以及數據科學的產品化是更加緊迫的問題。通常來說,市面上已有足夠多的簡單明了的用例,讓你可以開發你喜歡的(基本或高級的)算法,并在以后進行調整或替換。