赞
踩
miGraph(2009)
时间:2023/0709
存在问题:以往的多实例学习研究通常将袋中的实例视为独立、同分布的。然而,在实际任务中,包中的实例很少是独立的。忽略了实例之间的关系传递重要的结构信息这一事实。
解决思路:利用实例之间关系,如果在Non-I.I.D.中处理实例,则可以期望获得更好的性能。
解决方法:
第一种:我们显式地将每个袋映射到一个无向图上,并设计一个图核来区分正负袋。
第二种:通过推导亲和矩阵来隐式构造图,并提出一个考虑团信息的高效图核。
多实例学习的一个突出优点主要在于许多真实对象都有其固有的结构,通过采用多实例表示,我们能够比简单地使用扁平的单实例表示更自然地表示这些对象并捕获更多的信息。
如果划分是有意义的(例如,每个部分对应一个显著区域),多实例表示捕获的附加信息可能有助于使学习任务更容易处理。
并非所有的时候都能使用多示例,因为如果单实例表示就足够了,那么使用多实例表示只是画蛇添足。即使在对象具有固有结构的任务中,我们也应该记住,多实例表示的力量存在于它捕获一些结构信息的能力中。
基本思想:将每个包视为一个实体,作为一个整体进行处理,并将实例视为实体的相互关联的组成部分。
如图所示,若用方块表示一个示例,相同颜色的表示同一类示例。若不考虑包中示例之间的关联,只考虑示例的数量,则三个包都是相似的。但显然不是这样。若我们考虑示例之间的联系,如图3,很明显,由于第一个包和第二个包的示例间结构相似,所以和第三个包相比,前两个包会更相似一点。
第一步是为每个包构造一个图。在这里作者采用 ϵ − g r a p h \epsilon-graph ϵ−graph建立,因为受到文章A global geometric framework for nonlinear dimensionality reduction的启发,这种结构更能发现数据的底层流形结构。具体而言:
如果 x i u x_{iu} xiu和 x i v x_{iv} xiv之间的距离小于预先设定的阈值,则在这两个节点之间建立一条边,其中边的权重表示两个节点的亲和力(在实验中我们使用非零距离的归一化倒数作为亲和力值)。
可以使用许多距离度量来计算距离。根据流形的性质,即一个小的局部区域近似为欧几里得空间,我们用欧几里得距离建立 ϵ − g r a p h \epsilon-graph ϵ−graph。
当涉及到分类属性categorical(离散属性/标称属性)时,我们使用VDM (Value Difference Metric)作为补充。例如对于实例的前j 个属性是categorical,余下的(d− j)个是归一化为 [0,1]的连续值:
( ∑ h = 1 j V D M ( x 1 , h , x 2 , h ) + ∑ h = j + 1 d ∣ x 1 , h − x 2 , h ∣ 2 ) 1 2 (\sum_{h=1}^jVDM(x_{1,h},x_{2,h})+\sum_{h=j+1}^d|x_{1,h}-x_{2,h}|^2)^{1\over 2} (h=1∑jVDM(x1,h,x2,h)+h=j+1∑d∣x1,h−x2,h∣2)21
V D M ( z 1 , z 2 ) = ∑ c = 1 C ∣ N Z , z 1 , c N Z , z 1 − N Z , z 2 , c N Z , z 2 ∣ 2 VDM(z_1,z_2)=\sum_{c=1}^C|{N_{Z,z_1,c}\over N_{Z,z_1}}-{N_{Z,z_2,c}\over N_{Z,z_2}}|^2 VDM(z1,z2)=c=1∑C∣NZ,z1NZ,z1,c−NZ,z2NZ,z2,c∣2
而 N Z , z N_{Z,z} NZ,z表示在属性 Z Z Z上取值为 z z z的样本数量, N Z , z , c N_{Z,z,c} NZ,z,c表示在第c个类别中在属性 Z Z Z上取值为 z z z的样本数量,C表示类别数。
分类器的构建方法:
MIGraph方法采用第二种方法,图核的思想如图所示。使用节点核(即 K n o d e K_{node} Knode)来合并节点传递的信息,使用边缘核(即 K e d g e K_{edge} Kedge)来合并边传递的信息,并将它们聚合得到最终的图核(即 K G K_G KG)
对于图表示 G h = ( { x h u } u = 1 n h , { e h v } v = 1 m h ) G_h=(\{x_{hu}\}_{u=1}^{n_h},\{e_{hv}\}_{v=1}^{m_h}) Gh=({xhu}u=1nh,{ehv}v=1mh),图核 K G K_G KG的定义如下:
K G ( B i , B j ) = ∑ a = 1 n i ∑ b = 1 n j K n o d e ( x i a , x i b ) + ∑ a = 1 m i ∑ b = 1 m j K e d g e ( e i a , e i b ) K_G(B_i,B_j)=\sum_{a=1}^{n_i}\sum_{b=1}^{n_j}K_{node}(x_{ia},x_{ib})+\sum_{a=1}^{m_i}\sum_{b=1}^{m_j}K_{edge}(e_{ia},e_{ib}) KG(Bi,Bj)=a=1∑nib=1∑njKnode(xia,xib)+a=1∑mib=1∑mjKedge(eia,eib)
其中, K n o d e K_{node} Knode和 K e d g e K_{edge} Kedge是半正定核。
为避免数值问题,对图核进行归一化处理:
K G ( B i , B j ) = K G ( B i , B j ) K G ( B i , B i ) K G ( B j , B j ) K_G(B_i,B_j)={K_G(B_i,B_j)\over{{\sqrt K_G(B_i,B_i)}{\sqrt K_G(B_j,B_j)}}} KG(Bi,Bj)=K G(Bi,Bi)K G(Bj,Bj)KG(Bi,Bj)
对于半正定核的选取,有很多选择,这里文章中选择高斯核来作为结点核和边核:
K n o d e ( x i a , x j b ) = e x p ( − γ ∣ ∣ x i a − x j b ∣ ∣ 2 ) K_{node}(x_{ia},x_{jb})=exp(-\gamma||x_{ia}-x_{jb}||^2) Knode(xia,xjb)=exp(−γ∣∣xia−xjb∣∣2)
边核同样如此。
现在的问题是如何定义边的描述向量?
在文章中,作者定义边的向量为 [ d u , p u , d v , p v ] ′ [d_u,p_u,d_v,p_v]^{'} [du,pu,dv,pv]′其中 d u , d v d_u,d_v du,dv分别是结点 x u x_u xu和结点 x v x_v xv的度。而 p u p_u pu则表示为 p u = w u v / ∑ w u p_u=w_{uv}/\sum w_u pu=wuv/∑wu,传递了边 e u v e_{uv} euv对于结点 x u x_u xu的重要性, p v p_v pv同理。
K G K_G KG显然是一个正定核,所以可以适用于任意类型的图,同时也满足图核定义应该考虑的所有四个主要属性。但不足之处在于时间复杂度为 O ( n i n j + m i m j ) O(n_in_j+m_im_j) O(ninj+mimj),和边的数量有关,当包中实例数过多时,时间开销可能很大。
思路:对于一个包 B i B_i Bi,可以计算器实例距离以及结合阈值 δ \delta δ推导一个亲和力矩阵(affinity matrix) W i W^i Wi。例如,若 x a x_a xa和 x u x_u xu的距离小于阈值则对应亲和矩阵位置 W a u i W^i_{au} Waui设置为1,否则设置为0。
修改后的图核定义如下:
K g ( B i , B j ) = ∑ a = 1 n i ∑ b = 1 n j W i a W j b k ( x i a , x j b ) ∑ a = 1 n i W i a ∑ b = 1 n j W j b K_g(B_i,B_j)={{\sum_{a=1}^{n_i}\sum_{b=1}^{n_j}W_{ia}W_{jb}k(x_{ia},x_{jb})}\over{\sum_{a=1}^{n_i}W_{ia}\sum_{b=1}^{n_j}W_{jb}}} Kg(Bi,Bj)=∑a=1niWia∑b=1njWjb∑a=1ni∑b=1njWiaWjbk(xia,xjb)
其中 W i a = 1 / ∑ u = 1 n i w a u i W_{ia}=1/\sum_{u=1}^{n_i}w^i_{au} Wia=1/∑u=1niwaui, W j b = 1 / ∑ v = 1 n j w b v j W_{jb}=1/\sum_{v=1}^{n_j}w^j_{bv} Wjb=1/∑v=1njwbvj,而依然采用高斯核计算实例的距离。
一个团中的实例可以被视为属于一个概念,这是有帮助的。对于大型图来说,寻找团通常是昂贵的,而 K g K_g Kg可以看作是基于团的图核的一个有效的软版本,它显然满足以下原则:
当 W i = I W^i=I Wi=I时,即每两个实例不属于同一概念时,应平等对待一个包中的所有实例,即 W i = W^i= Wi=。
当 W i = E W^i=E Wi=E时,即矩阵元素全为1的矩阵。所有实例属于同一概念时,每个bag可视为一个实例,且每个实例贡献相同, W i a = 1 / n i W_{ia}=1/n_i Wia=1/ni
当 W i W^i Wi是分块矩阵时,即实例被聚为属于一个概念的团, W i a = 1 / n i a W_ia=1/n_{ia} Wia=1/nia。此时 K g K_g Kg为一个基于团的图核。
此外,当 W a b i W^i_{ab} Wabi增加时, W i a 和 W i b W_{ia}和W_{ib} Wia和Wib应该减少,因为他们之间变得更加相似了。而其他项则不受影响。
则 K g K_g Kg的时间复杂度为 O ( n i n j ) O(n_in_j) O(ninj)
实验数据集:Benchmark(5),1000-Image ,2000-Image ,text categorization(20),Multi-Instance Regression
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。