改善深层神经网络_优化算法——带修正偏差的指数加权平均

本文深入探讨了机器学习中常用的优化算法——指数加权平均。文章通过英国气温数据实例,详细解析了不同β值下指数加权平均的效果,包括其在平滑数据、减少噪声方面的优势,以及如何通过偏差修正提高初期估算准确性。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

优化算法:指数加权平均

在学习吴恩达的深度学习系列课程,优化算法部分,权重更新部分讲到指数加权平均,查找到下面博文。此博文看配图,举例,也是吴恩达课程的总结,故此转载。

原作:cloud&ken

发表于:博客园

链接:https://www.cnblogs.com/cloud-ken/p/7723755.html

 指数加权平均

举个例子,对于图中英国的温度数据计算移动平均值或者说是移动平均值(Moving average).

2017-10-24_105908

IMG_20171024_111318
大体公式就是前一日的V值加上当日温度的0.1倍,如果用红线表示这个计算数值的话就可以得到每日温度的指数加权平均值.

2017-10-24_111740

  • 你可以将其认为该数值表示的是1/1−β的平均值
的理解,你可以将其认为该数值表示的是 天的平均值,例如如果这里取 是取0.9,那么这个V值表示的是十天以来的温度的加权平均值.如果我们设置
  • 值是0.98那么我们就是在计算50天内的指数加权平均,这时我们用图中的绿线表示指数加权平均值

2017-10-24_123827

  • 我们看到这个高值的
得到的曲线要平坦一些,是因为你多平均了几天的温度.所以波动更小,更加平坦.缺点是曲线向右移动,这时因为现在平均的温度值更多,所以会出现一定的延迟.对于
这个值的理解在于有0.98的权重给了原先的值,只有0.02的权重给了当日的值.我们现在将
  • 作图运行后得到黄线,由于仅平均了两天的温度,平均的数据太少,所以得到的曲线有更多的噪声,更有可能出现异常值,但是这个曲线能更快的适应温度变化,所以指数加权平均数经常被使用.
  • 在统计学中,它常被称为指数加权移动平均值

2.4 理解指数加权平均

公式:

为0.9时,得到的是 红线, 为0.98,得到的是 绿线,
  • 为0.5时,得到的是黄线.

2017-10-24_130336

2017-10-24_130542

IMG_20171024_132821

  • 通过计算,我们发现
,也就是说对于$\beta=0.9而言 \frac{1}{3}$ 对于 ,即50天之后权重就会下降到
即有

优势

实际处理数据时,我们会使用以下公式:
2017-10-24_135627

  • 内存代码仅仅占用一行数字而已,不断覆盖掉原有的V值即可,只占单行数字的存储和内存.虽然不是最精确的计算平均值的方法,但是相比于原有的计算平均值需要保存所有数据求和后取平均的方法效率更高和资源占用率大大减小.所以在机器学习中大部分采用指数加权平均的方法计算平均值.

2.5 指数加权平均的偏差修正

当我们取

时,实际上我们得到的不是绿色曲线,而是紫色曲线,因为使用指数加权平均的方法在前期会有很大的偏差,为此我们引入了偏差修正的概念

2017-10-24_150409

指数加权平均公式:

带修正偏差的指数加权平均公式:

IMG_20171024_150711

补充

在机器学习中,在计算指数加权平均数的大部分时候,大家不太在乎偏差修正,大部分宁愿熬过初始阶段,拿到具有偏差的估测,然后继续计算下去.
如果你关心初始时期的偏差,修正偏差能帮助你在早期获得更好的估测


### 卷积神经网络学习机制解析 卷积神经网络(CNNs)是一种专门设计用于处理具有网格结构的数据的深层神经网络架构,比如时间序列数据中的时间线性结构、语音信号的一维频谱图以及图像的二维像素矩阵等[^3]。 #### 权重共享与局部连接特性 CNN通过引入权重共享和局部感受野的概念来减少参数数量并提高模型泛化能力。每一层内的不同位置上的神经元只与其输入区域的一个子集相连形成局部连接;而同一特征映射下的所有这些局部连接共享相同的权值集合——即所谓的滤波器或内核(kernel)[^1]。这种设置使得CNN能够在保持较高表达力的同时大幅降低计算复杂度。 #### 特征提取过程 在网络前向传播过程中,原始输入经过一系列交替排列的卷积(Convolution)操作和平滑池化(Pooling)步骤逐步被转换成抽象程度逐渐增高的表示形式: - **卷积层**:利用多个可训练的小尺寸窗口(通常为$3\times3$ 或 $5\times5$大小),在输入上滑动执行加权求和运算加上偏置项后再施加激活函数得到新的特征图; ```python import torch.nn as nn conv_layer = nn.Conv2d(in_channels=3, out_channels=64, kernel_size=(3, 3), stride=1, padding=1) ``` - **池化层**:为了进一步压缩空间维度同时保留重要信息,在每轮卷积之后往往会紧接着应用最大/平均池化(Max/Average Pooling),它会选择特定区域内最显著响应作为代表从而实现降采样效果。 #### 反向传播算法更新参数 当完成正向传递获得最终输出后,如果存在监督标签,则可通过定义损失函数衡量两者差异进而启动反向传播流程调整各层内部参数直至收敛于最优解附近。具体来说就是依据链式法则沿着误差梯度方向逐级回溯修正每一个参与计算节点处对应的权重系数及其关联偏差量直到满足预设终止条件为止[^2]。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值