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

抚州公司做网站做网站公司怎么样

抚州公司做网站,做网站公司怎么样,佛山网站设计制作免费咨询,网站打不开的原因大数据机器学习-梯度下降#xff1a;从技术到实战的全面指南 文章目录 大数据机器学习-梯度下降#xff1a;从技术到实战的全面指南一、简介什么是梯度下降#xff1f;为什么梯度下降重要#xff1f; 二、梯度下降的数学原理代价函数#xff08;Cost Function#xff09;…大数据机器学习-梯度下降从技术到实战的全面指南 文章目录 大数据机器学习-梯度下降从技术到实战的全面指南一、简介什么是梯度下降为什么梯度下降重要 二、梯度下降的数学原理代价函数Cost Function梯度Gradient更新规则代码示例基础的梯度下降更新规则 三、批量梯度下降Batch Gradient Descent基础算法代码示例 四、随机梯度下降Stochastic Gradient Descent基础算法代码示例优缺点 五、小批量梯度下降Mini-batch Gradient Descent基础算法代码示例优缺点 本文全面深入地探讨了梯度下降及其变体——批量梯度下降、随机梯度下降和小批量梯度下降的原理和应用。通过数学表达式和基于PyTorch的代码示例本文旨在为读者提供一种直观且实用的视角以理解这些优化算法的工作原理和应用场景。 一、简介 梯度下降Gradient Descent是一种在机器学习和深度学习中广泛应用的优化算法。该算法的核心思想非常直观找到一个函数的局部最小值或最大值通过不断地沿着该函数的梯度gradient方向更新参数。 什么是梯度下降 简单地说梯度下降是一个用于找到函数最小值的迭代算法。在机器学习中这个“函数”通常是损失函数Loss Function该函数衡量模型预测与实际标签之间的误差。通过最小化这个损失函数模型可以“学习”到从输入数据到输出标签之间的映射关系。 为什么梯度下降重要 广泛应用从简单的线性回归到复杂的深度神经网络梯度下降都发挥着至关重要的作用。解决不可解析问题对于很多复杂的问题我们往往无法找到解析解analytical solution而梯度下降提供了一种有效的数值方法。扩展性梯度下降算法可以很好地适应大规模数据集和高维参数空间。灵活性与多样性梯度下降有多种变体如批量梯度下降Batch Gradient Descent、随机梯度下降Stochastic Gradient Descent和小批量梯度下降Mini-batch Gradient Descent各自有其优点和适用场景。 二、梯度下降的数学原理 在深入研究梯度下降的各种实现之前了解其数学背景是非常有用的。这有助于更全面地理解算法的工作原理和如何选择合适的算法变体。 代价函数Cost Function 在机器学习中代价函数也称为损失函数Loss Function是一个用于衡量模型预测与实际标签或目标之间差异的函数。通常用 ( J(\theta) ) 来表示其中 ( \theta ) 是模型的参数。 梯度Gradient 更新规则 代码示例基础的梯度下降更新规则 import numpy as npdef gradient_descent_update(theta, grad, alpha):Perform a single gradient descent update.Parameters:theta (ndarray): Current parameter values.grad (ndarray): Gradient of the cost function at current parameters.alpha (float): Learning rate.Returns:ndarray: Updated parameter values.return theta - alpha * grad# Initialize parameters theta np.array([1.0, 2.0]) # Hypothetical gradient (for demonstration) grad np.array([0.5, 1.0]) # Learning rate alpha 0.01# Perform a single update theta_new gradient_descent_update(theta, grad, alpha) print(Updated theta:, theta_new)输出 Updated theta: [0.995 1.99 ]在接下来的部分我们将探讨梯度下降的几种不同变体包括批量梯度下降、随机梯度下降和小批量梯度下降以及一些高级的优化技巧。通过这些内容你将能更全面地理解梯度下降的应用和局限性。 三、批量梯度下降Batch Gradient Descent 批量梯度下降Batch Gradient Descent是梯度下降算法的一种基础形式。在这种方法中我们使用整个数据集来计算梯度并更新模型参数。 基础算法 批量梯度下降的基础算法可以概括为以下几个步骤 代码示例 下面的Python代码使用PyTorch库演示了批量梯度下降的基础实现。 import torch# Hypothetical data (features and labels) X torch.tensor([[1.0, 2.0], [2.0, 3.0], [3.0, 4.0]], requires_gradTrue) y torch.tensor([[1.0], [2.0], [3.0]])# Initialize parameters theta torch.tensor([[0.0], [0.0]], requires_gradTrue)# Learning rate alpha 0.01# Number of iterations n_iter 1000# Cost function: Mean Squared Error def cost_function(X, y, theta):m len(y)predictions X thetareturn (1 / (2 * m)) * torch.sum((predictions - y) ** 2)# Gradient Descent for i in range(n_iter):J cost_function(X, y, theta)J.backward()with torch.no_grad():theta - alpha * theta.gradtheta.grad.zero_()print(Optimized theta:, theta)输出 Optimized theta: tensor([[0.5780],[0.7721]], requires_gradTrue)批量梯度下降的主要优点是它的稳定性和准确性但缺点是当数据集非常大时计算整体梯度可能非常耗时。接下来的章节中我们将探索一些用于解决这一问题的变体和优化方法。 四、随机梯度下降Stochastic Gradient Descent 随机梯度下降Stochastic Gradient Descent简称SGD是梯度下降的一种变体主要用于解决批量梯度下降在大数据集上的计算瓶颈问题。与批量梯度下降使用整个数据集计算梯度不同SGD每次只使用一个随机选择的样本来进行梯度计算和参数更新。 基础算法 随机梯度下降的基本步骤如下 代码示例 下面的Python代码使用PyTorch库演示了SGD的基础实现。 import torch import random# Hypothetical data (features and labels) X torch.tensor([[1.0, 2.0], [2.0, 3.0], [3.0, 4.0]], requires_gradTrue) y torch.tensor([[1.0], [2.0], [3.0]])# Initialize parameters theta torch.tensor([[0.0], [0.0]], requires_gradTrue)# Learning rate alpha 0.01# Number of iterations n_iter 1000# Stochastic Gradient Descent for i in range(n_iter):# Randomly sample a data pointidx random.randint(0, len(y) - 1)x_i X[idx]y_i y[idx]# Compute cost for the sampled pointJ (1 / 2) * torch.sum((x_i theta - y_i) ** 2)# Compute gradientJ.backward()# Update parameterswith torch.no_grad():theta - alpha * theta.grad# Reset gradientstheta.grad.zero_()print(Optimized theta:, theta)输出 Optimized theta: tensor([[0.5931],[0.7819]], requires_gradTrue)优缺点 SGD虽然解决了批量梯度下降在大数据集上的计算问题但因为每次只使用一个样本来更新模型所以其路径通常比较“嘈杂”或“不稳定”。这既是优点也是缺点不稳定性可能帮助算法跳出局部最优解但也可能使得收敛速度减慢。 在接下来的部分我们将介绍一种折衷方案——小批量梯度下降它试图结合批量梯度下降和随机梯度下降的优点。 五、小批量梯度下降Mini-batch Gradient Descent 小批量梯度下降Mini-batch Gradient Descent是批量梯度下降和随机梯度下降SGD之间的一种折衷方法。在这种方法中我们不是使用整个数据集也不是使用单个样本而是使用一个小批量mini-batch的样本来进行梯度的计算和参数更新。 基础算法 小批量梯度下降的基本算法步骤如下 代码示例 下面的Python代码使用PyTorch库演示了小批量梯度下降的基础实现。 import torch from torch.utils.data import DataLoader, TensorDataset# Hypothetical data (features and labels) X torch.tensor([[1.0, 2.0], [2.0, 3.0], [3.0, 4.0], [4.0, 5.0]], requires_gradTrue) y torch.tensor([[1.0], [2.0], [3.0], [4.0]])# Initialize parameters theta torch.tensor([[0.0], [0.0]], requires_gradTrue)# Learning rate and batch size alpha 0.01 batch_size 2# Prepare DataLoader dataset TensorDataset(X, y) data_loader DataLoader(dataset, batch_sizebatch_size, shuffleTrue)# Mini-batch Gradient Descent for epoch in range(100):for X_batch, y_batch in data_loader:J (1 / (2 * batch_size)) * torch.sum((X_batch theta - y_batch) ** 2)J.backward()with torch.no_grad():theta - alpha * theta.gradtheta.grad.zero_()print(Optimized theta:, theta)输出 Optimized theta: tensor([[0.6101],[0.7929]], requires_gradTrue)优缺点 小批量梯度下降结合了批量梯度下降和SGD的优点它比SGD更稳定同时比批量梯度下降更快。这种方法广泛应用于深度学习和其他机器学习算法中。 小批量梯度下降不是没有缺点的。选择合适的批量大小可能是一个挑战而且有时需要通过实验来确定。
http://www.pierceye.com/news/124721/

相关文章:

  • 为什么要建设应急管理网站sketch做网站
  • 做的网站在百度上搜不出来的宁波关键词优化平台
  • 哪里有手机网站建设公司有道网站收录提交入口
  • 赣州网站建设较好的公司贵州网站建设hsyunso
  • 网站建设和管理是教什么科目鹤壁网站建设鹤壁
  • 网站域名和邮箱域名解析国外网站国内做二维码
  • 万万州州微微网站网站建建设设福州建设网站效果图
  • 长安网站建设详细教程鸿科经纬教网店运营推广
  • 微信营销模式有seo短视频网页入口引流推广
  • 做商城网站简单吗长春网站建设服务
  • 工厂弄个网站做外贸如何app开发报价公司
  • 网销网站建设流程如何创建网站挣钱
  • 韶关网站制作手机推广app
  • Linux做视频网站网速均衡网页编辑实践报告
  • 做ppt好的模板下载网站如何查看网站空间商
  • 武义公司网站建设公司如何建设网站首页
  • hdwiki做网站罗湖网站建设联系电话
  • 深圳网站建设 利科技wordpress插件 手机版
  • 南通优普网站建设团队课程设计模板
  • 网站建设与维护的选择题浦东新区做网站
  • 做视频网站视频放在哪里网站备案目的
  • 建设部安全事故通报网站怎么更改网站的备案号
  • 重庆网站建设维护网络推广引流方法
  • 精品网站开发分销网站建站
  • 建设一个教程视频网站需要什么资质策划书案例范文
  • 郑州汉狮做网站的大公司海尔网站建设
  • 成都网站制作成都重庆网红景点排名
  • 广西南宁市网站制作公司制作图片的软件加字体
  • 新手搭建网站教程品牌推广费用预算
  • 广州网站设计网站制作竞价托管多少钱