Можно ли использовать кросс-энтропийную потерю softmax в реализации Adaboost в Tensorflow? - PullRequest
0 голосов
/ 05 июня 2019

Я хотел бы знать, является ли правильным подход использовать функцию кросс-энтропийной потери softmax в Tensorflow при реализации алгоритма Adaboost.

Я реализую алгоритм Adaboost в Tensorflow. Я передаю весовые коэффициенты в функцию softmax_cross_entropy и использую возвращенную взвешенную потерю как эпсилон или ошибку для вычисления веса голосования классификатора. Это правильный подход? Или я должен пойти на 'Logitboost' вместо Adaboost, так как моя функция потерь - softmax_cross_entropy?

# epsilon/error
weighted_loss = tf.losses.softmax_cross_entropy(onehot_labels=labels_2, logits=logits,weights=weights, reduction=tf.losses.Reduction.SUM) 

# classifier voting weight
classifier_wt = 0.5 * tf.log((1-weighted_loss)/weighted_loss)
...