极限多标签学习之SwiftXML

极限多标签学习之SwiftXML

原文:《Extreme Multi-label Learning with label features for warm-start tagging, Ranking & Recommendation》-WSDM

创新点:

  1. FastXML是对特征空间进行划分,本文进一步拓展了PfastreXML以同时支持特征空间和标签空间。
  2. 将标签空间表征为word2vec embedding.

动机:

  1. FastXML和PFastreXML只针对text features,但是没有利用tag features(有问题,FastXML是监督学习方法,自然要利用tag features)。
  2. 如果针对样本 x i , x j \mathbf{x}_i,\mathbf{x}_j xi,xj,其标签 y i , y j \mathbf{y}_i,\mathbf{y}_j yi,yj只share很少的tags,那么这两个样本将会被视为非常不同的。这里举了个Einstein和Newton的例子,本文说SwiftXML可以从word2vec embedding学习到Einstein和Newton这两篇文章是相似的(从标签空间来衡量,并不从文章角度衡量)。
    Note. 什么是word2vec embedding? 将一个word(比如:“king”)转化为一个实数向量。
  3. SwiftXML可以学习标签之间的相关性,而已有的方法将每个标签视作独立?

核心工作

SwiftXML分别在特征空间和标签空间(文章里面说的是user/item feature space)学习两个决策边界,也是randomized trees和递归划分。
这里提到,标签特征编码了关于文章透露的标签偏好的语义信息。
没有直接使用标签向量,而是encode label vector以抽取标签特征。
第i个样本的标签特征定义如下:
z i = ∑ j y i j r x j ′ ∣ ∣ ∑ j y i j r x j ′ ∣ ∣ \mathbf{z}_i = \frac{\sum_j y_{ij}^r \mathbf{x}_j'}{||\sum_j y_{ij}^r \mathbf{x}_j'||} zi=∣∣jyijrxj∣∣jyijrxj
其中 y i r = [ y i 1 r , … , y i L r ] \mathbf{y}_i^r = [y_{i1}^r, \dots, y_{iL}^r] yir=[yi1r,,yiLr],文中并没有解释这个为什么有个上标 r r r,推断就是一个denotion。 r r rrevealed的缩写,就是被观测到的标签向量(含有missing labels)。关于被观测到的标签向量和真实的标签向量,可参考:https://blog.csdn.net/wuyanxue/article/details/126860961?spm=1001.2014.3001.5501

x j ′ ∈ R D ′ \mathbf{x}_j' \in \mathbb{R}^{D'} xjRD是第j个标签的特征向量(这个符号看的相当难受),后面根本就没有对 x j ′ \mathbf{x}_j' xj的进一步解释。
推断 x j ′ \mathbf{x}_j' xj其实就是第j个标签的word2vec embedding.

为什么要将标签特征按照上式进行定义?
保证具有重叠标签的样本在标签空间上是相似的。正好对应动机的第2点。
因为如果直接采用标签向量,那么即使两个标签向量有重叠,它们也不一定相似,采用了word2vec这种方法可以提取出标签向量之间的相似性。(这大概是本文的核心创新点了)。

拓展思考: z i \mathbf{z}_i zi可以利用一般的距离度量方法考查相似性。

优化过程就是在PfastReXML的基础上,加入 z i \mathbf{z}_i zi的决策边界的学习。

min ⁡ ∣ ∣ w x ∣ ∣ 1 + ∑ i C x log ⁡ ( 1 + exp ⁡ ( − δ i w x T x i ) ) + ∣ ∣ w z ∣ ∣ 1 + ∑ i C z log ⁡ ( 1 + exp ⁡ ( − δ i w z T z i ) ) − C r ∑ i 1 2 ( 1 + δ i ) L PSnDCG@ L ( r + , y i r ) − C r ∑ i 1 2 ( 1 − δ i ) L PSnDCG@ L ( r − , y i r ) \begin{aligned} \min & \quad ||\mathbf{w}_x||_1 + \sum_i C_x \log(1 + \exp(-\delta_i\mathbf{w}_x^\text{T}\mathbf{x}_i)) \\ & + ||\mathbf{w}_z||_1 + \sum_i C_z \log(1 + \exp(-\delta_i\mathbf{w}_z^\text{T}\mathbf{z}_i)) \\ & - C_r \sum_i \frac{1}{2}(1 + \delta_i) \mathcal{L}_{\text{PSnDCG@}L}(\mathbf{r}^+, \mathbf{y}_i^r) \\ & - C_r \sum_i \frac{1}{2}(1 - \delta_i) \mathcal{L}_{\text{PSnDCG@}L}(\mathbf{r}^-, \mathbf{y}_i^r) \end{aligned} min∣∣wx1+iCxlog(1+exp(δiwxTxi))+∣∣wz1+iCzlog(1+exp(δiwzTzi))Cri21(1+δi)LPSnDCG@L(r+,yir)Cri21(1δi)LPSnDCG@L(r,yir)
Note: x i \mathbf{x}_i xi x i ′ \mathbf{x}_i' xi不一样,前者表示第 i i i个文章(样本),后者表示第 i i i个标签的word2vec。

上述目标的优化过程和FastXML类似,不赘述。

问题:当学习器学到了 w x , w z \mathbf{w}_x,\mathbf{w}_z wx,wz之后,怎么预测样本 x \mathbf{x} x
本文采用了一种常规方法,两个的线性组合作为划分超平面:
C x w x T x + C z w z T z > 0 ? left : right C_x\mathbf{w}_x^\text{T}\mathbf{x} + C_z\mathbf{w}_z^\text{T}\mathbf{z} > 0 ? \text{left} : \text{right} CxwxTx+CzwzTz>0?left:right

我看不懂这里的 z \mathbf{z} z是怎么来的。
文中说到,预测是在test set上进行的,那么猜测也许大概maybe可能似乎这里的 z \mathbf{z} z就利用到了test set上的标签。
新来一个样本(无标签)怎么预测?不懂。

结论
本文的创新点在于:

  1. 利用word2vec表征一个标签,利用 z i \mathbf{z}_i zi重新表示样本 x i \mathbf{x}_i xi的标签空间。
  2. 将特征空间与标签空间的分类超平面进行线性组合以做预测。

有个地方不懂,它怎么预测?

Updating:

我不知道我的理解对不对,这篇文章标题有个关键字Warm-start,两种场景(浅尝辄止):

  1. 推荐的都是老用户;or
  2. 针对一个新用户,先尝试做出某些推荐(这超出了本文探讨的范畴),然后在此基础上完备。

那预测过程就说的清楚了:本文的预测是基于测试集的,他利用到了测试集的标签。如果新来一篇文章,大概要预先打上一些标签(可能很少),然后再根据这个标签计算 z \mathbf{z} z,然后就可以预测出完备的标签集。

评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值