二分类问题的交叉熵损失函数;
在二分类问题中,损失函数为交叉熵损失函数。对于样本(x,y)来讲,x为样本 y为对应的标签。在二分类问题中,其取值的集合可能为{0,1},我们假设某个样本的真实标签为yt,该样本的yt=1的概率为yp,则该样本的损失函数为:
如果对于整个数据集上的模型而言:其损失函数就是所有样本的点的损失函数的平均值。
多分类的问题的函数交叉熵损失函数:
在多分类问题中,损失函数也是交叉熵损失函数,对于样本(x,y)来讲,y是真实的标签,预测标签为所有标签的集合,我们假设有k个标签值,第i个样本预测为第K个标签的概率为pi,k,一共有N个样本,则总的数据集损失函数为:
下面是二分类和多分类问题的代码:利用sklearn库编写
from sklearn.metrics import log_loss
#from sklearn.preprocessing import LabelBinarizer
from math import log
y_true = [0,1]
y_pred = [[.48,.52],[.48,.52]]
sk_log_loss = log_loss(y_true,y_pred)
print('Loss by sklearn: %s.'% sk_log_loss)
loss = 0
for lable,p