для альтернативного решения, которое работает с sparse_softmax_cross_entropy
аюсь обучить сеть с несбалансированными данными. У меня есть A (198 сэмплов), B (436 сэмплов), C (710 сэмплов), D (272 сэмпла), и я прочитал о "weighted_cross_entropy_with_logits", но все примеры, которые я нашел, предназначены для двоичной классификации, поэтому я не очень уверен в том, как установить эти веса.
Всего образцов: 1616
A_weight: 198/1616 = 0,12?
Идея, лежащая в основе, если я понял, состоит в том, чтобы наказывать за ошибки в классе мэрии и оценивать более позитивно хиты в меньшинстве, верно?
Мой кусок кода:
weights = tf.constant([0.12, 0.26, 0.43, 0.17])
cost = tf.reduce_mean(tf.nn.weighted_cross_entropy_with_logits(logits=pred, targets=y, pos_weight=weights))
я прочиталэтот и другие примеры с бинарной классификацией, но все еще не очень ясно.
Заранее спасибо.