马上答辩,我想问一下交叉损失函数在训练集的意义是什么,对运行之后出现的loss值有什么影响,求简要简答,能够应付答辩ls
因为想让模型预测分布与数据的实际分布情况尽可能相近,也就是最大似然估计,最小化交叉熵等价于极大似然估计
首先,交叉熵是衡量结果的不确定性指标。我们可以把交叉熵看作两个概率分布之间的比较。它们的相似度越高,交叉熵就越小,两个概率分布完全相同时的交叉熵为0;对于交叉熵损失函数也就是负对数似然函数,在神经网络中,神经网络的目标输出是概率分布,而实际输出也是概率分布。如果它们之间差异很大,交叉熵就会很高,如果相似,交叉熵就会很低。
选择交叉熵损失函数的原因不仅仅在于可以从数学上被推导(回归不行,分类可以),关键在于它对错误输出的惩罚力度更大(有对数)。
CrossEntropyLoss (交叉熵损失函数),就是你说的loss 值 。数据本身就是要求同分布的,所以这里就不应该扯分布。 数据划分训练集和预测集后,模型训练是朝着loss 值降低的方向进行的,看loss 值是为了看是不是收敛。看训练集和测试集的评估指标是看有没有过拟合或者欠拟合的。
交叉熵损失函数是多分类问题中很常用的损失函数,而交叉熵损失函数又离不开softmax函数。因为在多分类问题中,神经网络最后一层全连接层的原始输出只是每一类的得分(score)向量。比如以MINIST手写数字识别为例,我们构建的神经网络的最后一层肯定只有10个神经元(每个神经元输出0-9数字的得分)。
注意,这里10个神经元输出的只是得分,而非该图片属于该数字的概率。那要输出概率该怎么办呢?这就要用到sofrmax处理了。