概念
损失函数(Loss Function)是用来估计模型的预测值f(x)与真实值Y的不一致程度;他是一个非负实值函数,通常使用 L(Y,f(x)) 来表示,损失函数越小,模型的鲁棒性就越好。损失函数是经验风险函数的核心部分,也是结构风险函数重要组成部分。模型的结构风险函数包括了经验风险和正则项,通常可以表示成如下式子:
其中,前面的均值函数表示的是经验风险函数,L代表的是损失函数
一. LogLoss对数损失函数(逻辑回归,交叉熵损失)
平方损失函数可以通过线性回归在假设样本是高斯分布的条件下推到得到的,而逻辑回归得到的不是平方损失。在逻辑回归的推导中,它假设样本服从伯努利分布(0-1分布),然后求得满足该分布的似然函数,接着取对数求极值等等。而逻辑回归并没有求似然函数的极值,而是吧极大化当做是一种思想,进而推导出它的经验风险函数为:最小化负的似然函数(即 )从损失函数的角度来看,它就成log损失函数了
log损失函数的标准形式:
取对数是为了方便计算极大似然值,因为MLE(最大似然估计)中,直接求导比较困难,所以通常都是先取对数再求导找极值点。损失函数 表达的是样本X在分类Y的情况下,使概率 达到最大值(换言之,就是利用已知的样本分布,找到最有可能(即最大概率)导致这种分布的参数值;或者说什么样的擦书才能使我们观测到目前这组数据的概率最大)。因为log函数是单调递增的,所以 也会达到最大值,因此在前面加上负号之后,最大化 就等价于最小化L了
注意:softmax使用的即为交叉熵损失函数,binary_cossentropy为二分类交叉熵损失,categorical_crossentropy为多分类交叉熵损失,当使用多分类交叉熵损失函数时,标签应该为多分类模式,即使用one-hot编码的向量。