线性代数中的正交和标准正交向量

在线性代数中,理解正交向量和正交向量至关重要,尤其是对于机器学习中的应用。这篇博文将简化这些概念,而不会太深入地深入研究复杂的数学。

正交向量

如果两个向量的点积等于零,则认为这两个向量是正交的。但点积到底是什么呢?两个 n 维向量 A 和 B 的点积(或标量积)可以表示如下:

复制代码
A · B = ∑ (from i=1 to n) a_i * b_i

因此,如果满足以下条件,向量 A 和 B 是正交的:

复制代码
A · B = 0

考虑 3D 空间中的两个向量:

( v_1 = [1, -2, 4] )

( v_2 = [2, 5, 2] )

为了检查它们是否正交,我们计算它们的点积:

复制代码
v_1 · v_2 = [1, -2, 4] · [2, 5, 2] = 1*2 + (-2)*5 + 4*2 = 0

由于结果为零,因此向量是正交的。

Python 代码示例

下面是一个简单的 Python 程序,它说明了正交向量:

复制代码
# A python program to illustrate orthogonal vector

# Import numpy module
import numpy

# Taking two vectors
v1 = [[1, -2, 4]]
v2 = [[2, 5, 2]]

# Transpose of v1
transposeOfV1 = numpy.transpose(v1)

# Matrix multiplication of both vectors
result = numpy.dot(v2, transposeOfV1)
print("Result =", result)

# Output
# Result = 0

单位向量

接下来,我们来讨论一下单位向量。单位向量是通过向量除以其大小从向量中得出的。对于向量 ( A ),单位向量 ( \hat{a} ) 定义为:

复制代码
\hat{a} = A / |A|

考虑 2D 空间中的向量 ( A ):

复制代码
( A = [3, 4] )
( A ) 的大小计算如下:

因此,单位向量 ( \hat{a} ) 为:

bash 复制代码
\hat{a} = A / |A| = [3/5, 4/5]

单位向量的属性

单位向量定义坐标系中的方向。

任何向量都可以表示为单位向量和标量大小的乘积。
正交向量

正交向量不仅是正交的,而且还具有单位大小。要将正交向量转换为正交向量,只需将每个向量除以其大小即可。

对于我们之前研究的向量:

对于 ( v_1 = [1, -2, 4] ):

bash 复制代码
v_1' = v_1 / |v_1| = [1, -2, 4] / √(1² + (-2)² + 4²)

对于 ( v_2 = [2, 5, 2] ):

bash 复制代码
v_2' = v_2 / |v_2| = [2, 5, 2] / √(2² + 5² + 2²)

通过将这些向量转换为单位向量,它们保持正交并达到单位大小,从而形成正交向量。

注意

所有正交向量本质上都是正交的,由其属性定义。

相关推荐
风象南21 分钟前
Claude Code这个隐藏技能,让我告别PPT焦虑
人工智能·后端
Mintopia1 小时前
OpenClaw 对软件行业产生的影响
人工智能
陈广亮2 小时前
构建具有长期记忆的 AI Agent:从设计模式到生产实践
人工智能
会写代码的柯基犬2 小时前
DeepSeek vs Kimi vs Qwen —— AI 生成俄罗斯方块代码效果横评
人工智能·llm
Mintopia2 小时前
OpenClaw 是什么?为什么节后热度如此之高?
人工智能
爱可生开源社区2 小时前
DBA 的未来?八位行业先锋的年度圆桌讨论
人工智能·dba
叁两5 小时前
用opencode打造全自动公众号写作流水线,AI 代笔太香了!
前端·人工智能·agent
前端付豪5 小时前
LangChain记忆:通过Memory记住上次的对话细节
人工智能·python·langchain
strayCat232555 小时前
Clawdbot 源码解读 7: 扩展机制
人工智能·开源