论文笔记一:词袋特征表示和最大间隔学习

文章介绍了在CVPR2012中一篇关于复杂事件检测的研究,使用了词袋模型(BoW)对图像进行特征表示,结合最大间隔学习进行分类。BoW忽略了单词顺序,通过SIFT算法提取图像的视觉词汇,并用K-Means构造单词表,将图像转化为数值向量。最大间隔学习用于最大化样本点与决策边界的间隔,提高模型的泛化能力。此外,论文还涉及了隐马尔可夫模型(HMM)在序列建模中的应用。
摘要由CSDN通过智能技术生成

来源

2012CVPR的《Learning Latent Temporal Structure for Complex Event Detection》中使用到Bag-of-Words (BoW) feature representation(词袋特征表示) and max-margin learning(最大间隔学习)

Bag-of-Words (BoW) feature representation

概念

Bag-of-Words (BoW)是一种常见的文本表示方法,用于将文本转换为向量形式,以便在机器学习算法中进行处理。

BoW特征表示是基于文档中出现单词的频率或计数的,而不考虑单词的顺序或语义关系。该方法通过将文本数据集分解为单个单词或短语并计算它们的出现频率来构建文本表示。这些单词或短语被称为“词袋”,因为它们被收集并放置在一个没有结构的袋子里,以表示文档。

例如,考虑以下两个句子:

  • The cat in the hat.

  • The dog chased the cat.

这些句子的BoW表示为:

在这个表中,每行表示一个单词,每列表示一个句子。单元格中的数字表示相应的单词在该句子中出现的次数。在这个例子中,可以看到句子1和句子2有两个共同单词“the”和“cat”,但是它们出现的次数不同。

BoW特征表示具有一些有用的属性,例如易于计算和解释。但是,它也有一些缺点,例如无法捕捉单词之间的语义关系和忽略单词的顺序。这些限制可以通过使用更复杂的文本表示方法来克服,例如n-gram和词嵌入等方法。

在CV领域的应用

如何将词袋模型运用到图像分类上呢?其实,同理为了表示一幅图像,我们可以将图像看作文档,即若干个“视觉词汇”的集合,同样的,视觉词汇相互之间没有顺序。

由于图像中的词汇不像文本文档中的那样是现成的,我们需要首先从图像中提取出相互独立的视觉词汇,需经过如下三个步骤:

  1. 特征检测

  1. 特征表示

  1. 单词本的生成

通过观察会发现,同一类目标的不同实例之间虽然存在差异,但我们仍然可以找到它们之间的一些共同的地方,比如说人脸,虽然说不同人的脸差别比较大,但眼睛,嘴,鼻子等一些比较细小的部位,却观察不到太大差别,我们可以把这些不同实例之间共同的部位提取出来,作为识别这一类目标的视觉词汇。

而SIFT算法是提取图像中局部不变特征的应用最广泛的算法,因此我们可以用SIFT算法从图像中提取不变特征点,作为视觉词汇,并构造单词表,用单词表中的单词表示一幅图像。

接下来,我们通过上述图像展示如何通过Bag-of-words模型,将图像表示成数值向量。现在有三个目标类,分别是人脸、自行车和吉他。

详解

第一步:利用SIFT算法,从每类图像中提取视觉词汇,将所有的视觉词汇集合在一起

第二步:利用K-Means算法构造单词表。K-Means算法是一种基于样本间相似性度量的间接聚类方法,此算法以K为参数,把N个对象分为K个簇,以使簇内具有较高的相似度,而簇间相似度较低。SIFT提取的视觉词汇向量之间根据距离的远近,可以利用K-Means算法将词义相近的词汇合并,作为单词表中的基础词汇,假定我们将K设为4

第三步:利用单词表的中词汇表示图像。利用SIFT算法,可以从每幅图像中提取很多个特征点,这些特征点都可以用单词表中的单词近似代替,通过统计单词表中每个单词在图像中出现的次数,可以将图像表示成为一个K=4维数值向量

上图中,我们从人脸、自行车和吉他三个目标类图像中提取出的不同视觉词汇,而构造的词汇表中,会把词义相近的视觉词汇合并为同一类,经过合并,词汇表中只包含了四个视觉单词,分别按索引值标记为1,2,3,4。通过观察可以看到,它们分别属于自行车、人脸、吉他、人脸类。统计这些词汇在不同目标类中出现的次数可以得到每幅图像的直方图表示(我们假定存在误差,实际情况亦不外如此):

人脸: [3,30,3,20]

自行车:[20,3,3,2]

吉他: [8,12,32,7]

其实这个过程非常简单,就是针对人脸、自行车和吉他这三个文档,抽取出相似的部分(或者词义相近的视觉词汇合并为同一类),构造一个词典,词典中包含4个视觉单词,即Dictionary = {1:”自行车”, 2. “人脸”, 3. “吉他”, 4. “人脸类”},最终人脸、自行车和吉他这三个文档皆可以用一个4维向量表示,最后根据三个文档相应部分出现的次数画成了上面对应的直方图。

需要说明的是,以上过程只是针对三个目标类非常简单的一个示例,实际应用中,为了达到较好的效果,单词表中的词汇数量K往往非常庞大,并且目标类数目越多,对应的K值也越大,一般情况下,K的取值在几百到上千,在这里取K=4仅仅是为了方便说明。

总结

利用Bag-of-words模型将一幅图像表示成为数值向量:

第一步:利用SIFT算法从不同类别的图像中提取视觉词汇向量,这些向量代表的是图像中局部不变的特征点;

第二步:将所有特征点向量集合到一块,利用K-Means算法合并词义相近的视觉词汇,构造一个包含K个词汇的单词表;

第三步:统计单词表中每个单词在图像中出现的次数,从而将图像表示成为一个K维数值向量。

max-margin learning

概念

最大间隔学习(Max-margin learning)是一种机器学习方法,旨在通过将不同的样本点在特征空间中的距离最大化来学习分类器或回归模型。

在二元分类任务中,最大间隔学习的目标是找到一个超平面(或决策边界),该超平面将正样本和负样本分开,并最大化分类器预测的边界与两个最近的训练样本的距离(即“间隔”)。这个间隔被称为“最大间隔”,因为它能够最大程度地减少分类器对噪声的敏感度,并提高其泛化能力

支持向量机(SVM)中,最大间隔学习被广泛应用。SVM通过寻找一个最大间隔超平面,将输入数据映射到高维空间中,并利用核函数来提高非线性分类器的性能。在训练过程中,SVM使用拉格朗日乘子法来求解最优化问题,并找到一个最优的超平面,以最大程度地分离两个类别之间的训练样本。

最大间隔学习在许多其他应用中也被广泛使用,包括推荐系统、信息检索、图像分类和语音识别等。

局限性

Bag-of-Words (BoW) feature representation

Bag-of-Words (BoW)特征表示方法是一种简单而有效的方法,用于将文本或图像转换为向量表示。然而,它也存在一些缺点,例如:

  1. 忽略了单词或特征之间的顺序和上下文信息。BoW模型只关注文本或图像中单词或特征的出现频率或计数,而不考虑它们在文本或图像中的位置和顺序。这可能导致BoW模型丢失一些重要的上下文信息,使得在某些应用中它的效果不尽如人意。

  1. 无法处理多义词和同义词的问题。BoW模型在计算单词频率时无法区分不同的单词含义,因此可能将不同含义的单词视为相同的单词,从而影响了模型的准确性。

  1. 对于高维度和稀疏的特征空间,计算复杂度会非常高。在BoW模型中,特征的数量通常非常大,这导致生成的向量表示非常稀疏。因此,使用BoW模型可能需要消耗大量的计算资源和存储空间。

  1. 对于一些文本分类任务来说,BoW特征表示可能并不适用。例如,对于语法结构比较复杂的文本,BoW模型可能无法很好地捕捉到其内部结构,因此需要更高级的方法来处理。

因此,在使用BoW特征表示方法时,需要考虑其缺点和局限性,并在具体应用场景中进行综合权衡。同时,也需要尝试其他更高级的特征表示方法,以提高模型的准确性和性能。

max-margin learning

尽管最大间隔学习(Max-margin learning)是一种有效的机器学习方法,但它也存在一些缺点:

  1. 对于大规模数据集的处理效率较低。由于最大间隔学习的训练算法需要处理整个数据集,因此在处理大规模数据集时,它的计算和存储成本可能非常高。尽管有一些加速算法可以减少计算量,但它们可能会降低模型的准确性。

  1. 对于非线性问题的处理能力有限。最大间隔学习的分类器通常是线性的,因此它不能直接处理非线性分类问题。为了解决这个问题,需要将最大间隔学习与核方法相结合,将输入空间映射到高维特征空间中,以便进行非线性分类。

  1. 对于标记噪声敏感。由于最大间隔学习的训练过程需要找到具有最大间隔的分类超平面,因此它对标记噪声比较敏感。如果训练数据中存在错误或异常的标记,最大间隔学习的性能可能会受到影响。

  1. 对于多分类问题的处理需要额外的设计。最大间隔学习通常是用于二元分类问题,因此在处理多分类问题时,需要使用多个分类器或设计特殊的训练算法来训练一个多分类器。

总之,最大间隔学习是一种强大的机器学习方法,但在实际应用中需要根据具体的问题和数据集进行综合评估和调整

补充

论文中还使用到了隐马尔可夫模型(Hidden Markov Model, HMM)

隐马尔可夫模型(HMM)

概念

隐马尔可夫模型(Hidden Markov Model, HMM)是一种用于建模时序数据的概率模型。它通常用于对观察序列进行建模,并估计对应的隐藏状态序列,以实现分类、预测或序列生成等任务。

HMM是由两部分组成的:一个隐含状态序列和一个相应的可观察序列。隐含状态序列表示模型中不可直接观测到的状态序列,而可观察序列则表示模型中可以直接观测到的序列。在HMM中,假设隐藏状态序列是一个马尔可夫链,即每个隐藏状态只依赖于前一个状态,而且观测到的每个状态都是由隐藏状态生成的

应用

HMM的主要特点是它可以处理时序数据,可以用来建模任何时序事件的概率分布,例如文本、语音、视频、股票价格等。HMM通常用于以下任务:

  1. 序列分类:根据观察到的序列判断它属于哪个类别。

  1. 序列预测:基于已观察到的序列,预测未来的序列。

  1. 序列生成:生成与已观察到序列相似的新序列。

  1. 序列分割:将序列划分为不同的部分,如分割语音为单词或分割文本为句子。

  1. 序列对齐:将不同序列中的相似部分对齐,例如将多个文档中的同一段落对齐。

HMM的应用非常广泛,在语音识别、自然语言处理、生物信息学、图像处理和金融等领域都有重要应用。

局限(只针对序列分类)

  1. 难以处理长距离依赖关系:HMM 假设当前状态只依赖于前一个状态,而与前面的状态无关。这意味着 HMM 对于长距离依赖关系的建模能力较弱,因此在面对长序列或者需要捕捉长距离依赖的任务中表现可能不佳。

  1. 限制了状态数量:HMM 对状态的数量做出了限制,即在模型中定义了有限个状态。因此,当状态数量较少时,HMM 可能无法有效地表示复杂的序列结构,而当状态数量较多时,HMM 训练和推断的时间和空间成本也会显著增加。

  1. 对初始状态的依赖:HMM 假设第一个观测值是由某个特定的状态生成的,因此 HMM 对于初始状态的选择非常敏感。如果选择了错误的初始状态,HMM 可能会在推断和训练过程中遇到困难。

  1. 对观测数据分布的假设:HMM 假设观测数据是由一个概率分布生成的,通常是连续的高斯分布或离散的多项式分布。如果这个假设不符合实际情况,模型的预测性能可能会受到影响。

因此,对于需要捕捉长距离依赖关系或者需要处理大量状态的任务,HMM 可能不是最佳选择。近年来,随着深度学习的发展,一些基于循环神经网络(RNN)或者变形自编码器(VAE)等深度学习模型已经在序列分类任务中取得了很好的表现,这些模型能够更好地处理长距离依赖关系,并且可以更灵活地表示复杂的序列结构。

补充材料

简洁易懂的讲解:https://www.zhihu.com/question/20962240

  • 2
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值