899
技術社區[雲棲]
阿裏雲機器學習平台的思考
最近讀了阿裏的《大數據之路-阿裏巴巴大數據實踐》,對於其機器學習平台也蠻感興趣,正好阿裏出了本新書《解析阿裏雲機器學習平台》,順便讀了下,感觸也不少,結合最近團隊機器學習的一些思考,特別在此分享於你。
一、機器學習的門檻降得更低了
這本書的第一章是這麼描述阿裏雲機器學習平台的,“阿裏雲機器學習平台是構建在阿裏雲MaxCompute計算平台之上,集數據處理、建模、離網預測、在線預測為一體的機器學習算法平台,用戶通過拖曳可視化的操作組件來進行試驗,使得沒有機器學習背景的工程師也可以輕易上手玩轉數據挖掘。”
這說得對也不對,對的是機器學習平台的易用性的確很重要,不對的是機器學習平台隻解決功能性問題,數據挖掘其實大多時候是在做業務分析、處理數據和分析數據,而不是選擇算法和跑通流程,再便捷的可視化平台對於降低機器學習的成本還是非常有限的,否則,要那麼多數據建模師幹嘛?
相對於SASS,SPSS等,阿裏雲機器學習平台在易用性、算法完整性及數據處理上是有其特點的,甚至是有一些優勢的,因為它有MaxCompute平台的背書,筆者相信任何企業的業務人員隻要懂點基本的數據概念,上手這個平台是非常容易的,體現了阿裏雲機器學習平台在企業級市場的雄心。
怎麼個使用簡便法呢?看下麵一張示意圖,任何的機器學習都采用簡單的流程就可以描述出來,步驟清晰而簡潔,大多非常雷同。
(1)離散值特征分析:就是分析離散變量與標簽的關係,阿裏雲提供了很多變量分析方法,諸如直方圖啥的
(2)拆分:就是將數據集拆分為訓練和測試集
(3)隨機森林:就是選擇的算法,我看了下,包括邏輯回歸、樸素貝葉斯、邏輯回歸、GBDT、文本分析(比如LDA),協同過濾等大多算法,還支持TensorFlow,但隻是打個包
(4)預測:就是用測試集數據進行驗證
(5)評估:就是ROC,AUC諸如此類的傳統評估方法
所有操作基本都是拖曳和配置,比較方便,對於不懂機器學習的人來講,可以通過這個平台理解機器學習整體的流程,入門是相當的好,即使對於懂機器學習的人,也有助於開闊視野,加速自己的模型驗證過程。
二、業務人員迎來新的機會
筆者以前提過,要做好數據挖掘,首先要有一定的業務積澱,這樣做成的數據模型才可能有效, 數據挖掘中業務理解和數據準備占據70%以上的時間,外來和尚無法念好經往往不是算法不行,而是業務和數據理解力不行,因此,精通業務的人員其實至少已經是半個專業數據挖掘師了。
業務人員缺的倒是一些IT技能,以往這剩下的30%並不容易掌握,比如業務人員搞個邏輯回歸可能還要學習一下語言,這個挑戰還是比較大的,現在在這類易用的機器學習工具幫助下,他有可能基於豐富的業務經驗讓數據分析達到一個新的階段。
當前在一些企業內部分業務人員已經開始自行進行取數,分析及挖掘了,但大多數企業仍然走的是取數流程或項目的方式,這個爭議還是比較大的,但筆者相信,隨著大數據應用的深入,由於其天生的創新性、迭代性的要求可能會引導業務人員逐步轉型,或者組織上進行大的調整,比如數據挖掘師直接歸屬到業務部門。
IT人員則要專注於研發和改進諸如機器學習平台等中台類的工作,提升平台的體驗,千方百計讓業務人員用好這些平台,這也許是未來IT正確的姿勢,也是雙贏的局麵。
現在很多企業的IT人員在從事數據挖掘、取數等工作,其處於IT,數據和業務的中間地帶,從效率的角度講,劃到業務部門也未嚐不可。
三、數據倉庫建模師的機會
筆者相信未來這種易用型的機器學習平台將越來越多,意味著通用算法這部分技能行業門檻變得很低,僅僅懂幾個算法的工程師在企業內的價值會貶值。
機器學習算法門檻的降低變相的提升了數據倉庫建模師的價值,隨著機器學習需求的增加,機器學習前期的數據理解、數據清洗和數據準備變得更為重要,誰能深入的理解業務,設計出好用的數據挖掘中台數據模型(這裏的數據模型類似數據倉庫建模),將極大降低數據挖掘的成本。
以前搞數據挖掘的數據中台其實筆者並不讚成,現在還是覺得有一定必要性了,一個當然是機器學習需求增長,數據中台的共享價值體現出來了,另一個則是當前的數據倉庫模型並不能很好的支撐很多數據挖掘場景,團隊的數據挖掘師各自為戰,好的變量設計無法沉澱。
以下是阿裏的關於電商購買預測中數據準備的一個案例,我覺得是需要有業務和數據經驗的人體係化的去設計的,靠個人臨時去準備一方麵代價太大,另一方麵也想不全麵。
影響某個用戶對某個品牌是否購買的特征有哪些呢?
首先是用戶對品牌的關注,譬如:點擊、發生過購買行為,收藏和假如過購物車,而在這些因素中,關注的行為離現在越近,即將購買的可能性就越大,所以我們會關注最近3天、最近一周、最近1個月、最近2個月、最近3個月和有記錄的所有時間的情況,於是有了如下一些特征。
-
最近3天點擊數、購買數、收藏數和加入購物車次數
-
最近1周點擊數、購買數、收藏數和加入購物車次數
-
最近1個月點擊數、購買數、收藏數和加入購物車次數
-
最近2個月點擊數、購買數、收藏數和加入購物車次數
-
最近3個月點擊數、購買數、收藏數和加入購物車次數
-
全部點擊數、購買數、收藏數和加入購物車次數
有了關注時間段細分的關注次數還不夠,還希望知道該數值的變化率,來刻畫該關注的持續程度,我們還可以構造如下特征:
-
最近3天點擊數變化率(最近3天點擊數/最近4-6天點擊數)、購買數變化率、收藏數變化率、加入購物車次數變化率
-
最近1周點擊數變化率(最近1周點擊數/上周點擊數)、購買數變化率、收藏數變化率、加入購物車次數變化率
-
最近1月點擊數變化率(最近1月點擊數/上月點擊數)、購買數變化率、收藏數變化率、加入購物車次數變化率
如果用戶對該品牌曾有過購買行為,我們希望了解,通過多少次點擊產生了一次購買,多少次收藏轉化為一次購買,即購買轉化率,構造特征如下:
-
最近3天點擊轉化率、收藏轉化、加入購物車轉化率
-
最近1周點擊轉化率、收藏轉化、加入購物車轉化率
-
最近1月點擊轉化率、收藏轉化、加入購物車轉化率
-
整體點擊轉化率、收藏轉化、加入購物車轉化率
其次,我們將注意力放在用戶上,需要構造特征將用戶的特點表現出來,重點是該用戶對其關注的所有品牌的總體行為,用戶最近對所有品牌的關注度,有如下特征:
-
最近3天點擊數、購買數、收藏數和加入購物車次數
-
最近1周點擊數、購買數、收藏數和加入購物車次數
-
最近1個月點擊數、購買數、收藏數和加入購物車次數
-
最近2個月點擊數、購買數、收藏數和加入購物車次數
-
最近3個月點擊數、購買數、收藏數和加入購物車次數
-
全部點擊數、購買數、收藏數和加入購物車次數
-
最近3天點擊轉化率、收藏轉化、加入購物車轉化率
-
最近1周點擊轉化率、收藏轉化、加入購物車轉化率
-
最近1月點擊轉化率、收藏轉化、加入購物車轉化率
-
整體點擊轉化率、收藏轉化、加入購物車轉化率
最後,單獨看品牌這個因素的影響,有的熱門品牌,關注度很高,而我們更關心其近期的情況,有如下特征。
-
最近3天被點擊數、被購買數、被收藏數和被加入購物車次數
-
最近1周被點擊數、被購買數、被收藏數和被加入購物車次數
-
最近1月被點擊數、被購買數、被收藏數和被加入購物車次數
-
最近3月被點擊數、被購買數、被收藏數和被加入購物車次數
-
全部被點擊數、被購買數、被收藏數和被加入購物車次數
-
最近3天點擊轉化率、收藏轉化、加入購物車轉化率
-
最近1周點擊轉化率、收藏轉化、加入購物車轉化率
-
最近1月點擊轉化率、收藏轉化、加入購物車轉化率
-
整體點擊轉化率、收藏轉化、加入購物車轉化率
綜上,某個用戶對某個品牌是否購買的特征由刻畫該用戶對該品牌關注的各種特征,描述該用戶的特征,以及描述該品牌的特征共同構成。
這麼複雜的特征變量設計不應該每次做機器學習的時候去生成,而應該沉澱下來,其實每個企業都有類似的場景,但我們在做特征設計的時候,往往難以考慮的這麼周全,想到哪做到哪,這體現出了數據挖掘數據中台的價值。
四、機器學習工程師價值的思考
讀完阿裏這本書,雖然更像是在看一本機器學習平台的說明書,也許專業人士會覺得LOW,但筆者是能體會到其在平台易用性上花的功夫的,團隊也在做類似的一些事情,但還是有很大差距的,做了就知道了。
這本書引發的數據挖掘中台思考,也是不經意看案例時體會到的,企業實踐的東西有這個好處,它在說一個事情,但過程卻透露了很多實踐的秘密,類似的東西還要很多,比如邏輯回歸變量重要性的判斷,我以前一直理解有誤,比如特征啞元化的使用場景,比如KNN和隨機森林在一些場景的表現,又如LDA的解釋,由於案例放在那裏,你很容易感性的得到理解,還有GBDT,筆者以前沒聽說過,團隊說要用這個算法的時候,當時是一臉懵逼。
這周在與成員回顧某個數據挖掘的過程中,成員提到將矩陣算法換成GBDT時候付出了很大的代價,持續了很長時間,但效果提升了一點點,筆者也隻能慚愧的笑笑了,要為自己的無知付出代價。
很多時候數據挖掘師很努力,但成果寥寥,我覺得最大問題是不理解客戶的最終訴求,視野窄了,把算法當成了結果,數據挖掘師經常說案頭苦幹了1個月,XX算法提升了XX個點,非常不錯,我說,到底帶來了多少收入和用戶?
其實不同企業的情況不同,在騰訊將推薦算法提升平均1個點當然是牛逼,但在我這個企業內,也許毫無價值,大家的起點完全不同。
其實作為客戶,也根本不關注手段,要的就是效果,手段能簡化就簡化,用一個新數據往往好過新算法,以最低的代價獲得最大的收益就是要做的事情,阿裏雲機器學習平台就是希望降低那個30%的成本時間,但也僅此而已。
未來是人工智能的時代,人工智能也在逐步平台化,今天你說掌握個深度學習好像還很先進,但被集成後就大幅貶值了,隻有差異化才有價值,現在TensorFlow技術文章其實還不多,我們在試用TensorFlow On Spark的時候進度偏慢,這個時候你懂就有價值。
未來也許隻有三類機器學習工程師有前途,一類是能改進和創造新的算法的,這是算法大師,二是做機器學習平台的,含功能,算法和數據,這是產品大師,三是能夠深刻理解客戶需求的,在某個行業有足夠業務和數據底蘊,因此能夠利用高效的平台工具創造價值的,這是應用大師。
有機會,你也可以去讀讀這本書。
阿裏巴巴大數據-玩家社區 https://yq.aliyun.com/teams/6/
---阿裏大數據博文,問答,社群,實踐,有朋自遠方來,不亦說乎……
最後更新:2017-09-21 20:03:23