• 极限多标签学习之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 ) min 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,然后就可以预测出完备的标签集。

  • 相关阅读:
    图像文字识别易语言代码
    HCIA-MSTP替代技术之链路捆绑(LACP模式)
    「专题速递」RTC云网端联合优化、弱网对抗策略、QUIC协议的能力和实践
    《QT+PCL第六章》点云配准icp系列4
    NX/UG二次开发—3D几何—多边形内部最大圆
    k8s基础命令及Linux上用Kubectl(k8s)部署Nginx
    中国网络安全审查认证和市场监管大数据中心数据合规官CCRC-DCO
    Android使用AndServer在安卓设备上搭建服务端(Java)(Kotlin)两种写法
    【Flask框架②】——第一个Flask项目
    STM32F4X UCOSIII任务消息队列
  • 原文地址:https://blog.csdn.net/wuyanxue/article/details/126898355