损失函数
非常不喜欢这个名字,从字面上其实比较难以理解这个函数的意义,即使是英语(Loss Function)。
这个函数其实是用来度量模型的最终输出与真实值之间差异程度的函数。叫差异度或者差距度量函数其实更合适。这个值非常重要,每一次学习,由他决定了模型反向传播的个参数更新,它就是梯度起点,也就是说怎么向目标靠近。能不能学的好,就看它了,定义的不好就容易失去梯度了。
这个函数的输入的参数就是当前学习数据条件下的模型输出值与真实值。输出就是一个数值,用于评估差异。 \(loss = L(O_x, Y_x) ,O_x为当前样本条件下的模型的输出值,Y_x为当前样本在训练数据中对应的目标值\) 从统计学的角度,有很多标准的方法来衡量样本和目标值。通常就是求距离及各种距离的衍生品。用的比较多的就是标准差,绝对值距离,距离的平方等。 这些方法适用于模型输出结果式连续数值的条件。如果本身是个预测问题,那么在模型的最后一层通常用softmax来归一化,并将结果映射到所属类别的概率。这样就可以将类别这种离散的输出转化成连续的值。在这种条件下,通常会用到交叉熵损失函数。 \(L(O_x, Y_x) = - \sum_{k=0}^ny_k* log(o_k),O_x softmax函数输出,值在0~1之间,Y_x为类别标识,通常是[0,0,1,0]这样\)
#优化器 这也是一个词不达意的概念