什么是组合特征?如何处理高维组合特征?

为了提高复杂关系的拟合能力,在特征工程中经常会把一阶离散特征两两组合,构成高阶组合特征。以广告点击预估问题为例,原始数据有语言和类型两种离散特征,表1.2是语言和类型对点击的影响。为了提高拟合能力,语言和类型可以组成二阶特征,表1.3是语言和类型的组合特征对点击的影响。

表1.2 语言和类型对点击的影响

是否点击 语言 类型
0 中文 电影
1 英文 电影
1 中文 电视剧
0 英文 电视剧

表1.3 语言和类型的组合特征对点击的影响

是否点击 语言=中文
类型=电影
语言=英文
类型=电影
语言=中文
类型=电视剧
语言=英文
类型=电视剧
0 1 0 0 0
1 0 1 0 0
1 0 0 1 0
0 0 0 0 1

以逻辑回归为例,假设数据的特征向量为1.3 高维组合特征的处理 - 图1,则有1.3 高维组合特征的处理 - 图2,其中1.3 高维组合特征的处理 - 图3表示1.3 高维组合特征的处理 - 图4的组合特征。1.3 高维组合特征的处理 - 图5的维度等于1.3 高维组合特征的处理 - 图61.3 高维组合特征的处理 - 图71.3 高维组合特征的处理 - 图8分别代表第i个特征和第j个特征不同取值的个数。在表1.3的广告点击预测问题中,1.3 高维组合特征的处理 - 图9的维度是2×2=4(语言取值为中文或英文两种、类型的取值为电影或电视剧两种)。这种特征组合看起来是没有任何问题的,但当引入ID类型的特征时,问题就出现了。以推荐问题为例,表1.4是用户ID和物品ID对点击的影响,表1.5是用户ID和物品ID的组合特征对点击的影响。

表1.4 用户ID和物品ID对点击的影响

是否点击 用户ID 物品ID
0 1 1
1 2 1
1 m 1
1 1 2
0 2 2
1 m n

表1.5 用户ID和物品ID的组合特征对点击的影响

是否点击 用户ID=1 物品ID=1 用户ID=2 物品ID=1 用户ID=m
物品ID=1
用户ID=1 物品ID=2 用户ID=2 物品ID=2 用户ID=m物品ID=n
0 1 0 0 0 0 0
1 0 1 0 0 0 0
0
1 0 0 1 0 0 0
1 0 0 0 1 0 0
0 0 0 0 0 1 0
1 0 0 0 0 0 1

若用户的数量为m、物品的数量为n,那么需要学习的参数的规模为m×n。在互联网环境下,用户数量和物品数量都可以达到千万量级,几乎无法学习m×n规模的参数。在这种情况下,一种行之有效的方法是将用户和物品分别用k维的低维向量表示(k<<m,k<<n),