# 向量、矩阵与 NumPy

[[MCS/day3/00 学习指南|day3 学习指南]] · [[MCS/00 MCS学习总览|十一天总览]] · [[MCS/day3/阅读核验与疑问|阅读核验与疑问]] · 上一篇：[[MCS/day3/01 四元数、矩阵与切线放缩|四元数、矩阵与切线放缩]]

> 来源：[[MCS/day3NumPy数组 + 向量 + 矩阵|day3NumPy数组 + 向量 + 矩阵]]。用途：主线。原有推导、追问与解答保留；阅读时请结合本日核验说明。

格拉斯曼
线性扩张论
线性无关
维数
内积
外积
向量空间是线性代数的核心概念

高斯
正十七边形尺规作图
代数基本定理
《算术研究》 数论的宪章
二次互反率
六种证明
高斯函数
高斯分布（正态分布）
高斯消元法
数论的二次互反律
最小二乘法——用矩阵来解决超定方程组——可能无解的方程组，方程组比未知数多
让误差的平方和最小

向量：既有大小也有方向
物理：速度、加速度、力、位移等都是向量
几何：有向线段就是向量
**特征、权重、嵌入，虽然叫法不同，但本质上都是向量。向量就是描述事物或模型参数的一组数字。特征向量就是描述事物属性的一组数字，也就是事物的属性清单，打包成向量。**

feature 特征向量
- **描述玫瑰花？**
    
- 红色有香味的花
    
- 红色有香味和天鹅绒触感的花
    
- 数学曲线
    
- 颜色、气味（挺难和蔷薇区分）红色有香味的花
    
- **Embedding** 嵌入向量压缩转化成了稠密向量。

- **特征向量（Feature Vector）：人工设计（Feature Engineering）。**  
    通常由领域专家根据业务知识，手动提取和定义数据的属性。
    
    - _例子（以玫瑰花为例）：_ 你定义三个维度 `[颜色, 香味强度, 花瓣长度]`。如果一朵红玫瑰很香、花瓣 5 厘米，它的特征向量可能就是 `[1, 8, 5]`（假设红色编码为 1）。
        
- **嵌入向量（Embedding Vector）：模型自动学习（Representation Learning）。**  
    通常是通过神经网络（如 Word 2 Vec、BERT、大语言模型）在大规模数据上训练出来的。你不需要告诉模型“香味”是第几个维度，模型自己会在高维空间中寻找规律。
    
    - _例子：_ 你把“红玫瑰”这个词扔进模型，模型输出一个 768 维的向量 `[0.12, -0.45, 0.88, ...]`。你无法确切知道第 3 个数字代表什么，但它们组合在一起包含了语义。
        

## 2. 维度与可解释性

- **特征向量：低维、高度可解释。**
    
    - 维度通常较低（几个到几十个）。
        
    - 每个维度都有明确的物理或业务含义（比如：年龄、价格、词频）。
        
    - 你很容易向别人解释为什么模型做出了某个判断（因为“香味强度”这个特征值很高）。
        
- **嵌入向量：高维、黑盒、不可解释。**
    
    - 维度通常较高（50 维、128 维、768 维甚至几千维）。
        
    - 单个维度通常没有明确的物理含义，它是分布式表示（Distributed Representation）。
        
    - 你很难解释为什么第 42 个维度的值是 0.7。它的意义在于**向量之间的相对距离**（比如“玫瑰”和“蔷薇”的向量距离很近）。
        

## 3. 表达能力与语义关系

- **特征向量：表达能力有限，难以捕捉复杂关系。**
    
    - 如果要区分“玫瑰”和“蔷薇”，你可能需要人工设计很多细微的特征（如刺的形状、叶片数量）。
        
    - 它很难表达“国王 - 男人 + 女人 = 女王”这种复杂的语义类比关系。
        
- **嵌入向量：表达能力极强，能捕捉深层语义。**
    
    - 它能自动发现“玫瑰”和“花”、“红色”、“爱情”在语义空间中是邻近的。
        
    - 在 Embedding 空间中，语义相似的词距离近，甚至可以通过向量加减法进行语义推理。
        

## 4. 适用场景

- **特征向量：** 适用于传统机器学习模型（如 SVM、决策树、XGBoost）。当你数据量不大，且对业务逻辑非常清晰时，人工特征工程非常有效。
    
- **嵌入向量：** 适用于深度学习模型（如神经网络、Transformer）。当你处理海量文本、图像，且很难用规则描述清楚特征时（比如理解人类语言），Embedding 是标配。
    

---

## 结合你上一张图（玫瑰花的例子）来理解：

- 当你写：** `[红色(1), 有香味(1), 天鹅绒触感(1)]` ** —— 这是**特征向量**。你是人工把玫瑰的物理属性映射成了数字。
    
- 当你把这段描述扔进大模型，模型输出的 ** `[0.12, -0.45, ...]` ** —— 这是**嵌入向量**。模型不仅学到了红色和香味，还学到了“玫瑰”和“蔷薇”很难区分，甚至学到了“数学曲线”里的“玫瑰线”虽然名字一样，但在语义空间中距离植物学的“玫瑰”非常远。


weight权重向量/权重矩阵 weight 权重模型内部的参数向量用来衡量每个特征有多么的重要
模型在做判断，那么权重的一个代表是说什么是说，哎，你这个特征有多么的重要，有多重要，重要性有多少在神经网络里面，每一条连接上的一个数字贪腐，它打包起来就叫权重向量。比如说我给你类比一下啊，假如说，哎，你的模型正在做判断。
矩阵源头 线性方程组
**示例：**  
x + 2 y + 3 z = 10  
4 x + 5 y + 6 z = 20  
7 x + 8 y + 9 z = 30

**写成矩阵：**  
[1 2 3]   [x]   [10]
[4 5 6] * [y] = [20]
[7 8 9]   [z]   [30]
向量的源头——物理和几何

为什么需要向量？
一段文字呢是一个向量词嵌入啊？刚刚是不是有同学讲词嵌入啊？一个用户它也是向量什么特征嘛，对吧。一个词儿也是个向量，
word 2 vec
wordbag
向量可以用数学来处理多维数据
为什么需要矩阵？
关系复杂
1000 个输入，1000 个输出
1 x 1000 1000 x 1000 1 x 1000
因此需要 1000 x 1000 矩阵作为权重矩阵
为什么需要 numpy
python 原生列表速度慢
用 C 加速 用了并行指令 SIMD 支持向量化计算
单指令多数据流
CPU 启动快，

GPU 有同时几万个核心，但是启动慢
