#function #loss
Вопрос:
Добрый день всем вам, в настоящее время мне трудно написать свою собственную функцию категориальных потерь, используя формулу Хаврды Чарвата. Я попробовал следующий код, но он дает мне странные значения (например, отрицательные).
def get_havrda_charvat_categorical_cross_entropy(alpha=2.0):
def havrda_charvat_categorical_cross_entropy(p_true,p_pred,from_logits=False):
calculation=0
if alpha==1:
return 'categorical_crossentropy'
else:
if not from_logits:
p_pred = tf.clip_by_value(p_pred, 0.0000001,0.9999999)
calculation =tf.math.reduce_mean(p_true*tf.math.pow(p_pred,alpha-1.0)-(1.0-p_true)*tf.math.pow(1-p_pred,alpha-1.0))/(alpha-1.0)
return tf.reduce_sum(calculation)
return havrda_charvat_categorical_cross_entropy
Не знаете ли вы, как адаптировать формулу, чтобы сделать ее правильной категориальной функцией потерь, и где я ошибаюсь?
Заранее всем вам спасибо,