Descripción del problema
Predecir una lista de valores asociados a un conjunto de variables.
Juego de trenes
Trainset tiene un conjunto de variables X1, X2, X3, ... Xn. En la forma más simple, cada variable es de tipo numérico con diferentes rangos. El mayor rango es 1-100000 y el menor 1-10. El objetivo es una lista de números (Y) cuyo rango es de nuevo 1-100000. La lista es de longitud variable por lo que cada observación tiene un número variable de objetivos. Podríamos suponer que la lista de objetivos es una lista de IDs de artículos.
Ejemplo de subconjunto de trenes (X1, X2, X3... Xn => {Y})
Observación1: 2345, 23, 8, ... 99399 => {2345, 98755}
Observación2: 45276, 3, 1, ... 80001 => {7865, 98675, 78954}
y así sucesivamente...
Predicción
Así pues, la predicción es una lista de números que puede variar en función de los valores de las variables.
Mis pensamientos
-
Parece un problema de clasificación multietiqueta en el que cada etiqueta corresponde a un único valor de la lista de predicción.
-
Pero como el rango de las etiquetas es grande (es decir, 1-100000), no se puede utilizar un método de clasificación.
-
Probablemente se puede utilizar el método de regresión multiobjetivo para predecir una lista de objetivos para una observación en el conjunto de pruebas.
-
Suponiendo que Ym es la longitud máxima de la lista de predicción en el conjunto de entrenamiento. Podría llenar la lista de predicción en la Observación1 del conjunto de entrenamiento como:
Observación1: 2345, 23, 8, ... 99399 => {2345, 98755, 0 , ... 0} (el 0 representa un valor vacío que se repite Ym-2 veces)
-
Podría valer la pena normalizar todas las variables y valores de la lista de predicción.
Preguntas
- ¿Me falta algo? ¿Es este método apropiado para este tipo de problema?
- Los valores de la lista de predicción son identificadores, por lo que no tienen una correlación directa con otros valores y variables de la observación. Y esta es una preocupación que me inquieta. ¿Será una preocupación importante si utilizo una regresión multiobjetivo?
- ¿Qué tipo de métodos puedo utilizar? ¿Red neuronal o regresión lineal?
- Dado que el conjunto completo de objetivos se conoce durante el entrenamiento, ¿podría utilizarse un método de agrupación, ya que estoy tratando de predecir un grupo de elementos que corresponden a una observación?
0 votos
No soy un experto en redes neuronales artificiales (RNA), pero tengo el presentimiento de que una RNA sería el camino a seguir en este caso (un "mapeo" de regresión de múltiples variables de entrada a múltiples variables de salida). Creo que los puntos 4 y 5 son bastante sensatos. Podría ser útil añadir la etiqueta RNA a la pregunta para llamar la atención del público adecuado.
0 votos
Lo de la dimensión variable es... Desordenado. ¿Estás absolutamente seguro de que has formulado el problema correctamente?
0 votos
@ssdecontrol: Si te refieres a múltiples objetivos para cada observación cuando dices "dimensión variable" entonces estoy bastante seguro de que he formulado el problema correctamente.
0 votos
@iceBreak no es sólo tener varios objetivos, es también que el número de objetivos varía
0 votos
@ssdecontrol He formulado este problema a partir de este escenario: Las variables utilizadas en el problema son parámetros que definen un dispositivo concreto utilizado por una persona y los objetivos que intento predecir son todas las cookies asociadas a él. Así que las variables son cosas como el tipo de dispositivo que es, el país al que pertenece el dispositivo, etc. y cada objetivo es un id que representa una cookie en ese dispositivo. Por lo tanto, el número de cookies asociadas a un dispositivo variará y necesito predecir más de un objetivo para un dispositivo.
0 votos
@iceBreak ¿y cuántas galletas únicas tienes?
0 votos
@iceBreak nunca podrás predecir la existencia de una cookie que no esté en tu conjunto de entrenamiento y eso es un problema para la clasificación. Podrías intentar una clasificación de 1 clase con un conjunto conocido de galletas como la única clase y luego trabajar en el conjunto conocido utilizando la clasificación multiclase. Si lo haces de forma online, podrías añadir (reentrenar) las cookies recién descubiertas en el conjunto conocido. Me imagino que, fuera de línea o en línea, sería mejor hacerlo en un algoritmo, pero no estoy seguro de cómo sería esa función de costes.
0 votos
@ssdecontrol certaining mucho... La descripción del problema que di es representativa del problema real por lo que hay alrededor de 100000 cookies únicas.
0 votos
Me pregunto si la regresión podría ser la forma equivocada de ver este problema. Quizá haya algún tipo de algoritmo/aprendizaje/modelo que describa el tipo de "coincidencia de muchos a uno" del que hablas. Posiblemente algo relacionado con coincidencia de ontologías . Y @MeadowlarkBradsher hace un buen punto que sólo podrás predecir las galletas que ya has observado.
0 votos
@MeadowlarkBradsher De hecho, yo esperaría que las galletas predichas sean siempre del conjunto de entrenamiento.
0 votos
@ssdecontrol De hecho, yo esperaría que las cookies predichas sean siempre del conjunto de entrenamiento.