首页
CtrlK
Mleon的头像

余弦相似度,一目了然!!!

余弦相似性
3
余弦相似性
直觉处理
直觉处理
定量处理
定量处理
计算方式
计算方式
视频开场
视频开场
肉眼判断
肉眼判断
肉眼难判
肉眼难判
余弦相似
余弦相似
最简比较
最简比较
制作表格
制作表格
画二维图
画二维图
角度计算
角度计算
三次hello
三次hello
仅限角度
仅限角度
相同短语
相同短语
相反短语
相反短语
相似判断
相似判断
繁琐计算
繁琐计算
公式计算
公式计算
逐个解释
逐个解释
逐个代入
逐个代入
二维可视
二维可视
高维不可
高维不可
无五维图
无五维图
无需可视
无需可视
代入计算
代入计算
本文总结
本文总结
电影介绍
电影介绍
堆栈探索
堆栈探索
单集封面
单集封面

余弦相似度,一目了然!!!

03-16
3 次观看
Mleon的头像
Mleon
粉丝:156
主题:4
描述:10
例子:11
广告:1
其他:3
字数:2740

余弦相似度,一目了然!!!

Cosine Similarity, Clearly Explained!!!

03-16
3 次观看
Mleon的头像
Mleon
粉丝:156
Mleon的头像
Mleon
粉丝:156
主题:4
描述:10
例子:11
广告:1
其他:3
字数:2740

余弦相似性

直觉处理

开场 视频开场

出处: https://youtu.be/e9U0QAFbfLI?si=_RPCpqGtrbBDbZ3G

我认为 cosine 很好,所以我们将在这一行和那一行之间计算它,那个问题。你好,我是Josh Starmer,欢迎来到堆栈探索。今天我们将讨论余弦相似性,当你构建并部署时,你会清楚地理解它。非常棒的内容。它真的是一种快速且轻量级的工具。现在,光线,这个堆栈探索也由字母A,B和C,A提供支持。永远保持好奇,始终保持好奇。

肉眼判断

想象一下,我们看到了关于1990年热门电影《巨魔2》的这些句子。很容易看出前三个句子彼此相似。它们都表达了对这部电影的正面情感。相比之下,最后一句话来自不喜欢《巨魔2》的人。当我们没有太多句子时,很容易看出哪些句子相似,哪些不同。

困难 肉眼难判

然而,如果我们收集了过去一个月的所有Twitter流量,我们如何确定推文之间的相似性和差异?在这种情况下,我们不能再依靠肉眼,而是必须让计算机来做这件事。

定量处理

余弦相似

这就是余弦相似性派上用场的地方。余弦相似性是一个相对容易计算的指标,可以告诉我们事物之间的相似或不同之处。

最简比较

为了了解余弦相似性的工作原理,让我们从一个超级简单的例子开始。这里我们想知道短语“hello world”与“hello”的相似程度。

制作表格

所以我们要做的第一件事是为出现在短语“hello”和“world”中的单词制作一张表。在第一个短语“hello world”中,我们看到单词“hello”一次,单词“world”一次。相比之下,在第二个短语中,“hello”,我们只看到单词“hello”一次,我们根本没有看到单词“world”。

画二维图

现在,鉴于每个短语中每个单词的计数表,我们可以创建一个二维图,其中x轴表示我们看到单词“hello”的次数,y轴表示我们看到单词“world”的次数。现在,由于第一个短语“hello world”每个单词各出现一次,我们可以在图的中心为它绘制一个点。相比之下,第二个短语的点,“hello”,位于x轴上的1处。

角度计算

现在,如果我们从图的原点(0,0)到这些点画线,我们可以看到两条线之间的角度为45度,45度的余弦值为0.71,因此,“hello world”和“hello”之间的余弦相似性就是45度的余弦值,等于0.71。

三次hello

注意,目前第二个短语是“hello”,但如果它是“hello”,“hello”,“hello”呢?现在表中“hello”出现了三次,因为它在短语中出现了三次,但我们仍然有“world”的计数为零。在这种情况下,代表“hello”,“hello”,“hello”的图上的点会进一步远离x轴。然而,两条线之间的角度仍然是45度,因此余弦相似性与我们之前得到的结果完全相同。45度的余弦值等于0.71。

仅限角度

换句话说,余弦相似性完全由两条线之间的角度决定,而不是由线的长度决定。砰!

相同短语

现在,如果两个短语都是“hello world”,那么它们完全相同,我们最终会在图上将代表这两个短语的点重叠在一起,形成一种泥泞的绿色。从原点到这些点的线之间的角度为0度,余弦相似性是0度的余弦值,等于1。所以当两个短语完全相同时,它们之间的角度将是0度,余弦相似性为1。

相反短语

相反,如果短语没有任何共同的单词,例如这里,第一个短语是“hello”,第二个短语是“world”,那么这两个短语之间的角度将是90度,余弦相似性将是90度的余弦值,等于0。

相似判断

总结一下,当两个短语完全没有共同点时,余弦相似性为0,当短语完全相同时,余弦相似性为1,当两个短语有一些重叠但不完全相同时,余弦相似性介于0和1之间。双倍砰!

计算方式

繁琐计算

现在,我们计算余弦相似性的方式,步骤一,制作单词计数表,步骤二,绘制点,步骤三,找出角度,最后,步骤四,计算角度的余弦值相当繁琐。

公式计算

好消息是有一个相对简单的公式,可以在计算机上快速计算出直接从单词计数表得出的余弦相似性。叮当,这个方程看起来很复杂。别担心,蹲下会一步一步地解释它。谢谢。

逐个解释

这些西格玛是加总许多东西的简写。i是索引的缩写,用于跟踪我们正在处理的单词。i最初设置为表中的第一个单词。在这种情况下,第一个单词是“hello”。

n是不同单词的数量。以及短语。在这种情况下,n等于2,因为我们有两个单词,“hello”和“world”。

最后,a和b指的是两个短语。在这种情况下,让我们让a是第一个短语,“hello world”,b是第二个短语,“hello”。

逐个代入

当i等于1时,我们插入第一个单词“hello”的单词计数。“hello”。当i等于2时,我们插入第二个单词“world”的单词计数。当我们进行计算时,我们得到0.71,这与我们取45度余弦时得到的值相同。砰!

二维可视

注意,当我们的表中只有两个不同的单词时,就像我们在这里所做的那样,我们可以轻松地在二维图上绘制这些点,因为我们可以在x轴上放置一个单词,比如“hello”,第一个维度,另一个单词“world”放在y轴上,第二个维度。

高维不可

但是当我们有包含超过两个不同单词的短语时,我们需要超过两个维度来绘制这些点。

无五维图 高维不可

例如,如果我们想计算这两个短语的余弦相似性,其中第一个短语“I love troll two”是短语a,第二个短语“I love Jim Coata”是短语b,那么表中将有五个不同的单词。这意味着我们需要一个五维图来绘制这些点。我不知道如何绘制五维图。

无需可视

好消息是这是拥有余弦相似性的另一种方便之处。我们不需要担心如何绘制五维图,

代入计算 无需可视

我们只需将数字代入方程,然后进行计算,结果为0.58。因此,这两个短语之间的余弦相似性为0.58,三倍砰!

本文总结

总结一下,余弦相似性是一个相对容易计算的指标,可以告诉我们事物之间的相似或不同之处。

介绍 电影介绍

注意,如果你还没有看过,Jim Coata是一部精彩的1985年体操电影,讲述了一位体操运动员使用双杠击败敌人的故事。砰!

堆栈探索

现在是时候进行一些无耻的自我宣传了。如果你想离线复习统计学和机器学习,请查看堆栈探索PDF学习指南和我的书,《堆栈探索插图版机器学习指南》可在stack qudot.org找到。这里有适合每个人的内容,对吧?我们已经到了另一个激动人心的堆栈探索的结尾。如果你喜欢这个堆栈探索,并希望看到更多,请订阅。如果你想支持堆栈,考虑为我的Patreon活动捐款,成为频道会员,购买我原创的一两首歌曲、T恤或连帽衫,或者只是捐赠。链接在下方描述中。好了,下次见。继续探索。

讨论
随记