在看代码中的时候看到这么一行参数
# 配置模型相关参数
LEARNING_RATW_BASE = 0.8 # 基础的学习率
LEARNING_RATE_DECAY = 0.99 # 学习率的衰减率
REGULARIZATION_RATE = 0.0001 # 描述模型负责度的正则化项在损失函数中的系数
TRAINING_STEPS = 30000 # 训练轮数
MOVING_AVERAGE_DECAY = 0.99 # 滑动平均衰减率
之前不懂学习率与滑动平均模型的区别于联系
先说说学习率,学习率是在求损失函数的时候设定的,在前向传播过程中,会引入权重w与偏置b,y=wx+b,将y与真实值y_对比求损失,使得损失函数最小
在使用梯度下降法时,求θ\thetaθ使得J(θ)J(\theta)J(θ)梯度最小,于是有下面这个公式:θn+1=θn−η∂∂θnJ(θn)\theta_{n+1}=\theta_{n}-\eta \frac{\partial}{\partial \theta_{n}} J\left(\theta_{n}\right)θn+1=θn−η∂θn∂J(θn)其中θ\thetaθ也是可以改变的,很多应用中,会把θ\thetaθ随着迭代次数梯度下降。学习率的作用最终会得到一套与数据的正确分类比较符合的一套权重和偏差。
而滑动平均模型是控制模型的迭代速度,滑动平均模型的作用是让这个模型更加的稳固和可靠,不被突然的偏离数据而吧模型带偏,有之前对滑动平均模型的分析,他的值受之前迭代所得到的的模型数据的影响,且影响较大,但是也有限,离当前次数越近的数据所占的比重越大,而离的远的,影响就比较小,随着迭代次数的增加,损失越来越小,模型值也越来越可靠,于是所得影子模型也会越来越可靠,这是一套双重保障。
对于正则化参数,是为了防止过拟合,在求损失的过程中加入L1范数或者L2范数。