¿Se puede usar la confianza de la etiqueta de entrenamiento para mejorar la precisión de la predicción?

9

Tengo datos de entrenamiento que están etiquetados con valores binarios. También he recopilado la confianza de cada una de estas etiquetas, es decir, 0,8 de confianza significaría que el 80% de los etiquetadores humanos están de acuerdo con esa etiqueta.

¿Es posible utilizar estos datos de confianza para mejorar la precisión de mi clasificador?

¿Funcionaría lo siguiente?

  • 1a) Si la etiqueta es 0 y los datos de confianza para esa etiqueta son 0.8, dé a los datos de entrenamiento una nueva etiqueta de 0.2

  • 1b) Si la etiqueta es 1 y los datos de confianza para esa etiqueta son 0.8, entonces dé a los datos de entrenamiento una nueva etiqueta de 0.8

  • 2) Calcule la nueva etiqueta usando este método para cada entrada en el conjunto de entrenamiento

  • 3) Trate el problema como un problema de regresión (donde las etiquetas oscilan entre 0 y 1)

  • 4) Clasifique los datos no etiquetados en función de si las nuevas etiquetas están por encima o por debajo de un valor específico. es decir, dé todas las etiquetas predichas clase 0 si está por debajo de X y clase 1 si está por encima de X.

Actualmente estoy usando un SVM con un núcleo RBF para mi modelo.

¡Gracias por adelantado!

Ben J. Hawkins
fuente
Entonces, ¿por ahora estás usando la etiqueta binaria? No sé por qué no funcionaría. Pruébalo. Divida sus datos en una prueba de entrenamiento y una prueba de validación y vea si aumenta su predicción.
el Josso

Respuestas:

4

Sí, es posible usar estos datos de confianza. Sin embargo, no recomendaría el enfoque que menciona. En cambio, permítanme sugerir un enfoque diferente. En realidad, te sugiero dos. El primero es conceptualmente limpio; el segundo es probablemente más fácil de implementar; y probablemente serán aproximadamente equivalentes en la práctica.

Ajuste la función de pérdida

Puede ajustar la función de pérdida para reflejar los puntajes de confianza que tiene en los datos de entrenamiento.

En particular, si está utilizando la pérdida de entropía cruzada , hay una forma particularmente limpia de hacerlo. Permítanme explicar algunos antecedentes sobre la pérdida de entropía cruzada, luego explique cómo. Pensamos en la etiqueta en la instancia de entrenamiento como una distribución de probabilidad en las etiquetas. En la clasificación binaria, dicha distribución se puede representar como un vector donde representa la probabilidad de que la etiqueta sea 0 y la probabilidad de que la etiqueta sea 1. Normalmente, se nos dan "etiquetas duras": si sepa que la etiqueta correcta en la instancia es 0, entonces eso corresponde a la distribución de probabilidad ; si la etiqueta correcta es 1, esa es la distribución(p0,p1)p0p1x(1,0)(0,1). La pérdida de entropía cruzada luego compara la predicción del clasificador con esta distribución.

Lo bueno de la pérdida de entropía cruzada es que genera fácilmente la comparación de dos distribuciones. Por lo tanto, si tiene una confianza de que la etiqueta correcta, por ejemplo es 0, entonces eso corresponde a una distribución de probabilidad . Ahora, puede calcular la entropía cruzada de la predicción del clasificador con respecto a la distribución , y esa es la contribución a la pérdida de la instancia de entrenamiento . Suma esto en todas las instancias del conjunto de entrenamiento y obtendrás una función de pérdida ajustada.0.8x(0.8,0.2)(0.8,0.2)x

Ahora puede entrenar a un clasificador minimizando esta función de pérdida ajustada, y eso incorporará directamente toda la información en sus puntajes de confianza.

Usa pesas

Alternativamente, puede usar pesos para reflejar la información de confianza.

Algunos clasificadores le permiten especificar un peso para cada instancia en el conjunto de entrenamiento. La idea es que una predicción errónea para una instancia particular se penaliza proporcionalmente a su peso, por lo que las instancias con un peso alto son más importantes para acertar y las instancias con un peso bajo son menos importantes. O, de manera equivalente, el procedimiento de entrenamiento se esfuerza más para evitar errores en instancias con un peso elevado.

Puede usar pesos para reflejar información de confianza. Suponga que tiene una instanciada en el conjunto de entrenamiento que cree que debería tener la etiqueta 0, con una confianza de . Agregaría una copia de al conjunto de entrenamiento con un peso de (es decir, la instancia es etiqueta es 0), y agregaría una copia de al conjunto de entrenamiento con un peso de (es decir, instancia es etiqueta es 1). Desarrolle el conjunto de entrenamiento de esta manera. Esto duplica el tamaño de tu conjunto de entrenamiento. Ahora entrene a un clasificador, utilizando estos pesos.x0.8(x,0)0.8x(x,1)0.2x

Para los clasificadores que soportan pesos, esto debería ser fácil de implementar.

También se puede demostrar que es efectivo y razonable. Por ejemplo, cuando se usa la pérdida de entropía cruzada para entrenar a un clasificador, este enfoque que usa pesos es equivalente a ajustar la función de pérdida como se destacó anteriormente. Entonces, en ese contexto particular, los dos enfoques son en realidad equivalentes.

DW
fuente