¿Existe realmente la "maldición de la dimensionalidad" en los datos reales?


17

Entiendo lo que es la "maldición de la dimensionalidad", y he hecho algunos problemas de optimización de alta dimensión y conozco el desafío de las posibilidades exponenciales.

Sin embargo, dudo que la "maldición de la dimensionalidad" exista en la mayoría de los datos del mundo real (bueno, dejemos de lado las imágenes o los videos por un momento, estoy pensando en datos como los datos demográficos del cliente y el comportamiento de compra).

Podemos recopilar datos con miles de características, pero es menos probable incluso imposible que las características puedan abarcar completamente un espacio con miles de dimensiones. Es por eso que las técnicas de reducción de dimensiones son tan populares.

En otras palabras, es muy probable que los datos no contengan el nivel exponencial de información, es decir, muchas características están altamente correlacionadas y muchas características satisfacen las reglas 80-20 (muchas instancias tienen el mismo valor).

En tal caso, creo que métodos como KNN seguirán funcionando razonablemente bien. (En la mayoría de los libros, "la maldición de la dimensionalidad" dice que la dimensión> 10 podría ser problemática. En sus demostraciones usan una distribución uniforme en todas las dimensiones, donde la entropía es realmente alta. Dudo que en el mundo real esto suceda).

Mi experiencia personal con datos reales es que la "maldición de la dimensionalidad" no afecta demasiado el método de la plantilla (como KNN) y, en la mayoría de los casos, las dimensiones ~ 100 aún funcionarían.

¿Es esto cierto para otras personas? (Trabajé con datos reales en diferentes industrias durante 5 años, nunca observé "todos los pares de distancia tienen valores similares" como se describe en el libro).


1
Dado que excluyó específicamente las imágenes y el análisis de imágenes, solo pondré un tapón en los comentarios diciendo que este campo trata la maldición de la dimensionalidad con bastante regularidad. Es muy fácil obtener una solución de sobreajuste.
Ashe

77
Las características categóricas codificadas en binario / ficticio / un solo hot pueden hacer explotar fácilmente un modelo basado en la distancia
shadowtalker

2
Un colega mío ha trabajado en ventas de gafas de sol. Una gran cantidad de características fueron categóricas con un gran número de niveles posibles (por ejemplo, marcas, materiales de diferentes partes de las gafas, etc.). Definitivamente tenía miedo de la CoD, pero siempre es difícil decir si está presente o no en un conjunto de datos en particular, además de que probablemente no hicimos muchos trucos estándar, no siendo expertos en este tipo de análisis en particular.
S. Kolassa - Restablece a Monica el

@StephanKolassa Entonces, ¿los métodos basados ​​en la distancia funcionaron en el caso de uso del vidrio solar?
Haitao Du

No muy bien. No fue un proyecto muy exitoso.
S. Kolassa - Restablece a Monica el

Respuestas:


15

Este artículo (1) analiza la bendición de la no uniformidad como contrapunto a la maldición de la dimensionalidad. La idea principal es que los datos no se dispersan uniformemente dentro del espacio de características, por lo que uno puede ganar tracción al identificar las formas en que se organizan los datos.

(1) Pedro Domingos, "Algunas cosas útiles que debe saber sobre el aprendizaje automático"


7

La maldición de la dimensionalidad en el aprendizaje automático es más a menudo el problema de explotar el espacio vacío entre los pocos puntos de datos que tiene. La baja cantidad de datos puede empeorarlo aún más. Aquí hay un ejemplo de configuración con 10000 muestras donde trato de hacer kNN con 1 vecino.

from numpy.random import normal
from sklearn.neighbors import KNeighborsClassifier
from sklearn.metrics import precision_score
import matplotlib.pyplot as plt
import numpy as np
from math import sqrt
from scipy.special import gamma

N=10000
N_broad=2
scale=20

dims=[]
precs=[]


def avg_distance(k):
    return sqrt(2)*gamma((k+1)/2)/gamma(k/2)

for dim in range(N_broad+1,30):
    clf = KNeighborsClassifier(1, n_jobs=-1)

    X_train=np.hstack([normal(size=(N,N_broad)), normal(size=(N,dim-N_broad))/avg_distance(dim-N_broad)/scale])
    y_train=(X_train[:,N_broad]>0).astype(int)
    clf.fit(X_train, y_train)

    X_test=np.hstack([normal(size=(N,N_broad)), normal(size=(N,dim-N_broad))/avg_distance(dim-N_broad)/scale])
    y_test=(X_test[:,N_broad]>0).astype(int)
    y_test_pred=clf.predict(X_test)

    prec=precision_score(y_test, y_test_pred)
    dims.append(dim)
    precs.append(prec)
    print(dim, prec)

plt.plot(dims, precs)
plt.ylim([0.5,1])
plt.xlabel("Dimension")
plt.ylabel("Precision")
plt.title("kNN(1) on {} samples".format(N))
plt.show()

No le gustaban las distribuciones completamente uniformes, por lo que hice de este un múltiple en 2D con dimensiones más pequeñas (reducidas en scale) esparcidas alrededor del plano 2D de las dos primeras coordenadas. Como sucede, una de las dimensiones más pequeñas es predictiva (la etiqueta es 1 cuando esa dimensión es positiva).

La precisión cae rápidamente con el aumento de la dimensión.precisión kNN

Por supuesto, precisión = 0.5 sería una suposición aleatoria. Con una superficie de decisión, que es más complicada que un avión, empeoraría aún más.

Es como si las bolas de kNN fueran demasiado escasas para ser útiles para sondear un hiperplano suave. Con dimensiones más altas se sienten cada vez más solos.

Por otro lado, los métodos como SVM tienen una visión global y funcionan mucho mejor.


5

Considere, por ejemplo, series de tiempo (e imágenes y audio). Las lecturas de sensores (Internet de las cosas) son muy comunes.

La maldición de la dimensionalidad es mucho más común de lo que piensas. Hay una gran redundancia allí, pero también mucho ruido.

El problema es que muchas personas simplemente evitan estos desafíos de datos reales y solo usan los mismos conjuntos de datos UCI cherryupicked una y otra vez.


PAG(X)=PAG(X1)norte=2nortePAG(XnorteEl |Xnorte-1)

1
Tal vez los datos del mundo más real es de sensores como imágenes, vídeo y series de tiempo?
Anony-Mousse -Reinstalar a Monica el

2
¡La propiedad @ hxd1011 markov es una abstracción que puede no tener nada que ver con datos reales!
Sycorax dice Reinstate Monica el

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.