全棧工程師開發手冊 (作者:欒鵬)
python教程全解 FM問題來源
CTR/CVR預測時,使用者的性別、職業、教育水平、品類偏好,商品的品類等,經過One-Hot編碼轉換後都會導致樣本資料的稀疏性。特別是商品品類這種類型的特徵,如商品的末級品類約有550個,採用One-Hot編碼產生550個數值特徵,但每個樣本的這550個特徵,有且僅有一個是有效(非零)。由此可見,資料稀疏性是實際問題中不可避免的挑戰。
One-Hot編碼的另一個特點就是導致特徵空間大。例如,商品品類有550維特徵,一個categorical特徵轉換為550維數值特徵,特徵空間劇增。
同時通過觀察大量的樣本資料可以發現,某些特徵經過關聯之後,與label之間的相關性就會提高。例如,“USA”與“Thanksgiving”、“China”與“Chinese New Year”這樣的關聯特徵,對使用者的點擊有著正向的影響。換句話說,來自“China”的使用者很可能會在“Chinese New Year”有大量的瀏覽、購買行為,而在“Thanksgiving”卻不會有特別的消費行為。這種關聯特徵與label的正向相關性在實際問題中是普遍存在的,如“化妝品”類商品與“女”性,“球類運動配件”的商品與“男”性,“電影票”的商品與“電影”品類偏好等。因此,引入兩個特徵的組合是非常有意義的。 FM基本原理
多項式模型是包含特徵組合的最直觀的模型。在多項式模型中,特徵 xi x_i 和 xj x_j 的組合採用 xixj x_ix_j表示,即 xi x_i 和 xj x_j 都非零時,組合特徵 xixj x_ix_j 才有意義。從對比的角度,本文只討論二階多項式模型。模型的運算式如下
y(x)=w0+∑i=1nwixi+∑i=1n∑j=i+1nwijxixj(1) y(x) = w_0+ \sum_{i=1}^n w_i x_i + \sum_{i=1}^n \sum_{j=i+1}^n w_{ij} x_i x_j \tag{1}
其中, n n 代表樣本的特徵數量, xi x_i 是第 i i 個特徵的值, w0 w_0、 wi w_i、 wij w_{ij}是模型參數。
從公式(1)可以看出,組合特徵的參數一共有 n(n