纠结了很久终于搞明白了这个早就该搞明白的东西,
批量梯度下降法和随机梯度下降法的区别,并不在于求导方法的不同,同样是一个样本一个样本的求导,不同在于批量梯度下降法是“延迟调整的随机梯度下降法”,
之前一直想不通,这两个的最终效果不是一样吗,把样本误差一个一个算出来,一算出来就调整,和把所有样本的误差一个一个算出来最后加起来调整不是一样吗?
现在才想起来,在调整的过程中会对整个误差函数造成改变,如果算出来一个误差就立马调整,后续样本算出来的误差也会改变,这样最终的结果是和,“把所有样本的误差都算出来,最后再调整”,是不一样的,
可以打一个比喻,
随机梯度下降法就像是:某一个部落,每个人都有一点点的立法权,当某一个人感觉部落法律有问题的时候就直接进行较小的修改,下一个人感觉法律有问题的时候也进行小小修改。这样子好处是立法快,能很快的满足个人利益,但虽然最后修出来的法律是能一部分体现大众利益的,缺是并不是对整体利益最佳的法律,而且在过程中走的弯路很多。
而批量梯度下降法就像是:某一个部落,每个人都有一点点立法权,但是立法得经过所有人的讨论,每个人都提出自己意见,最终根据人数,中和出对整体利益最好的法律,这样的好处是动荡少,每一次立法都是朝着最佳整体利益的方向去的,弯路少,缺点是改变慢,很久才能做一次进步。
关于随机梯度下降法和批量梯度下降法的一点理解
最新推荐文章于 2024-06-30 10:35:55 发布