推荐模型是怎样由窄变宽、越变越深的?
星標/置頂小屋,帶你解鎖
最萌最前沿的NLP、搜索與推薦技術
文 | 邢智皓
編 | 兔子醬
當前,深度學習推薦模型已經成功應用于推薦、廣告、搜索等領域,但在了解它之前,簡單回顧傳統推薦模型仍是有必要的,原因如下:
即使在深度學習空前流行的今天,協同過濾、邏輯回歸、因子分解機等傳統推薦模型仍然憑借其可解釋性、硬件環境要求低、易于快速訓練和部署等不可替代的優勢,在實際系統中備受青睞。
傳統推薦模型是深度學習推薦模型的基礎,很多深度學習推薦模型,比如基于因子分解機支持的神經網絡(FNN)、深度因子分解機(DeepFM)等更是與傳統的FM模型有著千絲萬縷的聯系。
本文主要參考了王喆老師的《深度學習推薦系統》,從傳統推薦模型的進化關系圖開始,介紹了具有代表性的傳統推薦模型的原理、優缺點,以及不同模型之間的演化關系,希望能夠為讀者繪制一幅全面的傳統推薦系統模型進化藍圖。
傳統推薦模型的演化關系圖
下圖為傳統推薦模型的演化關系圖,我們將它作為本文的索引。已經對其中某些模型有所了解的讀者可以由點及面地構建全面的模型進化關系脈絡,還沒有相關知識儲備的讀者,可以據此建立傳統推薦模型的框架和大致印象。
基于用戶的協同過濾(UserCF)
如果讓推薦系統領域的從業者說出業界影響力最大、應用最廣泛的模型,那筆者認為90%的從業者會首選協同過濾。
什么是協同過濾
顧名思義,“協同過濾”就是協同大家的反饋、評價和意見一起對海量的信息進行過濾,從中篩選出目標用戶可能感興趣的信息的推薦過程。下面用一個商品推薦的例子來說明協同過濾的推薦過程。
協同過濾的具體流程
電商網站的商品庫里面一共有4件商品:游戲機、某小說、某雜志和某品牌電視機。
用戶訪問該電商網站時,電商網站的推薦系統需要決定是否將電視機推薦給用戶。為了進行這項預測,可以利用用戶對其他商品的歷史評價數據,以及其他用戶對這些商品的歷史評級數據。
為了方便計算,可以將圖2中的用戶對商品的喜好轉換為矩陣的形式(被稱為”共現矩陣“),用戶作為矩陣的行坐標,商品作為列坐標,將”點贊“和”踩“的用戶行為轉換為矩陣中的相應元素。
生成共現矩陣后,推薦問題就轉換成了預測矩陣中問號元素的值的問題。既然是”協同“過濾,用戶應該考慮與自己興趣相似的用戶的意見。因此,預測的第一步是要找到與用戶興趣最相似的個用戶,綜合相似用戶對”電視機“的評價,給出用戶對電視機的預測。
從共現矩陣中可知,用戶和用戶跟用戶的行向量接近,被選為Top?相似用戶。有圖2所知,用戶和對電視機的評價都是負面的。
相似用戶對”電視機“的評價是負面的,因此可以預測用戶X對”電視機“的評價也是負面的。
常用的向量相似度計算方法有余弦相似度、皮爾遜相關系數等,有興趣的讀者可以查閱相關資料做詳細了解。
以上介紹的系統過濾算法是基于用戶相似度進行推薦,因此也被稱為基于用戶的協同過濾(UserCF),該方法包含以下缺點:
在互聯網場景下,用戶數往往大于商品數,而 userCF 需要維護用戶相似度矩陣以便快速找出Top?相似用戶,用戶的增長會導致用戶相似度矩陣的存儲空間已速度快速增長, 這是在線存儲系統難以承受的。
用戶的歷史數據向量往往非常稀疏,對于只有幾次購買或者點擊行為的用來來說,找到相似用戶的準確度是非常低的,導致UserCF不適于哪些正反饋比較困難的應用場景。
基于物品的協同過濾(ItemCF)
由于UserCF技術上的缺點,UserCF并沒有得到廣泛應用,而ItemCF成為了Amazon、Netflix等公司最初的推薦系統。
ItemCF的算法過程
基于歷史數據,構建以用戶(假設用戶總數為)為行坐標,物品(物品總數為)為列坐標的?x?維的共現矩陣。
計算共現矩陣兩兩列向量間的相似性(相似度的計算方式與用戶相似度計算方式相同),構建?x?維的物品相似度矩陣。
獲取用戶歷史行為數據中的正反饋物品列表。
利用物品相似度矩陣,針對目標用戶歷史行為中的正反饋物品,找到相似的 Top?個物品,組成相似物品集合。
針對相似物品集合中的物品,利用相似度分值進行排序,生成最終的推薦列表。
UserCF與ItemCF的應用場景
由于UserCF基于用戶相似度進行推薦,使其具備更強的社交特性,該特點使其非常適用于新聞推薦場景。
ItemCF更適用于興趣變化較為穩定的應用,比如電商系統,視頻推薦系統等。
矩陣分解算法
針對協同過濾頭部效應較明顯,泛化能力弱的問題,矩陣算法被提出。矩陣分解算法在協同過濾算法中“共現矩陣”的基礎上,加入了隱向量的概念,加強了模型對稀疏矩陣的處理能力,針對性地解決了協同過濾存在的主要問題。
基本原理
矩陣分解算法將?x?維的共現矩陣分解為?x?維的用戶矩陣和?x?維的物品矩陣相乘的形式,其中是用戶數量,是物品數量,是隱向量的維度,的大小決定了隱向量表達能力的強弱。的取值越小,隱向量包含的信息越少,模型的泛化程度越高;反之,的取值越大,隱向量的表達能力越強,泛化程度相應降低。
常用的矩陣分解方法有特征值分解、奇異值分解和梯度下降,有興趣的讀者可以查閱相關資料深入了解。
矩陣分解算法的優缺點
相比于協同過濾算法,矩陣分解算法有如下優勢:
泛化能力強,在一定程度上解決了數據稀疏問題
空間復雜度低,空間復雜度有級別降低到級別。
更好的擴展性和靈活性。矩陣分解的最終產出是用戶和物品隱向量,這其實與深度學習中的Embedding思想不謀而合,因此矩陣分解的結果也非常用戶與其他特征進行拼接和組合,并便于與深度學習網絡進行無縫結合。
邏輯回歸算法
相比于協同過濾模型僅利用用戶和商品的相互行為信息進行推薦,邏輯回歸模型能夠綜合利用用戶、商品和上下文的特征,生成較為“全面”的推薦結果。
基本原理
相比協同過濾和矩陣分解利用用戶和商品的“相似度”進行推薦,邏輯回歸將推薦問題看成一個分類問題,通過預測正樣本的概率對物品進行排序。正樣本可以是用戶“點擊”了某商品,也可以是用戶“觀看”了某視頻,這些都是推薦系統希望用戶產生的“正反饋”行為。邏輯回歸模型將推薦問題轉換成了一個點擊率預估問題。
邏輯回歸模型的推薦過程:
將用戶年齡、性別、物品屬性、物品描述、當前時間、當前地點等特征轉換成數值型向量。
確定邏輯回歸模型的優化目標(優化“點擊率”),利用已有樣本數據對邏輯回歸模型進行訓練,確定邏輯回歸模型的內部參數。
在模型服務階段,將特征向量輸入到邏輯回歸模型,經過模型的推薦,得到用戶“點擊”物品的概率。
利用“點擊”概率對所有候選物品進行排序,得到推薦列表。
邏輯回歸的數學形式在此不再詳細闡述,有興趣的讀者可以查閱相關資料進行理解。
邏輯回歸模型優勢
數學含義上的支撐,邏輯回歸模型是廣義線性模型的一種,它的假設是因變量y服從伯努利分布。在CTR預估這個問題上,“點擊”事件是否發生就是模型的因變量y,而用戶是否點擊廣告就是一個經典的投擲偏心硬幣問題。因此CTR模型的因變量顯然服從伯努利分布。
可解釋性強,直觀地講,邏輯回歸模型的數學形式是各特征的加權和,再施以sigmoid函數。特征的權重反應了各個特征的重要程度,因此邏輯回歸模型具有極強的可解釋性。
工程化的需要,邏輯回歸模型憑借其易于并行化、模型簡單、訓練開銷小等特點,占據著工程領域的主流。
邏輯回歸模型的局限性
邏輯回歸作為一個基礎模型,其局限性是非常明顯的:表達能力不強、無法進行特征交叉、特征篩選等一系列“高級”的操作,因此不可避免地造成信息的損失。
自動特征交叉的解決方案
邏輯回歸模型表達能力不強的問題,會不可避免地造成有效信息的損失。在僅利用單一特征而非交叉特征進行判斷的情況下,有時不僅是信息損失的問題,甚至會得出錯誤的結論。因此,通過改造邏輯回歸模型,使其具備特征交叉的能力是必要和迫切的。
POLY2模型
針對特征交叉的問題,算法工程師經常采用先手動組合特征,再通過各種分析手段篩選特征的方法,但這種方法無疑是低效的。更遺憾的是,人類的經驗往往有局限性。因此,采用POLY2模型進行特征的“暴力”組合成了可行的選擇。
POLY2模型的數學表達形式如下所述,
從上述公式可以看到,該模型對所有特征進行了兩兩交叉,并對所有的特征組合賦予了權重。POLY2通過暴力組合特征的方式,在一定程度上解決了特征組合的問題。
算法缺陷
在處理互聯網數據是,經常采用one-hot編碼的方式處理類別型數據,導致特征向量極度稀疏。而POLY2進行無選擇的特征交叉使得原來非常稀疏的特征向量更加稀疏,進而導致大部分交叉特征的權重缺乏有效的數據進行訓練而無法收斂。
權重參數的數量由上升到,極大地增加了訓練復雜度。
FM模型
為了解決POLY2模型的缺陷,研究者提出了FM模型,模型的數學表達形式如下所示,
與POLY2相比,其主要區別是用兩個向量的內積取代了單一的權重系數。FM為每個特征學習了一個隱權重向量,在特征交叉時,使用兩個特征隱向量的內積作為交叉特征的權重。
FM引入隱向量的做法,本質上與矩陣分解用隱向量代表用戶和物品的做法異曲同工。可以說FM是將矩陣分解隱向量的思想進行了進一步擴展,從單純的用戶、物品隱向量拓展到了所有特征上。
算法優點
FM通過引入特征隱向量的方式,直接把POLY2模型級別的權重參數數量減少到了(為隱向量的維度,>>).
隱向量的引入使得FM能更好的解決數據稀疏性的問題,降低了模型對數據稀疏性的要求。相比于POLY2,FM雖然丟失了某些具體特征組合的精確記憶能力,但是泛化能力大大提高。
最后,我們對上述出現過的所有模型的特點進行總結,希望幫助讀者再次回顧其中的關鍵知識。
在對傳統的推薦模型進行總結時,讀者也要意識到,傳統推薦模型與深度學習模型之間存在著千絲萬縷的聯系。正是對傳統模型研究的不斷積累,為深度學習模型打下了堅實的理論和實踐基礎。矩陣分解技術成功應用在推薦系統領域,其隱向量的思想與深度學習中Embedding技術的思路一脈相承;FM被提出,特征交叉的概念被引入推薦模型,其核心思想——特征交叉的思路也將在深度學習模型中被發揚光大。這些概念都將在深度學習推薦模型中繼續應用,持續發光。
文末福利
后臺回復關鍵詞【入群】
加入賣萌屋NLP/IR/Rec與求職討論群
有頂會審稿人、大廠研究員、知乎大V和妹紙
等你來撩哦~
總結
以上是生活随笔為你收集整理的推荐模型是怎样由窄变宽、越变越深的?的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 聊聊机器翻译界的“灌水与反灌水之战”!
- 下一篇: 敬你一杯调参人生