23 votos

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

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 vídeos por un momento, estoy pensando en datos como los datos demográficos de los clientes y el comportamiento de compra).

Podemos recoger 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. Por eso son tan populares las técnicas de reducción de dimensiones.

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

En tal caso, creo que métodos como el 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 utilizan una distribución uniforme en todas las dimensiones, donde la entropía es realmente alta. Dudo que en el mundo real esto ocurra).

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

¿Es esto cierto para otras personas? (He trabajado con datos reales en diferentes industrias durante 5 años, y nunca he observado que "todos los pares de distancia tengan valores similares" como se describe en el libro).

20voto

user777 Puntos 10934

Este documento(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 están uniformemente dispersos dentro del espacio de características, por lo que se puede ganar tracción identificando las formas en que se organizan los datos.

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

9voto

Gerenuk Puntos 466

La maldición de la dimensionalidad en el aprendizaje automático es más bien el problema de la explosión del espacio vacío entre los pocos puntos de datos que se tienen. Los datos de baja dimensionalidad pueden empeorar aún más la situación. 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 te han gustado las distribuciones totalmente uniformes, así que he hecho de esto un colector 2D con dimensiones más pequeñas (reducidas por scale ) salpicados alrededor del plano 2D de las dos primeras coordenadas. Resulta que una de las dimensiones menores es predictiva (la etiqueta es 1 cuando esa dimensión es positiva).

La precisión disminuye rápidamente al aumentar la dimensión. kNN precision

Por supuesto, la precisión=0,5 sería una suposición aleatoria. Con una superficie de decisión, que es más complicada que un plano, sería aún peor.

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

Por otro lado, métodos como el SVM tienen una visión global y lo hacen mucho mejor.

6voto

Amadiere Puntos 5606

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

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

El problema es que muchas personas simplemente evitan estos desafíos de datos reales, y sólo utilizan los mismos conjuntos de datos de la UCI, que han sido manipulados una y otra vez.

0voto

Zamir Akimbekov Puntos 110

Hay un artículo maravilloso, "Modelización estadística: las dos culturas" , por Breiman. Explica los dos grupos de científicos que se ocupan de los datos y cómo cada uno de ellos considera la "dimensionalidad". La respuesta a tu pregunta es "depende" del grupo en el que te encuentres. Consulta el artículo.

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