前馈神经网络中梯度下降变体及相关技术详解
在深度学习领域,梯度下降算法是一种常用的优化算法,用于最小化损失函数。本文将详细介绍梯度下降的几种变体,包括随机梯度下降(SGD)、小批量梯度下降(Mini - Batch Gradient Descent),并探讨权重初始化、高效添加多层网络等相关技术。
1. 随机梯度下降(SGD)
随机梯度下降是梯度下降的一种变体,它每次只使用一个样本进行参数更新。以下是一段SGD的代码示例:
cost_ = sess.run(cost, feed_dict={ X:features,
Y: classes,
learning_rate: 0.0001})
cost_history = np.append(cost_history, cost_)
if (epoch % 50 == 0):
print("Reached epoch",epoch,"cost J =", cost_)
运行这段代码,会得到类似以下的结果:
Reached epoch 0 cost J = 0.31713
Reached epoch 50 cost J = 0.108148
Reached epoch 100 cost J = 0.0945182
需要注意的是,由于权重和偏置是随机初始化的,每次运行的具体
超级会员免费看
订阅专栏 解锁全文
3785

被折叠的 条评论
为什么被折叠?



