Construyendo una función de pérdida específica del problema


8

Descripción del problema

Estoy comenzando la construcción de la red para un problema que creo podría tener una función de pérdida mucho más perspicaz que una simple regresión de MSE.

Mi problema trata con la clasificación de varias categorías ( vea mi pregunta sobre SO para saber a qué me refiero con esto), donde hay una distancia o relación definida entre categorías que deben tenerse en cuenta.

Otro punto es que el número de categorías de disparo presentes no debería afectar el error. Es decir, el error para 5 categorías de disparo cada una desactivada en 0.1, debería ser el mismo que 1 categoría de disparo desactivada en 0.1. (al disparar me refiero a que no son cero o están por encima de algún umbral)


Puntos clave

  • clasificación multicategoría (disparo múltiple a la vez)
  • relaciones entre categorías
  • El recuento de categorías de disparo no debe afectar la pérdida:
    • ingrese la descripción de la imagen aquí

Mi intento

El error cuadrático medio parece un buen lugar para comenzar:

ingrese la descripción de la imagen aquí

Esto es simplemente considerar categoría por categoría, que sigue siendo valioso en mi problema, pero pierde una gran parte de la imagen.

ingrese la descripción de la imagen aquí

Aquí está mi intento de rectificar la idea de distancia entre categorías. A continuación, me gustaría tener en cuenta la cantidad de categorías activadas ( llámelo: v )

ingrese la descripción de la imagen aquí


Mi pregunta

Tengo un bagaje muy débil en estadística; Como resultado, no tengo muchas herramientas en mi haber para abordar un problema como este. El tema general de lo que estoy preguntando parece ser "Al formar una función de costo, ¿cómo se combina la medición múltiple del costo? ¿O qué técnicas se pueden aplicar para hacerlo?" . También agradecería tener cualquier defecto en mi proceso de pensamiento expuesto y mejorado.

Valoro que me enseñen por qué mis errores son errores, en lugar de que alguien solo los corrija sin explicación.

Si alguna parte de esta pregunta carece de claridad o podría mejorarse, avíseme.


Aidan, es bueno ver tanto pensamiento dedicado a construir una función de pérdida específica del problema. Me inclinaría a ver esto como un problema matemático, en lugar de un problema de estadística. Está buscando una función de pérdida que lleve matrices de 2x5 a los números reales, y tiene algunas ideas sólidas sobre ciertos invariantes que esta función debería satisfacer, lo que impone restricciones en la forma funcional. Si explicas el significado de tus matrices, probablemente podría ofrecerte una guía más específica para desarrollar tu función de pérdida.
David C. Norris

Respuestas:


2

Puede usar la pérdida de bisagra, que es un límite superior en la pérdida de clasificación; es decir, penaliza el modelo si la etiqueta de la categoría de mayor puntuación es diferente de la etiqueta de la clase de verdad básica.

Para obtener más detalles sobre la relación entre la pérdida de clasificación y la pérdida de bisagra, puede leer la Sección 2 de este impresionante artículo de CNJ Yu y T. Joachims.

En resumen, hay una pérdida de tarea , generalmente denotada por , que mide la penalización por predecir la salida para la entrada cuando la salida esperada (verdad ) es . La pérdida de tareas para la clasificación de clases múltiples generalmente se define como . Sin embargo, siempre que solo dependa de las dos etiquetas y , puede definirlo como desee. En particular, uno puede ver como una arbitrariaΔ(yyo,y^(Xyo))y^(Xyo)XyoyyoΔ(yyo,y^(Xyo))=1{yyoy^(Xyo)}Δyy^ΔK×Kmatriz donde es el número de categorías y indica la penalización de clasificar una entrada de la categoría como perteneciente a la categoría .KΔ(una,si)unasi

Por ejemplo: datos de entrada:{(X1,y1),(X2,y2),(X3,y3)},XyoRre,yyoY={C1,C2,C3,C4 4}predicciones de red:y^(X1)=C2,y^(X2)=C1,y^(X3)=C3matriz de pérdida de tareas:[Δ(y1,y1)Δ(y1,y2)Δ(y1,y3)Δ(y1,y4 4)Δ(y2,y1)Δ(y2,y2)Δ(y2,y3)Δ(y2,y4 4)Δ(y3,y1)Δ(y3,y2)Δ(y3,y3)Δ(y3,y4 4)Δ(y4 4,y1)Δ(y4 4,y2)Δ(y4 4,y3)Δ(y4 4,y4 4)]=[0 012310 012210 013210 0]pérdida de clasificación asumiendo y1=C4 4,y2=C1,y3=C4 4:Δ(y1,y^(X1))=Δ(C4 4,C2)=2Δ(y2,y^(X2))=Δ(C1,C1)=0 0Δ(y3,y^(X3))=Δ(C4 4,C3)=1


1
Muchas gracias por la respuesta. He agregado un ejemplo a su pregunta (puede que aún esté en revisión por pares cuando vea este comentario). ¿Pueden confirmar que mi interpretación es correcta?
Aidan Gómez

Ya veo, esto es valioso en un problema de estilo de clasificación, pero el mío es la regresión (con etiquetas multidimensionales), donde varias categorías pueden estar "activadas" al mismo tiempo. Esto parece ser similar a un argmax; para cada entrada solo considera la categoría de salida más grande. En mi problema, uno podría tener una etiqueta como {1,0,1,1} donde las categorías 0, 2, 3 están presentes en los datos pero la categoría 1 no. Si mi red adivinó {0.8, 0, 0.6, 0.3}, mi pérdida no debería ser la misma que una conjetura como {0.8, 0, 0.7, 0.7}.
Aidan Gómez

¡Todavía creo que mi respuesta responde a tu pregunta! Lo que expliqué se llama SVM estructural, donde la etiqueta space (es decir, el espacio en el que viven las etiquetas de verdad básica) puede tener cualquier estructura. Me parece que lo que quiere se puede obtener de la siguiente manera: considere un problema de clasificación con categorías ; definir . La única cosa es que el tamaño de su matriz se convierte entonces en . Sin embargo, es posible que no necesite especificar la matriz. No dude en solicitar más detalles si esto suena para responder a su pregunta. YKY={0 0,1}KΔ2K×2K
Sobi

Esto suena como la ruta correcta, ¿podría proporcionar un ejemplo fácil como lo hicimos para el caso de etiqueta unidimensional? Quizás para K = 2 o 3
Aidan Gómez

Digamos que para una entrada la respuesta correcta es pero sus clasificadores predicen . En este caso, supongo . Puede definir la función de pérdida como, por ejemplo,; Esto observa las predicciones del clasificador para todas las clases y devuelve el valor de pérdida de la clase, que es el más alejado de su correspondiente valor de verdad fundamental. Xy=(0 0,1,1)y^(X)=(0.1,0.9,0.8)Δ:{0 0,1}3×[0 0,1]3RΔ(y,y^)=maxk=1KEl |y[k]-y^[k]El |
Sobi
Al usar nuestro sitio, usted reconoce que ha leído y comprende nuestra Política de Cookies y Política de Privacidad.
Licensed under cc by-sa 3.0 with attribution required.