Antes de ver algunas de las áreas de intersección, veamos cómo estos campos son distintos de alguna manera. Algunas distinciones clave entre estos dos amplios dominios de actividad:
- La ciencia de datos es la aplicación de estadísticas, aprendizaje automático y temas relacionados a través de algoritmos, para el análisis de datos recopilados de procesos de generación de datos. Si bien la ciencia de datos también incluye la simulación (modelos deductivos donde el comportamiento del sistema es conocido / asumido y estocástico), la gran mayoría de los casos es donde los datos ya recolectados de los sistemas en el mundo real o virtual se analizan para comprender el comportamiento subyacente del sistema. Por lo tanto, la intención de la ciencia de datos es encontrar patrones en los datos, ya sea a través de la exploración sistemática, modelos de aprendizaje automático o exploración iterativa.
- Los sistemas complejos (y su estudio) se refieren a sistemas que exhiben un comportamiento emergente, dependencia sensible de las condiciones iniciales y patrones caóticos en el comportamiento del sistema. Son esencialmente impredecibles en su comportamiento, a pesar de estar basados en reglas simples y componentes interactivos. Un buen ejemplo es el doble péndulo, que es una excelente manera de entender cómo un sistema muy simple que debería ser determinista en su forma de comportamiento, puede comportarse de manera impredecible debido a pequeñas diferencias en la posición inicial del sistema. .
Ahora, veamos algunas similitudes:
- La ciencia de datos es el proceso de modelar estadísticamente el comportamiento del sistema. Entonces, entre otras cosas que los científicos de datos pueden hacer, también pueden estar interesados en una forma de “decodificar” el comportamiento del sistema. Cuando los modelos de respuesta a factores (causalidad unidireccional simple) no funcionan, se debe recurrir a los sistemas de ecuaciones. Estas son situaciones para las cuales el modelado estadístico no es directamente adecuado. La ciencia de datos también abarca el campo de la simulación, como la simulación de inteligencia de enjambre y las simulaciones Monte Carlo. Es en estas situaciones donde la ciencia de datos y la teoría del caos / complejidad se cruzan
- Los sistemas complejos abarcan el estudio de sistemas basados en agentes. Tome la optimización del enjambre de partículas, por ejemplo, donde un enjambre de agentes está codificado con una visión global de la aptitud y puede descifrar los máximos y mínimos de un gradiente a través de un proceso de “divide y vencerás” basado en la comunicación. Esto es relevante para la ciencia de datos, ya que a veces en la ciencia de datos, por ejemplo, al escribir algoritmos de aprendizaje automático o al construir redes neuronales, es posible que le interesen los problemas de optimización de múltiples variables, para los cuales estos métodos basados en agentes son perfectos.
- El análisis de gráficos es otra área clave de intersección entre sistemas complejos y ciencia de datos. La ciencia de datos realizada en datos de redes sociales generalmente se asocia con el modelado de gráficos y el análisis basado en gráficos: podemos estar interesados en calcular el rango de página de diferentes nodos, o el coeficiente de agrupación de un sub-gráfico, o agrupación dentro de estas redes sociales. Dichos problemas se abordan inherentemente en la teoría de la complejidad, pioneros como Erdos y Renyi, y más recientemente por Barabasi, Strogatz, et al.
- La ciencia de datos realizada en series temporales implica la comprensión de la sincronización, los datos como señales de los sistemas y la comprensión de esos sistemas a través de las señales que generan (como procesos estocásticos que generan datos). Curiosamente, una rama de la teoría de sistemas complejos se ocupa de la sincronización de procesos y sistemas: lo recomendaría al trabajo de Steven Strogatz sobre esto. La sincronización parece ser un orden fundamental de la naturaleza, y hay mucho que entender al estudiar los sistemas en este contexto.
- El modelado de sistemas complejos en la naturaleza a menudo requiere el manejo de numerosas variables; a veces, cientos de variables son de interés en el comportamiento del sistema. En ciencia de datos y aprendizaje automático, la ingeniería de características es un tipo de análisis que ayuda a identificar posibles nuevos factores, o factores que simplifican las matemáticas de la relación entre las variables en el modelo. A medida que comprendamos más acerca de los sistemas complejos y los estudiemos con mayor profundidad, tales técnicas pueden ser útiles desde la perspectiva del modelado de sistemas.
Algunos libros para considerar leer:
- Si pudieras elegir cinco miembros perfectos para un equipo de desarrollo de aprendizaje automático y en la nube, ¿qué habilidades requerirías que tuvieran?
- Kaggle: ¿Cuáles son las técnicas utilizadas para reducir el número de columnas antes de predecir la variable dependiente? Por favor vea la descripción
- Aprendizaje automático: ¿Puede alguien que es horrible en los concursos de kaggle seguir siendo bueno como científico de datos?
- ¿Cuáles son las unidades de análisis utilizadas en el reconocimiento de voz automático?
- ¿Cuál es el mejor clasificador que puedo usar en 'Reconocimiento facial en tiempo real' después de extraer funciones usando 'Alexnet'?
- Fundamentos de la ciencia de datos por Kannan, Hopcroft, et al.
- Una visita guiada de la complejidad por Melanie Mitchell
- Sincronización de Steven Strogatz
- Vinculado por A. Laszlo Barabasi (Más sobre el Dr. Barabasi aquí: Barabási Albert-László – Libros)
- Seis grados de Duncan Watts
- La investigación de Mark Newman en redes: Mark Newman
La respuesta de Scott Mongeau a esta pregunta también cubre algunos de estos métodos con más profundidad y tiene algunas referencias.