【NLP 10、优化器 ① SGD 随机梯度下降优化器】

目录

一、定义

二、什么是梯度下降

三、SGD的工作原理

四、SGD的优化公式(更新规则)

五、SGD的优缺点

优点

缺点

六、如何选择学习率

七、使用SGD优化器训练一个简单的线性回归模型


祝你

随时攥紧偶然

永远拥有瞬间

------ 24.12.6

一、定义

随机梯度下降(Stochastic Gradient Descent,SGD) 是一种常用的优化算法,用于训练机器学习模型特别是神经网络。它通过迭代地更新模型参数来最小化损失函数


二、什么是梯度下降

梯度下降是一种优化算法,通过计算损失函数对模型参数的梯度(导数),然后沿着梯度的反方向更新参数,以使损失函数逐渐减小

SGD随机梯度下降优化器: 在每一步更新参数时,仅使用一个样本的梯度


三、SGD的工作原理

1.随机选择一个样本(或一个小批量样本)

2.计算该样本(或小批量样本)的梯度

3.按照梯度的反方向更新模型参数

4.重复上述步骤,直到满足停止条件(如达到最大迭代次数或损失函数收敛)


四、SGD的优化公式(更新规则)

假设我们有一个损失函数 L(θ),其中 θ是模型参数。SGD的更新规则为:

其中:

  • θt 是第 t 次迭代时的参数

  • η是学习率,控制每次更新的步长

  • ∇L(θt​)是损失函数在θt处的梯度


五、SGD的优缺点

优点

  • 计算效率高,因为每次只使用一个样本或小批量样本,减少了计算量

  • 可以快速收敛到损失函数的最小值,尤其是在损失函数不平整时

  • 有助于逃避免局部最小值

缺点

  • 由于噪声较大,损失函数的下降过程可能不稳定

  • 需要仔细选择学习率,否则可能发散或收敛过慢


六、如何选择学习率

  • 固定学习率 :在整个训练过程中使用一个固定的学习率

  • 学习率衰减 :随着训练的进行,逐渐降低学习率

  • 自适应学习率 :如Adam、RMSprop等优化器,可以自动调整学习率


七、使用SGD优化器训练一个简单的线性回归模型

**Learned parameters:**优化后的参数

python 复制代码
import numpy as np

# 使用SGD训练一个简单的线性回归模型

# 生成一些伪数据
np.random.seed(0)
X = np.random.rand(100, 1)
y = 2 + 3 * X + np.random.rand(100, 1)

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

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

for i in range(iterations):
    # 随机选择一个样本
    idx = np.random.randint(0, 100)
    xi = X_b[idx:idx + 1]
    yi = y[idx:idx + 1]

    # 计算预测值
    predictions = np.dot(xi, theta)

    # 计算梯度
    gradient = 2 * xi.T.dot(predictions - yi)

    # 更新参数
    theta -= learning_rate * gradient

print("Learned parameters:")
print(theta)
相关推荐
爆写加倍16 小时前
2026年3款视频转文字软件测评技术升级让转写整理更准更省心
人工智能·ai
樊小肆16 小时前
DeepSeeker-Code源码导读02-runAgent主循环
人工智能·agent
ACP广源盛1392462567316 小时前
WAIC2026 国产算力浪潮@ACP#YLB3118 在算力矩阵中的存储定位与落地场景
大数据·人工智能·分布式·单片机·嵌入式硬件
ACP广源盛1392462567316 小时前
WAIC2026 国产算力浪潮下@ACP#IX8024 在算力矩阵中的定位与落地场景
大数据·数据库·人工智能·嵌入式硬件·线性代数·矩阵
3A Cloud16 小时前
从「心即理」到提示词工程:深度解析 ClawHub 上的阳明心学技能(yangming-xinxue)
人工智能·笔记
大模型探索者16 小时前
统一工作台+预测外呼:华润保险经纪如何用中关村科金呼叫中心重构保险服务全流程?
人工智能
品牌测评16 小时前
当AI编码平台走向订阅制与多模型聚合:以Alaya Code为例的技术观察
人工智能
茶马古道的搬运工16 小时前
AI 深度技能之-解读DeepSeek Harness(一)- 初见
人工智能
oort12316 小时前
OortCodex 是奥尔特云 OortCloudSmart 推出的国产化工程化 AI 编码 Agent(奥尔特云编码智能体)
大数据·人工智能·算法
TheBestRucy16 小时前
基于Dify的旅游攻略&王者荣耀攻略智能助手项目
服务器·开发语言·人工智能·python·算法·旅游