AI 基础原理与底层算法

从数学基础到机器学习核心算法,理解 AI 的真正工作原理

一、AI 的数学基础

1.1 线性代数:AI 的语言

AI 处理的所有数据本质上都是数字矩阵:

  • 一张 100×100 的灰度图片 = 100×100 的矩阵
  • 一个词向量 = 1×768 的矩阵
  • 一批 1000 个样本,每个 768 维 = 1000×768 的矩阵

核心运算:

矩阵乘法:C = A × B
A (m×n) × B (n×p) = C (m×p)

例:100 个样本 × 784 维输入  ×  784×128 权重矩阵  =  100×128 输出

为什么矩阵乘法如此重要? 因为神经网络每一层的计算本质上就是矩阵乘法:output = input × weights + bias

1.2 微积分:梯度下降的灵魂

AI "学习"的过程就是优化——找到让误差最小的参数。

导数:函数的变化率。如果 f(x) = x²,则 f'(x) = 2x

  • 导数为正 → 函数在上升
  • 导数为负 → 函数在下降
  • 导数为零 → 可能是最低点或最高点

偏导数:多变量函数对某一个变量求导

  • ∂L/∂w₁ 表示损失 L 对权重 w₁ 的变化率
  • 沿着偏导数的反方向更新参数,损失就会减小——这就是梯度下降

1.3 概率与统计:不确定性的数学

AI 的输出几乎都是概率:

  • "这张图是猫的概率为 0.95"
  • "这句话下一个词是'的'的概率为 0.3"

关键概念:

  • 概率分布:所有可能结果的概率之和为 1
  • 交叉熵损失:衡量预测分布与真实分布的差距
  • 贝叶斯定理:根据新证据更新概率判断

二、核心机器学习算法

2.1 线性回归 — 最简单的预测

目标:找一条直线 y = wx + b,最拟合数据点

损失函数:L = (1/n) Σ(yᵢ - ŷᵢ)²    (均方误差 MSE)
更新规则:w = w - α × ∂L/∂w          (α 为学习率)

应用:房价预测、成绩预测、温度趋势

2.2 逻辑回归 — 分类的基础

目标:用 Sigmoid 函数把线性输出压缩到 0~1 之间

σ(z) = 1 / (1 + e⁻ᶻ)

z > 0 → σ(z) > 0.5 → 预测为正类
z < 0 → σ(z) < 0.5 → 预测为负类

应用:垃圾邮件检测、疾病诊断、考试通过/不通过

2.3 决策树 — 像人一样做判断

        天气好吗?
       /        \
     是          否
    /              \
  温度>30?      下雨吗?
  /    \        /     \
 是     否     是      否
 |      |      |       |
不去   去     不去     去

优点:可解释性强,不需要特征缩放

缺点:容易过拟合 → 解决方案:随机森林、GBDT

2.4 支持向量机(SVM)

核心思想:找到一个超平面,使两类数据之间的间隔(margin)最大

  • 线性可分:直接找最大间隔超平面
  • 线性不可分:用核函数把数据映射到高维空间

核函数:RBF 核、多项式核、Sigmoid 核

2.5 K 近邻(KNN)

思想极其简单:判断一个新样本,看离它最近的 K 个样本多数属于哪类

  • K=1:容易受噪声影响
  • K 太大:边界模糊
  • 常用 K=3~10

三、深度学习核心架构

3.1 全连接神经网络(MLP)

输入层(784) → 隐藏层1(128) → 隐藏层2(64) → 输出层(10)
                ReLU             ReLU          Softmax

前向传播:每一层做 z = Wx + b,然后过激活函数

反向传播:用链式法则从输出层向输入层逐层计算梯度,更新参数

激活函数:

函数公式特点
Sigmoid1/(1+e⁻ˣ)输出 0~1,用于二分类输出层
ReLUmax(0,x)计算快,缓解梯度消失
Tanh(eˣ-e⁻ˣ)/(eˣ+e⁻ˣ)输出 -1~1
Softmaxeˣⁱ/Σeˣʲ多分类输出层,输出概率分布

3.2 卷积神经网络(CNN)— 图像识别之王

核心思想:用卷积核(小矩阵,如 3×3)在图片上滑动,提取局部特征

5×5 图片    3×3 卷积核    →   3×3 特征图
[1,0,1,    [1,0,1,       [?, ?, ?
 0,1,0,  ×  0,1,0,   =    ?, ?,
 1,0,1]     1,0,1]        ?, ?, ?]

CNN 的标准结构:

  • 卷积层 → 提取特征(边缘、纹理、形状)
  • 池化层 → 降维(Max Pooling 取最大值)
  • 全连接层 → 分类

经典 CNN 架构演进:

模型年份创新
LeNet-51998第一个 CNN,手写数字识别
AlexNet2012ReLU + Dropout + GPU 训练
VGGNet2014用小卷积核(3×3)堆叠
GoogLeNet2014Inception 模块,多尺度特征
ResNet2015残差连接,解决深层网络退化

3.3 循环神经网络(RNN)— 序列数据处理

问题:普通神经网络无法处理变长序列(句子、语音、时间序列)

RNN 的解决:引入隐藏状态 hₜ,每一步都依赖上一步的状态

hₜ = tanh(Wₕ × hₜ₋₁ + Wₓ × xₜ + b)

LSTM(长短期记忆):解决 RNN 的梯度消失问题

  • 遗忘门:决定丢弃哪些旧信息
  • 输入门:决定存入哪些新信息
  • 输出门:决定输出什么

3.4 Transformer — 现代 AI 的基石

2017 年 Google 论文 "Attention Is All You Need" 提出

核心创新:自注意力机制(Self-Attention)

Q(Query)= X × Wq     "我在找什么?"
K(Key)  = X × Wk     "我有什么?"
V(Value)= X × Wv     "我的内容是什么?"

Attention(Q,K,V) = softmax(QKᵀ / √dₖ) × V

为什么 Transformer 如此重要?

  • 并行计算:不像 RNN 必须逐步处理,Transformer 可以并行处理整个序列
  • 长距离依赖:注意力机制可以直接关注序列中任意位置的信息
  • 可扩展性:增大模型参数和数据量,性能持续提升(Scaling Law)

四、训练技巧与优化

4.1 损失函数

任务常用损失
回归MSE(均方误差)、MAE(平均绝对误差)
二分类二元交叉熵(BCE)
多分类分类交叉熵(CE)

4.2 优化器

优化器特点
SGD最基础,随机梯度下降
SGD + Momentum加入动量,加速收敛
Adam自适应学习率,最常用
AdamWAdam + 权重衰减,大模型标配

4.3 防止过拟合

  • Dropout:训练时随机"关闭"一部分神经元
  • 数据增强:旋转、翻转、裁剪训练图片
  • 早停法:验证集损失不再下降时停止训练
  • 正则化:L1/L2 正则化限制参数大小

五、Python 实战:用 Scikit-learn 实现经典算法

# 鸢尾花分类 — 机器学习入门经典
from sklearn.datasets import load_iris
from sklearn.modelselection import train_test_split
from sklearn.neighbors import KNeighborsClassifier
from sklearn.metrics import accuracy_score

# 加载数据
iris = load_iris()
X_train, X_test, y_train, y_test = train_test_split(
    iris.data, iris.target, test_size=0.3, random_state=42
)

# 训练 KNN 分类器
knn = KNeighborsClassifier(n_neighbors=5)
knn.fit(X_train, y_train)

# 预测与评估
y_pred = knn.predict(X_test)
print(f"准确率: {accuracy_score(y_test, y_pred):.2%}")

参考资源