FIVES论文小结

《FIVES:Feature Interaction Via Edge Search for Large-Scale Tabular Data》论文小结

原论文链接:https://arxiv.org/abs/2007.14573
这篇文章利用图神经网络来构建了一个特征捆绑的模型结构。主要创新点在于解决了进行特征捆绑时会产生的搜索空间爆炸的问题,提出了一个令人信服的特征搜索路径。

搜索策略

将原始特征与特征之间的关系用图来表示,每一个节点node代表一个特征feature,每一条边代表边相邻的两条边有特征捆绑的行为。

m m m个原始特征之间所有可能的交互数量是 O ( 2 m ) O(2^m) O(2m),因此对所有的可能进行搜索并评估非常困难;因此在本文中提出了一个有效的搜索策略: k k k阶特征从原始特征和生成的 k − 1 k-1 k1阶特征的交互中产生

这个搜索策略有一个可靠的前提:在不提供可靠信息的特征之间的交互中生成信息特征是不可能的

而原始特征raw features(即0阶特征)在处理过后可以认为是不含冗余信息的,从归纳假设的角度来看,如果 k − 1 k-1 k1阶特征不包含冗余信息,那么根据 k − 1 k-1 k1阶特征和 0 0 0阶特征之间的特征交互,就会存在有信息的特征。

本文的核心公式如下:
n i ( k ) = p i ( k ) ⊙ n i ( k − 1 ) n^{(k)}_i = p^{(k)}_i \odot n^{(k-1)}_i ni(k)=pi(k)ni(k1)
w h e r e p i ( k ) = M E A N j ∣ A i , j ( k ) = 1 { W j n j ( 0 ) } where \qquad p^{(k)}_i = MEAN_{j|A_{i,j}^{(k)} = 1}\{W_j n_j^{(0)}\} wherepi(k)=MEANjAi,j(k)=1{Wjnj(0)}

这里的 M E A N MEAN MEAN是聚合器, ⊙ \odot 是元素级乘法, W j W_j Wj是node n j n_j nj的转换矩阵, n i ( 0 ) n_i^{(0)} ni(0)是输入到GNN的初始输入,并且是node n i n_i ni的feature embeddings

假设第 k k k n ( k ) = [ n 1 ( k ) , . . . , n m ( k ) ] n^{(k)} = [n^{(k)}_1, ..., n^{(k)}_m] n(k)=[n1(k),...,nm(k)],那么第 k + 1 k+1 k+1层的节点为:
n i ( k + 1 ) = M E A N j ∣ A i , j ( 1 ) = 1 { W j n j ( 0 ) } ⊙ n i ( k ) n^{(k+1)}_i = MEAN_{j|A_{i,j}^{(1)}=1}\{W_jn_j^{(0)}\}\odot n_i^{(k)} ni(k+1)=MEANjAi,j(1)=1{Wjnj(0)}ni(k)
= M E A N ( c 1 , . . . , c k ) ∣ A i , c j ( j ) = 1 , j = 1 , . . . , k { f c 1 ⊗ ⋅ ⋅ ⋅ ⊗ f c k ⊗ f i } = MEAN_{(c_1, ..., c_k)|A_{i, c_j}^{(j)}=1,j=1,...,k}\{f_{c_1} \otimes ···\otimes f_{c_k} \otimes f_i\} =MEAN(c1,...,ck)Ai,cj(j)=1,j=1,...,k{fc1⋅⋅⋅fckfi}

这里面哪一个特征会参与组合,就取决于对应的邻接向量A是否为1

interactive feature derivation

上图是论文中提供的一个示例图

模型训练

设置一个最高的迭代次数 K K K,当跌倒 K K K次后,就将得到的所有特征向量放到一个线性输出层
y ^ ( k ) = σ ( W ( k ) [ n 1 ( k ) : ⋅ ⋅ ⋅ : n m ( k ) ] + b ( k ) ) \hat{y}^{(k)} = \sigma (W^{(k)} [n^{(k)}_1 : ··· : n^{(k)}_m] + b^{(k)}) y^(k)=σ(W(k)[n1(k):⋅⋅⋅:nm(k)]+b(k))
根据上式就可以得到输出值,其中 σ \sigma σ是sigmoid函数;

Θ = ( W F , W ( k ) , b ( k ) , W j ∣ 0 ≤ k ≤ K , 1 ≤ j ≤ m ) \boldsymbol{\Theta} = (W_F, W^{(k)}, b^{(k)}, W_j|0 \leq k \leq K, 1\leq j \leq m) Θ=(WF,W(k),b(k),Wj∣0kK,1jm)

下面是根据交叉熵损失函数构建的损失函数
L ( D ∣ A , Θ ) = − 1 ∣ D ∣ ∑ ( x i , y i ) ∈ D 1 K ∑ k = 0 K − 1 C E ( y i , y ^ i ( k ) ) , C E ( y i , y ^ i ( k ) ) = y i log ⁡ ( y ^ i ( k ) ) + ( 1 − y i ) log ⁡ ( 1 − y ^ i ( k ) ) , \begin{aligned} \mathcal{L}(\mathcal{D} \mid \mathrm{A}, \boldsymbol{\Theta}) & =-\frac{1}{|\mathcal{D}|} \sum_{\left(x_i, y_i\right) \in \mathcal{D}} \frac{1}{K} \sum_{k=0}^{K-1} \mathrm{CE}\left(y_i, \hat{y}_i^{(k)}\right), \\ \mathrm{CE}\left(y_i, \hat{y}_i^{(k)}\right) & =y_i \log \left(\hat{y}_i^{(k)}\right)+\left(1-y_i\right) \log \left(1-\hat{y}_i^{(k)}\right), \end{aligned} L(DA,Θ)CE(yi,y^i(k))=D1(xi,yi)DK1k=0K1CE(yi,y^i(k)),=yilog(y^i(k))+(1yi)log(1y^i(k)),
上式中 D \mathcal{D} D是考虑的数据集, y i y_i yi是真实标签值, y ^ ( k ) \hat{y}^{(k)} y^(k)是预测值

本文的二级优化问题为:
min ⁡ A L ( D val  ∣ A , Θ ( A ) )  s.t.  Θ ( A ) = arg ⁡ min ⁡ Θ L ( D train  ∣ A , Θ ) , \begin{array}{ll} & \min _{\mathrm{A}} \mathcal{L}\left(\mathcal{D}_{\text {val }} \mid \mathrm{A}, \Theta(\mathrm{A})\right) \\ \text { s.t. } \quad & \Theta(\mathrm{A})=\underset{\Theta}{\arg \min } \mathcal{L}\left(\mathcal{D}_{\text {train }} \mid \mathrm{A}, \Theta\right), \end{array}  s.t. minAL(Dval A,Θ(A))Θ(A)=ΘargminL(Dtrain A,Θ),
下面是邻接矩阵的更新方式, A ( k ) A^{(k)} A(k)的优化是依赖于 A ( k − 1 ) A^{(k-1)} A(k1)的优化的
KaTeX parse error: Expected 'EOF', got '&' at position 2: &̲ \mathbf{A}^{(k…
具体来说,可以将 A A A视为由 H ∈ [ 0 , 1 ] K × m × m H \in [0, 1]^{K \times m \times m} H[0,1]K×m×m进行伯努利随机变量参数化形成的。在前向传播阶段,根据 A ( k ) A^{(k)} A(k) ~ P r ( ⋅ ∣ H ( k ) ) Pr(·|H^{(k)}) Pr(H(k))来采样,在反向传播阶段,通过STE(straight-through estimation)来更新 H H H

下面是优化后的矩阵A的更新公式:
A ( k ) ≜ ( D ( k − 1 ) ) − 1 φ ( A ( k − 1 ) ) σ ( H ( k ) ) A ( 0 ) ≜ I  and  H ( 0 ) ≜ I . \begin{aligned} & \mathbf{A}^{(k)} \triangleq\left(\mathbf{D}^{(k-1)}\right)^{-1} \varphi\left(\mathbf{A}^{(k-1)}\right) \sigma\left(\mathbf{H}^{(k)}\right) \\ & \mathbf{A}^{(0)} \triangleq \mathbf{I} \text { and } \mathbf{H}^{(0)} \triangleq \mathbf{I} . \end{aligned} A(k)(D(k1))1φ(A(k1))σ(H(k))A(0)I and H(0)I.
上面的函数中, φ ( ⋅ ) \varphi(·) φ()是一个可调阈值的二值函数,矩阵 D D D是正则化矩阵 A A A的度函数

因为 A A A要经过二值函数,而优化后的 A A A的值可能在borderline附近(0.5附近),使用这样的值来进行特征交互时,二进制决策和学习到的A的差距是不可忽视的。因此使用下式来重新调节 A A A的值
A i , j ( k ) ← σ ( l o g [ A i , j ( k ) / ( 1 − A i , j ( k ) ) ] τ ) A_{i,j}^{(k)} \leftarrow \sigma (\frac{log[A_{i,j}^{(k)} / (1 - A_{i,j}^{(k)})]}{\tau}) Ai,j(k)σ(τlog[Ai,j(k)/(1Ai,j(k))])
τ \tau τ分布在1和一个很小的正数之间,这会使得 A i , j ( k ) A_{i,j}^{(k)} Ai,j(k)趋近于0或1

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值