神经网络基础-神经网络补充概念-48-rmsprop

概念## 标题

RMSProp(Root Mean Square Propagation)是一种优化算法,用于在训练神经网络等机器学习模型时自适应地调整学习率,以加速收敛并提高性能。RMSProp可以有效地处理不同特征尺度和梯度变化,对于处理稀疏数据和非平稳目标函数也表现良好。

核心思想

RMSProp的核心思想是根据参数梯度的历史信息自适应地调整每个参数的学习率。具体来说,RMSProp使用指数加权移动平均(Exponential Moving Average,EMA)来计算参数的平方梯度的均值,并使用该平均值来调整学习率。

步骤

1初始化参数:初始化模型的参数。

2初始化均方梯度的移动平均:初始化一个用于记录参数平方梯度的指数加权移动平均变量,通常初始化为零向量。

3计算梯度:计算当前位置的梯度。

4计算均方梯度的移动平均:计算参数平方梯度的指数加权移动平均,通常使用指数加权平均公式。

python 复制代码
moving_average = beta * moving_average + (1 - beta) * gradient^2

其中,beta 是用于计算指数加权平均的超参数

5更新参数:根据均方梯度的移动平均和学习率,更新模型的参数。

python 复制代码
parameter = parameter - learning_rate * gradient / sqrt(moving_average + epsilon)

其中,epsilon 是一个小的常数,防止分母为零。

6重复迭代:重复执行步骤 3 到 5,直到达到预定的迭代次数(epochs)或收敛条件。

代码实现

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

# 生成随机数据
np.random.seed(0)
X = 2 * np.random.rand(100, 1)
y = 4 + 3 * X + np.random.randn(100, 1)

# 添加偏置项
X_b = np.c_[np.ones((100, 1)), X]

# 初始化参数
theta = np.random.randn(2, 1)

# 学习率
learning_rate = 0.1

# RMSProp参数
beta = 0.9
epsilon = 1e-8
moving_average = np.zeros_like(theta)

# 迭代次数
n_iterations = 1000

# RMSProp优化
for iteration in range(n_iterations):
    gradients = 2 / 100 * X_b.T.dot(X_b.dot(theta) - y)
    moving_average = beta * moving_average + (1 - beta) * gradients**2
    theta = theta - learning_rate * gradients / np.sqrt(moving_average + epsilon)

# 绘制数据和拟合直线
plt.scatter(X, y)
plt.plot(X, X_b.dot(theta), color='red')
plt.xlabel('X')
plt.ylabel('y')
plt.title('Linear Regression with RMSProp Optimization')
plt.show()

print("Intercept (theta0):", theta[0][0])
print("Slope (theta1):", theta[1][0])
相关推荐
福客AI智能客服15 小时前
AI赋能智能客服机器人:家居日用电商的售后标准化与体验升级核心
大数据·人工智能
摸鱼仙人~15 小时前
深入理解 Transformer:位置编码 (Positional Encoding) 与位置嵌入 (Positional Embedding) 的核心区别
深度学习·transformer·embedding
明明真系叻15 小时前
2025.12.28日周报
深度学习
明天好,会的15 小时前
分形生成实验:在有限上下文中构建可组合的强类型单元
人工智能
All The Way North-15 小时前
从0到1,构建自己的全连接神经网络
人工智能·pytorch·深度学习·全连接神经网络
week_泽15 小时前
6、OpenCV SURF特征检测笔记
人工智能·笔记·opencv
AI即插即用15 小时前
即插即用系列 | CVPR 2025 DICMP:基于深度信息辅助的图像去雾与深度估计双任务协同互促网络
图像处理·人工智能·深度学习·神经网络·计算机视觉·视觉检测
Coder_Boy_15 小时前
基于SpringAI的智能平台基座开发-(五)
java·人工智能·spring boot·langchain·springai
AI即插即用15 小时前
即插即用系列 | WACV 2024 CSAM:面向各向异性医学图像分割的 2.5D 跨切片注意力模块
图像处理·人工智能·深度学习·神经网络·目标检测·计算机视觉·视觉检测
今夕资源网15 小时前
仙宫云自动抢算力工具可后台运行,仙宫云自动抢卡,仙宫云自动抢显卡,AI云平台抢算力
人工智能·后台·仙宫云·抢算力·抢显卡·抢gpu