一種基于卷積神經網絡的點擊通過率預估方法
【專利摘要】本發明公開一種基于卷積神經網絡的點擊通過率預估方法,通過對于點擊實例中所有元素,建立哈希表,與潛在語義向量對應;對于一具體點擊實例,在哈希表中索引出對應的潛在語義向量,得到點擊實例矩陣,作為卷積神經網絡輸入矩陣;經卷積神經網絡的卷積操作和池化操作得到多層卷積神經網絡;最后一池化層與全連接矩陣乘積運算,通過柔性最大傳遞函數計算得到輸出層得到輸出層;優化模型參數與輸入,采用邏輯斯特損失函數來度量模型的性能,最后輸出點擊實例被分到每一類的預估概率。本發明可挖掘單一廣告中重要的全局語義交互信息和序列廣告中局部全局的動態特征,解決了當前模型只能提取局部或靜態特征的問題。
【專利說明】
一種基于卷積神經網絡的點擊通過率預估方法
技術領域
[0001] 本發明涉及互聯網廣告點擊和商品交互技術領域,尤其是一種基于卷積神經網絡 的點擊通過率預估方法。
【背景技術】
[0002] 隨著互聯網廣告也和電商業井噴式增長,廣告和電商平臺每天都記錄下海量的用 戶點擊數據。對于單個點擊行為,往往存在著許多上下文背景信息,如用戶信息,設備信息, 網站信息,內容信息等等,這些上下文信息的復雜交互作用往往會對用戶的點擊行為產生 巨大的影響。
[0003] 另一方面,對于序列點擊行為,即在某一預定的時間段內按照時間先后順序排列 的用戶點擊行為的集合,包含著豐富的序列信息,如用戶之前的一次點擊行為導致了當前 的點擊行為,這一序列的點擊行為的相互影響和相互作用會對用戶未來的點擊行為的預估 有很大的幫助。
[0004] 當前較流行的點擊通過率預估模型是用邏輯斯特回歸算法,或者因子分解機算法 來提取單個點擊實例上下文背景信息中的交互語義特征,用周期神經網絡來提取序列點擊 實例中的序列特征。但是矩陣分解算法或者因子分解機算法都只能提取兩種上下文背景信 息的交互語義特征。另一方面,周期神經網絡中周期信號傳遞矩陣總是保持不變,這種周期 特征以恒定不變的方式改變的假設限制了現實復雜場景中真實序列特征的提取。因此,需 要挖掘出單個點擊行為中上下文背景信息的全局交互語義特征以及序列點擊行為中的動 態序列特征,然而現有點擊通過率(Click through rate,CTR)預估模型不能有效地提取這 些特征。
【發明內容】
[0005] 鑒于此,本發明提出了一種基于卷積神經網絡的點擊通過率預估方法。該方法基 于卷積神經網絡的能夠提取點擊實例中多個上下文條件之間的復雜語義交互信息以及時 序點擊行為中的序列信息,能夠很好地應用于互聯網廣告推送以及各類推薦系統的場景。
[0006] 本發明是這樣實現的,一種基于卷積神經網絡的點擊通過率預估方法,包括步驟:
[0007] 步驟S1,對點擊實例中所有元素,建立哈希表,使所有元素與潛在語義向量一一對 應;
[0008] 步驟S2,對某一具體點擊實例,在哈希表中索引出對應的潛在語義向量,由該點擊 實例中所有元素對應的潛在語義向量組成點擊實例矩陣,作為卷積神經網絡的輸入矩陣;
[0009] 步驟S3,將卷積神經網絡的卷積操作應用于點擊實例矩陣中的不同元素的同一維 度上,得到第一個卷積層,即局部鄰域的信息的特征;
[0010] 步驟S4,將卷積神經網絡的池化操作應用于前一個卷積層,提取所需特征,得到第 一個池化層;
[0011] 步驟S5,重復步驟S3-S4卷積操作和池化操作得到多層卷積神經網絡;
[0012] 步驟S6,使多層卷積神經網絡的最后一個池化層與全連接矩陣進行乘積運算,再 通過柔性最大傳遞函數計算得到輸出層,即輸入的點擊實例被分到每一類的預估概率;
[0013] 步驟S7,給模型賦予初始化的輸入和參數,在數據集上優化模型參數和輸出,采用 邏輯斯特損失函數度量模型性能,最終得到輸入的點擊實例被分到每一類的預估概率。
[0014] 本發明通過為點擊實例中每一個待交互的元素學習一個潛在語義向量表達,通過 卷積神經網絡中的卷積操作和池化操作能夠同時提取單次點擊實例中的上下文背景信息 間全局的復雜交互以及序列點擊實例中重要的局部或者全局的動態序列特征,從而能夠同 時提取單次點擊實例中的上下文背景信息間全局的復雜交互以及序列點擊實例中重要的 局部或者全局的動態序列特征,為準確輸出預估概率奠定了基礎,且模型點擊預估的性能 可通過邏輯斯特損失函數度量,使得預估概率更為精確。
【附圖說明】
[0015] 圖1本發明的流程圖;
[0016] 圖2是在Y00CH00SE數據集上不同模型之間點擊通過率預估性能的橫向比較示意 圖。
【具體實施方式】
[0017] 為使本發明的目的、技術方案和優點更加清楚明白,以下結合具體實施例,并參照 附圖,對本發明進一步詳細說明。
[0018] 步驟S1,對于點擊實例中出現的所有待交互的信息元素,建立哈希表,使所有信息 元素與潛在語義向量--對應;
[0019] 本發明中,所述點擊實例既可以是單次點擊行為包含的時間、網站種類、設備種類 等上下文語義信息,也可以是一個用戶在某一時間段內的所有點擊行為組成的點擊序列信 息。
[0020] 所述待交互的信息元素包括單次點擊實例中的上下文背景信息以及序列點擊實 例中的一次點擊實例。
[0021] 步驟S2,對于某一具體的點擊實例,在哈希表中索引出對應的潛在語義向量,得到 點擊實例矩陣,作為卷積神經網絡的輸入矩陣;
[0022] 需要說明的是,本發明中,所述點擊實例中的信息元素的個數不是固定的,輸入長 度靈活可變,這樣就可適用于實際的點擊應用場景,這樣可以使得模型的應用范圍大大增 加。
[0023] 步驟S3,將卷積神經網絡的卷積操作應用于點擊實例矩陣中的不同信息元素的同 一維度上,得到第一個卷積層,即局部鄰域的信息的特征;
[0024] 其中,用誤差反向傳導算法學習包含卷積核、元素表達向量、全連接矩陣的模型參 數;
[0025]步驟S4,將卷積神經網絡的池化操作應用于前一個卷積層,池化提取所需要的特 征,得到第一個池化層;
[0026]具體的,實現上,所述池化操作可以為最大池化或平均池化等,池化參數是前一卷 積層的長度的函數,所述池化參數采用分段冪指函數;采用了分段冪指函數作為池化參數 選擇的依據,使模型能夠處理動態長度的輸入,增大了模型的應用范圍。
[0027] 步驟S5,重復前面卷積操作和池化操作得到多層卷積神經網絡;
[0028] 本發明中,步驟S5得到的多層卷積神經網絡的層數、每一層特征圖的數目、卷積核 大小都是超參數;
[0029] 超參數決定模型的規模和參數的數量,需要根據輸入數據的具體大小和種類進行 調節,實驗中可以通過在一個預先設定的參數區間多次試驗對比得到。
[0030] 步驟S6,將最后一個池化層與全連接矩陣進行乘積運算,再通過柔性最大傳遞函 數計算得到輸出層,即輸入的點擊實例被分到每一類的預估概率p m;
[0031] 其中,最后一個池化層的池化參數是固定的,與輸出的類別數保持一致。
[0032]步驟S7,數據集分訓練集、驗證集、測試集;在訓練集上用誤差反向傳導算法調節 模型卷積核、元素表達向量、全連接矩陣等模型參數;驗證集上通過參數區間內多次試驗對 比調節卷積網絡層數、卷積核大小、特征圖數目等超參數;測試集上計算模型的邏輯斯特損 失來度量點擊預估模型的性能,采用邏輯斯特損失函數度量點擊預估模型的性能;
[0033]邏輯斯特損失函數表示為:
[0035]其中,logloss表示邏輯斯特損失,ntest為測試集上所有樣本的數目,U表示測試集 上點擊實例的目標值,即實際上被預估的點擊行為是否發生,取值為〇或1,〇表示沒有點擊, 1表示點擊,pm表示估計值,即模型計算得到的點擊行為會發生的概率,取值為閉區間[0,1] 上的實值。
[0036]對于點擊模型,邏輯斯特損失函數比一般的準確率等度量函數更合適,即使在測 試集正負樣本嚴重不平衡的情形下比例也能夠很好地度量模型點擊預估的性能。
[0037] 實施例
[0038]為了驗證本發明的實施效果,下面以Y00CH00SE數據集為例進行說明。該 Y00CH00SE數據集包含了一個電商平臺上用戶的點擊記錄和購買記錄,這些記錄通過預先 設定的時間段分隔開。同時,對原數據集進行了適當預處理操作,某一時間段的所有可能的 點擊序列,若最后一個點擊實例對應購買行為,則其標簽為1,否則其標簽為〇。在該數據集 上可以進行點擊通過率預估的任務。具體步驟如下:
[0039]步驟S1,將Y00CH00SE數據集中所有被點擊的商品提取出來,建立一個哈希表,使 每個商品與一個潛在語義向量一一對應。
[0040] 步驟S2,通過預處理操作,將Y00CH00SE數據集轉化為所有可能的點擊序列,并根 據購買記錄給每一個點擊序列一個對應的標簽,對于某一個具體的點擊實例,在哈希表中 索引出對應的潛在語義向量,得到點擊實例矩陣,作為卷積神經網絡的輸入矩陣。
[0041] 步驟S3,將卷積神經網絡中的卷積操作應用于點擊實例矩陣中的不同元素的同一 維度上,得到第一個卷積層,即局部鄰域的信息的特征,用誤差反向傳導算法學習模型的參 數,調節包括卷積核,元素表達向量,全連接矩陣的模型參數。
[0042]步驟S4,將卷積神經網絡中的池化操作應用于前一個卷積層,池化操作為最大池 化,池化參數是前一卷積層的長度的函數,選擇為分段冪指函數,池化操作可有效地提取所 需要的特征,得到第一個池化層。
[0043] 步驟S5,重復前面的卷積操作和池化操作得到多層卷積神經網絡,網絡的層數,每 一層特征圖的數目,卷積核大小都是是超參數,根據具體的輸入數據的大小和種類進行調 節,可以通過在一個預先設定的參數區間多次試驗對比得到。
[0044] 步驟S6,最后一個池化層與全連接矩陣進行乘積運算,再通過柔性最大傳遞函數 計算得到輸出層,即輸入的點擊實例被分到每一類的預估概率,最后一個池化層的池化參 數是固定值2,與輸出的類別數保持一致。
[0045] 步驟S7,數據集分訓練集,驗證集,測試集;在訓練集上,用誤差反向傳導算法調節 模型卷積核、元素表達向量、全連接矩陣等模型參數;在驗證集上,通過參數區間內多次試 驗對比調節卷積網絡層數、卷積核大小、特征圖數目等超參數;在測試集上計算模型的邏輯 斯特損失來度量點擊預估模型的性能。
[0046]圖1是在Y00CH00SE數據集上,不同模型之間點擊通過率預估性能的橫向比較示意 圖,CCPM為本發明基于卷積神經網絡的點擊通過率預估模型,RNN為周期神經網絡模型,FM 為分解機模型,LR為邏輯斯特回歸模型。
[0047] 表1是本發明各層卷積神經網絡中的特征圖數目(fl,f2,f3)和卷積核大小(kl, k2,k3)等模型超參數在設定的參數區間[2,9]發生變化時,模型點擊通過率預估性能的縱 向比較。
[0048]
[0049] 表 1
[0050]以上所述的具體實施例,對本發明的目的、技術方案和效果進行了進一步詳細說 明,所應理解的是,以上所述僅為本發明的具體實施例而已,并不用于限制本發明,凡在本 發明的精神和原則之內,所做的任何修改、等同替換、改進等,均應包含在本發明的保護范 圍之內。
【主權項】
1. 一種基于卷積神經網絡的點擊通過率預估方法,其特征在于,包括步驟: 步驟S1,對點擊實例中所有元素,建立哈希表,使所有元素與潛在語義向量一一對應; 步驟S2,對某一具體點擊實例,在哈希表中索引出對應的潛在語義向量,由該點擊實例 中所有元素對應的潛在語義向量組成點擊實例矩陣,作為卷積神經網絡的輸入矩陣; 步驟S3,將卷積神經網絡的卷積操作應用于點擊實例矩陣中的不同元素的同一維度 上,得到第一個卷積層,即局部鄰域的信息的特征; 步驟S4,將卷積神經網絡的池化操作應用于前一個卷積層,提取所需特征,得到第一個 池化層; 步驟S5,重復步驟S3-S4卷積操作和池化操作得到多層卷積神經網絡; 步驟S6,使多層卷積神經網絡的最后一個池化層與全連接矩陣進行乘積運算,再通過 柔性最大傳遞函數計算得到輸出層,即輸入的點擊實例被分到每一類的預估概率; 步驟S7,給模型賦予初始化的輸入和參數,在數據集上優化模型參數和輸出,采用邏輯 斯特損失函數度量模型性能,最終得到輸入的點擊實例被分到每一類的預估概率。2. 根據權利要求1所述的方法,其特征在于,所述點擊實例既可以是單次點擊中的上下 文語義信息,也可以是一個用戶在某一時間段內的所有點擊行為組成的點擊序列信息。3. 根據權利要求1所述的方法,其特征在于,所述點擊實例中的元素的個數是變化的。4. 根據權利要求1所述的方法,其特征在于,所述點擊實例中的元素表達向量、卷積操 作中卷積核、全連接矩陣模型參數通過誤差反向傳導算法進行學習。5. 根據權利要求1所述的方法,其特征在于,所述卷積神經網絡中的池化操作為最大池 化或平均池化,池化參數是前一卷積層的長度的函數;池化參數的函數采用分段冪指函數。6. 根據權利要求1所述的方法,其特征在于,所述多層卷積神經網絡的網絡層數、每一 層特征圖的數目、卷積核大小是超參數,根據輸入數據的大小和種類調節,可通過在一個預 先設定的參數區間進行多次試驗對比模型性能得到。7. 根據權利要求1所述的方法,其特征在于,最后一個池化層的池化參數是固定的,且 與輸出的類別數保持一致。8. 根據權利要求1所述的方法,其特征在于,所述邏輯斯特損失函數表示為:其中,log loss表示邏輯斯特損失,ntest為測試集上所有樣本數目,^表示測試集上點 擊實例目標值,取值為〇或1,〇表示沒有點擊,1表示點擊;?^表示計算得到的點擊行為發生 的概率,取值為閉區間[0,1 ]上實值。
【文檔編號】G06N3/02GK105869016SQ201610186350
【公開日】2016年8月17日
【申請日】2016年3月28日
【發明人】王亮, 譚鐵牛, 吳書, 郭韋昱, 余峰, 劉強
【申請人】天津中科智能識別產業技術研究院有限公司