采纳答案成功!
向帮助你的同学说点啥吧!感谢那些助人为乐的人
请问老师为什么在自己构造的数据中批量梯度下降法比随机梯度下降法快,而对于已经归一化处理的波士顿房价数据集随机梯度下降法比批量梯度下降法快?
在真实的数据上,随机梯度下降法比梯度下降法快是常态。因为随机梯度下降法每次计算梯度比梯度下降法快太多。
我们自己早的数据太简单了,梯度下降法很快达到了最优解,但真实数据通常不会这么理想。
继续加油!:)
但对于我们造的数据。无论是批量梯度下降法还是随机梯度下降法所耗费的时间远远要大于波士顿房价数据集。上图中分别是782ms和1.24s。这和波士顿房价数据集对应的223ms和7.98ms差的有点大啊。会不会是造的数据没有归一化所造成的。
和造的数据规模有关,也可能和是否归一化有关。你可以做一下相关调整。但总之,梯度下降每次计算梯度更慢;而随机梯度可能会“绕弯”,二者各有优劣,在一些数据上,梯度下降法更好;在另一些数据上,随机梯度下降更好,是正常的。对于大部分真实数据来说,因为数据量很大,所以一般随机梯度下降法效果更好。
好的。我还有个问题想问。在随机梯度下降法里。不进行样本乱序。直接在X_b和y上操作,按顺序取出所有样本。为了让每个样本都至少看几遍。就将上面的过程重复几遍。这样做可行吗?这应该不叫随机梯度下降法了吧。
登录后可查看更多问答,登录/注册
Python3+sklearn,兼顾原理、算法底层实现和框架使用。
2.4k 19
3.4k 17
2.9k 15
1.6k 15
1.4k 14