Datos no balanceados y entropía cruzada ponderada

Estoy tratando de entrenar una red con datos no balanceados. Tengo A (198 muestras), B (436 muestras), C (710 muestras), D (272 muestras) y he leído sobre "weighted_cross_entropy_with_logits", pero todos los ejemplos que encontré son para clasificación binaria, así que no soy muy confía en cómo establecer esos pesos.

Muestras totales: 1616

A_weight: 198/1616 = 0.12?

La idea detrás, si entendí, es penalizar los errores de la clase mayoritaria y valorar más positivamente los golpes en la minoría, ¿verdad?

Mi pieza de código:

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))

he leídoéste y otros ejemplos con clasificación binaria pero aún no muy claros.

Gracias por adelantado.

Respuestas a la pregunta(2)

Su respuesta a la pregunta