- 使用随机梯度下降和来在大数据上执行机器学习任务。
- 随机梯度下降与一般的梯度下降法的区别无非是把样本的m以循环的方式放置到计算每个梯度的外部而已。使用随机梯度下降方法1.不一定每一步都是在优化;2.不会直接收敛到最终最优点(全局或者局部,但实际上逻辑回归中只有一个最优),而是围绕最优点附件的一定区域内打转转,这个收敛尚可,也支持构建一个相当不错的算法。在使用随机梯度下降的时候,一般只执行一次整体循环(就把整个样本算一次就可),一般业界也执行1到10遍整个循环。随机梯度下降适用于所有的方法。
- Mini-Batch梯度下降。随机梯度下降使用Batch=1,梯度下降使用Batch=m,在Mini-Batch中,使用的Batch=1~100。在Mini-Batch梯度下降中,每个子循环使用Batch各样本对梯度进行更新,而外围则以每次Batch的步长进行循环。Mini-Batch梯度下降比随机梯度下降好处仅在于,他利用了现有函数库中向量化计算的并行部分以减少运算时间。随机梯度下降的每个1都是固定的,而Mini-Batch梯度下降100个1的一个Batch利用的资源要小于100。
- Online Learning 没有什么新奇的内容,只不过把每次获得的数据用于一个求解{成本和偏导数}的循环中,每个数据只执行一次,然后将这个数据抛弃。
- Map Reduce用于数据的并行处理。Map Reduce也没什新奇的地方,无非是把梯度下降的加和部分分解为多台并行的计算机进行计算,然后一起发送到服务器进行加和,求解梯度。在其他Map Reduce的相关应用中,Map Reduce是否能够成功应用取决于是否能将公式中的加和部分分解到分别的计算机进行计算。因此,当某个算法所依赖的函数库的确已经实现了分布式计算,那么就不必使用Map Reduce进行映射。Map Reduce的一个开源化工具是Hadoop
AI学习过程(5) 在大数据上进行机器学习
最新推荐文章于 2020-10-21 10:30:00 发布