当前位置: 首页 > news >正文

神经网络基础-神经网络补充概念-44-minibatch梯度下降法

概念

小批量梯度下降法(Mini-Batch Gradient Descent)是梯度下降法的一种变体,它结合了批量梯度下降(Batch Gradient Descent)和随机梯度下降(Stochastic Gradient Descent)的优点。在小批量梯度下降中,每次更新模型参数时,不是使用全部训练数据(批量梯度下降)或仅使用一个样本(随机梯度下降),而是使用一小部分(小批量)样本。

代码实现

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.01# 迭代次数
n_iterations = 1000# 小批量大小
batch_size = 10# 小批量梯度下降
for iteration in range(n_iterations):shuffled_indices = np.random.permutation(100)X_b_shuffled = X_b[shuffled_indices]y_shuffled = y[shuffled_indices]for i in range(0, 100, batch_size):xi = X_b_shuffled[i:i+batch_size]yi = y_shuffled[i:i+batch_size]gradients = 2 / batch_size * xi.T.dot(xi.dot(theta) - yi)theta = theta - learning_rate * gradients# 绘制数据和拟合直线
plt.scatter(X, y)
plt.plot(X, X_b.dot(theta), color='red')
plt.xlabel('X')
plt.ylabel('y')
plt.title('Linear Regression with Mini-Batch Gradient Descent')
plt.show()print("Intercept (theta0):", theta[0][0])
print("Slope (theta1):", theta[1][0])
http://www.lryc.cn/news/128432.html

相关文章:

  • 比较海思麒麟810与高通骁龙855的优劣
  • 计算机机房的管理
  • 软件架构生态化-多角色交付的探索实践
  • 基于YOLOv5n/s/m不同参数量级模型开发构建茶叶嫩芽检测识别模型,使用pruning剪枝技术来对模型进行轻量化处理,探索不同剪枝水平下模型性能影响【续】
  • 深度解析 Llama 2 的资源汇总:不容错过
  • Git 删除 GitHub仓库的文件
  • 如何使用 ChatGPT 将文本转换为 PowerPoint 演示文稿
  • html(七)meta标签
  • 《Go 语言第一课》课程学习笔记(五)
  • Golang 并发编程基础
  • 代码随想录算法训练营(二叉树总结篇)
  • 华为开源自研AI框架昇思MindSpore应用案例:基于MindSpore框架的UNet-2D案例实现
  • Python入门【TCP建立连接的三次握手、 TCP断开连接的四次挥手、套接字编程实战、 TCP编程的实现、TCP双向持续通信】(二十七)
  • React笔记-React入门
  • SD WebUI 扩展:prompt-all-in-one
  • Go和Java实现中介者模式
  • CentOS系统环境搭建(十五)——CentOS安装Kibana
  • 简单的洗牌算法
  • vscode用ssh远程连接linux
  • chapter 3 Free electrons in solid - 3.2 量子自由电子理论对一些现象的解释
  • vue实现打印功能
  • golang—面试题大全
  • Spring、Springboot、SpringCloud--包含的知识点大全
  • MongoDB:数据库初步应用
  • C#之枚举中的按位与()按位或(|)。
  • Blazor前后端框架Known-V1.2.12
  • bug记录:微信小程序 给button使用all: initial重置样式
  • 【计算机视觉|生成对抗】带条件的对抗网络进行图像到图像的转换(pix2pix)
  • [时序数据库]:InfluxDB进阶
  • uniapp编写微信小程序遇到的坑总结