Dimensionalidad y múltiple

13

Una oración comúnmente escuchada en el aprendizaje automático sin supervisión es

Las entradas de alta dimensión generalmente viven en o cerca de un múltiple de baja dimensión

¿Qué es una dimensión? ¿Qué es un múltiple? ¿Cuál es la diferencia?

¿Puedes dar un ejemplo para describir ambos?

Colector de Wikipedia:

En matemáticas, una variedad es un espacio topológico que se asemeja al espacio euclidiano cerca de cada punto. Más precisamente, cada punto de una variedad n-dimensional tiene un vecindario que es homeomorfo al espacio euclidiano de dimensión n.

Dimensión de Wikipedia:

En física y matemáticas, la dimensión de un espacio (u objeto) matemático se define informalmente como el número mínimo de coordenadas necesarias para especificar cualquier punto dentro de él.

¿Qué significa incluso Wikipedia en términos simples? ¿Suena como una definición extraña como la mayoría de las definiciones de aprendizaje automático?

Ambos son espacios, entonces, ¿cuál es la diferencia entre un espacio euclidiano (es decir, múltiple) y un espacio de dimensión (es decir, basado en características)?

alvas
fuente
1
¿Has probado la búsqueda en Internet? Eso debería bastar.
Aleksandr Blekh
1
Sí, tenía Google, pero eso seguramente no es suficiente, vea la pregunta actualizada.
alvas
1
No estoy seguro de que sea una buena idea buscar una explicación de conceptos complejos de aprendizaje automático "en términos simples". Además, debe ampliar su búsqueda más allá de Wikipedia.
Aleksandr Blekh

Respuestas:

29

¿Qué es una dimensión?

En pocas palabras, si tiene un conjunto de datos tabulares con m filas yn columnas, entonces la dimensionalidad de sus datos es n:

¿Qué es un múltiple?

El ejemplo más simple es nuestro planeta Tierra. Para nosotros parece plano, pero realmente es una esfera. Entonces es una especie de múltiple 2D incrustado en el espacio 3d.

¿Cuál es la diferencia?

Para responder a esta pregunta, considere otro ejemplo de una variedad:

ingrese la descripción de la imagen aquí

Esto se llama "rollo suizo". Los puntos de datos están en 3d, pero todos se encuentran en el múltiple 2d, por lo que la dimensionalidad del múltiple es 2, mientras que la dimensionalidad del espacio de entrada es 3.

Hay muchas técnicas para "desenvolver" estos múltiples. Uno de ellos se llama incrustación localmente lineal , y así es como lo haría:

ingrese la descripción de la imagen aquí

Aquí hay un fragmento de scikit-learn para hacer eso:

from sklearn.manifold import LocallyLinearEmbedding

lle = LocallyLinearEmbedding(n_neighbors=k, n_components=2)
X_lle = lle.fit_transform(data)
plt.scatter(X_lle[:, 0], X_lle[:, 1], c=color)
plt.show()
Alexey Grigorev
fuente
6

La dimensionalidad de un conjunto de datos es el número de variables utilizadas para representarlo. Por ejemplo, si estuviéramos interesados ​​en describir a las personas en términos de su altura y peso, nuestro conjunto de datos "personas" tendría 2 dimensiones. Si, en cambio, tuviéramos un conjunto de datos de imágenes, y cada imagen es un millón de píxeles, entonces la dimensionalidad del conjunto de datos sería un millón. De hecho, en muchas aplicaciones modernas de aprendizaje automático, la dimensionalidad de un conjunto de datos podría ser masiva.

Cuando la dimensionalidad es muy grande (mayor que el número de muestras en el conjunto de datos), podríamos encontrarnos con algunos problemas serios. Considere un algoritmo de clasificación simple que busca encontrar un conjunto de pesos w tal que cuando esté punteado con una muestra x, dé un número negativo para una clase y un número positivo para otra. w tendrá una longitud igual a la dimensionalidad de los datos, por lo que tendrá más parámetros que muestras en todo el conjunto de datos. Esto significa que un alumno podrá sobreajustar los datos y, en consecuencia, no se generalizará bien a otras muestras no vistas durante el entrenamiento.

Una variedad es un objeto de dimensionalidad d que está incrustado en algún espacio dimensional superior. Imagine un conjunto de puntos en una hoja de papel. Si arrugamos el papel, los puntos ahora están en 3 dimensiones. Muchos algoritmos de aprendizaje múltiples buscan "desenredar" la hoja de papel para volver a colocar los datos en 2 dimensiones. Incluso si no estamos preocupados por sobreajustar nuestro modelo, un alumno múltiple no lineal puede producir un espacio que facilite los problemas de clasificación y regresión.

Jordan A
fuente
¿Hay casos en los que la alta dimensionalidad no se desmorona en una variedad?
alvas
¡Seguro! A veces, los datos yacen en su espacio intrínseco. En ese caso, tratar de reducir la dimensionalidad probablemente será perjudicial para el rendimiento de la clasificación. En estos casos, debería descubrir que las características en el conjunto de datos que está utilizando son en gran medida estadísticamente independientes entre sí.
Jordan A
1

Una forma de hacer una reducción dimensional es hacer hashing de características. Esto fue conocido en la década de 1960. Entonces, por ejemplo, si sus datos son un conjunto escaso de puntos en 3 dimensiones (x, y, z), crea una función hash (buena) h (x, y, z). Puede usar eso, por supuesto, para una tabla hash o una búsqueda de filtro Bloom. Esta es una buena forma de compresión de datos. No sé por qué la comunidad de IA no lo usa. Es mucho más importante que una red neuronal.

SeanOCVN
fuente
1
¿Cómo se relaciona la reducción de dimensionalidad con la variedad?
alvas
Es una forma de seleccionar todo en el múltiple y excluir todo lo demás.
SeanOCVN
Creo que @alvas tiene un punto aquí. No está claro de inmediato cómo se relaciona esto con la pregunta original con respecto a una explicación de múltiples y dimensiones.
Ryan J. Smith
Para ayudar a resolver el eslabón perdido de la respuesta de SeanOCVN y el comentario de alvas: Un múltiple (en un espacio topológico) es el resultado de ejecutar el (o un) algoritmo de Incrustación localmente lineal con datos de entrada en un espacio incrustado. El resultado es que la cantidad de dimensión de datos de entrada es mayor que la cantidad de dimensión de datos de salida. La extracción de una nueva representación de datos (asignable a la representación de datos original) se conoce como "extracción de características"; que es un subtipo de "reducción de dimensionalidad".
pds
0

@Alexey Grigorev ya dio una muy buena respuesta, sin embargo, creo que podría ser útil agregar dos cosas:

  • Me gustaría ofrecerle un ejemplo que me ayudó a comprender el significado de la variedad intuitivamente.
  • Desarrollando sobre eso, me gustaría aclarar un poco el "parecido del espacio euclidiano".

Ejemplo intuitivo

Imagine que trabajaríamos en una colección de imágenes HDready (en blanco y negro) (1280 * 720 píxeles). Esas imágenes viven en un mundo de 921,600 dimensiones; Cada imagen está definida por valores individuales de píxeles.

Ahora imagine que construiríamos estas imágenes completando cada píxel en secuencia tirando un dado de 256 lados.

La imagen resultante probablemente se vería algo así:

ingrese la descripción de la imagen aquí

No es muy interesante, pero podríamos seguir haciéndolo hasta que lleguemos a algo que nos gustaría mantener. Muy agotador, pero podríamos automatizar esto en algunas líneas de Python.

Si el espacio de imágenes significativas (y mucho menos realistas) fuera remotamente tan grande como todo el espacio de características, pronto veríamos algo interesante. Tal vez veríamos una foto tuya o un artículo de noticias de una línea de tiempo alternativa. Oye, ¿qué tal si agregamos un componente de tiempo, e incluso podríamos tener suerte y generar Back to th Future con un final alternativo?

De hecho, teníamos máquinas que harían exactamente esto: televisores antiguos que no estaban sintonizados correctamente. Ahora recuerdo haber visto eso y nunca había visto algo que tuviera alguna estructura.

¿Por qué pasó esto? Bueno: las imágenes que encontramos interesantes son, de hecho, proyecciones de fenómenos de alta resolución y se rigen por cosas que son mucho menos dimensionales. Por ejemplo: el brillo de la escena, que está cerca de un fenómeno unidimensional, domina casi un millón de dimensiones en este caso.

Esto significa que hay un subespacio (el múltiple), en este caso (pero no por definición) controlado por variables ocultas, que contiene las instancias que nos interesan.

Comportamiento euclidiano local

El comportamiento euclidiano significa que el comportamiento tiene propiedades geométricas. En el caso del brillo que es muy obvio: si lo aumenta a lo largo del "eje", las imágenes resultantes se vuelven continuamente más brillantes.

Pero aquí es donde se pone interesante: ese comportamiento euclidiano también funciona en dimensiones más abstractas en nuestro espacio múltiple. Considere este ejemplo de Deep Learning de Goodfellow, Bengio y Courville

Izquierda: el mapa 2D de Frey se enfrenta a múltiples.  Una dimensión que se ha descubierto (horizontal) corresponde principalmente a una rotación de la cara, mientras que la otra (vertical) corresponde a la expresión emocional.  Derecha: el mapa 2D del múltiple MNIST

Izquierda: el mapa 2D de Frey se enfrenta a múltiples. Una dimensión que se ha descubierto (horizontal) corresponde principalmente a una rotación de la cara, mientras que la otra (vertical) corresponde a la expresión emocional. Derecha: el mapa 2D del múltiple MNIST

Una razón por la cual el aprendizaje profundo es tan exitoso en la aplicación de imágenes es porque incorpora una forma muy eficiente de aprendizaje múltiple. Este es uno de los motivos por los que es aplicable al reconocimiento y la compresión de imágenes, así como a la manipulación de imágenes.

S van Balen
fuente