[论文阅读]:Semi-supervised Multi-instance Learning with Density Peaks Clustering
时间:2022/5/31
文章目录
1.题目
Semi-supervised Multi-instance Learning with Density Peaks Clustering
密度峰值聚类的半监督多示例学习
2.摘要
文章提出了密度峰值聚类的半监督多示例学习(Semi-supervised Multi-instance Learning with Density Peaks Clustering,SMDP)算法,包含三个步骤:
(1)结合高斯核和五种距离度量,使用基于密度峰值聚类的方法寻找代表包;
(2)基于包之间的距离将每一个包转换为单实例,其第i个属性为它与第i个代表包的距离;
(3)使用转换后的数据训练分类器。
SMDP在文本和图像数据集上的处理效果优异。
3.主要贡献
-
将密度峰值算法应用MIL中的代表包选择过程中,提高了代表包的选取效率。
-
对文本数据集和图像数据集分别利用虚拟Hausdorff距离和最小偏差距离。它们具有更高的适用性和更低的时间复杂度。
-
与现有的算法相比,SMDP在大部分MIL数据集上具有更好的性能。
4.符号系统
符号 | 含义 |
---|---|
X | 实例空间 |
S | 数据集 |
N | 数据集大小 |
c | 类标号个数 |
S k , k ∈ [ 1... c ] S_k,k\in [1...c] Sk,k∈[1...c] | 第k个类的包 |
S i , i ∈ [ 1... l ] S_i,i\in[1...l] Si,i∈[1...l] | 带标签的包 |
S u , i ∈ [ l + 1 , . . . , N ] S_u,i\in[l+1,...,N] Su,i∈[l+1,...,N] | 不带标签的包 |
B i B_i Bi | 第i个包 |
y i , i ∈ [ 1 , . . . , l ] y_i,i\in[1,...,l] yi,i∈[1,...,l] | 第i个包的标签 |
l l l | 数据集 S i S_i Si的大小 |
x i j x_{ij} xij | 第i个包的第j个实例 |
d i j d_{ij} dij | B i 与 B j 的 距 离 B_i与B_j的距离 Bi与Bj的距离 |
d c d_c dc | cutoff距离 |
r r r | d c 的 比 率 d_c的比率 dc的比率 |
ρ i \rho_i ρi | 第i个包的密度 |
δ i \delta_i δi | 到包 B i 的 m a s t e r 的 距 离 B_i的master的距离 Bi的master的距离 |
n c n_c nc | 簇中心的个数 |
p p p | 簇中心个数与实例个数的比例 |
y i ‘ , i ∈ [ l + 1... N ] y_i^`,i\in [l+1...N] yi‘,i∈[l+1...N] | 预测标签 |
5.密度峰值聚类
大师兄的文章对该算法进行了详细描述,[机器学习之Density Peaks_因吉的博客-CSDN博客_density peaks)
5.1.三种距离
同一标准下,用于计算密度的半径距离。首先是diameter dc距离,其定义为:
d c d i a m e t e r = m a x ( ∑ i = 0 i < n − 1 ∑ j = i + 1 n d i s t a n c e ( x i , x j ) ) ∗ d c r a t i o (1) dc_{diameter}=max(\sum_{i=0}^{i<n-1}\sum_{j=i+1}^n{distance(x_i,x_j)})*dc_{ratio}\tag{1} dcdiameter=max(i=0∑i<n−1j=i+1∑ndistance(xi,xj))∗dcratio(1)
第二个距离为average dc距离,定义为:
d c a v e r a g e = a v e r a g e ( ∑ i = 0 i < n − 1 ∑ j = i + 1 n d i s t a n c e ( x i , x j ) ) ∗ d c r a t i o (1) dc_{average}=average(\sum_{i=0}^{i<n-1}\sum_{j=i+1}^n{distance(x_i,x_j)})*dc_{ratio}\tag{1} dcaverage=average(i=0∑i<n−1j=i+1∑ndistance(xi,xj))∗dcratio(1)
第三个距离为min dc,定义为:
d c m i n = m i n ( ∑ i = 0 i < n − 1 ∑ j = i + 1 n d i s t a n c e ( x i , x j ) ) ∗ d c r a t i o (2) dc_{min}=min(\sum_{i=0}^{i<n-1}\sum_{j=i+1}^n{distance(x_i,x_j)})*dc_{ratio}\tag{2} dcmin=min(i=0∑i<n−1j=i+1∑ndistance(xi,xj))∗dcratio(2)
5.2.局部密度
这里也有两种方式计算。首先是使用cutoff核。
k e r n e l c u t o f f : ρ i = ∑ j = 0 n f ( d i s t a n c e ( x i , x j ) − d c ) (3) kernel_{cutoff}:ρ_i=\sum_{j=0}^nf(distance(x_i,x_j)−dc)\tag{3} kernelcutoff:ρi=j=0∑nf(distance(xi,xj)−dc)(3)
其中
f ( x ) = { 0 , x > 0 1 , x ≤ 0 (4) f(x)= \begin{cases} 0,& \text{x > 0}\\ 1,& \text{x$\le$0} \end{cases}\tag{4} f(x)={0,1,x > 0x≤0(4)
在一定的dc范围内,有多少个实例,便密度 ρ i \rho_i ρi就是多少。但会出现具有相同密度的实例。解决方法是:
-
使用自然优先级,将实例按密度从大到小排列,必然会有先后顺序出现。
-
使用高斯核。如下:
k e r n e l g a u s s i a n : ρ i = ∑ j = 0 n e − ( d i s t a n c e ( x i , x j ) d c ) 2 (5) kernel_{gaussian}:ρ_i=\sum_{j=0}^ne^{-({distance(x_i,x_j)\over dc})^2}\tag{5} kernelgaussian:ρi=j=0∑ne−(dcdistance(xi,xj))2(5)
其中distance均为欧式距离。高斯核可以极大程度的避免出现相同密度的实例的情况,且能保证随着单个实例范围的其他实例数量增加时,也会相应的增大。
5.3.计算实例与其master的距离
δ i = { m a x ( d i s t a n c e ( x i , x j ) ) , ρ i = max j ∈ [ l . . . N ] ( ρ j ) > 0 min j ∈ [ l . . N ] ∣ ρ j > ρ i , otherwise (6) \delta_i= \begin{cases} max(distance(x_i,x_j)),& \text{$\rho_i={\max_{j\in[l...N]}}(\rho_j)$ > 0}\\ \text{$\min_{j\in[l..N]|\rho_j > \rho_i}$},& \text{otherwise} \end{cases}\tag{6} δi={max(distance(xi,xj)),minj∈[l..N]∣ρj>ρi,ρi=maxj∈[l...N](ρj) > 0otherwise(6)
最终的距离定义为:
λ i = ρ i ∗ δ i (7) \lambda_i=\rho_i*\delta_i\tag{7} λi=ρi∗δi(7)
使得实例中具有最高密度和最远距离的作为聚类中心。
6.算法
7.SMDP中的密度峰值聚类
在算法中,主要是使用DP算法进行代表包的选择,使用相关距离度量进行计算包与包之间的距离。而最终的包的代表性也是由基于这个距离进行计算的。每个包的master均是距离其最近且密度最大的包。
8.两种新的距离度量
对于文本数据集,可以使用包的中心实例代表整个包,则中心实例代表的计算如下:
x ‾ = ∑ j = 1 n i x i j n i (8) \overline x={\sum_{j=1}^{n_i}x_{ij}\over n_i}\tag{8} x=ni∑j=1nixij(8)
这里有个新的虚拟距离virtual Hausdorff distanced( d v i r d^{vir} dvir),使用上式来计算包与包之间的距离,而不是使用包来计算,其定义为:
d v i r = d ( x i ‾ , x j ‾ ) (9) d^{vir}=d(\overline {x_i},\overline {x_j})\tag{9} dvir=d(xi,xj)(9)
对于图像数据集,使用min-bias distance( d b i a d^{bia} dbia),其定义为:
d i j b i a = min i = 1 n i d ( x i a , b i a s ) (10) d_{ij}^{bia}=\min_{i=1}^{n_i}d(x_{ia},b_{ias})\tag{10} dijbia=i=1minnid(xia,bias)(10)
其中
b i a s = ∑ x i a n i x i a + ∑ x j b n j x j b n i + n j (11) b_{ias}={{\sum_{x_{ia}}^{n_i}x_{ia}+\sum_{x_{jb}}^{n_j}x_{jb}}\over{n_i+n_j}}\tag{11} bias=ni+nj∑xianixia+∑xjbnjxjb(11)