- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我实现了一个 cosine-theta 函数,它计算两篇文章之间的关系。如果两篇文章非常相似,那么单词应该包含相当多的重叠。然而,余弦 theta 分数 0.54 并不意味着“相关”或“不相关”。我最终应该得到一个明确的答案,0 代表“不相关”,1 代表“相关”。
我知道有 sigmoid 和 softmax 函数,但我应该找到给予这些函数的最佳参数,并且我不知道这些函数是否是令人满意的解决方案。我想我有余弦θ分数,我可以计算两个句子之间的重叠百分比(例如,重叠单词的数量除以文章中的单词数量),也许还有一些更有趣的事情。然后有了数据,我也许可以编写一个函数(我不知道什么类型的函数,这是问题的一部分!),之后我可以通过 SciPy 库最小化错误。这意味着我应该进行某种监督学习,并且我愿意用标签 (0/1) 来标记文章对以训练网络。这值得付出努力吗?
# Count words of two strings.
v1, v2 = self.word_count(s1), self.word_count(s2)
# Calculate the intersection of the words in both strings.
v3 = set(v1.keys()) & set(v2.keys())
# Calculate some sort of ratio between the overlap and the
# article length (since 1 overlapping word on 2 words is more important
# then 4 overlapping words on articles of 492 words).
p = min(len(v1), len(v2)) / len(v3)
numerator = sum([v1[w] * v2[w] for w in v3])
w1 = sum([v1[w]**2 for w in v1.keys()])
w2 = sum([v2[w]**2 for w in v2.keys()])
denominator = math.sqrt(w1) * math.sqrt(w2)
# Calculate the cosine similarity
if not denominator:
return 0.0
else:
return (float(numerator) / denominator)
如上所述,我想使用 p 和余弦 theta 分数等变量来生成准确的离散二进制标签(0 或 1)。
最佳答案
As said, I would like to use variables such as p, and the cosine theta score in order to produce an accurate discrete binary label, either 0 or 1.
这里真正归结为您所说的准确性。除非您有带标签的数据集,否则由您选择重叠如何影响两个字符串是否“匹配”。如果您有一个带标签的数据集(即一组带有 0 或 1 标签的字符串对),那么您可以训练二元分类算法并尝试基于该算法进行优化。由于您的问题可能具有高维、分类性质,我会推荐神经网络或 SVM 之类的东西。
然而,即使是优化也是一种主观衡量。例如,理论上,我们假设您有一个模型,在 100 个样本中仅预测 1 个答案(给出 99 个未知数)。从技术上讲,如果这个答案是正确的,那么该模型的准确度为 100%,但召回率非常低。一般来说,在机器学习中,您会发现召回率和准确性之间存在权衡。
有些人喜欢寻求将两者结合起来的某些指标(其中最著名的是 F1 score ),但老实说,这取决于应用程序。如果我有一个固定预算的营销事件,那么我更关心准确性 - 我只想针对可能购买我的产品的消费者。然而,如果我们想要测试致命疾病或银行欺诈标记,那么该测试的准确率可能只有 10% - 如果其对真阳性的召回率接近 100%。
最后,如果您没有标记数据,那么您最好的选择就是定义一些您认为表明良好匹配的截止值。这将更类似于二元聚类问题,您可以使用一些更抽象的度量(例如到质心的距离)来测试该点属于哪个簇(“相关”或“不相关”簇)。但请注意,在这里您的功能感觉很难定义。
关于machine-learning - 如何将连续的 cosine-theta 分数压缩为离散的 (0/1) 输出?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56466247/
我正在尝试用 Swift 编写一个算法来计算三角形的角度。引用检查 https://www.mathsisfun.com/algebra/trig-solving-sss-triangles.html
我正在使用word2vec来表示一个小词组(3至4个单词)作为唯一矢量,方法是将每个单词嵌入相加或计算单词嵌入的平均值。 通过实验,我总是得到相同的余弦相似度。我怀疑这与在训练后将word2vec生成
我实现了一种称为离散余弦变换的图像/视频变换技术。该技术用于 MPEG 视频编码。我的算法基于以下 URL 中提出的想法: http://vsr.informatik.tu-chemnitz.de/~
好的,首先,这不适用于类、测试或其他学生类型的事件。 我是游戏的脚本编写者,正在尝试实现供所有人使用的数学库,不幸的是,我所能使用的只是非常基本的 lua。实现的版本不能更改,并且不包含任何库。对于那
我是数字人文学科的博士生。我对编程语言还很陌生。 自上个月以来,我遇到了一个困扰我的问题。我正在尝试在 Tensorboard 的嵌入投影仪上可视化 doc2vec 模型(python,gensim
我正在学习 Part 1 上提供的教程& Part 2 .不幸的是,作者没有时间在最后一节中使用余弦相似度来实际找到两个文档之间的距离。在 stackoverflow 的以下链接的帮助下,我按照文章中
我正在用Python语言识别两个正弦信号之间的时移。这方面的一些研究表明,两个输入信号之间的相关性可以解决这个问题。但是,在处理关联时,我不理解np.correlate和scipy.signal.co
我正在用Python语言识别两个正弦信号之间的时移。这方面的一些研究表明,两个输入信号之间的相关性可以解决这个问题。但是,在处理关联时,我不理解np.correlate和scipy.signal.co
我有分类文本语料库。从这些我创建向量。每个向量对应一个文档。向量分量是本文档中计算为 TFIDF 值的单词权重。接下来,我构建一个模型,其中每个类都由单个向量表示。模型具有与语料库中的类一样多的向量。
我是新来的,我的问题是数学性质的,而不是编程性质的,我想就我的方法是否有意义获得第二意见。 我试图使用函数 findAssocs 在我的语料库中找到单词之间的关联。 ,来自 tm包裹。尽管它在通过软件
我正在尝试在一个简单的用例上比较 2 个不同的 DBSCAN 集群。 1/在一种情况下,我使用 DBSCAN 的余弦度量 2/在另一种情况下,我使用余弦相似度预先计算的距离矩阵 我的问题是这两种方法没
我在 L2 归一化特征矩阵上使用 Matlab 的常规 kmeans 算法和“Distance”、“cosine”、“EmptyAction”、“drop”,但遇到了问题。 Matlab 生成的输出只
代码可以编译,但输出错误。例如,当我输入值 45 时,我得到的输出为 1.0。我使用enthought canopy IDE,我哪里出了问题? import math x = int(raw_inpu
这个问题在这里已经有了答案: Why are some functions in not in the std namespace? (3 个答案) 关闭 8 年前。 我有一个相当大的应用程序,我
找到这个代码示例 void *handle; double (*cosine)(double); handle = dlopen("libm.so", RTLD_LAZY); *(void **) (
我正在计算两个 dfm 的余弦相似度对象。一个是我的引用对象,其尺寸为 5 x 4,728,而第二个 dfm是我的目标对象,尺寸为 2,325,329 x 40,595。 我不明白的是为什么texts
我想知道 Spark Cosine Similarity 是否可以处理稀疏输入数据?我见过一些例子,其中输入由以下形式的空格分隔的特征行组成: id feat1 feat2 feat3 ... 但我有
我正在做一个关于电影数据集余弦相似度的项目,我对计算余弦相似度的公式感到困惑。 但是我上网查了一下,有些文章显示分母是这样的: sqrt(A1^2+B1^2) * sqrt(A2^2+B2^2) *
从函数定义来看: https://docs.scipy.org/doc/scipy/reference/generated/scipy.spatial.distance.cosine.html sci
假设我在 python pandas.DataFrame 中有两列: col1 col2 item_1 158 173 item_2 25 191 item_3
我是一名优秀的程序员,十分优秀!