> 文章列表 > 【论文阅读】Co-EM Support Vector Learning

【论文阅读】Co-EM Support Vector Learning

【论文阅读】Co-EM Support Vector Learning

论文下载
bib:

@INPROCEEDINGS{Brefeld2004CoEMSVM,
title 		= {Co-EM Support Vector Learning},
author 		= {Ulf  Brefeld and Tobias Scheffer},
booktitle 	= {ICML},
year 		= {2004},
pages 		= {16}
}

1. 摘要

Multi-view algorithms, such as co-training and co-EM, utilize unlabeled data when the available attributes can be split into independent and compatible subsets.

Co-EM outperforms co-training for many problems, but it requires the underlying learner to estimate class probabilities, and to learn from probabilistically labeled data.

Therefore, co-EM has so far only been studied with naive Bayesian learners.

We cast linear classifiers into a probabilistic framework and develop a co-EM version of the Support Vector Machine.

We conduct experiments on text classification problems and compare the family of semi-supervised support vector algorithms under different conditions, including violations of the assumptions underlying multiview learning.

For some problems, such as course web page classification, we observe the most accurate results reported so far.

Notes:

  • 本文的贡献是将Co-EM算法的基础分类器从朴素贝叶斯分类器(naive Bayesian learners)拓展到支持向量机(SVM)。
  • Q: Co-EM有和朴素贝叶斯分类器(概率模型)耦合在一起吗。

2. 算法描述

2.1. EM

In the EM algorithm, one single hypothesis iteratively labels the unlabeled data probabilistically, and then adapts its parameters to the data.

在这里插入图片描述

2.2. Co-training

在这里插入图片描述
Note: 值得注意的是,这里的Co-training并不是我们印象中的两个视图分别给对方分配伪标签,而是对于在无标记样本中选取等量的正负样本打上伪标签扩充有标记数据DlD_lDl。这样会导致两个视图分类器基于同一个DlD_lDl训练,这里不会存在问题,是因为DlD_lDl存在两个视图V1,V2V_1, V_2V1,V2,而在单视图数据集中为了避免在同一个DlD_lDl上训练,才会存在互相给对方分配伪标签(增加模型多样性,构造分歧disagreement).

2.2. Co-EM

在这里插入图片描述
Note: 从这里,可以回答我们之前的疑问,Co-EM为什么会和朴素贝叶斯(概率模型)耦合在一起。主要原因是,它不是直接对无标记数据打伪标签,而是E步给所有的无标记数据分配类概率。然后在M步通过无标记数据的后验概率更新模型参数。CO-EM算法要求每个分类器对未标记数据产生类概率估计,此外,必须构造一个学习算法,利用已经标记了类概率的数据进行训练。

2.3. Co-EM Support Vector Learning

将Co-EM算法的朴素贝叶斯转化为SVM有两个难点:

  1. 每个分类器对未标记数据产生类概率估计
  2. 构造一个学习算法,利用已经标记了类概率的数据进行训练

对于第一个难点,对于文章中的处理方案很困惑。其中的核心就是计算p^(y∣xj∗)\\hat{p}(y|x^*_j)p^(yxj),对于原文中的处理不太理解。但是参考贝叶斯线性估计,可以知道,inference阶段,获得p^(w∣Data)\\hat{p}(w|Data)p^(wData), predict阶段,则可计算f(x)=wx=p^(w∣Data)p(xj∗)f(x) = wx=\\hat{p}(w|Data)p(x^*_j)f(x)=wx=p^(wData)p(xj)


还是不服气,又重新仔细的阅读了一下原论文。我发现之前有点理解错论文的意思了,先把感悟记录一下。

我们还是回到作者提出的难点一: 每个分类器对未标记数据产生类概率估计。这个是说对于分类类目的概率估计,这一点其实在逻辑回归(一种分类算法)中很容易得到。现在问题是分类算法如果采用SVM这种没有概率估计的分类模型,应该怎么产生类概率估计,这才是论文作者所说的难点。

Decision function value fi−1v‾(xj∗)f^{\\overline{v}}_{i-1}(x^*_j)fi1v(xj)。这个我理解的是SVM中的decision function,表示分类器对预测样本是位于超平面的右侧还是左侧(表现在正负),以及离超平面有多远(表现在绝对值)。最开始阅读的时候,没有对于这个的理解,导致对论文的理解产生了偏差。

现在整理一下思路。我们现在有类似于置信度的指标(decision function),但是我们想获得类的概率。从这里开始才是作者处理这个问题的思路。

作者假设一个参数模型:假设类的决策函数值 p(f(x)∣y)∼N(μ,σ2)p(f(x)|y)\\sim \\mathcal{N}(\\mu, \\sigma^2)p(f(x)y)N(μ,σ2)。直观的理解是,对于正类父类,分别统计decision function的概率密度函数(这里是假设服从高斯分布)。
μy=1∣Dly∣+∣Duy∣(∑x,y∈Dlf(x)+∑x∈Duyf(x))(1)\\mu_y = \\frac{1}{|D_l^y|+|D_u^y|}(\\sum_{x, y \\in D_l}{f(x)}+\\sum_{x \\in D_u^y}{f(x)}) \\tag{1}μy=Dly+Duy1(x,yDlf(x)+xDuyf(x))(1)
σy=1∣Dly∣+∣Duy∣(∑x,y∈Dl;x∈Duy(f(x)−uy)2)(2)\\sigma_y = \\frac{1}{|D_l^y|+|D_u^y|}(\\sum_{x, y \\in D_l;x \\in D_u^y}({f(x)-u_y})^2)\\tag{2}σy=Dly+Duy1(x,yDl;xDuy(f(x)uy)2)(2)

现在我们有了等式1, 2,就可以计算任意 decision function对应的概率密度。这里可以停下来理解一下。
高斯分布的密度函数
N(x∗∣y)=12πσyexp⁡−(x∗−μy)22σ2N(x^*|y) = \\frac{1}{\\sqrt{2\\pi}\\sigma_y}\\exp-{\\frac{(x^*-\\mu _y)^2}{2\\sigma^2}}N(xy)=2πσy1exp2σ2(xμy)2

最后,
p^(y∣xj∗)=N(f(x∗)∣y)p^(y)N(f(x∗)∣y)p^(y)+N(f(x∗)∣y‾)p^(y‾)。\\hat{p}(y|x^*_j) = \\frac{N(f(x^*)|y)\\hat{p}(y)}{N(f(x^*)|y)\\hat{p}(y)+N(f(x^*)|\\overline{y})\\hat{p}(\\overline{y})}。p^(yxj)=N(f(x)y)p^(y)+N(f(x)y)p^(y)N(f(x)y)p^(y)
这个就是公式的出现,标志着第一个难点解决了。还记得第一个难点是什么吗,量化类的概率。最开始我一致以为这个公式和贝叶斯估计有关系,现在看来是毫无联系了。

对于第二个难点,文中是对SVM的优化目标进行了改造,其中对于无标记样本的权重关于预测概率进行了加权。
在这里插入图片描述

note:

  • 作者为了让p^(y)\\hat{p}(y)p^(y)在给无标记数据打伪标签后依然不变,所以对于无标记样本也按照这个比例来分配。p^(y=1)∣Du∣\\hat{p}(y=1)|D_u|p^(y=1)Du个分配给Du+D_u^+Du+

3. 总结

本文对于p^(y∣xj∗)\\hat{p}(y|x^*_j)p^(yxj)实在是难以理解,但是本文的工作就是一个延申工作,将Co-EM的基础模型朴素贝叶斯替换为SVM。