338
京東網上商城
《構建實時機器學習係統》一1.7 案例:Netflix在機器學習競賽中學到的經驗
1.7 案例:Netflix在機器學習競賽中學到的經驗
美國領先的付費視頻公司 Netflix 在機器學習、係統推薦方麵都做出了卓越的貢獻, 早在 2007 年,Netflix 就率先提出了百萬美元大獎,獎勵在 Netflix Prize 競賽中優勝的隊伍。Netflix Prize通過為期三年的競賽,積累了機器學習寶貴的第一手資料,成為了機器學習中的經典案例,這裏我們介紹以下兩個方麵。
1.7.1 Netflix 用戶信息被逆向工程
Netflix Prize進行影片推薦預測時,使用的數據包括用戶名、影片名、評價日期、評價等級等信息,為了防止泄露用戶個人的隱私信息,Netflix對用戶名進行了加密處理。
盡管如此,德州大學的研究人員仍然通過逆向工程成功得到了一些用戶的個人信息。他們是怎麼做到的呢?原來 Netflix 用戶在評價一個影片的時候,往往還會去互聯網影片庫 IMDB 上轉載自己的評論。德州大學的研究人員將 Netflix 數據集中的評論和IMDB 中的評論按照評論日期進行配對,很快就發現了具有上麵行為的若幹用戶,其中不乏具有隱秘性取向的用戶。這一研究結果一經發出之後,這些用戶的生命安全直接受到了威脅,這也直接導致了 Netflix 在 2010 年遭到了以上用戶的起訴,並且取消了 2010 年以後的所有競賽。
通過這一案例,我們意識到了在設計機器學習應用的時候一定要把用戶隱私保護放在第一位。一些社會邊緣個體特別容易因為自己的行為特征與大眾不同而被模型泄露。
1.7.2 Netflix 最終勝出者模型無法在生產環境中使用
2009 年 Netflix 最終勝出的隊伍為BellKor,該隊伍是由四個隊伍混合而成的。為什麼要混合隊伍呢?筆者曾有幸親自向BellKor 成員之一的 Michael Jahrer 請教。故事是這樣的,在比賽進行到了白熱化階段之後,來自雅虎、貝爾實驗室、Commendo Research and Consulting 和 Pragmatic Theory 這四個隊伍得到的結果都不相上下,這個時候,往往要在進行大量的參數調校後,模型才會有很少一點的提升。
2009 年的時候,機器學習領域已經出現了 Emsemble 的概念。Emsemble 的意思是通過混搭來源不同的模型的結果,取長補短,以得到更為強大的模型。很自然的,上麵這四支隊伍先後決定合並成為一個大集體,最後取得了 Netflix 比賽的最終勝利。
比賽確實是結束了,運用 Emsemble 過程帶來的負麵影響是,最終模型是由上百個小模型組成的,每個小模型都可能是由不同的語言來寫成的,需要自己特殊的預處理程序,而且還需要獨立的模型訓練架構。雖然按照約定,Netflix 享有最終模型的使用權,但是實際上由於訓練和運用模型的複雜性,Netflix 至今也沒有將上述模型運用到實際應用中去。
通過這一案例,我們可以學到,先進、前沿的機器學習模型固然很重要,得在運用的時候仍然要考慮到訓練、運用的複雜性。一切從實際出發,也是本書全文的貫穿思想。
最後更新:2017-09-19 10:03:38