如何用機器學習方法,提升另一半的滿意指數?

今天是七夕情人節,我們來探討一個嚴肅又甜蜜的重要問題,一個你可能正在關注、或者終要關注的人生課題:如何用機器學習方法,為你生命里的另一半,挑選最適宜的母嬰產品,提升幸福滿意指數。

背景介紹

生命階段在消費行為中的重要作用已經在營銷和社會學中被研究了幾十年。雖然這些研究並沒有關注消費者的行為,但是他們研究了各種人和事件的生命周期,這為研究生命階段對消費者行為的影響提供了堅實的基礎。在電子商務中,比起用戶的生命階段轉變,更多的研究側重於根據消費者的歷史行為進行商品推薦。

例如,電商公司會挖掘具有相似偏好的用戶,並根據其他相似用戶的偏好對當前用戶進行推薦。而對於消費者生命階段與消費者行為之間關係的研究才剛剛開始,在這些研究的驅動下,我們提出了一種可用於電子商務中生命階段推斷的動態融合演算法。

我們使用多元邏輯回歸模型對嬰兒的生命階段進行分類預測、產生相應的概率分布。此外我們還開發了動態融合方法以不斷提高預測精度,並且可以有效地提高計算效率。每次有新的概率分布生成後,我們會更新然後維護多個概率分布。這樣做可以識別消費者的短期興趣,而且對於多個孩子的生命階段預測也是非常有幫助的。

為了評估演算法的有效性,我們進行了大量離線和在線的數值實驗,這些實驗表明我們的方法可以顯著提高消費者生命階段推斷的準確性。

本文的主要貢獻有:

  1. 我們為生命階段推斷提供了工業級別的解決方案。
  2. 我們開發了一種動態融合方法,可以在大幅節省計算資源的基礎上不斷提高預測精度,並且可以方便地維護對多個孩子年齡階段的預測。
  3. 我們通過實際數據驗證了我們的解決方案對生命階段推斷的有效性。

母嬰用戶生命階段劃分

用戶行為會隨著生命階段而改變,消費行為的轉變通常與生命階段的轉變一致,這種現象在母嬰這樣的垂直行業中更為顯著。例如,媽媽們會在嬰兒剛出生時購買尿布;而在2到3年後,當嬰兒要上幼兒園的時候,媽媽們會購買更多的衣服和鞋子。消費者行為隨著生命階段改變的現象不僅僅存在與母嬰行業,在其他行業例如家裝和汽車也有相同的現象。在本文中,我們將重點關注母嬰行業,即基於父母的消費行為推斷嬰兒的生命階段。

根據我們的行業認知,一個孩子的生命階段發展是一個與年齡密切相關的連續過程。因此我們將母嬰用戶的生命階段根據孩子的年齡分為以下幾個階段:出生前(媽媽的孕期);0-6個月(新生兒);6-1個月;2-3歲(託兒所);3-7歲(幼兒園)。不同年齡段孩子的父母會對不同的商品感興趣,如果我們可以準確預測他們孩子的年齡段並推薦合適的商品,就可以大幅提高轉化率。

動態融合方法

為了推斷一個孩子的生命階段,我們開發了一種不斷預測並且不斷改進推論的演算法。與使用複雜模型進行一次性預測的方法不同,我們的演算法每次會根據當前的數據產生一個較好的預測結果,然後不斷地更新我們的推論,這就是所謂的動態融合過程。下面將會具體介紹動態融合過程的細節。

與單個預測結果相比,對孩子生命階段預測的概率分布包含了更多的信息。比如說當分布中有兩個生命階段的概率都較高時,這表明消費者可能有兩個孩子,或者消費者的孩子正處於兩個生命階段的交界處,但我們不能從單個預測結果中得到這些信息。保留這些概率分布可以推斷用戶孩子的生命階段,並且可以讓我們在合適的時候更新推論。然而消費者在不同月份的行為很可能導致不同分布中概率最高的生命階段是不同的,如何維護和更新這些分布成了我們解決方案的關鍵。因此我們設計了動態融合演算法來解決這個問題。

以特徵向量X作為輸入,我們可以通過模型預測單月概率分布,我們將在下一節中介紹模型的訓練細節。現在假設我們已經

有的概率分布,並且當下個月結束時,模型會產生另一個概率分布

。有了這兩個分布後,為了將它們進行融合,首先需要將之前的分布進行平移,平移方式由下式給出:

其中? 是之前分布產出時間與當前月份的時間差。平移概率分布的方法有好幾種,在Algorithm 1中對我們使用的方法進行了詳細介紹。

然後我們會比較平移後的分布,如果兩個分布具有最高概率的生命階段是相同的,也就是說:

這樣的話我們就可以將這兩個分布融合在一起:

其中

用於對新分布進行歸一化。如果多個分布概率最高的生命階段不同,那多個分布都會被保留以便將來可能的融合。我們會記錄每個分布融合的次數,推斷的生命階段由融合次數最多的分布決定。當新的單月分布生成時,將按照相同的邏輯進行演算法的下一次迭代。

特徵工程

在電商場景中,所有的特徵都來自消費者的五大類行為:搜索、點擊、收藏、加購和購買。我們使用的特徵分為以下幾類:

1. 類目特徵

在淘寶的類目體系中存在多級類目結構,其中一級類目包括衣服、鞋子等主要的大類;類目級別最多可達到4個或5個,沒有子類目的最低級別類目稱為葉子類目。理論上我們可以使用商品ID作為特徵,但是這會導致特徵矩陣過於稀疏,只有極少量的樣本會包含某些特徵。為了避免這種情況,同時仍然能捕捉到用戶不同的消費興趣,我們使用商品對應的一級類目和葉子類目作為特徵。

2. 類目屬性特徵

相同類目下的商品會共享一些屬性:例如商品的品牌屬性可能是IBM、New Balance等具體品牌,商品的尺寸屬性可以是「S」、「M」或「L」。類目屬性特徵是指商品類目和屬性的組合特徵,我們把母嬰行業中所有的類目屬性特徵作為模型的輸入。

3. 商品屬性特徵

除了類目屬性特徵,我們還將商品本身的屬性作為輸入特徵。

4. 搜索詞特徵

搜索詞是指用戶用於搜索的關鍵詞,可能會直接對應孩子的年齡段,例如「3歲寶寶的衣服」、「3段奶粉」等,我們會選取一些特定的關鍵詞作為輸入特徵。

5. 商品標題特徵

商品標題包含了豐富的信息,其中可能也包括年齡段或者生命階段相關的信息。我們整理了大約200個年齡段相關的關鍵詞,對標題進行相關處理後作為輸入特徵加入模型。

6. 時序特徵

消費者在不同日期購買相同的商品也有不同的含義,一個媽媽在6個月前購買尿布和在1周前購買尿布的含義是不同的。因此不同月份的行為也被歸為不同的特徵,為了減少模型訓練時的計算負擔,我們使用了用戶最近一個月的所有行為和去年同月的購買行為作為輸入特徵。

數值實驗

為了證明我們設計的方法是有效的,我們利用半年的taobao.com的數據做了多組實驗(從2016年9月到2017年2月)。圖一和圖二分別簡要說明了訓練數集和測試數集中嬰兒生命階段的分布。

值得注意的是,隨著時間的推移,嬰兒會逐漸長大,所以生命階段的分布會沿著時間軸向右移動。實驗中,我們先使用2016年9月份的數據進行預測。得到的生命階段會和下一個月的生命階段的預測根據公式(2)融合在一起。融合之後的結論會作為10月份關於生命階段的最後結論。而這個結論會繼續和下一個月單月數據預測的結論(利用2016年11月的特徵數據得到的生命階段的結論)融合。相應的,利用單月特徵得到的預測結論作為對照組實驗的結果。我們將對照組實驗使用的方法稱為無記憶方法。也即是說這種方法僅僅使用最近一個月的特徵數據來進行推斷。

表2,3,4展示了從2016年9月份到2017年2月份的實驗結果。值得注意的是因為2016年9月份作為起始點,所以兩種方法的結果是一樣的。正如表2和表3所展示的,基於動態融合的方法超越了。

表2,3,4展示了從2016年9月份到2017年2月份的實驗結果。值得注意的是因為2016年9月份作為起始點,所以兩種方法的結果是一樣的。正如表2和表3所展示的,基於動態融合的方法幾乎比無記憶方法好10%。表4展示了不同月份的比較結果。5個月(2016年9月份不包含在比較結果中)中有2個月動態融合方法在準確度顯著超越了無記憶方法(最高達15%),在另外的3個月中無記憶方法比動態融合方法預測的更準確(不超過10%)。動態融合方法在召回率上超越了無記憶方法。5個月中,動態融合方法在3個月中超越了無記憶方法,最高記錄高達21.76%,而在另外2個月中只比無記憶方法稍微遜色,最壞記錄不超過-1%。

這背後的原因在於消費者的行為強度在一年中的旺季和淡季變化劇烈。對於任何一個擁有豐富的消費者行為數據的月份,兩種方法的準確度十分相似。然後,對於任何一個消費者行為數據十分稀疏的月份,無記憶方法的準確度會明顯下降,然後動態融合方法可以通過融合消費者行為豐富的月份中得到的結論這樣的方式巧妙的克服上述缺點。

實驗的月份越多,關於生命階段的結論會因為越來越多的消費者行為被隱性地考慮在模型中而變得越穩定。這個方法的另外一個優勢在於,對於任何一個錯誤的推斷可以在接下來的月份中得到修正。這一點可以被實驗中2016年11月、12月,2017年的1月和2月份的結果說明。11月份中錯誤的結論在接下來的月份中被逐漸修正。讀者會質疑正確的結論也可能被改為錯誤的結論,但是我們的實驗表明總體上,動態融合方法不會差於無記憶方法。

結論

在本篇論文中,我們介紹了一種叫做動態融合的創新的方法用來基於家長的消費行為推斷幼兒的生命階段。我們詳細介紹了特徵工程,以及演算法的細節。我們還進行了計算實驗用於證明這個演算法的優勢。

對於消費者行為數據豐富的月份,該方法沒有比對照組差,然而在消費者行為數據稀疏的月份,該方法可以超越對照組方法。在未來的工作中,我們可以探索其他的機器學習模型用於預測單月的行為,或者多層級的模型來繼續提高表現(例如一種機器學習模型用於預測某些特殊的生命階段而另外一種機器學習模型用於預測其他生命階段)。此外,該生命階段的預測還可以被其他應用場景(如推薦系統)使用。

來源:阿里技術

原文鏈接:如何用機器學習方法,提升另一半的滿意指數?-博客-雲棲社區-阿里雲

更多技術乾貨敬請關注云棲社區知乎機構號:阿里云云棲社區 - 知乎

推薦閱讀:

直擊阿里雙11神秘技術:PB級大規模文件分發系統「蜻蜓」
iOS 客戶端 HTTPS 防中間人攻擊實踐
Let's Encrypt 使用教程,免費的SSL證書,讓你的網站擁抱 HTTPS
理解HTTPS

TAG:算法 | HTTPS | GettyImages |