MvFS:推荐系统中的多视角特征选择方法

2023-10-28 16:50:43 浏览数 (2)

参考论文:MvFS: Multi-view Feature Selection for Recommender System 链接:https://arxiv.org/pdf/2309.02064.pdf 会议:CIKM 2023 代码:https://github.com/dudwns511/MvFS_CIKM23

1 引言

特征选择是推荐系统中的重要技术,最新的研究中,自适应特征选择(AdaFS)因其可自适应地为每个数据实例选择特征,在推荐系统中表现良好的性能。然而这种方法仍然有局限性,它的选择过程很容易偏向于经常出现的主要特征。

为解决此问题,本文提出了多视图特征选择方法(MvFS),可以更有效地为每个实例选择信息丰富的特征。MvFS 由多个子网络组成多视图网络,每个子网络都学习测量部分具有不同特征模式数据的特征重要性。这种方式减轻偏差问题,并提出了更加平衡的特征选择过程。另外MvFS采用有效的重要性评分建模策略,可独立应用于每个领域,且不会产生特征之间的依赖性。

2 方法

2.1 输入形式

输入数据由多个特征域组成(例如:性别、价格),推荐系统中最通用构造输入方式为embedding lookup, 正式地,给定N个特征域,定义每个数据实例为

X=[x_1,ldots,x_N]

,其中

x_n

为one-hot形式向量。定义

P_n

为可学习矩阵,每个特征域原始输入经过矩阵后,转换为连续编码向量

E= [e_1, e_2, ldots,e_N]
2.2 自适应特征选择的推荐模型

为了有选择地利用每个数据的信息特征,MvFS采用控制器网络来计算每个特征字段的重要性得分。 然后,通过将计算出的重要性得分与相应的特征嵌入相乘来生成加权特征向量。加权后的特征向量表示为

H=[s_1e_1, s_2e_2, ldots,s_Ne_N]

其中

s_N

代表每个特征的重要性分数,其形式可以为连续值(软选择)或者二元值(硬选择),而后将加权后的特征向量输入到推荐模型

y = RS(H)

值得注意的是此步特征选择仅仅影响了模型输入,不影响后续的模型结构,因此后续的推荐模型可以有多样化的结构。

2.3 多视角特征选择网络

MvFS提出带有新控制器的多视图特征选择网络,该控制器旨在选择信息丰富的特征,同时避免对少数主要特征模式的偏见,如图所示。我控制器网络由两个组件组成:(1)多视图网络,用于计算通过整合来自多个方面的不同观点来突出重要性子网络;(2)重要性评分建模,决定特征选择的最终重要性得分。

多视角网络:多视图网络通过将特征向量E作为输入来计算每个特征字段的重要性。 现有方法通常采用单个网络来计算特征重要性,这使得控制器网络很容易偏向于一些频繁出现的主要特征。 为解决这个问题,本文采用专家混合的想法,利用由多个不同子网络组成的分而治之策略,每个子网络都学习处理输入空间的一部分。通过专注于具有不同特征模式的数据的多个子网络,防止控制器出现偏差并实现更平衡的特征选择。 具体而言,多视角网络由k个子网络

(SN_1,SN_2,ldots,SN_K)

量化特征重要性,并使用门控模块g,根据每个数据的特征模式调节每个子网络的影响,每个子网络组合后的重要性为

r = sigma(W_gC b_g),C=[SN_1(E),ldots,SN_K(E)]

其中sigma为sigmoid函数。本文使用子网络的输出进行门控,以便使用输入特征向量的汇总信息。具有相似特征模式的数据自然会产生相似的子网络输出,从而产生相似的门控结果。最终特征重要性向量由子网络聚合而得,最终向量表示为

I=sum_k r_k cdot S N_k(E)

重要性分数建模:本文利用每个特征域的计算重要性来对最终重要性得分进行建模。为了在探索和利用之间取得平衡,在训练过程中采用从软选择到硬选择的逐步过渡。在早期阶段,推荐模型通过软选择探索各种特征组合。 随着训练的进行,我们通过硬选择逐渐优先考虑信息丰富的特征,同时忽略不重要和冗余的特征。n个特征字段的最终重要性得分定义如下:

s_n = 0.5 * (1 tanh(tau cdot (I_n-l))

其中l是选择的阈值。我们使用单位阶跃函数和 tanh 函数的近似来对转换进行建模。设置

tau = max(5, 1 0.001t)

来控制tanh的平滑度,其中t表示训练步骤。这个选择逐渐让

s_n

成为二进制值,能够在训练期间平滑过渡到硬选择阶段。值得注意的是,分数建模应用独立于每个特征域,与之前使用的方法不同,跨领域的重新加权步骤会产生不必要的影响所选特征之间的依赖关系。

最后,通过将重要性分数s乘以特征embedding来应用特征选择,即

H=[s_1e_1, s_2e_2, ldots,s_Ne_N]

在测试阶段,采用带有阶跃函数的硬选择。

2.4 优化器

对于第m个实例,定义权重特征向量

H^m

,以及相关的真实标签

y^m

,损失函数定义为:

min _{theta_{R S}, theta_C} frac{1}{M} sum_{m=1}^M mathcal{L}_{B C E}left(R Sleft(boldsymbol{H}^mright), y^mright)

为了确保特征选择的可靠特征嵌入,最初在不使用控制器的情况下先预热RS模型的参数

3 实验结果

0 人点赞