几种梯度下降方法之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的
 理想状态下,经过足够多词的迭代后可以达到全局最优。

Gradient Descent

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

你可能感兴趣的:(几种梯度下降方法之BGD)