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

长沙网站开发网站内容优化方案

长沙网站开发,网站内容优化方案,下列哪个不是常用的网页制作工具,昆明做网站建设的公司哪家好文章目录 #x1f340;引言#x1f340;什么是梯度下降#xff1f;#x1f340;损失函数#x1f340;梯度(gradient)#x1f340;梯度下降的工作原理#x1f340;梯度下降的变种#x1f340;随机梯度下降#xff08;SGD#xff09;#x1f340;批量梯度下降#xf… 文章目录 引言什么是梯度下降损失函数梯度(gradient)梯度下降的工作原理梯度下降的变种随机梯度下降SGD批量梯度下降BGD小批量梯度下降Mini-Batch GD 如何选择学习率梯度下降的相关数学公式梯度下降的实现代码总结 引言 在机器学习领域梯度下降是一种核心的优化算法它被广泛应用于训练神经网络、线性回归和其他机器学习模型中。本文将深入探讨梯度下降的工作原理并且进行简单的代码实现 什么是梯度下降 梯度下降是一种迭代优化算法旨在寻找函数的局部最小值或最大值以最小化或最大化一个损失函数。在机器学习中我们通常使用梯度下降来最小化模型的损失函数以便训练模型的参数。 这里顺便提一嘴与梯度下降齐名的梯度上升算法目的是使效用函数最大。 损失函数 在使用梯度下降之前我们首先需要定义一个损失函数。损失函数是一个用于衡量模型预测值与实际观测值之间差异的函数。通常我们使用均方误差MSE作为回归问题的损失函数使用交叉熵作为分类问题的损失函数。 梯度(gradient) 梯度是损失函数相对于模型参数的偏导数。它告诉我们如果稍微调整模型参数损失函数会如何变化。梯度下降算法利用梯度的信息来不断调整参数以减小损失函数的值。 梯度下降的工作原理 梯度下降的核心思想是沿着损失函数的负梯度方向调整参数直到达到损失函数的局部最小值。具体来说梯度下降的步骤如下 初始化模型参数首先随机初始化模型参数或使用某种启发式方法。 计算损失和梯度使用当前模型参数计算损失函数的值并计算损失函数相对于参数的梯度。 参数更新根据梯度的方向和学习率learning rate本文我称其为eta更新模型参数。学习率是一个控制步长大小的超参数它决定了每次迭代中参数更新的大小。 重复迭代重复步骤2和3直到损失函数的值收敛到一个稳定的值或达到预定的迭代次数。 梯度下降的变种 在梯度下降的基础上发展出了多种变种算法以应对不同的问题和挑战。其中一些常见的包括随机梯度下降SGD 随机梯度下降每次只使用一个随机样本来估计梯度从而加速收敛速度。它特别适用于大规模数据集和在线学习。 批量梯度下降BGD 批量梯度下降在每次迭代中使用整个训练数据集来计算梯度。尽管计算开销较大但通常能够更稳定地收敛到全局最小值。 小批量梯度下降Mini-Batch GD 小批量梯度下降综合了SGD和BGD的优点它使用一个小批量样本来估计梯度平衡了计算效率和收敛性能。 如何选择学习率 学习率是梯度下降的关键超参数之一。选择合适的学习率可以加速收敛但过大的学习率可能导致不稳定的训练过程。通常我们可以采用以下方法选择学习率 网格搜索尝试不同的学习率值通过验证集的性能来选择最佳值。 学习率衰减开始时使用较大的学习率随着训练的进行逐渐减小学习率。 自适应学习率使用自适应学习率算法如Adam、Adagrad或RMSprop它们可以自动调整学习率以适应梯度的变化。 梯度下降的相关数学公式 本人数学不好这里有说的不清楚的地方还请见谅谢谢佬~ 首先我们通过图像认识一下损失函数 这里的步长指的是可能有些人会好奇为啥有一个负号呢因为对称轴左侧的导数都是负值这里加一个负号不就正了嘛 具体推导过程请查看相关佬的文章哭~ 梯度下降的实现代码 首先我们导入我们需要的库 import numpy as np import matplotlib.pyplot as plt之后我们需要举一个例子这里我们采用numpy里面的一个分割函数linspace同时我们举一个函数的例子 plt_x np.linspace(-1,6,141) plt_y (plt_x-2.5)**2-1之后我们使用show进行展示一下图像 plt.plot(plt_x,ply_y) plt.show()运行结果如下 上图看起来就是一个普通的曲线方便我们进行理解 接下来我们需要两个函数一个为了返回导数一个为了返回对应的y值 def dj(thera):return 2*(thera-2.5) # 求导 def j(thera)return (thera-2.5)**2-1 # 求对应的值接下来是梯度下降的关键位置了这里我们需要初始化两个参数以及一个范围参数同时设置一个while循环将前一个thera保存在last_thera中后一个thera是前一个thera和步长的差值这里的步长就是梯度个参数eta的乘积最后使用if函数来终结循环最终我们将最小值点的值、导数、以及自变量打印出来 eta 0.1 theta 0.0 epsilon 1e-8 while True:gradient dj(theta)last_theta thetatheta theta-gradient*eta if np.abs(j(theta)-j(last_theta))epsilon:breakprint(theta) print(dj(theta)) print(j(theta))运行结果如下 这里我们也可以使用列表来看看到底进行了多少次thera的循环 eta 0.1 theta 0.0 epsilon 1e-8 theta_history [theta] while True:gradient dj(theta)last_theta thetatheta theta-gradient*eta theta_history.append(theta)if np.abs(j(theta)-j(last_theta))epsilon:breakprint(theta) print(dj(theta)) print(j(theta))len(theta_history)运行结果如下 还可以绘制图像进行直观查看 plt.plot(plt_x,plt_y) plt.plot(theta_history,[(i-2.5)**2-1 for i in theta_history],colorr,marker*) plt.show()运行结果如下 这样的话就很直观了吧~ 总结 本节只介绍梯度下降的简单实现下节继续学习此法中eta参数的调节 挑战与创造都是很痛苦的但是很充实。
http://www.zqtcl.cn/news/441701/

相关文章:

  • 如何建立自己手机网站58招聘网站官网
  • 网站程序源码下载网站怎么做定位功能
  • 深圳vi设计公司联系西安seo诊断
  • 老虎淘客系统可以做网站吗绍兴网站专业制作
  • 小公司做网站需要 align center
  • 自己做的网站怎么上传网络什么网站可以找人做系统
  • 公司在兰州要做网站怎样选择做期货关注什么网站
  • 响应式网站是指自适应吗新开传奇网站首区
  • 做网站产品介绍wordpress 参数 传递
  • 网站颜色搭配技巧建设摩托车价格大全
  • 哪些网站可以做画赚钱宁波模板建站定制
  • 昆明门户网站建设wordpress权限设置
  • 设计网站建设图片wordpress博客置顶
  • 网站上海网站建设网站数据建设涉及哪些内容
  • 3d效果图教程网站宁波网站建设慕枫科技
  • 视频结交网站怎么做想创建一个网站
  • 电商网站销售数据分析上海企业信息登记号查询
  • 网站建设规划设计公司排名无锡网站建设 君通科技
  • 徐州网站开发要多少钱给个人网站做百度百科
  • 法语网站建设免费网站为何收录比较慢
  • 品牌网站推广软件seo内链优化
  • 广东律师事务所东莞网站建设做网站 怎么备案
  • shopnc本地生活o2o网站源码wordpress文章内多页效果
  • 深圳全国网站制作哪个好页面设计有哪几种风格
  • 网页设计作业网站素材和效果图夏天做啥网站致富
  • 利用帝国软件如何做网站网站友链交换平台
  • 简述网站开发技术深圳网站设计合理刻
  • wordpress网站名称寻找销售团队外包
  • 一浪网站建设网页qq邮箱
  • 做网站需要注册公司吗夫唯seo系统培训