论文 Training and Testing Low-degree Polynomial Data Mappings via Linear SVM 提出多项式映射 polynomially mapping 数据的方式来提供非线性特征,在达到接近核技巧效果的情况下大幅度降低内存和计算量。
2.设低维样本空间为n维度,低维样本$x={x_1,...,x_n}^T$。
多项式核定义为:$K(x_i,x_j)=(\gamma x_i*x_j+r)^d$,其中$\gamma,r$为超参数,$d$为多项式的度degree。
根据定义,多项式核等于样本在高维空间向量的内积$K\left(\overrightarrow{\mathbf{x}}_{i},\overrightarrow{\mathbf{x}}_{j}\right)=\phi\left(\overrightarrow{\mathbf{x}}_{i}\right) \cdot\phi\left(\overrightarrow{\mathbf{x}}_{j}\right)$,其中,$\phi$为映射函数。
当$d=2$时,有$\phi(\overrightarrow{\mathbf{x}})=\left[1, \sqrt{2 \gamma} x_{1}, \cdots, \sqrt{2 \gamma} x_{n}, \gamma x_{1}^{2}, \cdots, \gamma x_{n}^{2}, \sqrt{2} \gamma x_{1} x_{2}, \cdots, \sqrt{2} \gamma x_{n-1}x_{n}\right]^{T}$,使用$\sqrt{2}$是为了$\phi(x_i)\phi(x_j)$的表达更简洁。
3.如果不用核技巧,仅仅考虑使用一个多项式映射,则我们得到:$\phi(\overrightarrow{\mathbf{x}})=\left[1, x_{1}, \cdots, x_{n}, x_{1}^{2}, \cdots, x_{n}^{2}, x_{1} x_{2}, \cdots, x_{n-1} x_{n}\right]^{T}$
结合LR模型,则得到POLY2模型:
$z(\overrightarrow{\mathbf{x}})=w_{0}+\sum_{i=1}^{n} w_{i} \times x_{i}+\sum_{i=1}^{n} \sum_{j=i}^{n} w_{i, j} \times x_{i} \times x_{j}$,
$y(\overrightarrow{\mathbf{x}})=\frac{1}{1+\exp (-z(\overrightarrow{\mathbf{x}}))}$
新增的组合特征一共有$\frac{n(n-1)}{2}$个。
4.POLY2模型的优缺点:
(1)优点:除了线性特征之外,还能够通过特征组合自动捕获二阶特征交叉产生的非线性特征。
(2)缺点:
参数空间大幅增加,由线性增加至平方级(如计算广告场景中,原始样本特征可能达到上万甚至百万级别,则特征的交叉组合达到上亿甚至上万亿。)
数据稀疏导致二次项参数训练困难,非常容易过拟合。
三、FM(Factorization Machine)1.推荐系统中的评分预测用户,给定用户集合$U=\{u_1,u_2,...,u_M\}$、物品集合$I=\{i_1,i_2,...,i_N\}$,模型是一个评分函数$f$,$y=f(u,i)$表示用户$u$对物品$i$的评分。目标是求解剩余用户在剩余物品上的评分。
通常评分问题是一个回归问题,模型预测结果是评分的大小,此时损失函数采用MAE/MSE等。
也可以将其作为一个分类问题,模型预测结果是各评级的概率,此时损失函数为交叉熵。
当评分只有0和1时,这表示用户对商品"喜欢/不喜欢",或者"点击/不点击",这就是典型的点击率预估问题。
2.事实上除了已知部分用户在部分物品上的评分之外,通常还能够知道一些有助于影响评分的额外信息。如:用户画像、用户行为序列等等。这些信息称作上下文 context。
对每一种上下文,我们用变量$c$来表示,$C$为该上下文的取值集合。假设所有的上下文为$C_3,...,C_K$,则模型为$f: \mathbb{U} \times \mathbb{I} \times \mathbb{C}_{3} \times \cdots \times \mathbb{C}_{K} \rightarrow \mathbb{R}$,上下文的下标为3开始,因为可用认为用户$u$和商品$i$也是上下文的一种。
如下图所示为评分矩阵,其中
$\mathbb{U}=\{\mathrm{A}, \mathrm{B}, \mathrm{C}\}, \quad \mathbb{I}=\{\mathrm{TI}, \mathrm{NH}, \mathrm{SW}, \mathrm{ST}\}$,$\mathbb{C}_{3}=\{\mathrm{S}, \mathrm{N}, \mathrm{H}\}, \quad \mathbb{C}_{4}=\{\mathrm{A}, \mathrm{B}, \mathrm{C}\}$ $y \in\{1,2,3,4,5\}$
所有离散特征都经过特征转换。
3.上下文特征context类似属性property特征,它和属性特征的区别在于:
属性特征是作用到整个用户(用户属性)或者整个物品(物品属性),其粒度是用户级别或者物品级别。 如:无论用户 “张三” 在在评分矩阵中出现多少次,其性别属性不会发生改变。
上下文特征是作用到用户的单个评分事件上,粒度是事件级别,包含的评分信息更充足。 如:用户 ”张三“ 在评价某个电影之前已经看过的电影,该属性会动态改变。
事实上属性特征也称作静态画像,上下文特征也称作动态画像。业界主流的做法是:融合静态画像和动态画像。 另外,业界的经验表明:动态画像对于效果的提升远远超出静态画像。
4.FM模型
来自论文:《Fast Context-aware Recommendations with Factorization Machines》
和 POLY2 相同FM 也是对二路特征交叉进行建模,但是FM 的参数要比 POLY2 少得多。
将原本重写为:$\overrightarrow{\mathbf{x}}=\left(x_{1}, x_{2}, x_{3}, \cdots, x_{K}\right)^{T}=\left(u, i, c_{3}, \cdots, c_{K}\right)^{T}$
则FM模型为:$\hat{y}(\overrightarrow{\mathbf{x}})=w_{0}+\sum_{i=1}^{K} w_{i} \times x_{i}+\sum_{i=1}^{K} \sum_{j=i+1}^{K} \hat{w}_{i, j} \times x_{i} \times x_{j}$