跳到主要内容

示例:向量与内积

示例,待审核

本文用于展示文章结构、数学公式与代码排版。尚未经过本人的学术审核,知识地图中的对应知识点保持未完成。

本文解决什么问题​

内积(dot product)如何计算?这里仅讨论实数向量的标准欧氏内积,通过二维数值示例把符号、计算与代码对应起来。

前置知识:实数运算、求和符号和 Python 列表。

从向量到内积​

在本例中,向量是有顺序的数值列表。取两个同维度实数向量 x,y∈Rn\mathbf{x},\mathbf{y}\in\mathbb{R}^n,它们的标准欧氏内积为:

⟨x,y⟩=xTy=∑i=1nxiyi.\langle\mathbf{x},\mathbf{y}\rangle =\mathbf{x}^{\mathsf T}\mathbf{y} =\sum_{i=1}^{n}x_i y_i.

其中,nn 是向量维度,xix_i 与 yiy_i 是两个向量在第 ii 个位置的分量。内积的结果是一个实数。

一次具体计算​

令 x=(1,2)T\mathbf{x}=(1,2)^{\mathsf T}、y=(3,4)T\mathbf{y}=(3,4)^{\mathsf T},则:

xTy=1×3+2×4=11.\mathbf{x}^{\mathsf T}\mathbf{y}=1\times3+2\times4=11.
位置xix_iyiy_ixiyix_i y_i
1133
2248
合计——11

这组数值为合成示例,不来自医学数据或实验结果。

用代码核对​

x = [1, 2]
y = [3, 4]

if len(x) != len(y):
raise ValueError("向量维度必须相同")

dot_product = sum(a * b for a, b in zip(x, y))
assert dot_product == 11
print(dot_product)

预期输出为 11。这里先核对长度,避免 zip 在两个列表长度不同时仅处理较短部分。

适用条件与局限​

本例限定在同维度实数向量与标准欧氏内积。向量分量的含义、尺度及是否经过标准化,仍需要结合具体问题说明。不能仅凭内积数值对医学研究结果作出结论。

内积与余弦相似度也不是同一个量。对非零向量,余弦相似度还需除以两个向量的范数乘积;这个话题留待后续专题展开。

关联知识​

参考资料​