(1)batchsize:批大小。在深度学习中,一般采用SGD训练,即每次训练在训练集中取batchsize个样本训练;
    (2)iteration:1个iteration等于使用batchsize个样本训练一次;
    (3)epoch:1个epoch等于使用训练集中的全部样本训练一次;

    one epoch = numbers of iterations = N = 训练样本的数量/batch_size
    不同代的模型处于代价函数空间上的不同位置,模型的训练代越靠后,越接近谷底,其代价越小。

    梯度下降的变形形式
    根据处理的训练数据的不同,主要有以下三种形式:
    1)批量梯度下降法BGD(Batch Gradient Descent):
    针对的是整个数据集,通过对所有的样本的计算来求解梯度的方向。
    优点:全局最优解;易于并行实现;
    缺点:当样本数据很多时,计算量开销大,计算速度慢
    2)小批量梯度下降法MBGD(mini-batch Gradient Descent)
    把数据分为若干个批,按批来更新参数,这样,一个批中的一组数据共同决定了本次梯度的方向,下降起来就不容易跑偏,减少了随机性
    优点:减少了计算的开销量,降低了随机性
    3)随机梯度下降法SGD(stochastic gradient descent)
    每个数据都计算算一下损失函数,然后求梯度更新参数。
    优点:计算速度快
    缺点:收敛性能不好
    总结:SGD可以看作是MBGD的一个特例,及batch_size=1的情况。在深度学习及机器学习中,基本上都是使用的MBGD算法。

    micro-F1:
    计算方法:计算出所有类别总的Precision和Recall,然后计算F1。
    使用场景:在计算公式中考虑到了每个类别的数量,所以适用于数据分布不平衡的情况;但同时因为考虑到数据的数量,所以在数据极度不平衡的情况下,数量较多数量的类会较大的影响到F1的值;

    marco-F1:
    计算方法:计算出每一个类的Precison和Recall后计算F1,最后将F1平均
    使用场景:没有考虑到数据的数量,所以会平等的看待每一类(因为每一类的precision和recall都在0-1之间),会相对受高precision和高recall类的影响较大;