1. 背景介紹
假設(shè)一個廣告分類的問題,根據(jù)用戶和廣告位相關(guān)的特征,預測用戶是否點擊了廣告。數(shù)據(jù)如下:
| clicked? | Country | Day | Ad_type |
|---|---|---|---|
| 1 | USA | 26/11/15 | Movie |
| 0 | China | 19/2/15 | Game |
| 1 | China | 26/11/15 | Game |
由上表可知,3維特征和點擊標簽,對類別特征進行One-hot編碼轉(zhuǎn)化為數(shù)值特征,轉(zhuǎn)化為數(shù)據(jù)如下:
| clicked? | Country=USA | Country=China | Day=26/11/15 | Day=19/2/15 | Ad_type=Movie | Ad_type=Game |
|---|---|---|---|---|---|---|
| 1 | 1 | 0 | 1 | 0 | 1 | 0 |
| 0 | 0 | 1 | 0 | 1 | 0 | 1 |
| 1 | 0 | 1 | 1 | 0 | 0 | 1 |
特征空間還是比較稀疏的,并且在類別空間很大時,特征則越稀疏。并且根據(jù)不同的特征組合來看,兩兩組合的特征是十分必要的。原因如下:
通過觀察大量的樣本數(shù)據(jù)可以發(fā)現(xiàn),某些特征經(jīng)過關(guān)聯(lián)之后,與label之間的相關(guān)性就會提高。例如,“USA”與“Thanksgiving”、“China”與“Chinese New Year”這樣的關(guān)聯(lián)特征,對用戶的點擊有著正向的影響。換句話說,來自“China”的用戶很可能會在“Chinese New Year”有大量的瀏覽、購買行為,而在“Thanksgiving”卻不會有特別的消費行為。這種關(guān)聯(lián)特征與label的正向相關(guān)性在實際問題中是普遍存在的,如“化妝品”類商品與“女”性,“球類運動配件”的商品與“男”性,“電影票”的商品與“電影”品類偏好等。
如何表示兩個特征的組合呢?一種方法是采用多項式模型表示兩個特征的組合,為第 i 個特征的取值,
表示特征組合,其參數(shù)
即為學習參數(shù),也是
組合的重要程度:
上式稱為 Poly2 模型,參數(shù)個數(shù):一次項有 d+1 個,二次項共有 個,而參數(shù)與參數(shù)之間彼此獨立,在稀疏場景下,二次項的訓練是很困難的。因為要訓練
,需要有大量的
和
都非零的樣本,樣本少則難以估計。
2. FM 模型
Poly2 模型認為參數(shù)是彼此獨立的,所以必須進行單獨訓練。但是實踐上不同的特征之間進行組合并非完全獨立。參考矩陣分解,rating 矩陣可以分解為 user 矩陣和 item 矩陣的矩陣乘,如下圖所示:

user 和 item 矩陣的維度分別為 (n, k) 和 (k, m),相比原來的rating矩陣,空間占用得到降低,并且分解后的user矩陣暗含著user偏好,Item矩陣暗含著item的屬性,而user矩陣乘上item矩陣就是rating矩陣中用戶對item的評分。
參考矩陣分解的過程,F(xiàn)M 模型將二次項參數(shù)進行分解:
其中是第 i 維特征的隱向量,長度為k,
為內(nèi)積,值為原來的
。
上式的復雜度可以從 優(yōu)化到
:
3. FFM 模型
FM模型中,所有特征共享同一個隱空間,每一維特征對應為唯一的隱向量進行特征交互。存在的問題在于:不同特征是按照不同的 filed 劃分,比如 “EPSN、NBC” 屬于廣告商、“Nike、Adidas”屬于廣告主、“Male、Female”屬于性別。描述(EPSN,Nike)和(EPSN,Male)特征組合,F(xiàn)M模型都用同一,而實際上,ESPN作為廣告商,其對廣告主和用戶性別的潛在影響可能是不同的。
表示的不同點為:
FM:
FFM:
FFM的數(shù)學公式表示為:
其中和
分別代表第 i 個特征和第 j 個特征所屬的 field,若field有
個,隱向量的長度為
,則二次項系數(shù)共有
個,遠多于FM模型的
個。此外,隱向量和field相關(guān),并不能像FM模型一樣將二次項化簡,計算的復雜度是
。通常情況下,每個隱向量只需要學習特定field的表示,所以有
。
下面的圖來自criteo,很好的表示了 Poly2、FM、FFM 模型的區(qū)別:

4. 總結(jié)
4.1. LR
弊端:無法利用組合特征
4.2. Poly2
弊端:真實業(yè)務(wù)場景中組合特征高度稀疏,無法更新。
4.3. FM
局限:1. 僅建模二階特征交互【引入深度神經(jīng)網(wǎng)絡(luò)】;2. 所有特征共享同一個latent space
4.4. FFM
不同特征按域劃分。