機器學(xué)習(xí)如何應(yīng)用于商業(yè)場景?三個真實的商業(yè)項目
在國富如荷這些年的教學(xué)過程中,很多同學(xué)問到了一個問題:
在現(xiàn)實的商業(yè)世界中如何應(yīng)用機器學(xué)習(xí)?
也就是說,雖然現(xiàn)在我們一直被各種算法文章和教程轟炸,但是關(guān)于企業(yè)中一個機器學(xué)習(xí)項目的“上下文”卻總是缺失的。
今天楊老師將給同學(xué)們介紹我們最近采集到的三個真實的企業(yè)機器學(xué)習(xí)項目,以讓同學(xué)們更好地理解機器學(xué)習(xí)和數(shù)據(jù)科學(xué)在實踐中是如何工作的。
01、掃描 eBay 是否有假冒商品或贓物
這個項目來源于我們美國部門的反饋。這是一家娛樂行業(yè)的企業(yè),由于保密協(xié)議的原因老師無法給出企業(yè)的名稱。他們有一個專門的分析團隊,在購物網(wǎng)站(如eBay)上搜索帶有客戶品牌的被盜或假冒商品。
在eBay上數(shù)以百萬計的商品清單列表中,只有很小一部分是企業(yè)感興趣的。于是分析團隊上線了爬蟲算法,抓取包含相關(guān)關(guān)鍵字的網(wǎng)頁,并將網(wǎng)頁圖片存儲在特定的文件夾中。每天,該團隊都會登錄到相關(guān)的門戶網(wǎng)站,爬取并查看這些圖片,以確定它們是否侵犯了企業(yè)的版權(quán)。這是一個非常昂貴卻無聊的過程,昂貴在負責查看圖片的人工成本,無聊在于這個查看工作本身沒有太多技術(shù)含量卻非常消耗工時。但是這個問題可以通過一點機器學(xué)習(xí)得到很大改善。
尷尬的是,現(xiàn)在很多很多討論計算機視覺的文章都在關(guān)注一些"不務(wù)正業(yè)"的問題,例如 貓 vs 狗、汽車 vs 摩托車、手繪數(shù)字等等。但在這個項目中,我們必須在圖像中尋找侵犯版權(quán)的東西。
決定使用哪種機器學(xué)習(xí)算法來解決問題通常很復(fù)雜,這個項目也不例外。一方面,我們有大量被標記為侵權(quán)或非侵權(quán)的數(shù)據(jù),在這種情況下,很容易能看出這是一個有監(jiān)督的分類問題。那么,我們考慮試一下神經(jīng)網(wǎng)絡(luò)算法?
另一方面,由于門戶網(wǎng)站的設(shè)計,檢索負面信息非常耗時(它不存儲圖像,只是一個鏈接),因此我們只有一個有限的數(shù)據(jù)集。此外,企業(yè)的徽標經(jīng)常與其他企業(yè)的徽標一起出現(xiàn)在圖像中(侵犯版權(quán)通常是很微妙的),并且足夠深的神經(jīng)網(wǎng)絡(luò)很有可能會識別出類似商標的存在而不是單獨某個公司的標志(就像神經(jīng)網(wǎng)絡(luò)通常會識別所有犬種而不僅僅是德國牧羊犬一樣)。在這種情況下,關(guān)鍵是訓(xùn)練一個更淺的卷積神經(jīng)網(wǎng)絡(luò)來進行目標檢測而不是分類。這阻止了網(wǎng)絡(luò)學(xué)習(xí) logo-general 特征并迫使它學(xué)習(xí) logo-specific 特征。(這兩個單詞顯然用英文來表述會更加準確,因此我們不給出翻譯)
CNN(卷積神經(jīng)網(wǎng)絡(luò))的算法本身是成熟的,那么這個項目的關(guān)鍵就在于生成訓(xùn)練集以供訓(xùn)練目標檢測。它需要由來自原始訓(xùn)練集的大量不同角度和排列的圖像組成,具有各種傾斜和對齊方式,每個圖像都有一個包圍框圍繞著我們想要檢測的對象(徽標)。在花費了相當大的精力完成訓(xùn)練集的工作后,這個項目的后續(xù)工作也順利完成。
02、預(yù)測零售店是否會被盜
這個項目來源于與我們合作的一家企業(yè),這是一家跨國零售連鎖企業(yè)(同樣是基于保密協(xié)議,這里不能給出企業(yè)名稱)。由于這家企業(yè)的分支店鋪遍布全球,包括一些不太安全的地區(qū)。因此需要構(gòu)建一個算法,根據(jù)入室盜竊的歷史實例生成入室盜竊的風險評分。
由于業(yè)務(wù)的性質(zhì),企業(yè)認為盜竊的風險隨著周邊地區(qū)的犯罪而增加,而不是由于商店的任何特定特征(易碎的窗戶等)而增加。
該算法工具的目的不是直接防止盜竊,而是評估如何對整個商店組合分配固定預(yù)算,以減少盜竊損失。因此,算法輸出的必須是更新每個安全設(shè)施的好處,或者說是推薦更新哪些安全設(shè)施,有點像推薦引擎。
與我們上一個示例類似,找出解決問題的關(guān)鍵是最大的挑戰(zhàn)之一。分析團隊首先嘗試了生存分析,定制了 Cox Proportional Hazards 模型以接受多個事件。雖然它在洞察各種安全設(shè)施的防護性方面做得很好,但它對于地理因素的識別效果非常差,而地理區(qū)域因素正是客戶想要識別的一個重要因素。
最后,分析團隊決定為客戶想要識別的每個因素構(gòu)建單獨的分類器(使用XGBoost),為每個時期設(shè)置固定的訓(xùn)練集日期范圍,以解決較長時期的預(yù)測更有可能高估長期風險的問題。接下來,將這些因素導(dǎo)入回歸模型來計算每個零售商店的預(yù)估損失,并使用該度量(結(jié)合地理度量)來生成具體的推薦。
03、向1.5億位訪問者推薦內(nèi)容
Infinite Scroll,一般稱為無限滾動模式,對于有很多相似條目需要展示的頁面,可以用無限下拉的方式來避免用戶通過點擊下一頁來獲取更多內(nèi)容。比如今日頭條網(wǎng)站,打開后,可以一直向下滾動,當滾動到頁面底部后,就會加載更多新聞條目。
之前,一個和我們美國部門有長期合作的網(wǎng)站轉(zhuǎn)向了無限滾動模式,但對拉到底后接下來要顯示哪篇文章發(fā)了愁。一開始,他們的分析團隊提出的方法與強化學(xué)習(xí)非常相似——從10篇最受歡迎的文章中選擇一篇或隨機選擇。
不幸的是,這個想法并沒有給他們帶來他們所希望的轉(zhuǎn)化率,而無限滾動條也大大降低了他們的廣告點擊量(盡管這對用戶來說是一種更好的體驗)。
后來,分析團隊使用詞嵌入和用戶嵌入,構(gòu)建了一個協(xié)同過濾推薦引擎,為用戶提供符合他們興趣的文章,而不僅僅是最流行的。
這個項目最大的挑戰(zhàn)不是選擇哪個算法的問題,而是海量數(shù)據(jù)的處理問題:必須確保系統(tǒng)非??焖俚胤祷赝扑]——這是無限滾動體驗的本質(zhì)。
另一個挑戰(zhàn)是數(shù)據(jù)埋點和備份,因為用戶的每個行為都有非常多個特征可以提取,因此需要找到一種方法來存儲這些信息,且存儲成本不會呈指數(shù)級增長。
分析團隊決定按站點、類別和用戶信息拆分模型,以減少嵌入矩陣的大小。同時還部署了各種降維技術(shù)以使其更易于管理,并密切監(jiān)視系統(tǒng)以確定備份的理想截止日期。
總結(jié)
通過上述三個項目同學(xué)們可以發(fā)現(xiàn),很多時候,算法選擇和參數(shù)調(diào)參并不是企業(yè)中一個機器學(xué)習(xí)項目最重要的階段。而客戶需求、數(shù)據(jù)類型、計算速度、預(yù)測用法,甚至數(shù)據(jù)庫優(yōu)化都會影響到一個項目的成功。