Tengo problemas para entender la maldición de la dimensionalidad. Específicamente, lo encontré mientras hacía el scikit-learn
tutorial en python. ¿Alguien puede explicar lo siguiente de una manera más simple? Lo siento, he estado tratando de entender durante mucho tiempo y no puedo entender cómo se les ocurrió el cálculo de la cantidad de ejemplos de entrenamiento para lograr un estimador KNN eficiente.
Aquí está la explicación:
Para que un estimador sea efectivo, necesita que la distancia entre los puntos vecinos sea menor que algún valor d, que depende del problema. En una dimensión, esto requiere en promedio n ~ 1 / d puntos. En el contexto del ejemplo KNN anterior, si los datos se describen con solo una característica con valores que van de 0 a 1 y con n observaciones de entrenamiento, los nuevos datos no estarán más allá de 1 / n. Por lo tanto, la regla de decisión del vecino más cercano será eficiente tan pronto como 1 / n sea pequeña en comparación con la escala de variaciones de características entre clases.
Si el número de características es p, ahora necesita n ~ 1 / d ^ p puntos. Digamos que necesitamos 10 puntos en una dimensión: ahora se requieren 10 ^ p puntos en p dimensiones para pavimentar el espacio [0, 1]. A medida que p aumenta, el número de puntos de entrenamiento requeridos para un buen estimador crece exponencialmente.
EDITAR: ¿también se ~
supone que tilde ( ) representa aproximadamente en ese ejemplo? o el operador python tilde?
fuente
Respuestas:
Traduciendo ese párrafo:
Deje que haya un conjunto de características que describan un punto de datos. Tal vez estás mirando el clima. Ese conjunto de características puede incluir elementos como temperatura, humedad, hora del día, etc. Por lo tanto, cada punto de datos puede tener una característica (si solo está mirando la temperatura) o puede tener 2 características (si está mirando la temperatura y humedad) y así sucesivamente. Lo que dice este párrafo es que, según la cantidad de dimensiones que tienen sus datos (cuántas características tiene), más difícil es hacer un estimador. Esto se debe a que si simplemente tiene una característica de datos, o datos unidimensionales, cuando va a graficar estos datos, obtiene un gráfico lineal, e imaginando un gráfico lineal entre digamos 0-50 grados C, solo se necesita 50 puntos aleatorios antes de cada punto de datos son aproximadamente 1 grado desde cualquier otro punto de datos. Ahora deja' s piense en 2 dimensiones, hablando de humedad y temperatura, ahora es más difícil encontrar que d tal que todos los puntos estén dentro de las unidades "d" entre sí. Imagine que la temperatura todavía está entre 0-50 pero ahora la humedad también está entre 0-100%. ¿Cuántos puntos aleatorios se necesitan para obtener todos los puntos dentro de 1 o 2 entre sí? ¡Ahora son 100 * 50 o ~ 5,000! Ahora imagine 3 dimensiones, etc., etc. Comienza a necesitar muchos más puntos para asegurarse de que cada punto esté dentro de d de algún otro punto. Para facilitarle la vida, intente asumir que "d" es 1 y vea qué sucede. ¡Espero que ayude! ¿Cuántos puntos aleatorios se necesitan para obtener todos los puntos dentro de 1 o 2 entre sí? ¡Ahora son 100 * 50 o ~ 5,000! Ahora imagine 3 dimensiones, etc., etc. Comienza a necesitar muchos más puntos para asegurarse de que cada punto esté dentro de d de algún otro punto. Para facilitarle la vida, intente asumir que "d" es 1 y vea qué sucede. ¡Espero que ayude! ¿Cuántos puntos aleatorios se necesitan para obtener todos los puntos dentro de 1 o 2 entre sí? ¡Ahora son 100 * 50 o ~ 5,000! Ahora imagine 3 dimensiones, etc., etc. Comienza a necesitar muchos más puntos para asegurarse de que cada punto esté dentro de d de algún otro punto. Para facilitarle la vida, intente asumir que "d" es 1 y vea qué sucede. ¡Espero que ayude!
fuente
n~1/d
significaría que n necesita ser aproximadamente 1. Eso no tiene mucho sentido?matty-d
ya ha proporcionado una muy buena respuesta, pero encontré otra respuesta que explica este problema igualmente, de un usuario de Quora Kevin Lacker:fuente
Ese ejemplo puede dar una idea del problema, pero en realidad no es una prueba rigurosa en absoluto: ese es solo un ejemplo en el que se necesitan muchas muestras para obtener una cobertura espacial "buena". Podría haber (y de hecho, por ejemplo, hexágonos en 2D) coberturas mucho más eficientes que una cuadrícula regular ... (el área sofisticada de secuencias de baja discrepancia se dedica a esto) ... y probar que incluso con tales mejores revestimientos Todavía hay una maldición de dimensionalidad que es otra cuestión. En realidad, en ciertos espacios de función, incluso hay formas de sortear este aparente problema.
fuente