Update ml_workflow.md (#370)

This commit is contained in:
Cheng Lai
2022-06-09 14:54:14 +08:00
committed by GitHub
parent b5757315d2
commit c9db181975

View File

@@ -120,7 +120,7 @@ net = MLPNet()
**平均绝对误差**Mean Absolute ErrorMAE是计算估算值与真实值差值的绝对值求和再求平均。
**交叉熵**Cross EntropyCE是分类问题中常用的衡量已知数据分布情况下计算输出分布和已知分布的差值。
有了损失函数,我们就可以通过损失值利用**优化器**对参数进行训练更新。对于优化的目标函数$f(x)$;先求解其梯度$\nabla$$f(x)$,然后将训练参数$W$沿着梯度的负方向更新,更新公式为:$W_t = W_{t-1} - \alpha\nabla(W_{t-1})$,其中$\alpha$是学习率,$W$是训练参数,$\alpha\nabla(W_{t-1})$是方向。
有了损失函数,我们就可以通过损失值利用**优化器**对参数进行训练更新。对于优化的目标函数$f(x)$;先求解其梯度$\nabla$$f(x)$,然后将训练参数$W$沿着梯度的负方向更新,更新公式为:$W_t = W_{t-1} - \alpha\nabla(W_{t-1})$,其中$\alpha$是学习率,$W$是训练参数,$\nabla(W_{t-1})$是方向。
神经网络的优化器种类很多一类是学习率不受梯度影响的随机梯度下降Stochastic Gradient Descent及SGD的一些改进方法如带有Momentum的SGD另一类是自适应学习率如AdaGrad、RMSProp、Adam等。
**SGD**的更新是对每个样本进行梯度下降因此计算速度很快但是单样本更新频繁会造成震荡为了解决震荡问题提出了带有Momentum的SGD该方法的参数更新不仅仅由梯度决定也和累计的梯度下降方向有关使得增加更新梯度下降方向不变的维度减少更新梯度下降方向改变的维度从而速度更快也减少震荡。
@@ -205,4 +205,4 @@ load_param_into_net(net, param_dict)
output = model.predict(Tensor(data['image']))
# 输出预测分类与实际分类
print(f'Predicted: "{predicted[0]}", Actual: "{labels[0]}"')
```
```