神经网络核心知识点梳理--一图了然

一图搞懂神经网络

1.网络结构

上图是一个单层输入层,隐藏层,及输出层的简单神经网络结构,输入坐标位置x1,x2,输出四个象限的分类结果.本文节选自个人博客,全文请见linxkon.github.io

1.1 输入层

  • 1x2矩阵的输入数据X1和X2
  • Bias(偏置)项作为额外输入,增强模型表达能力

1.2 隐藏层

  • 6维度的神经元结构
  • 每个神经元包含加权求和(Σ)和激活函数(f)
  • 常用激活函数:
    • Sigmoid: σ(x) = 1 / (1 + e^(-x))
    • Tanh: tanh(x) = (e^x - e^(-x)) / (e^x + e^(-x))
    • ReLU: f(x) = max(0, x)
    • Leaky ReLU: f(x) = max(αx, x), 其中α是小正数

1.3 输出层

  • 1x4矩阵输出,对应4个分类
  • 使用Softmax函数进行概率映射
  • 交叉熵损失计算

1.4 权重矩阵

  • Wa_i: 2x6维度,连接输入层和隐藏层
  • Wb_i: 6x4维度,连接隐藏层和输出层

2.训练过程详解

2.1 前向传播

  • 数据从输入层经过加权和激活,传递到输出层
  • 隐藏层计算: H = f(X * Wa_i + b1)
  • 输出层计算: Y = softmax(H * Wb_i + b2)

2.2 概率映射

  • Softmax函数: Si = e^zi / Σ(e^zj)
  • 将神经网络的原始输出转换为概率分布
  • 确保输出和为1,便于多分类问题的概率解释
  • 得出概率结果方便下一步概率计算

多分类问题使用softmax进行概率映射

二分类问题用sigmoid进行概率映射

2.3 损失计算

损失计算可以分为分类损失和回归损失两种,

  • 详见本文

  • 多分类交叉熵损失(Cross Entropy Loss):
    L = -Σ(yi * log(ŷi))
    其中yi为真实标签,ŷi为预测概率

  • 对于二分类问题,可使用二元交叉熵:
    L = -(y * log(ŷ) + (1-y) * log(1-ŷ))

  • 损失函数用于量化模型预测与真实标签的差异,惩罚与真实标签差异大的

2.4 反向传播

  • 计算损失函数对各层参数的梯度
  • 使用链式法则逐层计算梯度
  • ∂L/∂W = ∂L/∂Y * ∂Y/∂Z * ∂Z/∂W
    其中Z为激活函数输入,W为权重

2.5 梯度下降

梯度下降相关概念:
  • 正向传播+损失计算得出损失值来之后,我们希望找到损失函数取值最小的w(权重)
  • 因损失函数皆为凸函数(碗的形状),即寻找令损失函数的导数为0的w
  • 并不是所有损失函数都能直接求导找到这个点,所以我们通过反向传播+梯度下降的方式迭代去求该w
  • 我们知道函数的导数方向(即梯度)是函数增长最快的方向,我们想要得到令损失函数导数为0的w,就要找到损失函数的负梯度方向
  • 基于以上思路,假设我们当前的w是W_old,我们求此刻损失函数的偏导值,增加符号以得到它的负梯度方向,并乘以系数η控制其前进的步伐大小,得到 η * ∂L/∂W,再用W_old- η * ∂L/∂W得到W_new,新的w可以让损失函数的取值更小,以此类推,便可以通过多次迭代求得令损失函数取得最小值的w

综上,梯度下降的公式为:

W = W - η * ∂L/∂W

W:表示模型的参数(或权重),这些是我们希望优化的值。

η(学习率):这是一个超参数,控制每次更新步伐的大小。较大的学习率会导致更大的步伐,较小的学习率则会导致较小的步伐。选择合适的学习率非常重要,太大可能导致不稳定的收敛,太小可能导致收敛速度太慢。

L(损失函数):这是我们希望最小化的函数,它衡量了模型预测值与实际值之间的差距。

∂L/∂W(损失函数对参数的梯度):这是损失函数相对于参数的导数,表示了在当前参数值下,损失函数的变化率。通过计算这个梯度,我们可以知道如何调整参数 W来减少损失函数的值。

根据梯度下降时batchsize的不同,梯度下降的方法可以划分为

**BGD批量梯度下降:**全量样本all in训练,大型数据集基本不可行

**SGD随机梯度下降:**随机抽取单样本放入模型训练,受异常值影响,梯度更新时波动较大,训练时间长

**MiniBatch小批量梯度下降:**根据需求自由定义batchsize,兼具BGD和SGD的优点,收敛相对较快,最为常用

本文节选自个人博客,全文请见linxkon.github.io

  • 18
    点赞
  • 10
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值