神经网络基础-神经网络补充概念-45-指数加权平均

概念

指数加权平均(Exponential Moving Average,EMA)是一种平均方法,用于平滑时间序列数据或者计算变量的滚动均值。它对数据的权重分布呈指数递减,越靠近当前时刻的数据权重越高,越远离当前时刻的数据权重越低。EMA在信号处理、金融分析和深度学习等领域中有广泛应用,可以用于去噪、趋势分析以及模型参数更新等场景。

公式

EMA的计算公式如下:

python 复制代码
EMA(t) = α * x(t) + (1 - α) * EMA(t-1)

其中,t 表示当前时刻,x(t) 表示当前时刻的数据点,α 是平滑因子(也称为衰减因子),通常取值范围在0到1之间。EMA(t-1) 表示上一时刻的指数加权平均。

在每一步迭代中,都会计算新的EMA值,这样可以在数据流动过程中对数据进行平滑处理。

代码实现

python 复制代码
import numpy as np
import matplotlib.pyplot as plt

# 生成随机数据
np.random.seed(0)
data = np.random.randn(100)

# 指数加权平均的平滑因子
alpha = 0.2

# 计算指数加权平均
ema = np.zeros_like(data)
ema[0] = data[0]
for t in range(1, len(data)):
    ema[t] = alpha * data[t] + (1 - alpha) * ema[t-1]

# 绘制原始数据和指数加权平均
plt.plot(data, label='Original Data')
plt.plot(ema, label=f'EMA (alpha={alpha})', color='red')
plt.legend()
plt.xlabel('Time')
plt.ylabel('Value')
plt.title('Exponential Moving Average')
plt.show()
相关推荐
沛沛老爹几秒前
Web转AI架构篇:Agent Skills vs MCP-混合架构设计模式实战指南
java·前端·人工智能·架构·llm·rag
算法狗24 分钟前
大模型面试题:有以下哪些方式可以在 prompt 中插入指令?
人工智能·深度学习·机器学习·语言模型·面试题
ShiMetaPi4 分钟前
八核RISC-V + 双屏输出 + 全接口扩展:M-K1HSE 深度解析
人工智能·机器人·鸿蒙·开源鸿蒙
专业开发者5 分钟前
NXP解析蓝牙 ® 声道探测技术将如何赋能汽车数字钥匙
人工智能·物联网·汽车
A小码哥27 分钟前
跟着AI学习谷歌最新的通用商业协议(UCP)实操步骤
人工智能·学习
拓端研究室31 分钟前
2026年全球医疗行业趋势研究报告:AI医疗、创新药与医疗器械|附240+份报告PDF、数据、可视化模板汇总下载
人工智能
小凡致心32 分钟前
AI交互中的核心概念解析
人工智能
Hcoco_me41 分钟前
大模型面试题76:强化学习中on-policy和off-policy的区别是什么?
人工智能·深度学习·算法·transformer·vllm
下海fallsea1 小时前
德邦跟了京东,极兔搂住顺丰
网络·人工智能·安全
五度易链-区域产业数字化管理平台1 小时前
行业分析报告|从算法到基因治疗:生物医药行业的数字化转型与人才战略
大数据·人工智能