题目
A Selective Multiple Instance Transfer Learning Method for Text Categorization Problems
一种针对文本分类问题的选择性多示例迁移学习方法
Knowledge-Based Systems 2018
摘要
多示例学习 (MIL) 是监督学习的推广,它试图从实例包中学习一个独特的分类器。本文解决了文本分类问题的基于迁移学习的多示例方法的问题。
为了提供从源任务到目标任务的知识安全迁移,本文提出了一种新方法,称为选择性多示例迁移学习(SMITL),它选择多示例迁移学习将在第一步中工作的情况,并且然后在第二步中构建一个多示例迁移学习分类器。
具体来说,在第一步中,我们通过调查两个任务的正特征的相似性来衡量源任务和目标任务是否相关。在第二步中,我们构建了一种基于迁移学习的多示例方法,如果在第一步中发现两个任务相关,则将知识从源任务转移到目标任务。
我们提出的方法明确地解决了文本分类问题上多实例学习的知识安全转移问题。大量实验表明,对于大多数数据集,SMITL 可以确定这两个任务是否相关,并且优于经典的多示例学习方法。
引入
现有MIL问题的分类:
1)包级:直接对包进行操作
2)实例级:推断隐藏的实例标签,根据实例标签计算包标签
相关概念:
迁移学习:从一个或多个相关任务(源任务)中转移知识来减少新任务(称为目标任务)的标记工作
例如:我们有很多用户之前标记的感兴趣的网页,但是用户的兴趣会变化;并且我们目前没有很多用户当前标记的网页。在这种情况下,希望用户之前标记的网页能够传递知识,来构架多示例分类器。
负迁移:当两个任务不相关时,从源任务中提取的知识可能对目标任务的性能没有帮助,甚至可能会损害目标任务的性能。
正特征:文本数据中,用户感兴趣的内容转换为正包中实例的一些特征。
基于迁移学习的多示例方法面临的挑战:
1)如何判断源任务和目标任务的相似度
2)如何为多示例问题构建基于迁移学习的分类器
本文方法
第一步:我们从两个任务的正包中提取正特征,提出相似度评估方法来衡量两个任务的正面特征的相似度,它可以调查两个任务是否相关。
第二步:若两个任务相似,提出一个新的多实例迁移学习分类器。将知识从源任务迁移到目标任务。然后,我们提出了一个替代框架来提供多实例迁移学习分类器。
相关工作
迁移学习
迁移学习侧重于将知识从源任务转移到目标任务,而不是确保每个任务的性能。
迁移学习基于的一些假设:源任务和目标任务应该共享学习模型中的一些参数,然而总是假设数据的分布是先验的; 某些实例或特征可以用作知识转移的桥梁。
- 基于实例的迁移:从源领域中挑选出,对目标领域的训练有用的实例,比如对源领域的有标记数据实例进行有效的权重分配,让源域实例分布接近目标域的实例分布,从而在目标领域中建立一个分类精度较高的、可靠地学习模型
- 基于特征的迁移:特征选择的迁移学习算法,关注的是如何找出源领域与目标领域之间共同的特征表示;特征选择的迁移学习算法,关注的是如何将源领域和目标领域的数据从原始特征空间映射到新的特征空间,源领域数据与的目标领域的数据分布相同。
- 基于共享参数的迁移:找到源数据和目标数据的空间模型之间的共同参数或者先验分布
迁移学习相关工作读不懂
多示例学习
包级方法:Diverse Density (DD) method、EM-DD 、DD-SVM and the MILES
实例级方法:mi-SVM、SMILE
符号系统
Nonation | Mean |
---|---|
B I B_I BI | 第 I I I个包 |
Y I Y_I YI | 包标签 |
x i x_i xi | 第 i i i个实例 |
y i y_i yi | 实例标签 |
S S S | 源任务 |
T T T | 目标任务 |
( B I S , Y I S ) (B_I^S,Y_I^S) (BIS,YIS) | 源任务训练集 |
( B J S , Y J S ) (B_J^S,Y_J^S) (BJS,YJS) | 目标任务训练集 |
∣ Y s ∣ \vert Y^s\vert ∣Ys∣ | 源任务训练集包的个数 |
∣ Y t ∣ \vert Y^t\vert ∣Yt∣ | 目标任务训练集包的个数 |
对实例定义一个数据模型:
{
x
,
m
+
(
x
)
,
m
−
(
x
)
}
\{\bold{x},m^+(\bold{x}),m^-(\bold{x)}\}
{x,m+(x),m−(x)}
m
+
(
x
)
,
m
−
(
x
)
m^+(\bold{x}),m^-(\bold{x})
m+(x),m−(x)表示实例
x
\bold{x}
x对正类和父类的相似性,基于这个模型,将多示例迁移学习问题转化为单实例问题。
算法
第一步:源任务与目标任务的相似性评估
原因:若两个任务的正特征相似,则两个任务相似。相似才有助于知识迁移。所以从两个任务的正包中提取正特征并评估相似性
步骤:
(1)正特征提取
S
s
+
=
{
x
1
,
…
,
x
∣
S
s
+
∣
}
S_s^+=\{\bold{x}_1,\dots,\bold{x}_{|S_s^+|}\}
Ss+={x1,…,x∣Ss+∣} :S正包所有实例
S
s
−
=
{
x
1
,
…
,
x
∣
S
s
−
∣
}
S_s^-=\{\bold{x}_1,\dots,\bold{x}_{|S_s^-|}\}
Ss−={x1,…,x∣Ss−∣} :S负包所有实例
V
P
s
VP_s
VPs:
S
s
+
S_s^+
Ss+的一组正特征(在正包(
S
s
+
S_s^+
Ss+)中频繁出现而在负包(
S
s
−
S_s^-
Ss−)中出现频率较低的正特征)
n
S
s
+
(
f
k
)
n_{S_s^+}(f_k)
nSs+(fk) :在
S
s
+
S_s^+
Ss+中包含特定特征
f
k
f_k
fk的实例数量
n
S
s
−
(
f
k
)
n_{S_s^-}(f_k)
nSs−(fk) :在
S
s
−
S_s^-
Ss−中包含特定特征
f
k
f_k
fk的实例数量
max
S
s
+
\text{max}_{S_s^+}
maxSs+:在
S
s
+
S_s^+
Ss+中出现最多的
f
k
f_k
fk的实例数量
min
S
s
+
\text{min}_{S_s^+}
minSs+:在
S
s
+
S_s^+
Ss+中出现最少的
f
k
f_k
fk的实例数量
max
S
s
−
\text{max}_{S_s^-}
maxSs−:在
S
s
−
S_s^-
Ss−中出现最多的
f
k
f_k
fk的实例数量
min
S
s
−
\text{min}_{S_s^-}
minSs−:在
S
s
−
S_s^-
Ss−中出现最少的
f
k
f_k
fk的实例数量
V
s
V_s
Vs:源目标的特征集
H
s
(
f
k
)
H_s(f_k)
Hs(fk):特征
f
k
f_k
fk的特征强度
θ
s
\theta_s
θs:特征集
V
s
V_s
Vs中每个特征强度之和的平均值
G
s
G_s
Gs:正特征集
V
P
s
VP_s
VPs中每个特征强度之和的平均值
原理:特征强度越高对分类越有效;所以通过测量
S
s
+
S_s^+
Ss+和
S
s
−
S_s^-
Ss−之间的归一化示例频率的差异来计算特定特征
f
k
f_k
fk的特征强度。
How:选取在正包中出现更多,负包中出现更少的特征,为此设计了以下特征强度指标:
H
s
(
f
k
)
=
n
S
s
+
(
f
k
)
−
min
S
s
+
max
S
s
+
−
min
S
s
+
−
n
S
s
−
(
f
k
)
−
min
S
s
−
max
S
s
−
−
min
S
s
−
H_s(f_k)=\frac{n_{S_s^+}(f_k)-\text{min}_{S_s^+}}{\text{max}_{S_s^+}-\text{min}_{S_s^+}}-\frac{n_{S_s^-}(f_k)-\text{min}_{S_s^-}}{\text{max}_{S_s^-}-\text{min}_{S_s^-}}
Hs(fk)=maxSs+−minSs+nSs+(fk)−minSs+−maxSs−−minSs−nSs−(fk)−minSs−
若
H
s
(
f
k
)
H_s(f_k)
Hs(fk)>
θ
s
\theta_s
θs,则为正特征
θ
s
=
1
∣
V
s
∣
∑
f
k
∈
V
s
H
s
(
f
k
)
\theta_s=\frac{1}{\vert V_s\vert}\sum_{f_k \in V_s}H_s(f_k)
θs=∣Vs∣1fk∈Vs∑Hs(fk)
接着,
G
s
=
1
∣
V
P
s
∣
∑
f
k
∈
V
P
s
H
s
(
f
k
)
G_s=\frac{1}{\vert VP_s\vert}\sum_{f_k \in VP_s}H_s(f_k)
Gs=∣VPs∣1fk∈VPs∑Hs(fk)
结果:
源任务:
V
P
s
VP_s
VPs、
G
s
G_s
Gs
目标任务:
V
P
t
VP_t
VPt、
G
t
G_t
Gt
(2)相似性评估
对于集合
V
P
s
∪
V
P
t
VP_s\cup VP_t
VPs∪VPt(之前是
V
s
V_s
Vs),通过上述公式计算每一个特征的特征强度
H
c
(
f
k
)
H_c(f_k)
Hc(fk);
G
c
G_c
Gc:
V
P
s
∪
V
P
t
VP_s\cup VP_t
VPs∪VPt中所有特征强度的平均值
G
c
=
1
∣
V
P
s
∪
V
P
t
∣
∑
f
k
∈
V
P
s
∪
V
P
t
H
c
(
f
k
)
G_c=\frac{1}{\vert VP_s\cup VP_t \vert}\sum_{f_k \in VP_s\cup VP_t}H_c(f_k)
Gc=∣VPs∪VPt∣1fk∈VPs∪VPt∑Hc(fk)
接着,
η
=
G
c
min
(
G
s
,
G
t
)
\eta=\frac{G_c}{\text{min}(G_s,G_t)}
η=min(Gs,Gt)Gc
η
\eta
η越小越相关,若大于1则不相关。为什么哦?
第二步:选择性多示例迁移学习分类器构建
对于源任务(目标任务同样):
S
p
s
+
S_p^{s+}
Sps+:每个正包中选出一个正候选实例,membership(类别)设置为+1
S
a
s
+
S_a^{s+}
Sas+:在正包中除候选实例以外的剩余实例,双重membership
(
m
+
(
x
i
)
,
m
−
(
x
i
)
)
(m^+(\bold{x_i}),m^-(\bold{x_i}))
(m+(xi),m−(xi))
S
n
s
−
S_n^{s-}
Sns−:负包中的所有实例,类别设置为-1
S
s
′
=
S
p
s
+
∪
S
a
s
+
S^{s'}=S_p^{s+} \cup S_a^{s+}
Ss′=Sps+∪Sas+
S
s
′
′
=
S
a
s
+
∪
S
n
s
−
S^{s''}=S_a^{s+} \cup S_n^{s-}
Ss′′=Sas+∪Sns−
正候选的选择:与正包具有较高相似度而与负包具有较低相似度
相似度定义:
R
(
x
,
S
)
=
1
2
∑
x
i
∈
S
e
−
∥
ϕ
(
x
)
−
ϕ
(
x
i
)
∥
R(\bold{x},S)=\frac{1}{2}\mathop{\sum}\limits_{\bold{x}_i\in S}e^{-{\| \phi(\bold{x})-\phi(\bold{x}_i)\|}}
R(x,S)=21xi∈S∑e−∥ϕ(x)−ϕ(xi)∥
正候选的选择:
argmax
x
∈
B
I
:
Y
I
=
1
1
2
(
R
(
x
,
S
s
+
)
+
1
−
R
(
x
,
S
s
−
)
)
\mathop{\text{argmax}}\limits_{\bold{x} \in {B}_I:Y_I=1}\frac{1}{2}(R(\bold{x},S_s^+)+1-R(\bold{x},S_s^-))
x∈BI:YI=1argmax21(R(x,Ss+)+1−R(x,Ss−))
S
a
s
+
S_a^{s+}
Sas+中membership计算:
m
s
+
(
x
i
)
=
1
2
(
R
(
x
,
S
p
s
+
)
+
1
−
R
(
x
,
S
n
s
−
)
)
m_s^+(\bold{x_i})=\frac{1}{2}(R(\bold{x},S_p^{s+})+1-R(\bold{x},S_n^{s-}))
ms+(xi)=21(R(x,Sps+)+1−R(x,Sns−))
m
s
−
(
x
i
)
=
1
2
(
R
(
x
,
S
n
s
−
)
+
1
−
R
(
x
,
S
p
s
+
)
)
m_s^-(\bold{x_i})=\frac{1}{2}(R(\bold{x},S_n^{s-})+1-R(\bold{x},S_p^{s+}))
ms−(xi)=21(R(x,Sns−)+1−R(x,Sps+))
基于源任务
S
p
s
+
、
S
a
s
+
、
S
n
s
−
、
S
s
′
、
S
s
′
′
S_p^{s+}、S_a^{s+}、S_n^{s-}、S^{s'}、S^{s''}
Sps+、Sas+、Sns−、Ss′、Ss′′和目标任务
S
p
t
+
、
S
a
t
+
、
S
n
t
−
、
S
t
′
、
S
t
′
′
S_p^{t+}、S_a^{t+}、S_n^{t-}、S^{t'}、S^{t''}
Spt+、Sat+、Snt−、St′、St′′构建多示例迁移学习分类器
构建一个基于SVM的分类器将知识从源任务迁移到目标任务。
在源任务上训练SVM:
f
1
=
w
1
.
ϕ
(
x
)
+
b
1
f_1=\bold{w_1}.\phi(\bold{x})+b_1
f1=w1.ϕ(x)+b1
在目标任务上训练SVM:
f
2
=
w
2
.
ϕ
(
x
)
+
b
2
f_2=\bold{w_2}.\phi(\bold{x})+b_2
f2=w2.ϕ(x)+b2
w
1
=
w
0
+
v
1
\bold{w}_1=\bold{w}_0+\bold{v_1}
w1=w0+v1,
w
2
=
w
0
+
v
2
\bold{w}_2=\bold{w}_0+\bold{v_2}
w2=w0+v2,其中
w
0
\bold{w_0}
w0是公共参数,
v
1
\bold{v}_1
v1,
v
2
\bold{v}_2
v2是特定参数;
优化过程:
(1)每一轮首先通过优化目标获得拉格朗日乘数
α
l
\alpha^{l}
αl;
(2)再遍历源任务(目标任务)的每个正包中的每个实例,来更新
S
p
s
+
S_p^{s+}
Sps+、
S
p
t
+
S_p^{t+}
Spt+;
(3)基于
α
l
\alpha^{l}
αl和更新后的正候选,求得值
F
(
l
)
=
F
(
α
(
l
)
)
F^{(l)}=F(\alpha^{(l)})
F(l)=F(α(l)), 然后
l
=
l
+
1
l=l+1
l=l+1,进行下一轮;
(4)如此迭代直到
∣
F
(
l
)
−
F
(
l
−
1
)
∣
ϵ
F
(
l
)
\vert F^{(l)}-F^{(l-1)}\vert \epsilon F^{(l)}
∣F(l)−F(l−1)∣ϵF(l),返回(
w
0
,
v
1
,
v
2
,
b
1
,
b
2
\bold{w_0},\bold{v}_1,\bold{v}_2,b_1,b_2
w0,v1,v2,b1,b2)。
交替优化拉格朗日乘数
α
\alpha
α与正候选
S
p
s
+
S_p^{s+}
Sps+、
S
p
t
+
S_p^{t+}
Spt+,使得
F
(
.
)
F(.)
F(.)的值最小,
F
(
.
)
F(.)
F(.)的值在整个优化过程中单调递减;最后得到(
w
0
,
v
1
,
v
2
,
b
1
,
b
2
\bold{w_0},\bold{v}_1,\bold{v}_2,b_1,b_2
w0,v1,v2,b1,b2)。
第(2)步更新过程:
遍历每个正包中的每个实例,设当前实例为正候选,更新
S
p
s
+
、
S
a
s
+
S_p^{s+}、S_a^{s+}
Sps+、Sas+;
利用当前轮的
α
l
\alpha^{l}
αl,计算
F
F
F值,记作
F
(
x
i
)
F(\bold{x}_i)
F(xi);
从每个包中选择出新的正候选
argmax
x
∈
B
I
F
(
x
i
)
\mathop{\text{argmax}}\limits_{\bold{x} \in B_I}F(\bold{x}_i)
x∈BIargmaxF(xi)
优化目标如下:
实验
对比算法:mi-SVM、SMILE、SubMIL、MITL
指标:准确性
数据集:Newsgroups、Reuters-21578(Reuters 新闻通讯文章)、Web-KB
文本数据集最初并不是为评估多示例学习和迁移学习而设计,重新组织原始数据,以解决迁移多示例学习问题
Newsgroups:包含几个顶级类别,顶级类别下有20个子类别,每个子类别有1000个样本;每个新闻视作一个实例,几个新闻组成包;其中来自正类和其他类别的实例构成一个正包;负包从除正类别外的其他类别中随机生成;源任务生成1500个包、目标任务选择另一类别为正类的并生成800个包
Reuters-21578:(Reuters 新闻通讯文章):分为5个顶级类别,每个类别包含不同的子类别;将A类别下的子类别分为A(1)、A(2);A(1)中文档作为正类,除A之外其他类别中选择文档作为负包
Web-KB:将类别(A)随机分成两部分A(1) 和 A(2),分别组织源任务和目标任务的正包。对于源任务和目标任务的负包,我们从除 (A) 之外的其他类别中随机选择文档。将随机噪声添加到 A(2) 的特征中,将其视为相关任务。以类似的方式,我们从不同类别(命名为(A)和(B))生成源任务和目标任务的正包,获得不相关的任务。
实验结果
由于迁移学习假设没有足够的目标任务训练数据,所以对于目标数据集,随机选择10%左右组成训练集。
相关任务上的性能比较:8对源任务和目标任务,每一对正类属于同一个顶层类别
非参数统计Wilcoxon 检验:每一个比较算法与SMITL有一个测试值,如果测试值低于置信水平0.05,则SMITL与比较算法存在显著差异
不相关任务的性能:SMITL 与 SMILE 一样,在目标分类器上构造一个分类器,并报告与 SMILE 方法相同的性能
数据集迭代期间的错误率:总是收敛于或接近最佳性能点,那里的收敛速度非常快。 SMITL 在大多数数据集上的迭代不到 10 次
Future work
设计一种更好的机制,通过考虑包数据分布来确定源任务和目标任务之间的相似性
设计一个有效的解决方案来加速其他数据类型的选择转移多实例学习方法