交叉熵
我们常用于分类问题的损失函数,具体的数学我们就不展开讲,这篇文章主要就是介绍在tensorflow2中,四个损失函数用起来有什么区别?
四个交叉熵函数
tf.keras.losses.BinaryCrossentropy()
tf.keras.losses.binary_crossentropy
tf.keras.losses.categorical_crossentropy
tf.keras.losses.CategoricalCrossentropy
首先我们从函数名就可以知道 BinaryCrossentropy()和binary_crossentropy是一类的,这两个都是二分类的交叉熵,categorical_crossentropy和CategoricalCrossentropy是多分类的交叉熵,至于为什么二分类和多分类的交叉熵表大不一样,这个就要回到数学了。我们下面通过一个案例来看一下具体的用法。
案例
我们可以清楚的看到其实二分类交叉熵的两个函数返回的值是一样,但是调用的方式不一样,BinaryCrossentropy函数是以对象的形式调用的,而binary_crossentropy是正常的函数调用方式,多分类的也是一样的。
推荐还是使以对象的形式进行调用,可以简便代码并且会有意想不到的效果。