问题标签 [cosine-similarity]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
machine-learning - 机器学习当数据集只包含一类实例时使用什么方法?
我有一个特定领域的数据集(比如运动 - 1 类)。我想要做的是,当我将网页提供给分类器/集群时,我想得到一个结果,无论该实例(网页)是否与运动相关。
weka 中的大多数分类器都不能处理一元类数据集,除了 LibSVM(包装器)。我用 LibSVM 做了一些测试,但问题是在对不相关的数据集进行测试期间,即使实例是空的,我也能正确分类它们!有什么建议么?
如果我在这里使用余弦相似度测量怎么办?
python - 推荐系统 - 使用不同的指标
我正在寻找实现基于项目的新闻推荐系统。有几种方法我想跟踪用户对新闻项目的兴趣;它们包括:评分 (1-5)、收藏夹、点击率和花在新闻项目上的时间。
我的问题:有哪些好的方法可以将这些不同的指标用于推荐系统?也许以某种方式合并和规范化它们?
percentage - 我可以标准化余弦相似度吗?
有没有办法将余弦相似度列表转换为百分比?我试图把我的大脑包裹起来,但我很怀疑。
像这样标准化四个文档的余弦值是否有意义:
总结他们
并使它们正常化。
还是有更可接受的显示方式?
machine-learning - 余弦相似度聚类
我有一个想要聚类的大型数据集。我的试运行集大小是 2,500 个对象;当我在“真正的交易”上运行它时,我将需要处理至少 20k 个对象。
这些对象之间具有余弦相似性。这种余弦相似度不满足作为数学距离度量的要求;它不满足三角不等式。
我想以某种“自然”的方式对它们进行聚类,将相似的对象放在一起,而无需事先指定我期望的聚类数量。
有谁知道可以做到这一点的算法?真的,我只是在寻找不需要 a) 距离度量和 b) 预先指定数量的集群的任何算法。
非常感谢!
这个问题之前在这里被问过: Clustering from the cosinesimilarity values (但这个解决方案只提供 K-means 聚类),在这里: Effective clustering of asimilarity matrix (但这个解决方案相当模糊)
java - 如何使用 Lucene 或余弦相似度查找文档相似度
大家好,我正在做一个网络项目,它具有查找两个文档之间相似性的功能。这些文件是文本文件。所以我需要使用余弦相似度或 lucene 来做到这一点。谁能帮我做到这一点?我找不到任何代码示例。我需要的是使用 lucene 或余弦相似度查找文档相似度的代码示例。请帮助我克服这个问题。(我正在使用 java 开发程序。请为此提供完整的代码示例)。提前致谢。
python - Python: Cosine Similarity m * n matrices
I have two M X N matrices which I construct after extracting data from images. Both the vectors have lengthy first row and after the 3rd row they all become only first column. for example raw vector looks like this
Both vectors have a similar pattern where first three rows have lengthy row and then thin out as it progress. Do do cosine similarity I was thinking to use a padding technique to add zeros and make these two vectors N X N. I looked at Python options of cosine similarity but some examples were using a package call numpy. I couldn't figure out how exactly numpy can do this type of padding and carry out a cosine similarity. Any guidance would be greatly appreciated.
cluster-analysis - 如何以相似度为度量进行聚类?
我阅读了有关球形kmeans的信息,但没有遇到实现。要清楚,相似性很简单,是两个文档单位向量的点积。我读过标准k均值使用距离作为度量。距离被指定为矢量距离,就像在坐标几何 sqrt((x2 -x1)^2 + (y2-y1)^2) 中一样?
search-engine - 欧几里得距离还是余弦相似度?
我正在阅读 相似度测量 ,突然间我的整个世界都分崩离析了。我已经使用聚类技术实现了一个搜索引擎。对于聚类,我使用了 K 均值,其距离度量为欧几里德距离。我还使用余弦相似度来显示结果。我得到了惊人的准确结果。但是现在我读到了这篇文章,我所做的是规范化文档向量并计算两个向量之间的欧几里德距离,因此我没有考虑任何地方的幅度。
难道我做错了什么 ?
虽然我认为更高的词频会弥补更高的 tf-idf 值和更高的标准化 tf-idf 值,因此会适当地排名靠前。谢谢
结果(使用未归一化的向量,这些数字是欧几里得距离)
结果(使用归一化向量,数字是欧几里得距离)
结果(数字为余弦相似度)
结果 1 和 2 彼此不一致,而 2 和 3 非常一致。相似度更高,距离更小。在聚类质心向量和每个文档的文档向量之间获取距离。
事实上,最奇怪的结果是欧几里得距离为 418 且相似度最高为 0.87 的文档。而归一化距离变为 0.49 并且与相似性一致。
math - 计算两个不同大小向量的余弦相似度
我有2个问题,
我通过找出每个单词在文档中出现的次数从文档中创建了一个向量。这是制作矢量的正确方法吗?还是我还必须做其他事情?
使用上述方法,我创建了 16 个不同大小的文档的向量。现在我想应用余弦相似度来找出每个文档的相似度。我遇到的问题是获得两个向量的点积,因为它们的大小不同。我该怎么做?
math - 识别相似日志文件的相似性度量
我想实现一个可以准确识别相似日志文件的相似函数。到目前为止,我无法为我的问题找到合适的相似度指标。
我有几台电脑(大约 300 台电脑)生成的日志文件,其中每个文件都包含每天访问的 IP 地址。我想通过每天比较访问的 IP 地址来比较相似度。也就是说,我想比较 PC1 的 day1 和 PC2 的 day1 等等......
例如(假设每个日志文件仅包含 4 天的数据,如果在特定日期没有访问任何内容,则该行留空):
我在 PC1 和 PC2 之间的相似度得分是:
对于这个问题,我可以使用 Jaccard 相似度指数(将每天视为一组 IP 地址)。但我不确定这是否是一个合适的指标or
,在为这个问题应用 Jaccard 索引时是否存在任何技术缺陷(或需要满足的条件)。
在查找类似文档时,我看到有人将 Jaccard 索引应用于整个文档,但这不是我想要的。在我的例子中,我想对每一天应用 Jaccard 索引并将它们相加以找到最终的相似度值。这种方法在技术上合理吗?
谢谢你。
Update:
Objective of this study
- 我们有大约 1000 个 IP 地址,我们想要监控每台 PC 由同一个人使用的浏览(浏览这 1000 个 IP 地址)模式。这项研究为期 5 个工作日,我们会记录访问的 IP 地址。如果这些 IP 地址中的任何一个在星期一被访问,它的权重最高,而如果它在星期五被访问,它的权重最低。周二、周三和周四的权重相应地进行了标准化。这就是为什么我对日常相似性更感兴趣的原因。而我的最终目标是找到具有相似浏览模式的人(考虑所有 5 天)。这项研究有点奇怪,但我是为一个项目做的。