几种梯度下降方法之BGD

梯度下降

 梯度下降是迭代法的一种,通俗来讲你可以把梯度下降任务当成下山的过程。

cost.jpg

 下面简要介绍几种常用的“下山”方法:BGDSGDMBGDMomentumRMSPropAdamNAGNAdam并做适当的对比。

Batch Gradient Descent(BGD)批量梯度下降

 BGD应该是每个初学神经网络的孩子学习的梯度下降法,核心思想就是一次性迭代训练所有样本。代码附上:

X = data_input
Y = labels
parameters = initialize_parameters(layers_dims)
for i in range(0, num_iterations): #num_iterations--迭代次数
    # Forward propagation
    a, caches = forward_propagation(X, parameters)
    # Compute cost.
    cost = compute_cost(a, Y)
    # Backward propagation.
    grads = backward_propagation(a, caches, parameters)
    # Update parameters.
    parameters = update_parameters(parameters, grads)

 看到了吧,就是不管三七二十一,先把所有数据吃掉,再慢慢消化的感觉。。
 BGD的\color{red}{优点:}
 理想状态下,经过足够多词的迭代后可以达到全局最优。

Gradient Descent

 当然,也相当明显:想一口气吃掉这么多数据,你得有那么大的嘴(内存、显存)和同样优秀的胃口(算力),人工智能时代数据为王,庞大的数据量使得BGD讨不了好。
 今天先到这,少爷睡觉去了。

©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

友情链接更多精彩内容