【推薦系統與機器學習導讀】總結了一個RD工程師的推薦系統學習之路, 更多推薦系統知識請關注 RecomAI
作為一個CS專業的本科畢業生, 當初進入網際網路領域時只是一個電商業務的RD開發工程師, 後來機緣巧合之下轉向了大資料領域, 後來又進入到了推薦系統的相關開發工作。回顧這些年的工作, 總結了一些經驗, 希望對那些有志於進入推薦系統相關領域的同學有一些幫助。
推薦/搜尋/廣告 是目前機器學習成熟落地的三大馬車, 對各個網際網路公司商業變現有著重要的意義, 這三個業務在維度上有一些區別,比如搜尋的目標是降低延時增大query的相關性, 廣告的目標是增大CTR, 視訊推薦系統的目標是播放時長點選等綜合指標。但是從資料流和系統工程架構上看, 又非常相似。
對於想接觸或者剛接觸推薦系統的同學來說, 應該都看過下面這兩本書
一個比較大的問題是, 如果沒有參與到實際的推薦系統開發, 或者沒有牛逼實驗室的Buff下, 感覺每一章都能看的明明白白, 但是想自己寫一個簡單的推薦系統時卻無從下手, 無法想象像美團阿里頭條的推薦系統到底是如何落地的。
個人觀點認為導致這種情況的原因有以下幾點
1. 推薦系統是一個系統
推薦系統首先是一個系統, 作為有盈利的網際網路公司的核心, 就註定在整體架構上十分的複雜, 比如涉及到NLP, 召回, 排序, 接日誌洗日誌算模型, 書上說的推薦方式都是單一的, 比如利用CF(協同過濾) 進行推薦, 在實際落地中推薦的召回一般是有多路的, 這樣才會有多樣性。(書中甚至幾乎沒有提到過候選集這種每個推薦系統都存在的東西)
2. 與演算法關聯緊密
推薦系統是演算法落地比較早的領域之一, 對於 LR, GBDT, FM 這類傳統機器學習演算法有著大規模的應用, 傳統機器學習的一大基礎能力就是特徵工程, 這個跟個人的領域知識極為相關, 網上的資料很少, 幾乎是小圈子裡的屠龍之技, 具體的工業實現各家又不一樣,可供參考資料特別少。而對於深度學習模型來說, 要是想tf寫個程式碼一跑ctr直接就升幾個點, 哪個是痴人說夢, 具體的網路設計到底能有什麼效果與你的業務模式, 行為資料有很大關係, 有很大可能你上的deepFM還不如你的LR+GBDT
3. 資料問題
對資料的重視程度, 首先, 如果是一個小系統, 比如只有幾萬PV, 根本談不上用推薦系統提升效果, 工業界的推薦系統, 日誌就是血液, 包括曝光日誌, 點選日誌, 收藏日誌等等行為日誌, 每天的日誌量會很大, 這些日誌一方面用於更新模型, 另一方面進入實驗統計平臺, 計算各個演算法在過去時間的效果。另外諸如FM因子分解機模型, 如果你的日誌很少, 那就是一個超級超級稀疏的矩陣, 最後算出來的模型效果也不會很好, 特別是現在深度學習在工業街廣泛落地的情況下(Wide & Deep), 缺少大規模日誌的推薦系統就是無水之源無根之木。
因為這些原因, 所以我建立了這個公眾號 【推薦系統與機器學習】, 希望能夠分享一下工業界推薦系統的一些常用架構, 基礎知識, 以及在資訊檢索領域前沿的一些研究和進展,希望與大家共同進步。
長按二維碼關注
推薦系統與機器學習
ID: RecomAI