96SEO 2026-02-23 11:38 7
本文涉及到的代码链接如下#xff1a;regression2chatgpt/ch06_optimizer/stochastic_gradient_descent.ipynb

这篇文章的大部分内容参考自我的新书《解构大语言模型从线性回归到通用人工智能》欢迎有兴趣的读者多多支持。
本文涉及到的代码链接如下regression2chatgpt/ch06_optimizer/stochastic_gradient_descent.ipynb
相关说明一、随机梯度下降法更优化的算法二、算法细节三、代码实现四、粉丝福利
梯度下降法虽然在理论上很美好但在实际应用中常常会碰到瓶颈。
为了说明这个问题令
Li(yi−axi−b)2对所有数据点的损失求和后可以得到整体损失函数
。
即模型的损失函数实际上是各个数据点损失的平均值这一观点适用于大多数模型
∇L1⁄n∑iLi。
也就是说损失函数的梯度等于所有数据点处梯度的平均值。
但是在实际应用中通常会使用大型数据集计算所有数据点的梯度和这需要相当长的时间。
为了加速这个计算过程可以考虑使用随机梯度下降法Stochastic
随机梯度下降法的核心思想是每次迭代时只随机选择小批量的数据点来计算梯度然后用这个小批量数据点的梯度平均值来代替整体损失函数的梯度2。
I1,I2,⋯,Im。
使用这些数据点的梯度平均值来近似代替整体损失函数的梯度
ak1ak−η/mj1∑m∂LIj/∂abk1bk−η/mj1∑m∂LIj/∂b(1)
在随机梯度下降法中所有数据点都使用了一遍称为模型训练了一轮。
由此在实际应用中常使用另一个超参数——训练轮次Epoch表示所有数据将被用几遍用于控制随机梯度下降法的循环次数。
换句话说就是公式1被迭代运算多少次。
在一些机器学习书籍和学术文献中还对随机梯度下降法当m1时和小批量梯度下降法当m1时进行了进一步的区分。
然而这两种方法之间的区别并不大其核心思想都是基于随机采样来近似计算梯度从而高效地更新参数、优化模型。
在实际应用中会根据问题的性质和数据规模选择合适的批次大小以获得最佳的训练效果。
因此本书将统一使用随机梯度下降法来代表这一类方法以保持概念清晰和简洁。
与梯度下降法相比随机梯度下降法更高效这是因为小批量梯度计算比整体梯度计算快得多。
尽管在随机梯度下降法中采用小批量数据估计梯度可能会引入一些噪声但实践证明这些噪声对整个优化过程有好处有助于模型克服局部最优的“陷阱”逐步逼近全局最优参数。
随机梯度下降法的实现与梯度下降法类似不同之处在于每次计算梯度时需要“随机”选取一部分数据具体的实现步骤可以参考程序清单1完整代码。
在程序清单1的第2行引入一个名为batch_size的超参数用于控制每个批次中的数据量大小。
选择合适的batch_size对算法的运行效率和稳定性至关重要。
如果参数设置过大可能会导致算法运行效率下降而过小的参数可能使算法变得过于随机影响收敛的稳定性。
选择合适的参数需要结合具体的模型和应用场景结合相关领域的经验进行决策。
在程序清单1的第11—13行展示了一种随机选取批次数据的实现方式。
这也是随机梯度下降法与普通梯度下降法的主要区别之一。
实现随机性的方式有很多种比如引入随机数等。
这里仅呈现一种经典方法将数据按顺序划分成批次。
torch.optim.SGD(model.parameters(),
注意loss记录的是模型在当前批次数据上的损失该数值的波动较大
{model.string()})在随机梯度下降法的执行过程中通常使用模型的整体损失作为指标来监测算法的运行情况。
但要注意的是程序清单1中第16行定义的loss表示模型在小批量数据上的损失这个值仅依赖于少量数据迭代过程中会表现出极大的不稳定性因此并不适合作为评估算法运行情况的主要标志。
如果希望更准确地监测算法的运行情况需要在更大的数据集上估计模型的整体损失例如在全部训练数据上计算损失如图1所示。
这种评估方式更稳定能够更全面地反映模型的训练进展。
参与方式关注博主、点赞、收藏、评论区评论“解构大语言模型”切记要点赞收藏否则抽奖无效每个人最多评论三次
对于解决回归问题的模型这个结论显然成立。
对于解决分类问题的模型比如逻辑回归模型只需对模型的似然函数做简单的数学变换先求对数再求相反数就可以得到同样的结论。
这在数学上是完全合理的。
从统计的角度来看用所有数据点求平均值并不比随机抽样的方法高明很多。
与线性回归参数估计值类似两个结果都是随机变量它们都以真实梯度为期望只是前者的置信区间更小。
作为专业的SEO优化服务提供商,我们致力于通过科学、系统的搜索引擎优化策略,帮助企业在百度、Google等搜索引擎中获得更高的排名和流量。我们的服务涵盖网站结构优化、内容优化、技术SEO和链接建设等多个维度。
| 服务项目 | 基础套餐 | 标准套餐 | 高级定制 |
|---|---|---|---|
| 关键词优化数量 | 10-20个核心词 | 30-50个核心词+长尾词 | 80-150个全方位覆盖 |
| 内容优化 | 基础页面优化 | 全站内容优化+每月5篇原创 | 个性化内容策略+每月15篇原创 |
| 技术SEO | 基本技术检查 | 全面技术优化+移动适配 | 深度技术重构+性能优化 |
| 外链建设 | 每月5-10条 | 每月20-30条高质量外链 | 每月50+条多渠道外链 |
| 数据报告 | 月度基础报告 | 双周详细报告+分析 | 每周深度报告+策略调整 |
| 效果保障 | 3-6个月见效 | 2-4个月见效 | 1-3个月快速见效 |
我们的SEO优化服务遵循科学严谨的流程,确保每一步都基于数据分析和行业最佳实践:
全面检测网站技术问题、内容质量、竞争对手情况,制定个性化优化方案。
基于用户搜索意图和商业目标,制定全面的关键词矩阵和布局策略。
解决网站技术问题,优化网站结构,提升页面速度和移动端体验。
创作高质量原创内容,优化现有页面,建立内容更新机制。
获取高质量外部链接,建立品牌在线影响力,提升网站权威度。
持续监控排名、流量和转化数据,根据效果调整优化策略。
基于我们服务的客户数据统计,平均优化效果如下:
我们坚信,真正的SEO优化不仅仅是追求排名,而是通过提供优质内容、优化用户体验、建立网站权威,最终实现可持续的业务增长。我们的目标是与客户建立长期合作关系,共同成长。
Demand feedback