0
点赞
收藏
分享

微信扫一扫

【机器学习Q&A】高维组合特征的处理:什么是组合特征?如何处理高维组合特征?

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

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

分析与解答

为了提高复杂关系的拟合能力,在特征工程中经常会把一阶离散特征两两组合,构成高阶组合特征。以广告点击预估问题为例,原始数据有语言和类型两种离散特征,表1.2 是语言和类型对点击的影响。为了提高拟合能力, 语言和类型可以组成二阶特征,表1.3 是语言和类型的组合特征对点击的影响。
组合特征
以逻辑回归为例,假设数据的特征向量为 X = ( x 1 , x 2 , . . . , x k ) X=(x_1,x_2,...,x_k) X=(x1,x2,...,xk),则有 Y = s i g m o i d ( ∑ i ∑ j w i j < x i , x j > ) Y=sigmoid(\sum_i\sum_j w_{ij}<x_i,x_j>) Y=sigmoid(ijwij<xi,xj>),其中 < x i , x j > <x_i,x_j> <xi,xj>表示 x i x_i xi x j x_j xj的组合特征, w i j w_{ij} wij的维度等于 ∣ x i ∣ ⋅ ∣ x j ∣ |x_i|\cdot |x_j| xixj ∣ x i ∣ |x_i| xi ∣ x j ∣ |x_j| xj分别代表第 i i i个特征和第 j j j个特征不同取值的个数。在表1.3中广告点击预测问题中, w w w的维度为2×2=4(语言取值为中文或英文两种,类型的取值为电影或电视剧两种)。这两种特征组合看起来是没有任何问题的,但当引入ID类型的特征时,问题就出现了。
以推荐问题为例,表1.4是用户ID和物品ID对点击的影响,表1.5是用户ID和物品ID的组合特征对点击的影响。
用户ID和物品ID对点击的影响
用户ID和物品ID的组合特征对点击的影响
若用户的数量为 m m m,物品的数量为 n n n,那么需要学习的参数的规模为 m × n m\times n m×n。在互联网环境下,用户数量和物品数量都可以达到千万量级,几乎无法学习 m × n m\times n m×n规模的参数。在这种情况下,一种行之有效的方法是将用户和物品分别用 k k k维的低维向量表示 ( k < < m , k < < n ) (k<<m,k<<n) (k<<m,k<<n),也就是做特征的embedding。 Y = s i g m o i d ( ∑ j ∑ j w i j < x i , x j > ) Y=sigmoid(\sum_j\sum_j w_{ij}<x_i,x_j>) Y=sigmoid(jjwij<xi,xj>),其中 w i j = x i ′ ⋅ x j ′ w_{ij}=x'_i\cdot x'_j wij=xixj x i ′ x'_i xi x j ′ x'_j xj分别表示 x i x_i xi x j x_j xj对应的低维向量。在表1.5的推荐问题中,需要学习的参数的规模变为 m × k + n × k m\times k+n\times k m×k+n×k。这其实等价于矩阵分解。所以这里也提供了另一种理解推荐系统中矩阵分解的思路。

合成特征的方法

  1. 将一个特征与其本身或其他特征相乘(称为特征组合
  2. 两个特征相除
  3. 对连续特征进行分桶,以分为多个区间分箱,然后进行离散形式的组合。

特征相乘:其中特征相乘有很多种形式,可以是特征自身与自身相乘,也可以是与其他若干个特征相乘。
特征分桶:特征分桶是根据特征值进行区间分割,然后离散化。比如年龄: 1 ∼ 20 岁 → [ 1 , 0 , 0 ] 1\sim 20岁\rightarrow [1, 0, 0] 120[1,0,0] 21 ∼ 40 岁 → [ 0 , 1 , 0 ] 21\sim 40岁 \rightarrow [0, 1, 0] 2140[0,1,0]; 41 ∼ 60 岁 → [ 0 , 0 , 1 ] 41\sim 60岁 \rightarrow [0, 0, 1] 4160[0,0,1]。或者是性别: 男 → [ 1 , 0 ] 男 \rightarrow [1, 0] [1,0]; 女 → [ 0 , 1 ] 女 \rightarrow [0, 1] [0,1]。类似于独热编码,然后对特征进行组合,组合之后依然还是独热编码。通过这种两两组合,衍生出大量的特征,增强了表征能力和泛化能力。

如何处理高维组合特征

经过以上几种方法进行特征组合之后,我们会得到一个很高维的特征矩阵,直接处理会带来很大的计算负担,我们可以采取降维矩阵分解或者特征筛选的方法得到具备绝大部分信息的几个特征进行训练。

第一种降维方法中,即基于原有的特征进行降维,常见的有:PCALDASVD稀疏自编码word2vec
第二种筛选的方法,即基于原有的特征进行筛选,主要是对原有特征和目标label进行重要性分析将那些不重要的特征进行剔除,比如使用gbdtrandom forest等模型进行简单的模型训练,并输出特征的权重,继而进行筛选.

但有时为了能更有效地找出输入数据内部的结构和模式,会寻找一组超完备基向量,其维度可能比输入的特征维度还要高。

特征降维的好处:

  • 数据维度降低,存储所需的空间减少
  • 减少计算和训练模型的时间
  • 剔除无用或关系不大的特征,减小对模型的影响,提高模型可用性
  • 删除冗余特征(比如某几维特征存在多重共线性)
  • 便于数据可视化

内容来源

  1. 《百面机器学习》
举报

相关推荐

0 条评论