Machine learning 使用匹配分数确定正确的特征(机器学习)
一旦特征可用,我熟悉确定知识库中给定文档集与搜索查询文档(基于余弦距离)的匹配程度。我们将根据特征在向量空间上映射两者 我如何处理相反的情况-我得到了一组文档和多个查询文档的匹配分数,并且必须确定特征(或确定匹配的决策标准)。这将是培训数据,该模型将用于识别与我们的知识数据库相匹配的新项目 搜索查询Machine learning 使用匹配分数确定正确的特征(机器学习),machine-learning,feature-selection,supervised-learning,Machine Learning,Feature Selection,Supervised Learning,一旦特征可用,我熟悉确定知识库中给定文档集与搜索查询文档(基于余弦距离)的匹配程度。我们将根据特征在向量空间上映射两者 我如何处理相反的情况-我得到了一组文档和多个查询文档的匹配分数,并且必须确定特征(或确定匹配的决策标准)。这将是培训数据,该模型将用于识别与我们的知识数据库相匹配的新项目 搜索查询 我们目前的方法是想出一组特征,看看哪些组合在训练集中获得最好的比赛分数。。。但我们最终会尝试多种组合。有更好的方法吗 这里有一个简单而直接的方法(线性模型)应该可以工作。 如果您正在处理文档和查询,
我们目前的方法是想出一组特征,看看哪些组合在训练集中获得最好的比赛分数。。。但我们最终会尝试多种组合。有更好的方法吗 这里有一个简单而直接的方法(线性模型)应该可以工作。 如果您正在处理文档和查询,那么您使用的功能可能是那些标记(或单词)或n-gram或主题。让我们假设这些特性是为了简单 假设您有一个查询文档:
apple iphone6
您有一组文档及其与上述查询对应的匹配分数:
(假设文档是URL的内容)
每查询模型
首先,您需要从匹配的URL中提取单词特征。假设我们得到word和他们的TF/IDF分数:
www.apple.com
apple 0.5
iphone 0.4
ios8 0.1
www.cnet.com/products/apple-iphone-6
apple 0.4
iphone 0.2
review 0.2
cnet 0.2
www.stuff.tv/apple/apple-iphone-6/review
apple 0.4
iphone 0.4
review 0.1
cnet 0.05
stuff 0.05
其次,您可以组合功能分数和匹配分数,并根据每个功能进行聚合:
w(apple) = 0.5 * 0.8 + 0.4 * 0.75 + 0.1 * 0.7 = 0.77
w(iphone) = 0.4 * 0.8 + 0.2 * 0.75 + 0.4 * 0.7 = 0.75
w(ios8) = 0.1 * 0.8 = 0.08
w(review) = 0.2 * 0.75 + 0.1 * 0.7 = 0.22
w(cnet) = 0.2 * 0.75 = 0.15
w(stuff) = 0.05 * 0.7 = 0.035
您可能需要执行一个规范化步骤,将每个w
除以文档数。现在,您可以按其相关性体面地排列以下功能:
w(apple)=0.77 / 3
w(iphone)=0.75 / 3
w(review)=0.22 / 3
w(cnet)=0.15 / 3
w(ios8)=0.08 / 3
w(stuff)=0.035 / 3
您甚至可以使用这些权重获得线性分类器:
score = w(apple) * tf-idf(apple) + w(iphone) * tf-idf(iphone) + ... + w(stuff) * tf-idf(stuff)
假设现在您有一个新的url,其中检测到以下功能:
ios8: 0.5
cnet: 0.3
iphone:0.2
然后,您可以计算查询“apple iphone6”的匹配分数:
然后,可以使用匹配分数对文档与相同的查询的相关性进行排序
任意查询模型
您可以执行相同的操作来为每个查询构造一个线性模型。假设您的培训数据中有k
这样的查询和匹配文档,您将得到
k
此类模型;每个模型都是基于一个查询构建的
model(apple iphone6) = (0.77*apple + 0.75iphone + 0.22review + ...) / 3
model(android apps) = (0.77google + 0.5android + ...) / 5
model(samsung phone) = (0.5samsung + 0.2galaxy + ...) / 10
注:在上面的示例模型中,3、5、10是规范化器(与每个查询匹配的文档总数)
现在出现一个新查询,假设它是:
samsung android release
我们剩下的任务是:
- 查找相关查询
q1、q2、…、qm
- 使用查询模型对新文档进行评分和聚合
similarity(samsung phone, samsung android release) = 0.2
similarity(android apps, samsung android release) = 0.2
总体排名
因此,我们的最终评级为:
0.2*model(samsung phone) + 0.2*model(android apps) =
0.2* (0.77*apple + 0.75iphone + 0.22review + ...) / 3 +
0.2* (0.77google + 0.5android + ...) / 5
通常,在这些信息检索应用程序中,您构建了从特征(单词)到文档的反向索引。因此,最终排名应该能够在顶级文档中非常有效地进行评估
参考文献
有关详细信息,请参考Omid Madani等人中的IND算法
similarity(samsung phone, samsung android release) = 0.2
similarity(android apps, samsung android release) = 0.2
0.2*model(samsung phone) + 0.2*model(android apps) =
0.2* (0.77*apple + 0.75iphone + 0.22review + ...) / 3 +
0.2* (0.77google + 0.5android + ...) / 5