《Adapting Component Analysis》文章学习
2012 IEEE 12th International Conference on Data Mining
文章目录
摘要
只有当训练数据是测试数据的适当代表时,预测模型才能令人满意地执行。即训练数据和测试数据来自相同的基本概率分布。然而,由于各种原因,该假设在许多应用中可能不正确。我们提出了一种基于核分布嵌入和希尔伯特-施密特独立准则(HSIC) 的方法来解决这个问题。所提出的方法探索了新特征空间中数据的新表示形式,具有两个特性:
- 在新的特征空间中,训练和测试数据集的分布尽可能接近
- 数据的重要结构信息得以保存。
我们的方法有一个封闭形式的解决方案,实验结果表明,它在实践中效果良好。
Keywords:domain adaptation; kernel embedding; Hilbert-Schmidt independence criterion;
一、介绍
在机器学习领域中,训练模型用来预测测试数据集的响应变量。训练过程基于最小化损失函数,只有当训练数据集是测试数据的合适代表,学习才能达到目的。
在传统预测模型中,假设训练数据集和测试数据集都是同一分布的,然而,实际上因为各种原因两个数据集的分布是不同的。
机器学习中的领域自适应问题一直是人们关注的焦点,人们进行的研究有:
- 协变量移位
- 类不平衡
- 半监督学习
- 多任务学习
- 样本选择偏差
但所有这些方法都主要通过两种方法来解决问题:
- 重新加权源实例
- 改变表示空间
文献中提出的方法有一些共同的缺点:
- 在高维数据集中,底层分布的近似使得问题难以解决
- 探索不一定是线性的数据的新表示,通常使解决问题的计算成本很高
- 一些领域适应技术只适用于有限的预测模型。
我们提出的方法能解决以上问题,该算法在新的特征空间中寻找数据的新表示,使嵌入的训练数据集和测试数据集的潜在概率分布尽可能接近,并保留数据的重要结构信息,以供进一步的预测分析。这两个约束导致了一个具有封闭解的单一优化问题
符号
设
X
X
X和
ϕ
\phi
ϕ表示随机变量(即原特征空间和新特征空间中的输入变量),
Y
Y
Y表示对应的响应变量(即类标签等输出变量)。
P
(
X
,
Y
)
P (X, Y)
P(X,Y)是
X
X
X和
Y
Y
Y的联合概率分布,
P
t
r
(
X
)
P_{tr}(X)
Ptr(X)和
P
t
s
(
X
)
P_{ts}(X)
Pts(X)表示训练和测试数据集中
X
X
X和
Y
Y
Y的真实边际概率分布。同样,我们用
P
t
r
(
Y
∣
X
)
P_{tr}(Y|X)
Ptr(Y∣X)和
P
t
s
(
Y
∣
X
)
P_{ts}(Y|X)
Pts(Y∣X)来表示这两个域的真实条件概率分布。
粗体小写字母,
x
\boldsymbol{x}
x是d维的样本。
X
t
r
X_{tr}
Xtr和
X
t
s
X_{ts}
Xts分别表示大小为
d
×
n
t
r
d\times n_{tr}
d×ntr和
d
×
n
t
s
d\times n_{ts}
d×nts的训练数据集和测试数据集样本的矩阵。
n
t
r
n_{tr}
ntr和
n
t
s
n_{ts}
nts分别为训练数据集和测试数据集中的样本数。
X
d
×
n
X_{d\times n}
Xd×n =
[
X
t
r
X
t
s
[X_{tr}\space X_{ts}
[Xtr Xts]是一个
n
,
d
n, d
n,d维样本的矩阵,其中
n
=
n
t
r
+
n
t
s
n = n_{tr} + n_{ts}
n=ntr+nts。
Φ
\Phi
Φ是新特性空间中数据的新表示,其中
Ψ
:
X
→
Φ
\Psi:X\rightarrow\Phi
Ψ:X→Φ被定义为
Φ
\Phi
Φ,这样
Φ
:
=
[
Φ
t
r
Φ
t
s
]
\Phi: = [\Phi_{tr}\Phi_{ts}]
Φ:=[ΦtrΦts]。
Φ
t
r
\Phi_{tr}
Φtr和
Φ
t
s
\Phi_{ts}
Φts表示新表示空间中嵌入的训练和测试数据集。
二、方法
区域自适应问题的主要挑战是训练数据集和测试数据集的联合概率分布的不相似性。分解为
p
t
r
(
X
,
Y
)
=
p
t
r
(
X
)
p
t
r
(
Y
∣
X
)
p
t
s
(
X
,
Y
)
=
p
t
s
(
X
)
p
t
s
(
Y
∣
X
)
p_{tr}(X,Y)=p_{tr}(X)p_{tr}(Y|X)\\p_{ts}(X,Y)=p_{ts}(X)p_{ts}(Y|X)
ptr(X,Y)=ptr(X)ptr(Y∣X)pts(X,Y)=pts(X)pts(Y∣X)
假设为:训练数据集和测试数据集的联合概率分布之间的所有差异,都是由于它们的边缘概率分布之间的差异所造成的。这里存在一种新的数据表示
Φ
\Phi
Φ,使得嵌入训练数据集和测试数据集的边缘概率分布相似,这意味着
p
t
r
(
Φ
)
≈
p
t
s
(
Φ
)
p_{tr}(\Phi)\approx p_{ts}(\Phi)
ptr(Φ)≈pts(Φ)
1.最小化两个概率分布之间的距离
最大平均偏差(MMD)是数据集分布之间距离的非参数度量。
MMD
(
P
^
t
r
,
P
^
t
s
)
=
∥
μ
X
t
r
[
P
^
t
r
]
−
μ
X
t
s
[
P
^
t
s
]
∥
H
=
sup
g
∈
F
,
∥
g
∥
H
≤
1
(
E
X
t
r
∼
P
^
t
r
g
(
x
t
r
)
−
E
X
t
s
∼
P
^
t
s
g
(
x
t
r
)
)
\begin{gathered} \operatorname{MMD}\left(\hat{P}_{t r}, \hat{P}_{t s}\right)=\left\|\mu_{X_{t r}}\left[\hat{P}_{t r}\right]-\mu_{X_{t s}}\left[\hat{P}_{t s}\right]\right\|_{\mathcal{H}}= \\ \sup _{g \in \mathcal{F},\|g\|_{\mathcal{H}} \leq 1}\left(\mathbf{E}_{X_{t r} \sim \hat{P}_{t r}} g\left(\mathbf{x}_{t r}\right)-\mathbf{E}_{X_{t s} \sim \hat{P}_{t s}} g\left(\mathbf{x}_{t r}\right)\right) \end{gathered}
MMD(P^tr,P^ts)=∥∥∥μXtr[P^tr]−μXts[P^ts]∥∥∥H=g∈F,∥g∥H≤1sup(EXtr∼P^trg(xtr)−EXts∼P^tsg(xtr))
式中
E
X
∼
P
[
g
(
x
)
]
\mathbf{E}_{\mathbf X \sim P} [g(\mathbf x)]
EX∼P[g(x)]是函数
g
(
x
)
g(x)
g(x)的期望值(样本来自概率分布
P
P
P),MMD可以通过经验估计为
∥
μ
X
t
r
[
P
^
t
r
]
−
μ
X
t
s
[
P
^
t
s
]
∥
H
2
≈
t
r
(
H
L
M
H
L
ϕ
)
\begin{gathered} \left\|\mu_{X_{t r}}\left[\hat{P}_{t r}\right]-\mu_{X_{t s}}\left[\hat{P}_{t s}\right]\right\|_{\mathcal{H}}^2\approx \mathcal{tr}\left(HL_MHL_\phi\right) \end{gathered}
∥∥∥μXtr[P^tr]−μXts[P^ts]∥∥∥H2≈tr(HLMHLϕ)
其中
L
Φ
L_\Phi
LΦ是
Φ
\Phi
Φ上的一个内核,假设是
Φ
T
Φ
\Phi^T\Phi
ΦTΦ,
L
M
L_M
LM是预定义的内核。所以目标函数是:
m
i
n
i
m
i
z
e
t
r
(
H
L
M
H
L
ϕ
)
=
t
r
(
H
L
M
H
Φ
T
Φ
)
\begin{gathered} \mathop{minimize} \mathcal{tr}\left(HL_MHL_\phi\right)=\mathcal{tr}\left(HL_MH\Phi^T\Phi\right) \end{gathered}
minimizetr(HLMHLϕ)=tr(HLMHΦTΦ)
一个简单的解决方法是,将每个概率分布的所有样本折叠到一个点,然后让这两个点彼此靠近。但在将来进行预测分析时,这种新的表示方法会丢失数据中的关键信息,因此,新表示法还应保留任何后期分析所需的重要数据特征。
2.保存数据的重要特征
原始数据及其新表示的依赖性可以作为一种衡量方法,显示预测响应变量的结构和重要特征如何被保留的。HSIC被用作是两个随机变量相关性的量化度量。两个随机变量之间的相关性可以通过概率分布之间的距离来衡量,该度量根据经验估计为:
H
S
I
C
(
X
,
Φ
)
=
(
n
−
1
)
−
2
t
r
(
H
K
X
H
L
Φ
)
\begin{gathered} HSIC\left(X,\Phi\right)=\left(n-1\right)^{-2}\mathcal{tr}\left(HK_XHL_\Phi\right) \end{gathered}
HSIC(X,Φ)=(n−1)−2tr(HKXHLΦ)
其中
L
Φ
L_\Phi
LΦ是
Φ
\Phi
Φ上的一个内核,假设是
Φ
T
Φ
\Phi^T\Phi
ΦTΦ,而
K
X
K_X
KX是原始数据上的一个有效内核。选择内核意味着需要保留的结构和重要信息。补充目标函数是:
m
a
x
i
m
i
z
e
t
r
(
H
K
X
H
L
ϕ
)
=
t
r
(
H
L
M
H
Φ
T
Φ
)
\begin{gathered} \mathop{maximize}\mathcal{tr}\left(HK_XHL_\phi\right)=\mathcal{tr}\left(HL_MH\Phi^T\Phi\right) \end{gathered}
maximizetr(HKXHLϕ)=tr(HLMHΦTΦ)
3.调整成分分析
将
P
(
Φ
t
r
)
P\left(\Phi_{tr}\right)
P(Φtr)和
P
(
Φ
t
s
)
P\left(\Phi_{ts}\right)
P(Φts)之间的距离最小化,并保留
X
X
X的重要特征,建立一个求解域适应问题的单一优化问题,其解决方案是将数据嵌入到一个新的特征空间中。目标函数定义为:
m
a
x
i
m
i
z
e
t
r
(
H
K
X
H
L
ϕ
)
t
r
(
H
L
M
H
L
ϕ
)
\begin{gathered} \mathop{maximize}\frac{\mathcal{tr}\left(HK_XHL_\phi\right)}{\mathcal{tr}\left(HL_MHL_\phi\right)} \end{gathered}
maximizetr(HLMHLϕ)tr(HKXHLϕ)
其中分母是训练数据集的概率分布与测试数据集的概率分布之间的距离的度量,分子是估计原始空间中样本与其对应表示之间相关性的度量。改写为:
m
a
x
i
m
i
z
e
t
r
(
H
K
X
H
Φ
T
Φ
)
t
r
(
H
L
M
H
Φ
T
Φ
)
=
t
r
(
Φ
H
K
X
H
Φ
T
)
t
r
(
Φ
H
L
M
H
Φ
T
)
\begin{gathered} \mathop{maximize}\frac{\mathcal{tr}\left(HK_XH\Phi^T\Phi\right)}{\mathcal{tr}\left(HL_MH\Phi^T\Phi\right)}= \frac{\mathcal{tr}\left(\Phi HK_XH\Phi^T\right)}{\mathcal{tr}\left(\Phi HL_MH\Phi^T\right)} \end{gathered}
maximizetr(HLMHΦTΦ)tr(HKXHΦTΦ)=tr(ΦHLMHΦT)tr(ΦHKXHΦT)
目标函数对于
Φ
\Phi
Φ的任意比例是不变的,可以选择
Φ
\Phi
Φ,使分母等于1。
m
a
x
i
m
i
z
e
t
r
(
Φ
H
K
X
H
Φ
T
)
s
u
b
j
e
c
t
t
o
t
r
(
Φ
H
L
M
H
Φ
T
)
=
1
\begin{gathered} \mathop{maximize}\mathcal{tr}\left(\Phi HK_XH\Phi^T\right)\\ \mathop{subject\space to}\mathcal{tr}\left(\Phi HL_MH\Phi^T\right)=1 \end{gathered}
maximizetr(ΦHKXHΦT)subject totr(ΦHLMHΦT)=1
因为这个优化问题有一个封闭形式的解,所以它可以直接找到最优
Φ
\Phi
Φ。这对应于一个特征向量估计问题,
Φ
T
\Phi^T
ΦT是
K
X
−
1
L
M
K^{−1}_XL_M
KX−1LM的特征向量矩阵。所选特征向量
d
′
≤
d
d'\leq d
d′≤d为新特征空间中数据的维数。
提出的域适应算法称为自适应分量分析(adaptive Component Analysis, ACA),在训练集和测试集的基础上,利用训练集的响应变量来增强算法的性能。它们被封装在内核
K
X
K_X
KX中。一旦找到合适的表示,我们可以对新特征空间中的样本应用进一步的预测算法
分类任务内核 K X K_X KX的选择:
利用训练数据集的响应变量是有价值的信息,可以提高算法的效率。
使用响应变量的信息有利于找到更适合于接下来的预测分析的数据的新表示形式。
根据线性核函数重写
K
X
K_X
KX,我们有:
K
X
=
[
X
t
r
T
X
t
s
T
]
[
X
t
r
X
t
s
]
=
[
K
X
t
r
X
t
r
K
X
t
r
X
t
s
K
X
t
s
X
t
r
K
X
t
s
X
t
s
]
\begin{gathered} K_X= \begin{bmatrix} X_{tr}^T \\ X_{ts}^T \end{bmatrix} \begin{bmatrix} X_{tr} & X_{ts} \end{bmatrix}= \begin{bmatrix} K_{X_{tr}X_{tr}} & K_{X_{tr}X_{ts}} \\ K_{X_{ts}X_{tr}} & K_{X_{ts}X_{ts}} \end{bmatrix} \end{gathered}
KX=[XtrTXtsT][XtrXts]=[KXtrXtrKXtsXtrKXtrXtsKXtsXts]
K
X
t
r
X
t
r
K_{X_{tr}X_{tr}}
KXtrXtr和
K
X
t
s
X
t
s
K_{X_{ts}X_{ts}}
KXtsXts分别收集训练和测试数据集的结构信息,这两个子矩阵对于预测模型的学习或训练是很重要的,它们应该被保存。
矩阵
K
X
K_X
KX可以更改为
K
^
X
\hat{K}_X
K^X,其中
K
^
X
\hat{K}_X
K^X是基于数据和已知的响应变量构建的。
K
X
t
s
X
t
r
K_{X_{ts}X_{tr}}
KXtsXtr最初表示训练数据集和测试数据集样本的相似度。
因此,将
K
X
t
s
X
t
r
K_{X_{ts}X_{tr}}
KXtsXtr和
K
X
t
r
X
t
s
K_{X_{tr}X_{ts}}
KXtrXts两个子矩阵分别用
K
^
X
t
s
X
t
r
=
K
X
t
s
X
t
r
K
Y
t
r
\hat{K}_{X_{ts}X_{tr}}=K_{X_{ts}X_{tr}}K_{Y_{tr}}
K^XtsXtr=KXtsXtrKYtr和
K
^
X
t
r
X
t
s
=
K
Y
t
r
K
X
t
r
X
t
s
\hat{K}_{X_{tr}X_{ts}}=K_{Y_{tr}}K_{X_{tr}X_{ts}}
K^XtrXts=KYtrKXtrXts替换,其中
K
Y
t
r
K_{Y_{tr}}
KYtr是训练数据集
X
t
r
X_{tr}
Xtr响应变量的核,表示训练数据集样本标签之间的相似性,其主要作用是均匀相似样本之间的差异。
根据该公式,将训练数据集的样本
x
i
x_i
xi改为其相似样本的加权均值。权重与样本
x
i
x_i
xi和
x
j
x_j
xj的相似度成正比。这使得相似样本的变化更小。
K
^
X
=
[
K
X
t
r
X
t
r
K
^
X
t
r
X
t
s
K
^
X
t
s
X
t
r
K
X
t
s
X
t
s
]
\begin{gathered} \hat{K}_X= \begin{bmatrix} K_{X_{tr}X_{tr}} & \hat{K}_{X_{tr}X_{ts}} \\ \hat{K}_{X_{ts}X_{tr}} & K_{X_{ts}X_{ts}} \end{bmatrix} \end{gathered}
K^X=[KXtrXtrK^XtsXtrK^XtrXtsKXtsXts]
三、实验结果
本文将该方法与MMDE和CODA进行了比较。
3.1响应变量的内核
那么在ACA中内核
K
X
K_X
KX已经修改为
K
^
X
\hat{K}_X
K^X
将核
K
Y
t
r
与
K
X
t
s
X
t
r
和
K
X
t
r
X
t
s
K_{Y_tr}与K_{X_{ts}X_{tr}}和K_{X_{tr}X_{ts}}
KYtr与KXtsXtr和KXtrXts相乘,基本上就是将训练数据集的每个样本用其对应的相似样本的加权均值替换,使得数据沿相似样本的变化较小。
3.2玩具分类示例
训练数据集和测试数据集由100和200个样本组成,它们分别来自于多元正态分布,均值分别为
μ
t
r
=
(
−
1
,
3
)
μ_{tr} =(−1,3)
μtr=(−1,3)和
μ
t
s
=
(
2
,
1
)
μ_{ts} =(2,1)
μts=(2,1),它们的协方差矩阵相似,
σ
=
[
2
0.5
0.5
2
]
\sigma=\begin{bmatrix}2&0.5\\0.5&2\end{bmatrix}
σ=[20.50.52]
训练数据集和测试数据集分为两类。如果每个集合的第一个特征值小于其对应的均值,则该集合的样本属于第一类,如果其第一个特征值大于其对应的均值,则该集合的样本属于第二类。
图1-a展示了原始特征空间中的数据
图1-b为采用ACA算法的嵌入数据
◦和×是两类的训练数据集
◊
\Diamond
◊和*是测试数据集的两类
可以看出,嵌入的训练数据集分布与测试数据集分布之间的距离减小了。
因此,新的训练数据样本能更好地代表测试数据集进行分类。
利用1-NN对原始数据进行无变化分类,并以错误率为基线。
ACA算法在分类过程的错误率方面提供了显著的改进。
3.3真实世界数据集
3.3.1MNIST手写数字
第一个数据集是图像的集合,是MNIST手写数字。
域适应问题的定义是:分类器在训练集的两位数字上训练,而在测试集的两位不同数字上测试。
表2中所有数据集的训练样本为300个,测试样本为500个
通过本文的所有实验,将ACA中输出数据的维数设为2。
不同算法的错误率如表2所示:
Dig-1在二维空间中的新表示,它的分类效果明显更好:
3.3.2新闻组数据集
第二个数据库是20新闻组数据集,由大约20,000个新闻组文本文档组成,这些文档根据相似的主题被分为四个组。
生成3个数据集,其中“Newsgroup-1”数据集由组1和组2中随机抽取的1000篇帖子作为训练数据集,组3和组4中随机抽取的2000篇帖子作为测试数据集。
错误率是10次试验的平均错误率,每次试验的样本都是从原始数据集中随机选择的。
ACA优于其他方法,除了在第二个数据库是Newsgroup-2。
Wine, German Credit, India diabetes and Ionosphere是UCI存档的数据集,它们的“偏置比例”在偏置过程中被定义为80%。
3.3.3乳腺癌数据集
数据包括699例良性(阳性标签)和恶性(阴性标签)样本。
这是一个基于9个初始特征的二元分类问题。
在偏置比分别为70%、80%、90%的情况下重复实验。
另一个显示方法效率的参数是归一化改进(NI),它量化了算法a相对于算法B的性能有多好。该参数估计为:
N
I
=
∣
E
r
r
o
r
A
−
E
r
r
o
r
B
∣
E
r
r
o
r
A
NI=\frac {\lvert Error_A-Error_B\rvert}{Error_A}
NI=ErrorA∣ErrorA−ErrorB∣
ACA也可以被认为是一种降维技术
总结
我们提出了一种域适应算法,该算法将数据样本转移到一个新的特征空间。探索新的数据表示方法,使训练数据集和测试数据集在新的特征空间中尽可能接近,同时保留数据的重要结构信息。为了解决这个问题并满足上述性质,我们定义了一个快速优化问题,其解已知为给定矩阵的特征向量。实验结果表明,该算法在实际应用中性能良好,在低维情况下具有良好的效率,可作为一种降维技术。
References
- Adapting Component Analysis