做网投网站,洒长春菩网站建设,永春县住房和城乡规划建设局网站,wordpress好不好Hi#xff0c;大家好#xff0c;我是半亩花海。接着上次的多重回归继续更新《白话机器学习的数学》这本书的学习笔记#xff0c;在此分享随机梯度下降法这一回归算法原理。本章的回归算法原理还是基于《基于广告费预测点击量》项目#xff0c;欢迎大家交流学习#xff01;… Hi大家好我是半亩花海。接着上次的多重回归继续更新《白话机器学习的数学》这本书的学习笔记在此分享随机梯度下降法这一回归算法原理。本章的回归算法原理还是基于《基于广告费预测点击量》项目欢迎大家交流学习 目录
一、随机梯度下降法概述
二、案例分析
1. 设置问题
2. 定义模型
3. 随机梯度下降法拓展 一、随机梯度下降法概述
随机梯度下降法是一种优化算法用于最小化目标函数即减少模型预测和实际结果之间的差距。它是梯度下降算法的一种变体其核心原理是在每次迭代搜索中算法随机选择一个样本或数据点或一小批样本计算该样本的梯度然后用这个梯度更新模型参数。
随机梯度下降算法Stochastic Gradient DescentSGD和批量梯度下降算法Batch Gradient DescentBGD的区别在于随机梯度算法每次只使用少数几个样本点或数据集每次不重复的梯度的平均值就更新一次模型而批量梯度下降算法需要使用所有样本点或数据集的梯度的平均值更新模型。、
举一个经典而形象的例子假设你现在在山上为了以最快的速度下山且视线良好你可以看清自己的位置以及所处位置的坡度那么沿着坡向下走最终你会走到山底。但是如果你被蒙上双眼那么你则只能凭借脚踩石头的感觉判断当前位置的坡度精确性就大大下降有时候你认为的坡实际上可能并不是坡走一段时间后发现没有下山或者曲曲折折走了好多路才能下山。类似的批量梯度下降法就好比正常下山而随机梯度下降法就好比蒙着眼睛下山。
因此随机梯度下降算法的效率明显提高目前已经得到了广泛应用。
例子来源于《详解随机梯度下降法Stochastic Gradient DescentSGD_随机梯度下降公式-CSDN博客》 二、案例分析
1. 设置问题
在介绍随机梯度下降法之前我们先得知道之前研究过最速下降法它除了计算花时间以外还有一个缺点那就是容易陷入局部最优解。
在讲解回归时我们使用的是平方误差目标函数。这个函数形式简单所以用最速下降法也没有问题。现在我们来考虑稍微复杂一点的比如这种形状的函数 用最速下降法来找函数的最小值时必须先要决定从哪个 开始找起。之前我用 说明的时候是从 或者 开始的那是为了讲解而随便选的作为初始值。选用随机数作为初始值的情况比较多。不过这样每次初始值都会变进而导致陷入局部最优解的问题。
假设这张图中标记的位置就是初始值 倘若从这个点开始找似乎可以求出最小值。但是如果我们换一个初始点如下所示那么可能没计算完就会停止便陷入了局部最优解。 这个算法虽然简单但是容易发生各种问题但最速下降法也不会白学随机梯度下降法就是以最速下降法为基础的。
2. 定义模型
由 《机器学习 | 回归算法原理——最速下降法梯度下降法-CSDN博客》可知最速下降法的参数更新表达式为 这个表达式使用了所有训练数据的误差而在随机梯度下降法中会随机选择一个训练数据并使用它来更新参数。下面这个表达式中的 就是被随机选中的数据索引。 最速下降法更新 1 次参数的时间随机梯度下降法可以更新 次。 此外随机梯度下降法由于训练数据是随机选择的更新参数时使用的又是选择数据时的梯度所以不容易陷入目标函数的局部 最优解在实际运用上的确会收敛。
3. 随机梯度下降法拓展
我们前面提到了随机选择 1 个训练数据的做法此外还有随机选择 个训练数据来更新参数的做法。设随机选择 个训练数据的索引的集合为 则更新参数如下 现在假设训练数据有 100 个那么在 时创建一个有 10 个随机数的索引的集合例如 然后重复更新参数这种做法被称为小批量mini-batch梯度下降法。 这像是介于最速下降法和随机梯度下降法之间的方法。
ps不论是随机梯度下降法还是小批量梯度下降法我们都必须考虑学习率 将 设置为合适的值是尤为重要。