神经网络基础
人工神经网络的基本结构
神经元
- 功能:接收多个输入,加权求和后,加上偏置 b,再通过激活函数输出结果。
- 公式:$y = f(w_1 x_1 + w_2 x_2 + \cdots + w_n x_n + b) = f(\mathbf{w}^\top \mathbf{x} + b)$
感知机
- 最早的神经元模型,只输出 0 或 1。
- 类似逻辑门(AND、OR、NOT)。
- 使用阶跃函数作为激活函数(只输出两个状态)。
多层感知机(MLP)
- 由多个感知机构成的深层结构,至少包含一层隐藏层。
- 每一层都能提取不同级别的特征。
- 通常结构为:输入层 → 隐藏层(可多个)→ 输出层
神经网络的数学表达
线性变换:$z=Wx+b$
激活函数(非线性函数)
引入非线性,使网络能拟合复杂函数。例如:
$\frac{1}{1+e^{-x} }$
输出层激活函数
Softmax
Softmax 函数能够把一个实数向量转化为概率分布。
例如,在图像分类任务中,一张图片可能被分类为猫、狗、鸟等多个类别。使用 Softmax 作为输出层激活函数后,模型的输出就会是图片属于每个类别的概率,我们可以选取概率最大的类别作为最终的分类结果。
前向传播
输入数据 → 隐藏层 → 输出层
每一层做两步:
1. 线性变换 $z=Wx+b$
2. 激活函数 $a=f(z)$
最终输出经过 Softmax 得到预测概率。
反向传播
目的:计算损失函数对每个权重的导数,以便更新参数。
方法:使用链式法则
流程
- 从输出层开始计算误差。
- 将误差“反向”传播到前一层。
- 不断重复,直到到达输入层。
- 使用这些梯度更新权重。
损失函数
功能:衡量预测值与真实值的差距。
常见损失函数:
- 均方误差
- 交叉熵损失
优化与训练
方法:梯度下降
模型训练技巧
Dropout:每次训练随机“丢弃”部分神经元,防止过拟合。
L2 正则化:在损失函数中加上权重的平方惩罚项,鼓励权重更小。
……
本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来源 Whales の sky 💭💡🎈!