当前位置: 首页 > news >正文

写给新人的深度学习扫盲贴:向量与矩阵

一、基本概念与数学定义

1. 向量(Vector)

向量是线性代数中的基本对象,定义为具有 大小(模长)方向 的一维数组,可视为1阶张量。其数学表示形式为:
v = [ v 1 , v 2 , … , v n ] \mathbf{v} = [v_1, v_2, \dots, v_n] v=[v1,v2,,vn]
物理意义:向量常用于描述空间中的点、力、速度等具有方向性的量。在计算机中,向量通常以一维数组存储(如NumPy中的np.array([1,2,3]))。

2. 矩阵(Matrix)

矩阵是二维数组,由行(row)和列(column)构成,可视为2阶张量。其数学表示形式为:
A = [ a 11 a 12 ⋯ a 1 n a 21 a 22 ⋯ a 2 n ⋮ ⋮ ⋱ ⋮ a m 1 a m 2 ⋯ a m n ] A = \begin{bmatrix} a_{11} & a_{12} & \cdots & a_{1n} \\ a_{21} & a_{22} & \cdots & a_{2n} \\ \vdots & \vdots & \ddots & \vdots \\ a_{m1} & a_{m2} & \cdots & a_{mn} \end{bmatrix} A= a11a21am1a12a22am2a1na2namn

物理意义:矩阵用于表示线性变换、数据集(如图像像素矩阵)或多变量关系。例如,在Python中,矩阵以二维数组表示(如np.array([[1,2],[3,4]]))。

3. 张量(Tensor)

张量是更高维度的推广:标量(0阶)、向量(1阶)、矩阵(2阶)、三维张量(3阶)等。例如,RGB图像可表示为三维张量(高度×宽度×通道数)。


二、核心区别:维度、运算与几何意义

1. 维度与结构

  • 向量:一维数组,仅含 一个轴(如长度为n的向量为n维向量)。
  • 矩阵:二维数组,含 两个轴(行与列)。
  • 示例
    • 向量:[1,2,3](形状为(3,)
    • 矩阵:[[1,2],[3,4]](形状为(2,2))。

2. 运算差异

  • 向量运算
    • 点积(内积):结果为标量,如 u ⋅ v = ∑ u i v i \mathbf{u} \cdot \mathbf{v} = \sum u_i v_i uv=uivi
    • 叉积(外积):结果为向量,仅适用于三维向量。
  • 矩阵运算
    • 矩阵乘法:需满足“前列=后行”维度匹配规则,结果为新矩阵。
    • 转置(行列互换)、逆矩阵(仅方阵可逆)、行列式(标量,描述矩阵缩放因子)。

3. 几何意义

  • 向量:表示空间中的 方向与位移(如箭头),其模长对应大小。
  • 矩阵:表示 线性变换(如旋转、缩放、投影),例如旋转矩阵作用于向量可改变其方向。
  • 示例:二维旋转矩阵
    R ( θ ) = [ cos ⁡ θ − sin ⁡ θ sin ⁡ θ cos ⁡ θ ] R(\theta) = \begin{bmatrix} \cos\theta & -\sin\theta \\ \sin\theta & \cos\theta \end{bmatrix} R(θ)=[cosθsinθsinθcosθ]

可将向量绕原点旋转角度 θ \theta θ


三、核心联系:从线性代数到数据科学

1. 向量是矩阵的特殊形式

  • 行向量(1×n矩阵)与 列向量(n×1矩阵)可互换,通过转置操作实现。
  • 示例:向量 v = [ 1 , 2 , 3 ] \mathbf{v} = [1,2,3] v=[1,2,3]可表示为行向量或列向量:
    [ 1 2 3 ] 或 [ 1 2 3 ] \begin{bmatrix}1 & 2 & 3\end{bmatrix} \quad \text{或} \quad \begin{bmatrix}1 \\ 2 \\ 3\end{bmatrix} [123] 123

2. 矩阵由向量构成

  • 行视角:矩阵的每一行是一个行向量(如数据集中每个样本的特征向量)。
  • 列视角:矩阵的每一列是一个列向量(如数据集中每个特征的多个样本值)。
  • 示例:在图像处理中,一张28×28的灰度图像可展平为784维向量,多个图像组成矩阵(行=图像,列=像素)。

3. 线性变换的数学本质

  • 矩阵乘法:矩阵 A A A与向量 v \mathbf{v} v的乘积 A v A\mathbf{v} Av,本质是对 v \mathbf{v} v进行线性组合。
  • 基变换:矩阵可表示不同基向量之间的转换,例如将向量从标准基转换到特征向量基。

4. 特征值与特征向量

  • 定义:若矩阵 A A A满足 A v = λ v A\mathbf{v} = \lambda\mathbf{v} Av=λv,则 λ \lambda λ为特征值, v \mathbf{v} v为特征向量。
  • 应用
    • 主成分分析(PCA):通过协方差矩阵的特征分解实现数据降维。
    • 物理系统稳定性分析:特征值实部符号决定系统是否稳定。

四、线性代数中的应用场景

1. 线性方程组求解

  • 矩阵形式:方程组 A x = b A\mathbf{x} = \mathbf{b} Ax=b中, A A A为系数矩阵, x \mathbf{x} x为解向量。
  • 方法:高斯消元法、LU分解、QR分解等。

2. 数据表示与处理

  • 数据集矩阵:行代表样本,列代表特征(如MNIST数据集中的图像矩阵)。
  • 图像压缩:通过矩阵分解(如SVD)保留主成分,减少存储空间。

3. 优化问题

  • 最小二乘法:通过矩阵运算求解超定方程组的最优解。
  • 二次型优化:利用对称矩阵特征值分析函数极值。

五、神经网络中的核心作用

1. 前向传播:矩阵乘法实现线性变换

  • 输入层到隐藏层:输入向量 x \mathbf{x} x与权重矩阵 W W W相乘,加偏置 b \mathbf{b} b,再经激活函数输出:
    z = W x + b , a = σ ( z ) \mathbf{z} = W\mathbf{x} + \mathbf{b}, \quad \mathbf{a} = \sigma(\mathbf{z}) z=Wx+b,a=σ(z)
  • 示例:全连接层中,若输入为 n n n维向量,隐藏层有 m m m个神经元,则 W W W m × n m \times n m×n矩阵。

2. 反向传播:梯度计算与参数更新

  • 链式法则:损失函数对权重矩阵的梯度通过矩阵导数计算,如:
    ∂ L ∂ W = ∂ L ∂ a ⋅ ∂ a ∂ z ⋅ ∂ z ∂ W \frac{\partial L}{\partial W} = \frac{\partial L}{\partial \mathbf{a}} \cdot \frac{\partial \mathbf{a}}{\partial \mathbf{z}} \cdot \frac{\partial \mathbf{z}}{\partial W} WL=aLzaWz
  • 参数更新:权重矩阵 W W W通过梯度下降迭代优化:
    W : = W − η ∂ L ∂ W W := W - \eta \frac{\partial L}{\partial W} W:=WηWL
    其中 η \eta η为学习率。

3. 卷积神经网络(CNN)中的张量运算

  • 卷积核:可视为三维张量(高度×宽度×通道数),与输入图像张量进行滑动窗口乘积累加。
  • 特征图:卷积结果通过激活函数生成,后续池化操作进一步降维。

4. 注意力机制中的矩阵运算

  • Query-Key-Value矩阵:自注意力机制通过矩阵乘法计算相似度权重,如:
    Attention ( Q , K , V ) = softmax ( Q K T d k ) V \text{Attention}(Q, K, V) = \text{softmax}\left(\frac{QK^T}{\sqrt{d_k}}\right)V Attention(Q,K,V)=softmax(dk QKT)V
    其中 Q Q Q K K K V V V均为矩阵。

六、小小总结

1. 核心区别总结

属性向量矩阵
维度一维(单轴)二维(行与列)
运算点积、叉积乘法、转置、逆
几何意义方向与位移线性变换(旋转、缩放等)
存储结构一维数组二维数组
应用场景单样本特征、物理量数据集、图像、参数矩阵

2. 未来研究方向

  • 张量网络:高阶张量在量子计算与图神经网络中的应用。
  • 矩阵分解优化:非负矩阵分解(NMF)在推荐系统与文本分析中的改进。
  • 稀疏矩阵计算:针对大规模数据的高效存储与计算优化。

参考

  1. 张量与矩阵的维度定义
  2. 线性变换与特征值分解
  3. 神经网络中的矩阵运算
  4. 数据科学中的矩阵应用
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.dtcms.com/a/110900.html

相关文章:

  • DayDreamer: World Models forPhysical Robot Learning
  • 基于图扑 HT 技术的电缆厂 3D 可视化管控系统深度解析
  • 第3期 基于改进YOLOv8的卫星下的船舰检测算法与系统实现
  • STM32平衡车开发实战教程:从零基础到项目精通
  • 顺序容器 -forward list单链表
  • YOLO系列
  • 嵌入式电量与功耗优化:从理论到实战
  • Linux:环境变量
  • LLaMA-Factory大模型微调全流程指南
  • 【rabbitmq基础】
  • Nature Communications上交、西湖大学、复旦大学研发面向机器人多模式运动的去电子化刚弹耦合高频自振荡驱动单元
  • 从零开始学Rust:结构体(struct)详解
  • leetcode每日一题:数组美丽值求和
  • 【重点】文件摆渡系统如何简化跨平台跨网络的文件传输?
  • 使用Python构建Kafka示例项目
  • 视频设备轨迹回放平台EasyCVR综合智能化,搭建运动场体育赛事直播方案
  • es8实现向量检索与关键词匹配混合搜索
  • 算法题(114):矩阵距离
  • 计算机网络 3-1 数据链路层
  • 从零开始开发HarmonyOS应用并上架
  • AI 防口误指南_LLM 输出安全实践
  • 问题:tomcat下部署eureka双重路径
  • Laraver SQL日志 服务开发
  • wsl2配置proxy
  • git配置github
  • [c语言日寄]文件操作
  • OpenAI发布PaperBench,AI代理复现研究能力面临新考验
  • Ubuntu 22.04 一键部署openManus
  • 轻量级搜索接口技术解析:快速实现关键词检索的Java/Python实践
  • 最新全开源码支付系统,赠送3套模板