侧边栏壁纸
博主头像
ZHD的小窝博主等级

行动起来,活在当下

  • 累计撰写 79 篇文章
  • 累计创建 53 个标签
  • 累计收到 1 条评论

目 录CONTENT

文章目录
AI

AI大模型学习之路(二)

江南的风
2025-04-15 / 0 评论 / 0 点赞 / 8 阅读 / 7109 字 / 正在检测是否收录...

阶段1:基础知识储备

我们从阶段1:基础知识储备的数学基础开始,第一课聚焦于线性代数的核心概念,这是理解AI大模型(如Transformer)的基石。


​第一课:线性代数基础

​学习目标

  1. 理解向量、矩阵、张量的定义与操作。

  2. 掌握矩阵乘法、转置、逆矩阵等核心运算。

  3. 了解特征值分解及其在降维中的应用。


​1. 核心概念

​(1) 向量(Vector)

  • 定义:一维数组,表示空间中的点或方向。

    • 例:v=123​​(3维向量)。

  • 操作:加法、标量乘法、点积(内积)。

​(2) 矩阵(Matrix)​

  • 定义:二维数组,表示线性变换或数据表。

    • 例:A=[1324](2×2矩阵)。

  • 核心操作

    • 矩阵乘法C=AB,要求A的列数等于B的行数。

      • 计算示例:
        [1324][5768]=[1×5+2×73×5+4×71×6+2×83×6+4×8]=[19432250]

    • 转置(Transpose)​:行列互换,AT的第i行第j列元素是A的第j行第i列元素。

    • 逆矩阵:若A可逆,则A−1A=I(单位矩阵),用于解线性方程组。

    • 参考:https://log.new2wen.com/archives/ju-zhen-ji-suan

​(3) 张量(Tensor)​


​2. 实战示例:用Python和NumPy操作矩阵

​(1) 安装NumPy

pip install numpy

​(2) 代码演示

import numpy as np

# 定义矩阵
A = np.array([[1, 2], [3, 4]])
B = np.array([[5, 6], [7, 8]])

# 矩阵乘法
C = np.dot(A, B)  # 或 A @ B
print("矩阵乘法结果:\n", C)

# 转置
A_T = A.T
print("A的转置:\n", A_T)

# 逆矩阵(若存在)
A_inv = np.linalg.inv(A)
print("A的逆矩阵:\n", A_inv)

# 验证逆矩阵:A * A⁻¹ ≈ 单位矩阵
I = A @ A_inv
print("验证逆矩阵:\n", np.round(I, 2))  # 四舍五入到小数点后两位

​(3) 输出结果

矩阵乘法结果:
 [[19 22]
 [43 50]]
A的转置:
 [[1 3]
 [2 4]]
A的逆矩阵:
 [[-2.   1. ]
 [ 1.5 -0.5]]
验证逆矩阵:
 [[1. 0.]
 [0. 1.]]

​3. 线性代数在AI中的应用

  • 神经网络中的权重矩阵:全连接层的计算本质是矩阵乘法(y=Wx+b)。

  • 注意力机制:Transformer中的Query、Key、Value通过矩阵运算实现(Attention=Softmax(dk​​QKT)V)。

  • 特征值分解:用于PCA降维(从数据中提取主要特征)。


​4. 练习题目

  1. 计算向量a=[2,−1,3]和b=[4,0,5]的点积。

  2. 用NumPy实现以下操作:

    • 生成一个3×3的随机矩阵M

    • 计算M的转置和逆矩阵(若存在)。

  3. (选做)推导矩阵乘法的计算过程:A=[2−113], B=[4205],求AB


​5. 扩展思考

  • 为什么矩阵乘法不满足交换律?即AB=BA(举例说明)。

  • 如果矩阵不可逆,可能是什么原因?如何判断矩阵是否可逆?


​下一课预告

第二课:概率与统计基础

  • 重点:贝叶斯定理、概率分布、最大似然估计。

  • 实战:用Python模拟抛硬币实验,计算概率分布。

0

评论区