词袋模型的理解-2014-05-06
合集下载
相关主题
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
以上向量也可以用单词的直方图表示:词表就相当于直方图的 基,新来的要表述的文档向这个基上映射
并不是所有的单词都用来构建词表: ① 相似的词:相似的Baidu Nhomakorabea词用一个单词表示。例如“walk, walking ,walks”都用 “walk”表示。(聚类问题) ② 禁用的词:像a, an, the等冠词在各个文档中出现的频率都很 高,不容易被区分,这类单词在建立词表的时候不被使用。 (TF-IDF)
图4:K-means算法:将M个特征向量聚类为4个
经过聚类后,词汇表中单词数为4个。
③ 利用视觉词袋量化图像特征,利用词频表示图像。
利用SIFT算法,可以从每幅图像中提取很多个特征点,这些特征点都 可以用词汇表中的单词近似代替,通过统计词汇表中每个单词在图像 中出现的次数,可以将图像表示成为一个K=4维数值向量:
bag-of-words 实现步骤
1. 词汇表的建立:大数据聚类,找到合适的聚类中心 点——vocabulary 2. 样本的训练:对每个文档进行训练,得到每个文档 的低维表示; 3. 新来样本的识别:对新来的样本先用词表中单词得 到低维表示,然后用分类器进行分类预测。
应用: 假设一个巨大的文档集合,里面一共有M个文档,而文 档里面的所有单词提取出来后,一起构成一个包含N个 单词的词表,利用Bag-of-words模型,每个文档都可 以被表示成为一个N维向量,计算机非常擅长于处理数 值向量。这样,就可以利用计算机来完成海量文档的 分类过程。
② 利用K-Means算法构造词汇表-vocabulary。
K-Means算法是一种基于样本间相似性度量的间接聚类方法,此算法以 K为参数,把M个对象分为K个簇,以使簇内具有较高的相似度,而簇间 相似度较低。 SIFT提取的视觉单词向量,根据距离的远近,可以利用K-Means算法将 词义相近的词汇合并,作为词汇表中的基础词汇,假定我们将K设为4 ,那么词汇表的构造过程如图4所示:
这个词表一共包含10个不同的单词,利用词表的索引号,上面 两个文档可以用一个10维向量表示(向量中元素为词表中单词在 文档中出现的频率): D=[1, 2, 3, 4, 5, 6, 7, 8, 9, 10] ① [1, 2, 1, 1, 1, 0, 0, 0, 1, 1 ] ② [1, 1, 1, 1 ,0, 1, 1, 1, 0, 0 ]
• 例如有如下两个文档:
① Bob likes to play basketball, Jim likes too. ② Bob also likes to play football games.
基于这两个文本文档,构造一个词表:
Vocabulary = {1. “Bob”, 2. “like”, 3. “to”, 4. “play”, 5. “basketball”,6. “also”, 7. “football”, 8. “games”, 9. “Jim”, 10. “too”}。
一个视觉单词
图2 从图像中提取出相互独立的视觉单词
SIFT算法是提取图像中局部不变特征的应用最广泛的 算法,因此可以用SIFT算法从图像中提取不变特征点 ,作为视觉单词,并构造词汇表,用词汇表中的单词 表示一幅图像。 以下举例例讲解一下bag-of-visual-words模型的建 立步骤。
三、bag-of-visual-words模型建立步骤
“词袋模型” 的理解
目录
• 一、bag-of-words 简介 • 二、bag of visual words(视觉词袋模型) • 三、bag-of-visual-words模型建立步骤
一、bag-of-words 简介
• Bag-of-words模型是信息检索领域常用的文档表示 方法。在信息检索中,BOW模型假定对于一个文档, 忽略它的单词顺序和语法、句法等要素,将其仅仅 看作是若干个词汇的集合,文档中每个单词的出现 都是独立的,不依赖于其它单词是否出现。也就是 说,文档中任意一个位置出现的任何单词,都不受 该文档语意影响而独立选择的。
BOW难免会有出错的时候,识别率大概在60%-80%之间,一方面 是数据量巨大的问题,另外一方面也是因为图像之间的相似度 高。整体来讲,BOW的识别率还是在可以接受的范围。
谢谢!
实际应用中,为了达到较好的效果,单词表中的词汇数量K往 往非常庞大,并且目标类数目越多,对应的K值也越大,一般 情况下,K的取值在几百到上千,在这里取K=4仅仅是为了方 便说明。
Bag-of-visual-vords模型建好后,对于新来的图像,同样 ① 先提取SIFT特征。 ② 用词表中的单词将图像表示成数值向量直方图。 ③ 通过分类器进行分类,看它属于哪一类图片。
人脸:[3,30,3,20] 自行车:[20,3,3,2] 吉他:[8,12,32,7]
每幅图的直方图表示如下:
总结一下这个过程就是: 针对“人脸、自行车和吉他”这三个文档,抽取出一部分特 征,构造一个词表,词表中包含4个视觉单词,即 vocabulary = {1:”自行车”2.“人脸” 3.“吉他” 4.“人脸类”}, 最终“人脸、自行车和吉他”这三个文档皆可以用一个4维向 量表示,最后根据三个文档相应部分出现的次数画成对应的 直方图。
① 利用SIFT算法,从每类图像中提取视觉单词,将所有的视 觉单词集合在一起。
以SIFT128维为例:假如现在有3张训练图片,对每一张训练图片都提 取SIFT的128维特征,那么最终可以得到 M = N1+N2+N3 个128维的特征 ,Ni 代表第i张图特征点的个数。 1 sift特征点= 视觉单词 128
二、bag-of-visual-words简介
• 考虑将Bag-of-words模型应用于图像表示,这就 是视觉词袋模型。为了表示一幅图像,我们可以 将图像看作文档,即若干个“视觉单词”的集合 ,同样的,视觉单词相互之间没有顺序。
图1 将Bag-of-words模型应用于图像表示
由于图像中的单词不像文本文档中的那样是现成的, 我们需要首先从图像中提取出相互独立的视觉单词, 这通常需要经过三个步骤: (1)特征检测(2)特征表示(3)词汇表的生成
TF-IDF(term frequency–inverse document frequency )是一种统计方法,用以评估一字词对于一个文件 集中的其中一份文件的重要程度。
主要思想是:如果某个单词在一篇文章中出现的频 率(TF)高,并且在其他文章中很少出现(IDF), 则认为这个单词具有很好的类别区分能力,适合用 来分类。