目录
1. Abstract
1.1 这篇论文解决了什么问题?
对于无标签的包的无监督多示例学习还没有研究,而本文则针对无监督多示例学习问题提出了解决方法。
1.2 这篇论文的贡献是什么?
提出了一种多实例聚类算法Bamic和多实例预测算法BARTMIP。
1.3 它的效果如何?
大量的实验表明,Bamic可以有效地发现数据集的底层结构,而BARTMIP在各种多实例预测问题上都表现得很好。
2. Introduction
2.1 动机
无监督多示例学习尚未得到深入研究,但它的重要性并不低于有监督多示例学习。首先在某些情况下很难获得包的标签或者会花费很大的代价,其次无监督学习可以帮助找到数据集的内在结构,它对于有监督多示例学习也有一定的指导意义。
2.2 idea
基于聚类分析提出了一种多实例聚类算法Bamic,即BAglevel multi-instance clustering。Bamic将不带标签的训练包划分为k个不连接的簇,其中使用几种形式的Hausdorff度量来测量袋之间的距离,并采用流行的k- medoids算法来完成聚类任务。然后在该聚类结果的基础上,BARTMIP将每个包用一个k维特征向量重新表示,其中第i个特征的值设为包与第i组簇中心之间的距离。然后,将包转换为特征向量,以便使用普通监督学习器从转换后的特征向量中学习,每个特征向量与原始包的标签相关联。
3. 算法
3.1 Bamic算法
1)输入:
-
U: 无标签的多实例训练集{X1, X2, ..., XN } (Xi ⊆ X )
-
k: 集群组数量
-
Bagdist: 用于计算包与包之间距离的距离度量,在本文中采用平均Hausdorff距离的形式
2)输出:
-
Groups: 聚类后的各个簇
- Medoids: 簇中心
3)算法过程伪代码
-
随机选则k个训练包作为初始的簇中心,并且这k个包各自为一个单独的簇
-
对于每个包,找出距离它最近的那个簇,并把它划分为目标簇中
-
在每个簇中找出一个包,使得这个包与其他所有包之间的距离和最小,并将这个包作为新的簇中心
-
重复第二个和第三个步骤,不断更新簇与簇中心,直到不再发生变化
-
得到k个簇和簇中心
4)包与包之间的距离
采用平均Hausdorff距离来度量两个包之间的距离,其公式如下:
其中 ||a - b|| 表示实例a与b之间的距离,采用欧几里得距离的形式。|A|表示集合A的基数,即A中的元素个数。aveH(·,·)将一个包中的每个实例与另一个包中最近的实例之间的距离取平均值。
3.2 BARTMIP算法
多示例预测的困难主要在于训练包虽然有标签,但实例的标签未知。目前有两种不同的策略来处理,一种是修改监督学习算法以满足特征向量集的表示;另一种则是转换表示来满足常见的监督学习算法的要求,而BARTMIP则是沿用第二种策略。
具体来说,首先用Bamic算法将训练包聚类成k个不相交的簇,然后每个包用一个k维特征向量来重新表示,其中第i个特征的值表示这个包与第i组簇中心之间的距离。当所有的包都被转换成k维特征向量时,就可以使用普通的监督学习器对生成的特征向量进行训练来区分这些包。当预测一个未知的包时,BARTMIP首先通过查询聚类结果对其进行重新表示,然后将生成的特征向量反馈给已经训练好的预测器来获得预测标签。
1)输入:
-
D:带标签的训练包的集合
-
k:聚类后的簇的个数
-
Bagdist:包与包之间的距离度量
-
TBag:测试包
-
Learner:用于变换特征向量的通用监督学习器
2)输出:
-
Label:测试包的测试标签
3)算法过程伪代码:
其中步骤(1)到(2)将训练集聚类为k个不相交的簇;之后步骤(3)到(8)首先将每个训练包转换为与包的标签相关联的一个特征向量,然后使用给定的学习算法从转换后的特征向量中训练一个预测器;最后步骤(9)到(11)通过将生成的特征向量反馈给学习到的预测器来输出测试包的标签。
4. 实验
4.1 对Bamic算法的实验
4.1.1 实验设置
由于Bamic是第一个基于无标签多实例学习的聚类算法,因此没有评估它的数据集。而本文的实验中包的标签是已知的,因此可以直接通过聚类的结果来评价它的性能。
设S为N个二元带标签包的集合,即S = {(X1,BLX1),(X2,BLX2),....,(XN,BLXN)},在这里Xi ⊆ X,Xi是示例的一个集合,是X的子集,而X是包含所有实例的集合。BLXi∈{0,1},是与Xi相关联的二进制标签。给定参数k和Bag_dist(即包与包之间的距离),Bamic就会把这一系列无标签的包{X1,X2,....,XN}划分为k个不相交的组,每一个簇Gj都会包含若干个包。但是对于K-Medoids和Agnes来说,他们都是在实例级别而非包级别来对数据集进行聚类,在这种情况下当聚类完成后某些包Xi可能就会被拆分成几部分并将每个部分归属于不同的组。
在该论文的实验中将每个包Xi中的每一个实例都赋予权重1 / |Xi|,这样当每个包都被视为同等重要时,来自小包中的示例的权重就会比来自大包中的示例的权重更高。对于每一个簇Gj,用Wlj (l∈{0,1})来表示Gj中所有标签为l的包的实例的权重之和。用Wj来表示Gj中所有示例的权重之和,即:
同时可得:
在此基础上该论文定义了以下两个公式来评估聚类结果的质量:
第一个公式是用来衡量聚类结果的加权平均纯度,其中Gj的纯度是这一个簇中占主导地位的包的权重与这个簇中所有包的权重和之比,然后用Wj / N对其进行加权。该公式的值越大,聚类算法的性能越好;当值为1时,性能最佳。
第二个公式是用来衡量聚类结果的平均熵。该公式的值越小,聚类算法的性能越好;当值为0时,算法性能最佳。
4.1.2 用MUSK数据集进行实验
MUSK数据集:
每种聚类算法在MUSK数据集上的性能随聚类组数的增加时其平均纯度和平均熵的变化实验结果如下图:
当聚类组的数量为5 ~ 80个,间隔为15个时,各聚类算法在平均纯度和平均熵方面的具体实验结果如下:
由此实验结果可以看出,在平均纯度和平均熵这两个方面来说,三个版本的Bamic算法性能都优于另外两个算法。
4.2 对BARTMIP的实验
4.2.1 实验设置
要使BARTMIP成为一个具体的预测算法,需要提前确定几个参数。在MUSK1和MUSK2两种数据集上分别进行10次leave-one-bag-out测试,参数k的范围是训练包数量的20%到100%,间隔为20%,使用SVM等机器学习算法从变换后的特征向量中学习,并使用Hausdorff距离来度量包与包之间的距离。
可以看出:
-
k值对各预测算法的性能影响并不显著;
-
当基础学习器固定时,使用平均Hausdorff距离来度量包与包之间的距离能获得更好的性能;
4.2.2 使用STDMIP数据集
由上图实验结果可以看出:
-
当包的距离度量固定时,使用SVM作为基础学习器能获得更好的性能。
-
在第一部分算法中,BARTMIP在MUSK1和MUSK2上与CCE相当,且明显优于k^和kmin算法。
-
在第二部分算法中,BARTMIP在MUSK1上与ID APR、CITATION-KNN和Boosting算法相当,且明显优于其他算法。
这些观察结果表明,BARTMIP算法在STDMIP问题上工作得更好。