最近在看一本机器学习的书,看到这么一句话 “通过计算两个向量的点积可以知道它们之间的相似度。“,这里之前一直一知半解,这次打算深入理解下。
那么怎么理解上面这句话呢? ChatGPT 的解释总结一下就是,点积( Dot Product )是一种数学运算,用于衡量两个向量的相似度。当两个向量完全相同时,点积会达到最大值。当两个向量垂直时,点积为 0 。点积的结果受向量长度的影响,所以在比较相似度时,常常会将向量单位化。通过点积,可以量化两个向量的相似度,这在各种应用场景中(如自然语言处理、图像识别等)都非常有用。
解释很笼统,是这么个道理,但是还是有很多疑问,比如:
怎么理解这里的相似? 为啥要用点积衡量相似度? 怎么理解多维向量? 向量是怎么得出来的? 具体计算步骤是怎么样的? 应用场景有哪些?
1
nulIptr 2023-09-15 16:46:58 +08:00 via iPhone
你举的这个例子似乎是高中数学知识吧……
|
3
ox180 2023-09-15 17:27:30 +08:00 1
相似语义的高维分布是临近的,可以用余弦相似度、L2 等来进行计算。可以用多维向量来表示人类语言,比如:
你:[1.2323, 0.23445, -23.234234]这个 3 维来表示,也可以用 256 、768 、1024 等维度来进行表示。 获取向量一开始可以认为是随机初始化的,通过反向传播来进行更新。 |
4
nulIptr 2023-09-15 17:29:50 +08:00
@xuelang 都学 2 维 3 维了,往上扩展很容易啊。。尤其是在点积和余弦定理求距离这两件事情上面。因为至少学了怎么从二维扩展到 3 维。具体机器学习里面是 128/256 还是 768 ,跟 3 维没有任何区别啊
|
6
xuelang OP |
7
makedir002 2023-09-15 19:28:18 +08:00
“通过计算两个向量的点积可以知道它们之间的相似度。“,这就是高中内容。你要是不懂,可以去了解向量点积的物理意义。说实话你的理科基础太差了,后面还有反向传播的原理呢?
|
8
xuelang OP @makedir002 哈哈,理科基础是不好,所以才学的呀。反向传播确实不懂,我再学习学习
|
9
eternitym31 2023-09-16 10:24:30 +08:00
好像这个结论只有标准正交基的情形下才成立,具体可以看下线性代数教材。
|