導讀:在這篇文章中,咱們闡述進行有效的數據產品開發的關鍵要素。數據產品都是算法工程師們開發出來的,咱們就從算法工程師的算法水平開始聊聊。
最近兩年,我一直跟IT公司裏面的算法工程師們一塊兒工做,本身也算一名算法工程師,也面試過各個級別的算法工程師。來了IT公司以後,我剛開始面臨的一個很大的問題,短期內很難看清楚申請人真實的算法水平。主要難點有兩個:面試
這兩個難點就是短期內,沒有一個可信的標準來衡量對方的算法水平。算法
我在學界作了快20年的研究,培養了一批人才,一部分人去了學術界(NYU,UNC,Emory,UoT,Purdue,Yale,UoA,FSU等),另外一部分人去了工業界(像Uber,DiDi,高盛等)。在我實驗室的幾年中,他們都是跟我一塊兒研究某個應用場景內的一些有意思的問題,收集和/或處理相關數據,設計各類算法,與推導相關的理論。在學界中,我也面試了許多青年才俊們,主要看他們的推薦信,發表的文章,與面試的交談和學術演講。在這種情形下,高水平的文章/專著一直是在學界中找到好工做的必要條件。在頂刊/頂會發表文章的數目以及被引用的次數通常被認爲是可信的標準,由於這些地方大部分審稿人的要求都是很是高的,標準基本上就兩個:編程
我如今考察面試人的算法水平, 主要是基於面試人經常使用的算法來問以下幾個基本問題:安全
許多沒有受過嚴格算法訓練的同窗們常常到第二個問題的時候就卡住了。對於中高階的算法工程師,最好還要有高質量的學術論文/專著或被行業所普遍承認的產品,這些積累反映了他/她對一類問題的深度思考,這就是一種可信的硬性標準。相對應地,在Google的Deepmind工做過幾年的同窗,你們通常會認爲其實力應該不錯,由於Deepmind自己就表明了一個可信的軟性標準。一個好的算法團隊最好有許多有軟硬實力的算法工程師,但問題是高效的數據產品開發到底須要什麼樣的算法工程師呢?架構
更進一步地,這幾年咱們接觸了許多算法同窗,每天跟他們一塊兒工做,幾乎天天都聽他們聊各類模型(像X-learner,XG-boost,CNN,Transformer,GCN,U-net等)以及它們的各類技術指標(像AUC,F-score等),最後也說離線和在線的業務指標(像ROI,GMV等)。可是,咱們幾乎不可能把他們的算法都拿來跑跑,對全部的算法細節都把關,那咱們如何保證數據產品開發的質量?機器學習
首先,在數據產品開發中,選取好的業務指標是保證數據產品質量最重要的標準,定好合理的業務指標是全部數據產品應用層實現技術落地的核心。函數
其次,在數據產品開發中,咱們要考慮兩類技術指標:算法的技術指標和模型的診斷統計量。大部分數據產品都是能夠拆解爲一系列分類和迴歸模塊的有機組合。工具
有了這些準備,咱們再談談在數據產品開發中技術指標和業務指標之間的關係。學習
作好一個數據產品,另外一個重要的是如何有效地把業務指標拆解成各個模塊,找到一條清晰的解決思路,依此進行相關的數據建設,算法開發與系統優化。爲了達到這點,有兩個關鍵點:測試
在每一個模塊的開發中,咱們通常收集一組/幾組訓練數據集,構建一組模型,用交叉驗證法從算法的技術指標和診斷統計量獲得反饋,選擇模型,改進模型,直到達到必定的準確度。
通常來講,全部模塊上取得好的技術指標不能自動地轉化爲好的業務指標,這個依賴於對業務指標的有效拆解。拆解好了,一些模塊的技術指標作得差點對提高業務的指標影響可能不必定很大,因此作產品的過程當中,咱們必定把整個流程跑通。再找到一些關鍵模塊來優化,可是在必定成本之下,你們仍是都但願把每一個模塊的技術指標作到極致。這個問題是落地最難的點,須要更多的案例來剖析其中的深度。
最後,咱們以阿爾法圍棋這個數據產品爲例. 它的業務指標就是下贏對手, 它被拆解成四個模塊,造成一個完整的系統。
在算法層面上,AlphaGO結合了深度學習,強化學習和蒙特卡洛樹搜索法等多個方法,並對這些方法進行了開創性的發展,使其實力有了實質性飛躍,以取得戰勝多名世界冠軍的記錄。這些成果都是來源於AlphaGo團隊對指標的高效拆解、高深的算法水平和有效的底層數據建設。
北卡羅來納大學教堂山分校生物統計學終身教授 ,2018年加入滴滴出行,帶領工程師們爲滴滴出行平臺的運營打造一套雙邊市場的創新理論和平臺。
北卡州立大學統計博士,2018年加入滴滴出行,主要從事統計和機器學習在雙邊交易市場的研究和應用。
歡迎對大數據底層引擎(如 Spark、Flink 等)有研究和實踐經驗的工程師/專家加入滴滴大數據架構部,一塊兒面對互聯網+出行行業的天天萬億級海量數據處理挑戰。
投遞郵箱 | diditech@didiglobal.com
郵件主題請命名爲「姓名+應聘部門+應聘方向」
歡迎關注滴滴技術公衆號!
本文由博客羣發一文多發等運營工具平臺 OpenWrite 發佈