吴恩达机器学习系列25:随机梯度降低算法

现在机器学习的数据集动则几千万或上亿,若是运用咱们以前学过的 Batch 梯度降低算法,就会发现效率很低,由于在梯度降低时,每次循环都要对全部的数据进行求和,这会浪费大量的时间。有没有更好的方法去处理大数据呢?答案是有的。咱们在处理大数据时,会选择随机梯度降低算法(Stochastic gradient descent)算法


下面是随机梯度降低算法的代价函数:微信

未命名图片.png

以后是随机梯度降低算法:机器学习

未命名图片.png

首先须要随机打乱全部的数据集,而后就到了算法的核心,这个算法有两层循环,外循环一般来讲有 1-10 次,具体次数视问题而定;内循环遍历全部的数据集一次,相比 Batch 梯度降低算法 ,它不须要每次循环都遍历一遍数据集函数


咱们能够把 Batch 梯度降低算法随机梯度降低算法运行过程画在一张图上:学习

未命名图片.png

红色的路线为 Batch 梯度降低算法的收敛路线粉色为随机梯度降低算法的收敛路线。能够看到,随机梯度降低算法不必定每次都会进行收敛,但整体会朝着收敛的方向进行,最终收敛到全局最小处。大数据




ps. 本篇文章是根据吴恩达机器学习课程整理的学习笔记。若是想要一块儿学习机器学习,能够关注微信公众号「SuperFeng」,期待与你的相遇。spa

请关注公众号.PNG

相关文章
相关标签/搜索