《CRAFTML, an Efficient Random Forest for Extreme multi-label learning》, ICML2018 – 阅读笔记
方法以及理论性比其FastXML和PfastreXML要简单不少。核心思想:聚类+随机森林
相关工作部分介绍的似乎比较全面。
相关工作
优化技巧和并行 代表工作:PDSparse, PPDSparse (是PDSparse的
并行化拓展),DISMEC。
降维代表工作:WSABIE, LEML, SLEEC, AnnexML。
基于Tree的方法,代表工作:LPSR, FastXML, PFastReXML, PLT。
其中LPSR,FastXML和PFastReXML都是对样本空间进行划分,相似的样本和对应的标签被重组到相同的subset。
PLT则是对标签空间进行划分,直到每个标签子集只包含一个标签。
本文工作
本文构建一个随机森林,其中每一颗树(k叉)由算法1递归构建。
其中testStopCondition
为停止准则,只要满足one of:
(1) 节点的样本数小于阈值;
(2) 节点的所有实例具有相同的特征;or
(3) 节点的所有实例具有相同的标签。
其中trainNodeClassifier
由算法2给出:
可以看到,算法2实际上就是先对样本空间和标签空间进行降维,然后进行聚类,注意,这里聚类是根据降维后的标签空间进行的。
将标签聚类成k个簇,然后k个簇的样本中心构成了不同的分类器(在预测的时候,样本根据与中心的距离决定path),这k个簇也就构成了当前节点的k个子节点。
computeMeanLabelVector
就是保留叶子节点所有标签的均值。
要注意对随机投影矩阵
P
x
,
P
y
P_x,P_y
Px,Py:
(1) 每个树都不一样,保证随机性;
(2) 考虑两种随机投影技术:一种是产生于标准高斯分布(不懂),另外一种产生于稀疏正交投影(也被称为hashing trick),本文偏爱后者。
对聚类而言,初始簇中心采用k-means++策略,样本通过球形kmeans(Loyd算法)进行划分,距离度量采用cosine。
本文的算法部分相当简单,在这之后本文分析了一系列的计算复杂度,也都比较简单。
总结
本文提出了一种基于聚类的随机森林集成方法进一步提升了XMC的分类性能。
关键点:
(1) 对样本标签进行聚类,k个簇构成k个子节点。
(2) 对样本和标签都进行低维映射,降低了计算复杂度。
优点:实现简单,易于理解,不依赖复杂的优化scheme,计算复杂度低;缺点:不容易确定簇的个数。