1)常见的激活函数
1、sigmoid激活函数
一般用于二分类的输出
2、relu激活函数
3、tanh激活函数
2)常见的优化函数
优化器(optimizer)是编译Keras模型的所需的两个参数之一。
你可以先实例化一个优化器对象,然后将它传入model.compile(),或者你可以通过名称来调用优化器。在后一种情况下,将使用优化器的默认参数。
1)SGD(随机梯度下降优化器)
随机梯度下降优化器SGD和min-batch是同一个意思,抽取m个小批量(独立同分布)样本,通过计算他们平梯度均值。
SGD参数:
Ir: float >= 0.学习率。
momentum: float >=0.参数,用于加速SGD在相关方向上前进,并抑制震荡。 decay: float >= 0.每次参数更新后学习率衰减值。 nesterov: boolean.是否使用Nesterov动量。
2)RMSProp
RMSprop: 经验上,RMSProp被证明有效且实用的深度学习网络优化算法.
RMSProp增加了一个衰减系数来控制历史信息的获取多少,
RMSProp会对学习率进行衰减。
建议使用优化器的默认参数(除了学习率lr,它可以被自由调节)
这个优化器通常是训练循环神经网络RNN的不错选择。
RMSProp参数:
Ir: float >= 0.学习率。
rho: float > = 0.RMSProp梯度平方的移动均值的衰减率. epsilon: float >= 0.模糊因子.若为None,默认为K.epsilon()。
decay: float >= 0.每次参数更新后学习率衰减值。
3)Adam优化器
1.Adam算法可以看做是修正后的 Momentum+RMSProp 算法.
2.Adam通常被认为对超参数的选择相当鲁棒
3.学习率建议为0.001
Adam是一种可以替代传统随机梯度下降过程的一阶优化算法,它能基于训练数据迭代地更新神经网络权重。
Adam通过计算梯度的一阶矩估计和二阶矩估计而为不同的参数设计独立的自适应性学习率。
Adam常见参数:
lr: float > = 0.学习率。b
beta_1: float, 0 < beta < 1.通常接近于1。
beta_2: float, 0 < beta <1.通常接近于1。
decay: float >= 0.每次参数更新后学习率衰减值。