FM 模型理論基礎(chǔ)

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)性在實際問題中是普遍存在的,如“化妝品”類商品與“女”性,“球類運動配件”的商品與“男”性,“電影票”的商品與“電影”品類偏好等。

如何表示兩個特征的組合呢?一種方法是采用多項式模型表示兩個特征的組合,x_i為第 i 個特征的取值,x_ix_j表示特征組合,其參數(shù)w_{ij}即為學習參數(shù),也是x_ix_j組合的重要程度:
g(x)=w_{0}+\sum_{i} w_{i} x_{i}+\sum_{i} \sum_{j=i+1} w_{i j} x_{i} x_{j}

上式稱為 Poly2 模型,參數(shù)個數(shù):一次項有 d+1 個,二次項共有 d(d-1)/2 個,而參數(shù)與參數(shù)之間彼此獨立,在稀疏場景下,二次項的訓練是很困難的。因為要訓練w_{ij},需要有大量的 x_ix_j都非零的樣本,樣本少則難以估計。

2. FM 模型

Poly2 模型認為參數(shù)w_{ij}是彼此獨立的,所以必須進行單獨訓練。但是實踐上不同的特征之間進行組合并非完全獨立。參考矩陣分解,rating 矩陣可以分解為 user 矩陣和 item 矩陣的矩陣乘,如下圖所示:

user 和 item 矩陣的維度分別為 (n, k) 和 (k, m),相比原來的rating矩陣,空間占用得到降低,并且分解后的user矩陣暗含著user偏好,Item矩陣暗含著item的屬性,而user矩陣乘上item矩陣就是rating矩陣中用戶對item的評分。

參考矩陣分解的過程,F(xiàn)M 模型將二次項參數(shù)w_{ij}進行分解:
g(x)=w_{0}+\sum_{i} w_{i} x_{i}+\sum_{i} \sum_{j=i+1}\left\langle v_{i}, v_{j}\right\rangle x_{i} x_{j}

其中v_i是第 i 維特征的隱向量,長度為k,(v_i, v_j)為內(nèi)積,值為原來的w_{ij}。

上式的復雜度可以從 O(kd^2)優(yōu)化到O(kd)
\begin{aligned} & \sum_{i=1}^u0z1t8os \sum_{j=i+1}^u0z1t8os\left\langle\mathbf{v}_{i}, \mathbf{v}_{j}\right\rangle x_{i} x_{j} \\ = & \frac{1}{2} \sum_{i=1}^u0z1t8os \sum_{j=1}^u0z1t8os\left\langle\mathbf{v}_{i}, \mathbf{v}_{j}\right\rangle x_{i} x_{j}-\frac{1}{2} \sum_{i=1}^u0z1t8os\left\langle\mathbf{v}_{i}, \mathbf{v}_{i}\right\rangle x_{i} x_{i} \\ = & \frac{1}{2} \sum_{i=1}^u0z1t8os \sum_{j=1}^u0z1t8os \sum_{f=1}^{k} v_{i, f} v_{j, f} x_{i} x_{j}-\frac{1}{2} \sum_{i=1}^u0z1t8os \sum_{f=1}^{k} v_{i, f} v_{i, f} x_{i} x_{i} \\ = & \frac{1}{2} \sum_{f=1}^{k}\left(\left(\sum_{i=1}^u0z1t8os v_{i, f} x_{i}\right)\left(\sum_{j=1}^u0z1t8os v_{j, f} x_{j}\right)-\sum_{i=1}^u0z1t8os v_{i, f}^{2} x_{i}^{2}\right) \\ = & \frac{1}{2} \sum_{f=1}^{k}\left(\left(\sum_{i=1}^u0z1t8os v_{i, f} x_{i}\right)^{2}-\sum_{i=1}^u0z1t8os v_{i, f}^{2} x_{i}^{2}\right) \end{aligned}

3. FFM 模型

FM模型中,所有特征共享同一個隱空間,每一維特征對應為唯一的隱向量進行特征交互。存在的問題在于:不同特征是按照不同的 filed 劃分,比如 “EPSN、NBC” 屬于廣告商、“Nike、Adidas”屬于廣告主、“Male、Female”屬于性別。描述(EPSN,Nike)和(EPSN,Male)特征組合,F(xiàn)M模型都用同一w_{EPSN},而實際上,ESPN作為廣告商,其對廣告主和用戶性別的潛在影響可能是不同的。

表示的不同點為:
FM:<v_{EPSN}, v_{Nike}> * 1 * 1 + <v_{EPSN}, v_{Male}> * 1 * 1 + <v_{Nike}, v_{Male}> * 1 * 1
FFM:<v_{EPSN,廣告主}, v_{Nike, 廣告商}> * 1 * 1 + <v_{EPSN,性別}, v_{Male,廣告商}> * 1 * 1 + <v_{Nike,性別}, v_{Male,廣告主}> * 1 * 1

FFM的數(shù)學公式表示為:
g(x)=w_{0}+\sum_{i} w_{i} x_{i}+\sum_{i} \sum_{j>i}\left\langle v_{i, f_{j}}, v_{j, f_{i}}\right\rangle x_{i} x_{j}

其中f_if_j分別代表第 i 個特征和第 j 個特征所屬的 field,若field有f個,隱向量的長度為k,則二次項系數(shù)共有dfk個,遠多于FM模型的dk個。此外,隱向量和field相關(guān),并不能像FM模型一樣將二次項化簡,計算的復雜度是d^2k。通常情況下,每個隱向量只需要學習特定field的表示,所以有 k_{FFM} << k_{FM}。

下面的圖來自criteo,很好的表示了 Poly2、FM、FFM 模型的區(qū)別:

4. 總結(jié)

4.1. LR
g(x)=w_{0}+\sum_{i} w_{i} x_{i}

弊端:無法利用組合特征

4.2. Poly2
g(x)=w_{0}+\sum_{i} w_{i} x_{i}+\sum_{i} \sum_{j=i+1} w_{i j} x_{i} x_{j}

弊端:真實業(yè)務(wù)場景中組合特征高度稀疏,w_{i j}無法更新。

4.3. FM
g(x)=w_{0}+\sum_{i} w_{i} x_{i}+\sum_{i} \sum_{j=i+1}\left\langle v_{i}, v_{j}\right\rangle x_{i} x_{j}

局限:1. 僅建模二階特征交互【引入深度神經(jīng)網(wǎng)絡(luò)】;2. 所有特征共享同一個latent space

4.4. FFM
g(x)=w_{0}+\sum_{i} w_{i} x_{i}+\sum_{i} \sum_{j>i}\left\langle v_{i, f_{j}}, v_{j, f_{i}}\right\rangle x_{i} x_{j}

不同特征按域劃分。

參考文獻:

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容