零基础学习神经网络第五课--Excel表中手搓回归任务神经网络预测

神经网络任务类型详解

一、回归任务

(一)任务定义

回归任务聚焦于预测连续数值型目标,核心在于构建输入特征与连续输出值之间精准的映射关系。典型应用包括:

  • 房地产领域:基于房屋面积、房龄、地理位置等特征预测房价;

  • 气象领域:基于历史气温、气压等数据预测未来气温值。

(二)常用激活函数
  1. 线性激活函数

    • 公式:f(x)=x

    • 适用场景:输出层处理简单线性关系(注:隐藏层需用非线性激活函数如ReLU以增强表达能力)。

    • 特点:直接反映输入输出间的线性关联。

  2. Sigmoid 激活函数

    • 公式:f(x) = \frac{1}{1 + e^{-x}}

    • 输出范围:(0, 1),适用于概率预测。

    • 缺陷

      • 梯度消失(输入绝对值大时梯度趋近于0);

      • 输出非零中心化,影响收敛速度。

  3. ReLU(Rectified Linear Unit)

    • 公式:f(x)=max⁡(0,x)

    • 优点:计算高效,缓解梯度消失;

    • 缺陷:输入<0时神经元“死亡”(改进方案:可用Leaky ReLU)。

(三)损失函数 - 均方误差(MSE)
  • 公式:

    MSE = \frac{1}{n}\sum_{i = 1}^{n}(y_{i} - \hat{y}_{i})^{2}
  • 特性

    • 放大较大误差,对异常值敏感;

    • 可导性支持梯度下降优化。

  • 替代方案:平均绝对误差(MAE)对异常值更鲁棒:

    MAE=\frac{1}{n}\sum_{i = 1}^{n}|y_{i}-\hat{y}_{i}|
(四)参数更新:梯度下降法
  • 权重更新:以单神经元模型为例,假设输入为 x ,输出\hat{y} = wx + b ,通过链式法则可得:

        w_{new} = w_{old} - \eta \cdot \frac{\partial MSE}{\partial w}          其中        \frac{\partial MSE}{\partial w} = \frac{\partial MSE}{\partial \hat{y}} \cdot \frac{\partial \hat{y}}{\partial w} = 2(y - \hat{y}) \cdot x

  • 偏置更新

            ​​​​​​​        ​​​​​​​b_{new} = b_{old} - \eta \cdot \frac{\partial MSE}{\partial b}     
  • 其中,通过链式法则可得
    •  \frac{\partial MSE}{\partial b} = \frac{\partial MSE}{\partial \hat{y}} \cdot \frac{\partial \hat{y}}{\partial b} = 2(y - \hat{y}) \cdot 1
梯度下降变体 特点 适用场景
批量梯度下降 用全量数据更新,收敛稳但计算慢 小型数据集
随机梯度下降 单样本更新,计算快但波动大 在线学习
小批量梯度下降 折中方案(*常用批量大小32-256*) 绝大多数场景

(五)示例:房屋价格预测
  • 数据:(面积, 房价) = {(100, 200), (120, 240), (80, 160)}

  • 模型:单神经元\hat{y} = wx + b(初始化 w=0.1,b=10w=0.1,b=10)

  • 训练流程

    1. 正向传播:\hat{y} = 0.1 \times 100 + 10 = 20

    2. 计算损失:MSE = \frac{(200 - 20)^{2} + (240 - 0.1 \times 120 - 10)^{2} + (160 - 0.1 \times 80 - 10)^{2}}{3}

    3. 反向传播更新 w,b 直至收敛。


二、分类任务

(一)任务定义

分类任务将输入数据划分到预定义离散类别,包括:

  • 二分类:垃圾邮件检测(垃圾/正常);

  • 多分类:手写数字识别(0-9);

  • 多标签分类:图像中同时存在多目标(如“猫”和“狗”)。

(二)常用激活函数
  1. Sigmoid

    • 适用场景:二分类输出层,输出值解释为正类概率。

  2. Softmax

    • 公式:f(z)_{j} = \frac{e^{z_{j}}}{\sum_{k = 1}^{K}e^{z_{k}}}​​

    • 特点:将输出转化为概率分布(总和为1),适用于多分类。

    • 数值稳定性:实现时需减最大值(e^{z_{j}-max(z)}防止溢出。

(三)损失函数 - 交叉熵损失函数

  1. 二分类交叉熵损失函数:公式为

L = - \frac{1}{n}\sum_{i = 1}^{n}[y_{i}\log(\hat{y}_{i}) + (1 - y_{i})\log(1 - \hat{y}_{i})]

其中,y_{i}是第 i 个样本的真实标签(取值为 0 或 1),\hat{y}_{i}是模型预测该样本属于正类的概率。预测概率与真实标签的差异越大,损失值越高,从而驱动模型优化。

  1. 多分类交叉熵损失函数:公式为

L = - \frac{1}{n}\sum_{i = 1}^{n}\sum_{j = 1}^{K}y_{ij}\log(\hat{y}_{ij})

其中,y_{ij} 表示第 i 个样本属于第 j 个类别的真实概率(通常采用 one - hot 编码,仅真实类别对应位置为 1,其余为 0),\hat{y}_{ij}是模型预测第i 个样本属于第 j 个类别的概率。该函数通过衡量预测概率分布与真实标签分布的差异,引导模型学习正确的分类决策边界。

(四)权重\(w\)和偏置参数b的更新公式

基于梯度下降法进行参数更新,学习率为 \eta

  1. 权重更新

        ​​​​​​​        ​​​​​​​        ​​​​​​​        w_{new} = w_{old} - \eta \cdot \frac{\partial L}{\partial w}

计算 \frac{\partial L}{\partial w} 需借助链式法则,涉及激活函数导数以及损失函数对输出的导数,过程相对复杂。

  1. 偏置参数更新

                        b_{new} = b_{old} - \eta \cdot \frac{\partial L}{\partial b}

(五)示例

以手写数字识别任务(共 10 个数字类别 0 - 9)为例,输入为图像的像素值向量,经神经网络处理后,通过 Softmax 激活函数输出样本属于每个数字类别的概率。假设某次模型输出为 [0.1, 0.05, 0.03, 0.02, 0.01, 0.7, 0.04, 0.02, 0.01, 0.01],而真实标签为数字 5(one - hot 编码为[0, 0, 0, 0, 0, 1, 0, 0, 0, 0] 。

  1. 计算损失:利用多分类交叉熵损失函数计算当前预测结果与真实标签之间的损失值。
  1. 反向传播更新参数:计算\frac{\partial L}{\partial w}\frac{\partial L}{\partial b} ,对神经网络中的权重和偏置进行更新,经过多轮迭代优化,逐步提升模型的数字识别准确率。

参考文献

  1. Goodfellow, I., Bengio, Y., & Courville, A. (2016). Deep Learning. MIT Press.

  2. Bishop, C. M. (2006). Pattern Recognition and Machine Learning. Springer.

  3. Kingma, D. P., & Ba, J. (2014). Adam: A Method for Stochastic Optimization. ICLR.

  4. Hinton, G. E., et al. (2012). Improving neural networks by preventing co-adaptation. arXiv:1207.0580.

Logo

腾讯云面向开发者汇聚海量精品云计算使用和开发经验,营造开放的云计算技术生态圈。

更多推荐