用 ChatGPT 来学习机器学习? 还是可以的

2023-09-15 16:25:18 +08:00
 xuelang

最近在看一本机器学习的书,看到这么一句话 “通过计算两个向量的点积可以知道它们之间的相似度。“,这里之前一直一知半解,这次打算深入理解下。

那么怎么理解上面这句话呢? ChatGPT 的解释总结一下就是,点积( Dot Product )是一种数学运算,用于衡量两个向量的相似度。当两个向量完全相同时,点积会达到最大值。当两个向量垂直时,点积为 0 。点积的结果受向量长度的影响,所以在比较相似度时,常常会将向量单位化。通过点积,可以量化两个向量的相似度,这在各种应用场景中(如自然语言处理、图像识别等)都非常有用。

解释很笼统,是这么个道理,但是还是有很多疑问,比如:

怎么理解这里的相似? 为啥要用点积衡量相似度? 怎么理解多维向量? 向量是怎么得出来的? 具体计算步骤是怎么样的? 应用场景有哪些?

跟 ChatGPT 学数学:理解向量点积和余弦相似度

1554 次点击
所在节点    程序员
9 条回复
nulIptr
2023-09-15 16:46:58 +08:00
你举的这个例子似乎是高中数学知识吧……
xuelang
2023-09-15 17:02:13 +08:00
@nulIptr 啊,高中有学这个吗。高中貌似还没多维向量的吧
ox180
2023-09-15 17:27:30 +08:00
相似语义的高维分布是临近的,可以用余弦相似度、L2 等来进行计算。可以用多维向量来表示人类语言,比如:
你:[1.2323, 0.23445, -23.234234]这个 3 维来表示,也可以用 256 、768 、1024 等维度来进行表示。

获取向量一开始可以认为是随机初始化的,通过反向传播来进行更新。
nulIptr
2023-09-15 17:29:50 +08:00
@xuelang 都学 2 维 3 维了,往上扩展很容易啊。。尤其是在点积和余弦定理求距离这两件事情上面。因为至少学了怎么从二维扩展到 3 维。具体机器学习里面是 128/256 还是 768 ,跟 3 维没有任何区别啊
xuelang
2023-09-15 17:44:36 +08:00
@nulIptr 高维理解起来和 2 维、3 维的区别还挺大
xuelang
2023-09-15 17:46:21 +08:00
@ox180 就是说通过反向传播,把语义详细的内容,给转成了相似的向量。(这个应该是难点)

余弦相似度只是用来评估向量的相似,优点是好计算,其实没啥难度。
makedir002
2023-09-15 19:28:18 +08:00
“通过计算两个向量的点积可以知道它们之间的相似度。“,这就是高中内容。你要是不懂,可以去了解向量点积的物理意义。说实话你的理科基础太差了,后面还有反向传播的原理呢?
xuelang
2023-09-16 09:55:36 +08:00
@makedir002 哈哈,理科基础是不好,所以才学的呀。反向传播确实不懂,我再学习学习
eternitym31
2023-09-16 10:24:30 +08:00
好像这个结论只有标准正交基的情形下才成立,具体可以看下线性代数教材。

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/974160

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX