交叉熵和损失函数的理解

    在拟合sinx时使用的是损失函数进行拟合的,而在分类任务中使用的则是交叉熵函数。我认为损失函数和交叉熵函数的差别在与他们的输出值与实际结果的比较的衡量标准不同。损失函数要保证两者差别最小,而交叉熵函数则要保证概率最大。损失函数是0.5*(label[i]-output[i])^2,是用来拉近正确值与输出值的,也就是让正确值和输出值的差越小越好,而并不是一定要输出正确的结果,这种损失函数比较适合拟合函数,用来逼近输出值。但不适合使用分类任务,交叉熵是计算几个事物的概率误差,适合于one-hot编码的分类任务,也就是说,交叉熵其目的在于让“大者概率更大,小者概率更小”,而不是简单的趋向于结果值,所以它的正确输出可以是一个比1大很多的值和几个跟1差不多大的值组成,然后再进行softmax概率化。而损失函数却不能容忍这一点,这就是损失函数在分类任务中的局限性。而交叉熵使用softmax函数,使用exp指数化参数,很容易的就可以保证“大者概率更大,小者概率更小”这一目的。

猜你喜欢

转载自blog.csdn.net/dulingmo/article/details/83862353
今日推荐