我正在阅读 Levy 等人的论文“Improving Distributional Comparison\nwith Lessons Learned from Word Embeddings”,在讨论他们的超参数时,他们说:
\n\n\n\n\n向量归一化 (nrm)正如第 2 节中提到的,所有向量(即 W\xe2\x80\x99s 行)都归一化为单位长度(L2 归一化),使点积运算等效于余弦相似度。
\n
然后我想起sim2
Rtext2vec
包中向量相似度函数的默认值首先是 L2 范数向量:
sim2(x, y = NULL, method = c("cosine", "jaccard"), norm = c("l2", "none"))\n
Run Code Online (Sandbox Code Playgroud)\n\n所以我想知道,归一化和余弦(无论是在 text2vec 方面还是一般情况下)的动机可能是什么。我尝试阅读 L2 范数,但大多数情况下它是在使用欧几里德距离之前进行标准化的背景下出现的。我(令人惊讶地)找不到任何关于在词向量空间/嵌入的余弦相似性的情况下是否推荐或反对 L2 范数的任何信息。而且我不太具备计算分析差异的数学技能。
\n\n所以这里有一个问题,意味着在从文本数据学习的词向量空间的背景下(要么只是可能由 tfidf、ppmi 等加权的共现矩阵;或者像 GloVe 这样的嵌入),并计算词相似度(目标是当然使用最能反映现实世界单词相似性的向量空间+度量)。
简而言之,在计算向量/单词之间的余弦相似度之前,是否有任何理由(不)在单词特征矩阵/术语共现矩阵上使用 L2 范数?
好的,我会尝试尽可能简洁.我对数学不是很了解,对你来说看起来很明显很可能对我来说是火箭科学.
我正在使用带有CSS3DRenderer的Three.js来创建虚拟图库空间.
我需要第一人称视角,就像FPS游戏一样.
我已经让相机成功向前,向后,向左和向右移动.
但是,当我去旋转相机时,我得到了结果
相机正在旋转它的局部轴,但我需要的是viewport
旋转,而不是相机
所以我需要的是让摄像机绕枢轴点/矢量运行,然后使用重新聚焦 Object3d.lookAt()
我知道我可以通过将相机作为另一个对象的子节点,然后旋转对象的轴来解决我的问题.但是,我宁愿自己做数学.
简而言之,我想了解如何围绕另一个旋转一个矢量点,以及如何以数学方式表示该关系.
我不希望利用脚本,例如,three.js所pointer_lock控制,来完成这项工作.我想弄清楚实际数学.
任何建议或教程链接将不胜感激!
我有一个Word2Vec模型,有很多单词向量.我可以这样访问一个单词向量.
word_vectors = gensim.models.Word2Vec.load(wordspace_path)
print(word_vectors['boy'])
Run Code Online (Sandbox Code Playgroud)
产量
[ -5.48055351e-01 1.08748421e-01 -3.50534245e-02 -9.02988110e-03...]
Run Code Online (Sandbox Code Playgroud)
现在我有一个合适的矢量表示,我想用word替换word_vectors ['boy'].
word_vectors['boy'] = [ -7.48055351e-01 3.08748421e-01 -2.50534245e-02 -10.02988110e-03...]
Run Code Online (Sandbox Code Playgroud)
但是引发了以下错误
TypeError: 'Word2Vec' object does not support item assignment
Run Code Online (Sandbox Code Playgroud)
有没有时尚或解决方法来做到这一点?一旦训练模型,那就是手动操纵单词向量?除了Gensim之外的其他平台有可能吗?
在计算两个向量之间的角度时,我传统上使用 acos,但这需要对两个向量进行归一化。atan2 可用于完成相同的(特别是atan2(b.y_, b.x_) - atan2(a.y_, a.x_)
),这是否需要归一化向量?
如果 atan2 不需要归一化向量,这是否更好用,因为归一化可能成本高昂且“更多”容易出错,因为它需要 sqrt 操作?
然后我读到 atan2 本身可能比 acos 更昂贵,但更准确?然后我还阅读了其他建议相反的互联网:( 很多相互矛盾的信息,不确定使用 acos 或 atan 计算两个向量之间的角度有什么关系。
推荐哪个?以及每次使用的好处/问题是什么?
任何帮助将不胜感激,谢谢!
vector-space ×4
trigonometry ×2
angle ×1
atan ×1
c++ ×1
gensim ×1
javascript ×1
python ×1
text2vec ×1
three.js ×1
vector ×1
word2vec ×1