當前位置:
首頁 > 最新 > 零售業中的數據挖掘問題

零售業中的數據挖掘問題

引言

本文是TalkingData首席數據科學家張夏天翻譯自Highly Scalable Blog的一篇文章,介紹了零售業中的數據挖掘問題。

問題 2:推薦

1. 問題說明

一組激勵中的每一項激勵對應著一個產品或者其他目錄項目。展示這些激勵並不直接與費用成本相關,但是只有有限數量的激勵能夠展示給用戶。從這個角度來說,每個激勵的展示都會佔用一定的屏幕空間或者客戶的注意力,所以給客戶提供的某個激勵的負面激勵能夠被機會成本的損失來度量。

在這樣的目標下就需要將激勵的子集對於每個客戶而言都是個性化的(如網站上的推薦)從而最大化群體的購買表現。

2. 應用

該問題最典型的應用有推薦系統, 個性化搜索結果, 和定向廣告。 此外還有一些其他重要的應用:

特別需要注意的是儘管推薦通常被認為是線上服務特有的,但其所產生的基本原則和技術對於零售業的許多方面也是非常重要的。因為這些技術致力於揭示客戶對產品興趣的隱含關係。而這是零售商最基本的任務。

3. 解決方案

推薦系統在過去20年是非常受關注的研究領域,[JZ10, RR10] 兩本書提供了對幾十種在各種論文,演講和白皮書中提出的推薦演算法和技術的系統化視角。

某種程度上,推薦技術的高度多樣性在於一些實現推薦時遇到的挑戰,如客戶評分的稀疏性,計算的可擴展性,以及缺乏新物品和客戶的信息。

顯然,我們無法在本節中綜述哪怕一下部分方法和演算法,而且在此處探討這些也沒有太多的意義,因為這樣的綜述俯拾皆是。相反我們將關注於驅動設計推薦系統的目標和效用函數而基本上忽略這一問題的演算法和技術側的細節。

從計量經濟學的觀點來看,推薦系統問題與電商和全渠道商業在很多零售領域的興起帶來銷售品類的快速擴張是緊密相關。大的平類增加了很多非暢銷產品,每一個產品的銷售量和貢獻的收入都是很少的,但是這個「長尾」的總體貢獻是非常顯著的。

傳統推薦技術如推廣最暢銷的商品不能有效利用非暢銷商品的潛力,這就需要更巧妙的推薦方法在數百萬他或者她從未探索過的產品中對其進行引導。

因為我們主要關注模型對客戶在產品上的偏好的描述,我們將從根據效用函數的複雜性從簡單到負責來介紹使用最廣的推薦技術。 我們將依據如下圖所示的推薦技術層次分類圖。這個層次分類綜合了推薦系統的常用分類,但也不是完全一致:

單一目標

讓我們從單一目標推薦任務的基本定義開始,這一定義被廣泛的應用在推薦系統的文獻之中。零售商向用戶群體 U= 銷售物品 J=。評分函數 R:J×U 表示一個用戶對一個物品的觀點從負面(「不喜歡」)到正面(「喜歡」),通常使用數字來表示。

一些用戶和物品對的評分值可以基於用戶的評分或者通過分析購買歷史,網站訪問記錄來估計。推薦任務則可以被定義為對給定用戶-物品對 (u,j) 評分值 ?r_(u,j) 的預測。

有兩種方法可以解決評級預測問題:通過查找與特定用戶過去喜歡的項目相似的項目來獨立估計每個用戶的評分; 也可以通過對來自與給定用戶類似的用戶的評分進行平均來估計評分。這兩種方法分別被稱為內容過濾和協作過濾。

內容過濾

內容過濾的主要思想是基於對用戶過往對於產品的偏好,行為和購買。儘管不可以對內容過濾做不同的解釋, 我們選擇將其作為分類問題 [PZ07] 來強調數據挖掘的應用:

儘管以上的過程似乎是是比較直接的,但是實際上確實非常挑戰的。因為用戶和物品是根本不同的實體,而且要找到一種可以直接將物品轉換成回歸模型可以使用的用戶偏好這種微妙的東西。

最主要的問題是存貨屬性諸如品牌、物品名,或者價格對於衡量物品對用戶的效用是根本不夠的。儘管一些客戶能夠被滿足忠於某品牌或價格取件的特徵,但是需要更多微妙而有信息的維度如生活方式或者品味來描述觀察到的模式和共性。

這些隱式的維度對於如電影、書籍、音樂,甚至是如服飾這樣的有形物品都是非常重要的。零售商可以用如下的方法基於標準的分類技術來對帶有隱含維度的物品打標籤 [GH02]:

一般化的來看,內容過濾和物品建模實際是信息檢索任務,所以許多的為恩本挖掘和搜索技術(例如,[MA08]的綜述所提到的)可以被用來構建推薦系統。我們在此略過這些細節,因為從計量經濟的角度來看這些都不是最重要的部分。

協同過濾. 前面部分提到的隱含維度的問題具有重要意義,此問題可以引導我們了解推薦技術的第二個系列。這個問題源於根本無法嚴格的對人的口味和傾向建模。

協同過濾是一種自然的,也許是唯一不需要對系統進行很多人工工作的解決方案 - 推薦決策中對"人的因素"的需求通過其他用戶的反饋來滿足。

最基本的協同過濾模型 [RE04, BR98] 直接由用戶之間的相似度度量來定義:

此處 r_u,j 為用戶 u 對 j 物品的評分,U 是所有用戶的集合或者啟發式選取的給定用戶的鄰近用戶,λ 是規範化係數,sim(u,v) 是兩個用戶之間的相似度度量, 而 ˉr_u 是戈丁用戶的平均評分:

假設 J_u 是一組用戶評分過的物品。公式 (2.1) 使用的平均用戶評分概念來建模用戶比其他用戶在打分傾向上是偏高還是偏低,因為他們有的要求高有的要求低。雖然不是絕對必要,這一修正在實踐是上非常重要並在最開始實現協同過濾時就被廣泛應用了。

一般用餘弦距離或者皮爾森相關係數來計算評分向量 J_u 和 J_v 之間的相似度。此外,文獻 [ER98, SU09] 介紹了很多對於此基本相似度度量進行調整的多種方法來改進使用中的性能。

模型(2.1)存在一些顯著的缺陷,首先這一模型的計算複雜性(與物品和用戶數量成正比)很高,其次用戶的評分是非常稀疏的。評分的稀疏性是指每個用戶都只會對很小一部分物品進行評分,所以在計算向量 J_u 和向量 J_v 的相似度時經常會出現沒有重合的元素,這會降低推薦的質量。

例如,眾所周知 Amazon[SA01] 和 Netflix[YK08] 的評分矩陣中的評分缺失率達到 99%。為了克服這一限制,基於用戶的模型(2.1)在通常被概念上非常相似的基於物品的模型 [SA01, YK08] 所取代:

其中物品之間的相似度度量是基於那些在兩個物品上都有評分的用戶的基準評分 ˉr_(u,j) 來計算的。基準評分同時考慮了用戶偏差(用戶的平均評分值相較於整體評分的偏差)以及物品偏差(物品的平均評分相較於整體評分的偏差)。

值得注意的是,有一簡單的方法來實現公式(2.2),此方法通過尋找頻繁項集(被頻繁一起購買的物品)並基於在頻繁項集的同現來計算相似度。這一方法因其簡單被視為「窮人的推薦引擎」[RE03]。

模型(2.1)和(2.2)屬於所謂最近鄰模型,這些模型通過分析相似的用戶或者物品的鄰居來估計他們的評分。這一系列的演算法也包括很多變種的技術 [SU09] 通過使用跟緊湊的概率模型或者其他近似方法來取代計算開銷昂貴的檢查鄰居的方法。

儘管最近鄰模型是一種被諸如亞馬遜等領先的零售商驗證過的推薦技術。但在根本上這些技術還是在根本上具有在內容過濾中就有的隱含維度所帶來的問題。前面考慮的用戶之間和物品之間的相似度度量對於揭示用戶和無偏之間的複雜關係,其能力是有限的。

這與信息檢索裡面的同義搜索和多義搜索棉面臨的問題是類似的,要揭示搜索者的實際意圖,並將其意圖翻譯成文本和查詢之間的相似度是非常挑戰的事情。

為了解決這一問題,一種被稱為隱含語義分析的的技術被提出來 [DR90]。該方法被提出來 10 年後被用來設計推薦系統 [SA00],並開創了一類新隱含因子模型。

隱含因子模型主要的思想能夠被描述如下:評分函數 R 能夠被表達成 m×n 矩陣(m 是用戶數,n 是產品數), 其中的元素是評分值。這可以被當作一個線性空間問題。

推薦任務則可以被重新定義為用其他評分向量的組合來計算用戶評分向量。實際上,公式(2.1)自然的就是一種權重由相似度函數定義的評分制的線性組合。然而,問題是評分矩陣缺失評分而稀疏,因偏見和隨機因素通常帶有噪音,而且基於物品維度則限制了揭示用戶品味的能力,而品味通常是與一組物品相關而不是與單個物品相關。

換句話說, 被散落在巨大的低密度矩陣中並混有一定程度噪音的信號智能通過研究隱含模式才能顯示出來。隱含因子模型的思想是用低維度的基來近似一個高維線性空間。這有助於達成以下目標:

集合中的每個點沿著 R_1 和 R_2 維度都有著很大的坐標值並顯示出數據的複雜而不規則的結構。然而,在另一個坐標系 B 中則揭示了數據可以被維度 B_1 有效描述,而維度 B_2 則並不重要,這暗示了這是一個一維的隱含因子模型。

某種程度上,隱含因子模型能夠與離散餘弦變換 (DCT) 相比較,離散餘弦變換被用在圖像壓縮演算法諸如 JPEG 中來用少量的諧波來近似圖片。

以上的思考鏈引導我們到如下的隱含因子的形式化模型。首先選擇維數 b?n,m 並將每個用戶和物品都當作該維度空間中的一個向量。我們將用戶 u 的向量標識為 p_u∈R^b, 物品 j 的向量標識為 q_j∈R^b。這些向量是基於評分舉證計算 R 得到的,計算過程中通過某種辦法讓向量 b 的個分量都對應到上面所述的一個隱含維度。

因此,用戶和物品都可以在同樣的主題下進行編碼,同時評分可以通過計算兩個向量的內積,即將向量的維度兩兩對應相乘然後求和得到:

有許多不同的方法來計算用戶和物品的隱含因子向量 p_u 和 q_j。最直接的方法就是用奇異值分解 (SVD) 對評分矩陣 R 進行分解。然而,基於計算穩定性和複雜性的考慮,在實踐中一般使用迭代的梯度瞎講優化方法 [YK09]。

下圖展示了卷積(2.1)和(2.3)之間的區別。左邊對於給定物品的稀疏的評分向量與稀疏度相似的給定用戶做卷積得到評分估計。而在右邊,評分是通過計算兩個降維後且能量密度很好的向量的卷積得到的。

多目標

以上討論的推薦方法本質上都是由一個單一目標驅動,這一目標是提供最好的語義匹配或者預測偏好評分。然而,推薦精度並不是推薦系統設計的唯一考慮,零售商可能有興趣對綜合多個有衝突的目標在一起給用戶提供推薦。

例如,食品雜貨商可能有興趣提升具有較短貨架期的易腐食物的銷量,時尚商店可能希望推廣贊助品牌或當季款,更多的零售商可以從推薦較高利潤率的產品或考慮產品庫存水平避免以避免缺貨來獲得更好收益。

文獻 [JW10] 提出了多目標推薦系統並在 LinkedIn[RP12] 中做了大規模驗證。在 LinkedIn 的例子中, 其主要的目標是給候選人推薦語義上匹配的工作機會,其次是顯示找工作的行為。[RP12] 描述了該方法,將推薦任務定義為如下的優化問題:

此處:

上述優化問題的主要事項是是增加混合了次要目標的相關度分值的綜合推薦的效用,但是對原聲的相關性推薦結果和綜合推薦結果的差異做懲罰來保證不會為了最求次要目標而完全犧牲相關性。

函數 R(·) 的設計需要包括可調整的參數來調節兩個目標的權重並決定哪個是主要的優化目標。這一方法可以直接的擴展到多於兩個目標的情況。

我們能夠使用大量的例子來展示上述優化模型是可以適配到實際的問題中去的。首先,考慮零售商要將收入目標整合到推薦分值里的情況。

整體的效用函數可以被期望毛利率定義,設 m(p)∈[0,1] 為物品 p 的規範化毛利率,而被購買的概率則由排序位置的倒數表示(即在推薦列表裡排序越低的的物品,其轉化概率越低)。

此處是概率規範化常數。綜合排序函數可以被定義為如下:

其中 β 是一個控制相關性和選取高毛利率產品之間的權衡的參數。這一參數決定了優化問題(2.4)的主要目標。

根據次要目標重新排序的另一個例子是促銷特色商品,如打折產品或易腐貨物。效用函數可以指定為特選產品在有 K 個推薦項的推薦列表中的平均個數。

此處 F(·) 是特選標誌當物品是特選時為 1,不是則為 0。綜合排序函數組合了相關性分值和特選標誌,通過參數 β 來權衡哪個是主要的優化目標。

以上的排序函數能夠直接擴展到整合多個分離的特徵,每個特徵對最終排序分值的貢獻尤其對應的權衡參數(所有參數需要聯合起來優化):

關於問題(2.4)的數值優化演算法的細節可以在 [RP12] 中找到。


喜歡這篇文章嗎?立刻分享出去讓更多人知道吧!

本站內容充實豐富,博大精深,小編精選每日熱門資訊,隨時更新,點擊「搶先收到最新資訊」瀏覽吧!


請您繼續閱讀更多來自 全球大搜羅 的精彩文章:

喜歡是棋逢對手,而愛是甘拜下風!
為什麼戴手錶的男人更帥

TAG:全球大搜羅 |