¿Qué modelo de aprendizaje profundo puede clasificar categorías que no son mutuamente excluyentes?

9

Ejemplos: Tengo una oración en la descripción del trabajo: "Ingeniero senior de Java en el Reino Unido".

Quiero usar un modelo de aprendizaje profundo para predecirlo en 2 categorías: English y IT jobs. Si uso el modelo de clasificación tradicional, solo puede predecir 1 etiqueta con softmaxfunción en la última capa. Por lo tanto, puedo usar 2 redes neuronales modelo para predecir "Sí" / "No" con ambas categorías, pero si tenemos más categorías, es demasiado costoso. Entonces, ¿tenemos algún modelo de aprendizaje profundo o aprendizaje automático para predecir 2 o más categorías al mismo tiempo?

"Editar": con 3 etiquetas por enfoque tradicional, se codificará por [1,0,0] pero en mi caso, se codificará por [1,1,0] o [1,1,1]

Ejemplo: si tenemos 3 etiquetas, y una oración puede encajar con todas estas etiquetas. Entonces, si la salida de la función softmax es [0.45, 0.35, 0.2], ¿deberíamos clasificarla en 3 etiquetas o 2 etiquetas, o puede ser una? El principal problema cuando lo hacemos es: ¿cuál es un buen umbral para clasificar en 1, 2 o 3 etiquetas?

voxter
fuente
Tenemos que usar la función sigmoidea en lugar de la función softmax. Puede asignar múltiples clases a los puntos de datos.
NITISH MAHAJAN

Respuestas:

6

Puede lograr esta clasificación de etiquetas múltiples reemplazando el softmax con una activación sigmoidea y utilizando la crossentropía binaria en lugar de la crossentropía categórica como la función de pérdida. Entonces solo necesita una red con tantas unidades de salida / neuronas como etiquetas.

ij

Li=jti,jlog(pi,j)

ti,j=0Li=jti,jlog(pi,j)j(1ti,j)log(1pi,j)

robintibor
fuente
¿Por qué necesitamos usar la crossentropía binaria en lugar de la crossentropía categórica como la función de pérdida? Puedes explicarme mas ? Ahora estoy usando la activación sigmoidea @robintibor
voxter
He agregado una explicación a la respuesta @voxter
robintibor
Brillante! Gracias. Además, ¿puede dar algunos documentos o tutoriales que expliquen más matemáticas sobre las funciones de profundización, como me explicó?
voxter