5 votos

Clasificación predictiva cuando sólo se pueden observar los rangos

Estoy participando en un reto de clasificación (las clases son 0 y 1) en el que las entradas están encriptadas (porque son datos financieros caros). Como el cifrado conserva el orden, sólo puedo utilizar el hecho de que, por ejemplo $$ x_1 > x_2 $$ pero no $$ d = x_1-x_2 $$

Además de los árboles, ¿qué algoritmos de aprendizaje automático proporcionan modelos sólidos en estas circunstancias?

EDIT: Supongo que las redes neuronales, la SVM o la regresión logística no son apropiadas en este escenario ya que utilizan transformaciones lineales $b \cdot x$ que no puedo aplicar ya que no tengo la "estructura numérica" para ello.

EDITAR 2: Me dan datos de la siguiente forma: $$ (0.2,0.1,0.5,0); (0.1,0.2,0.3,1); (0.02,0.7,0.33,1) $$ y miles de filas de ellos (y en mi aplicación más columnas). En este ejemplo las 3 primeras entradas son entradas y la 4ª es el objetivo. Todas las columnas constan de 1001 valores únicos en el rango [0,1]. Así que realmente creo que sólo son posibles las comparaciones.

Lo siento si mi pregunta no fue formulada con suficiente precisión ... Espero que ahora el problema esté más claro.

0 votos

¿Qué quiere decir con "dedicado"?

0 votos

Bueno, me refiero a que un modelo o algoritmo clasifica en base a rangos de datos numéricos. ¿Propones otra redacción?

0 votos

Sé que puedo utilizar un CART clásico. Sólo me preguntaba si hay un enfoque especial que no conozco.

1voto

PolinLnd Puntos 166

Para entender mejor el problema creo que vale la pena explicar la idea principal de cómo funciona la criptografía que preserva el orden.

Imaginemos que tenemos un vector de columnas $\mathbf{x}$ de lo que queremos encriptar. La función de encriptación es $f(\cdot)$ y es monótonamente creciente, y potencialmente con pendiente variable.

El texto cifrado de $\mathbf{x}$ es $\mathbf{y}=f(\mathbf{x})$ y tiene las siguientes propiedades

  • si $x_1 \geq x_2$ entonces $y_1 \geq y_2$
  • si $x_2 = x_2$ entonces $y_2 = y_2$ (esto se suele evitar)
  • $d(x_1,x_2) \neq d(y_1,y_2)$
  • si $d(x_1,x_2) \geq d(x_3,x_4)$ no da información sobre $d(y_1,y_2)$ y $d(y_3,y_4)$

La segunda propiedad se puede evitar añadiendo ruido a $\mathbf{x}$ . Por ejemplo, si $x_i$ es un número entero entre $[0,9]$ . Entonces, $\hat{\mathbf{x}}=10\times\mathbf{x}+\mathbf{n}$ , donde $\mathbf{n}$ es el vector a de enteros aleatorios entre $[0,9]$ . Esta transformación preserva la ordenación en $\hat{\mathbf{y}}=f(\hat{\mathbf{x}})$ pero elimina la identificación de los atributos con el mismo valor.

Teniendo en cuenta esto, creo que deberías limitarte a los clasificadores basados en árboles, como los bosques aleatorios.

0 votos

Debe ser el término de ruido lo que hace que algunos enfoques sean más difíciles que sin encriptación. ¿Hay alguna posibilidad de eliminar el ruido? ¿No hay enfoques en el aprendizaje profundo (DL) para deshacerse del ruido? No estoy lo suficientemente familiarizado con DL ... ¿RBMs? ¿Autocodificación? ¿Tienes alguna idea?

0voto

Gerben Venken Puntos 269

No creo que debas utilizar el orden para predecir el resultado binario, ya que si un modelo entrenado en tus datos se aplica a datos totalmente inéditos que se recogieron de forma ligeramente diferente (no estoy seguro de cómo se recogieron esos datos), entonces va a funcionar muy mal.

Además, estas "características doradas" basadas en el ordenamiento de los datos son a veces el resultado de fugas de datos y usted no quiere entrenar su modelo con esos datos por la razón expuesta anteriormente.

1 votos

Si la posición relativa de los datos futuros o de prueba puede verse en relación con el ordenamiento de los datos de entrenamiento, esto podría ser menos problemático

1 votos

¿Podría detallar las razones por las que "va a funcionar muy mal"? No veo ninguna base para una conclusión tan pesimista en general. Además, en esta situación el rendimiento bruto puede ser irrelevante: sólo hay que superar a la competencia.

0 votos

De acuerdo, tal vez haya redactado mi respuesta de forma incorrecta. Hace poco participé en una competición de ML en la que 3 equipos superaron significativamente al resto. Resultó que había una fuga de datos y los equipos -sin saberlo- la explotaron. Era un problema de ordenación de datos. Una vez terminada la competición, el problema quedó claro y tuvimos una discusión al respecto. Ahora, creo que el rendimiento sería malo (siempre que se trate de una fuga de datos) porque se ajusta a una característica que no existiría en los datos del mundo real en los que se utilizaría, por lo que su poder predictivo sería bajo. Estoy totalmente de acuerdo con tu última afirmación.

i-Ciencias.com

I-Ciencias es una comunidad de estudiantes y amantes de la ciencia en la que puedes resolver tus problemas y dudas.
Puedes consultar las preguntas de otros usuarios, hacer tus propias preguntas o resolver las de los demás.

Powered by:

X