我想训练一个模型对A,B,C和D类别进行分类,然后将4个类别编码为4D向量。 [1,0,0,0]表示样本被分类为A。然后我们可以馈送训练样本,正向传播,计算损耗和反向传播。
一个常见的损失函数是softmax_crossentropy,但是在计算损失时,它认为损失(y_pred = [1,0,0,0],y_true = [0,0,0,1])与损失(y_pred = [0,0,1,0],y_true = [0,0,0,1])。但是这些类别具有特定的关系,A和B比C或D更近,C和D比A或B更近,因此损失(y_pred = [0,0,1,0],y_true = [0,0 ,0,1])小于损失(y_pred = [1,0,0,0],y_true = [0,0,0,1]),因此可以快速训练模型并转为真函数
那么我们如何设计合理的损失函数?