码迷,mamicode.com
首页 > 其他好文 > 详细

Bag of words模型

时间:2018-01-21 21:28:05      阅读:222      评论:0      收藏:0      [点我收藏+]

标签:样本   简单的   文档   visual   利用   问题   视觉   games   pos   

因为在使用SIFT特征作图像分类时,一张图像通常有很多keypoints,一个keypoints有一个128维的特征向量,而若直接将这些特征向量只做简单的串联就输入分类器中,是不对的。我们需要一个能够表示整体图像的特征向量,所以要用到该模型。今天写一下学习的笔记。

简介:

Bag of words模型最初被用在文本分类中,将文档表示成特征矢量。

对于一个文档,忽略单词之间的词序、语法和句法等,仅将其看作是一堆单词(words)的集合。

多个文档的单词集合可组成一个袋子(bag)。袋子也称为词典、词汇表(Dictionary / vocabulary)。

袋中每个单词相互独立,将其聚类,类内相似度高,类间相似度低。合并后袋中只有不重复的单词(类)。

统计袋中每个单词在每个文档中出现的次数。假设有K个单词,则可对每个文档可画出对应的K维直方图。

若是分类问题,则可根据K维直方图中的单词词频,判断每个文档属于哪一类别。

经典例子:

文档一:Bob likes to play basketball, Jim likes too.

文档二:Bob also likes to play football games.

基于这两个文档构建的词典:

Dictionary = {1:"Bob", 2:"like", 3:"to", 4:"play", 5:"basketball", 6:"also", 7:"football", 8:"games", 9:"Jim", 10:"too"}

利用词典的索引号,以及每个单词在每个文档中出现的次数,我们可以得到表示两个文档的10维特征向量:

文档一:[1, 2, 1, 1, 1, 0, 0, 0, 1, 1]

文档二:[1, 1, 1, 1 ,0, 1, 1, 1, 0, 0]

向量中并没有表现出单词在文档中的词序。

应用于CV:

Bow模型也可用于计算机视觉的图像分类(image classification)中,每张图像的特征可视为视觉单词。A bag of visual words则为统计视觉单词出现的次数,用一个K维特征向量表示每张图像。

如何利用Bag of words模型将一幅图像表示为一个特征向量:

1、利用SIFT算法从属于不同类别的图像中提取出N个局部不变的特征点(keypoints)向量,作为视觉词汇;(每张图像的N,个数不同)

2、将所有特征点向量集中到一块,利用K-Means算法(基于样本间相似性度量的间接聚类方法)合并词义相近的视觉词汇,构造一个包含K个视觉词汇的词汇表(vocabulary);

3、统计词汇表中每个单词在每张图像中出现的次数,从而将每张图像表示为一个K维数值向量。即所求特征向量,最后用于分类器的输入。

Bag of words模型

标签:样本   简单的   文档   visual   利用   问题   视觉   games   pos   

原文地址:https://www.cnblogs.com/tuji-sjp/p/8325477.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!