Estoy totalmente de acuerdo con la respuesta de Conner Davis cuando se trata de la estimación de series de tiempo.
En el contexto del aprendizaje automático y la ciencia de datos, creo que debemos ampliar el alcance de este concepto. Considerando un alcance más amplio, el concepto de estacionariedad se refiere a que el proceso de generación de datos no cambia. Esto está relacionado con los datos que está analizando / construyendo un modelo y el caso de uso del “mundo real” donde se emplea no cambia significativamente.
Objetivo principal del aprendizaje automático
- ¿Puedo aprender Machine Learning completamente con Kaggle?
- Si el área de interés principal de uno es la teoría de la información, ¿en qué debería especializarse, a nivel de pregrado?
- ¿Cuáles son ejemplos comunes de usos comunes para Ansible?
- ¿Cuál es la mejor configuración de hardware para entrenar frameworks de aprendizaje profundo como Caffe, Theano y Tensorflow?
- ¿Qué es más seguro, una tableta Android o una computadora portátil con Windows?
El objetivo principal de Machine Learning es la generalización más allá del conjunto de entrenamiento de su modelo. Es por eso que necesitamos, de alguna manera, dividir nuestros datos en trenes y conjuntos de pruebas cuando construimos un clasificador. Si creamos un buen modelo / clasificador en los datos de entrenamiento y funciona bien en nuestros datos de prueba, podríamos estar bastante seguros de que nuestro modelo funcionará bien cuando lleguen datos nuevos e invisibles (¡suponiendo que los datos sean estacionarios!)
Pero imagine una situación en la que los datos que utilizó para construir un modelo (ambos conjuntos de entrenamiento / prueba) son drásticamente diferentes de la situación en la que necesita obtener nuevas predicciones. Esto podría conducir a un bajo rendimiento de nuestro clasificador.
Cuando surge la no estacionariedad
En el lado teórico, esto sucede debido a la distribución de la cual sus datos en los cambios extraídos. En la práctica, este tipo de diferencia podría deberse a cambios espaciales o temporales en los nuevos datos. Supongamos que construye un clasificador para diferenciar entre rostros mal / femeninos simplemente usando imágenes humanas. Pero, de alguna manera, comienzas a obtener imágenes de perros / gatos para clasificar. Esto podría conducir a un bajo rendimiento.
Lo mismo podría suceder con los procesos espaciales, por ejemplo, supongamos que construimos un clasificador que, dada la latitud / longitud de una casa, podemos predecir el ingreso familiar. Pero solo tenemos información sobre algunas partes de la ciudad (centro y alrededores). Ahora tenemos el lat / long de una nueva casa en la ciudad, lejos del centro de la ciudad. Debido a un cambio totalmente inesperado en un vecindario caractheristic como un barrio pobre que está muy cerca de un vecindario elegante en la ciudad, podríamos obtener resultados incorrectos. (Escriba ‘morumbi paraisopolis’ en google images para verlo) o debido a cambios drásticos en un terreno de algún tipo en imágenes satelitales.
Otra situación podría deberse a cambios de comportamiento a lo largo del tiempo. Imagina que usas un Naive Bayes para construir un bloqueador de spam. Pero de alguna manera, los spammers entienden las reglas que aplica su filtro y luego adaptan sus mensajes para superar su bloqueador. Su modelo comenzará a funcionar mal y tendrá que ‘reentrenar’ su clasificador.
Los clientes también cambian su comportamiento con el tiempo debido a muchas cosas como cambios tecnológicos y de la competencia (Netflix / Blockbuster), leyes (política de un solo hijo), comportamiento social (el matrimonio homosexual está siendo más aceptado en algunos lugares, lo que podría conducir a personas que lo harían). declararse solteros en el pasado ahora declararse casados) y así sucesivamente …
Espero que ayude =)
Casi se me olvida mencionar, una pregunta de Quora relacionada con esto:
¿Cuáles podrían ser algunos problemas si la distribución de los datos de la prueba es significativamente diferente de la distribución de los datos de capacitación?
¿Por qué los algoritmos de aprendizaje automático no pueden manejar datos no estacionarios?