Cómo aplicar estadísticas y física en la programación de computadoras

Así que has estado aprendiendo estadística y física en la escuela, así como también programación, y quieres saber cómo puedes hacer que jueguen juntos, ¡increíble!

Primero, estadísticas .

Estoy seguro de que conoce a Mario, pero ¿conoce a MarI / O?

Esta es una aplicación sorprendente de algo llamado aprendizaje estadístico , es decir, Aprendizaje automático. Las estadísticas y la programación de computadoras van de la mano, y con estas herramientas puede impactar al mundo de manera significativa. Como mínimo, puede crear una pequeña IA ingeniosa que juegue a Mario mejor que un humano, y en el mejor de los casos (o peor, dependiendo de su filosofía sobre la IA) podría ayudar en la creación de inteligencia artificial general, que revolucionará el mundo de maneras incomprensibles.

Hay toneladas de aplicaciones en informática para estadísticas en cada tono de gris intermedio.

Para comenzar, ofreceré sugerencias sobre una biblioteca de Python, un libro de texto, un curso seminal de Coursera y una excelente lista de reproducción de Youtube.

  1. Biblioteca de Python Machine Learning
    Scikit-learn: scikit-learn: aprendizaje automático en Python
  2. Libro de texto
    Una introducción al aprendizaje estadístico:
    Amazon.com: una introducción al aprendizaje estadístico: con aplicaciones en R (Springer Texts in Statistics) (9781461471370): Gareth James, Daniela Witten, Trevor Hastie, Robert Tibshirani: Libros
  3. Coursera de Andrew Ng: aprendizaje automático
    Aprendizaje automático – Universidad de Stanford | Coursera
  4. Lista de reproducción Scikit-learn de Data School
    Lista de reproducción

Segundo: física .
¿Donde empezar? Se puede abordar cada sabor de la física (posiblemente, algunos solo se pueden abordar) a través de la programación.

Los métodos / análisis numéricos son un tema que debe considerar si está interesado en aplicar la programación a la física. La computadora es un sistema discreto con memoria finita , y todas las matemáticas con las que has estado trabajando en física se basan en números reales, que son representaciones de un conjunto infinito .

En resumen, puede representar un número real solo hasta cierto punto en una computadora. Más importante aún, las soluciones analíticas con las que ha estado trabajando deben llevarse a cabo numéricamente en una computadora. Por ejemplo, ¿cómo hace que una computadora tome una derivada o una integral? Más simple aún, ¿cómo hace que una computadora encuentre soluciones para una expresión algebraica?

Esto no funciona en una computadora:

La forma analítica que aprendió a hacer álgebra no se aplica en las computadoras: debe usar métodos numéricos. Este es el primer paso: aprender a desarrollar algoritmos numéricos para resolver para x, para tomar derivadas, integrales, para resolver ecuaciones diferenciales, la proverbial carne y papas de la física.

Esto se aplica de la siguiente manera: supongamos que está interesado en la dinámica de los vuelos espaciales (también conocida como mecánica clásica / teórica, dinámica / mecánica orbital, etc.) y está mirando la Estación Espacial Internacional en órbita alrededor de la Tierra. Quizás desee saber cuánta distancia ha recorrido la ISS en un tiempo, delta_T.

No hay problema. Tiene la ecuación de Kepler [1] y la ecuación de trayectoria [2]. Desde delta_T puede calcular la anomalía media, M. Impresionante. Pero ahora debe resolver la ecuación de Kepler, una ecuación no lineal, para obtener la anomalía excéntrica, E, que necesitará en la ecuación de trayectoria para resolver la distancia recorrida, r.

¿Cómo se resuelve M = E – e * sin (E)?

Establece E – e * sin (E) – M = 0, y luego “encuentra E”. No puede hacer esto analíticamente (y no puede simplemente señalar un gráfico y proclamar audazmente, “¡Aquí está!”), Debe hacerlo numéricamente, mediante programación (o minuciosamente a mano). Lo que puede hacer con el método Newton-Raphson [3], si está interesado.

Y voilá. El algoritmo arrojará una respuesta para E (dentro de una cierta tolerancia), y puede conectar y avanzar hacia la victoria para determinar r, la distancia radial que la ISS ha recorrido en el tiempo delta_T.

Hay innumerables formas de unir la física y la programación: toneladas de modelado, toneladas de cómputo numérico, etc. Si está interesado en unir las tres, inherentemente existe la computación / modelado de la física cuántica; o bien, puede aplicar el Aprendizaje automático (es decir, estadísticas) / IA a problemas de física, como un problema de N cuerpos como lo hizo este documento: Un enfoque de aprendizaje automático para el análisis de accesibilidad en tiempo real [4].

Por último, otra biblioteca genial de Python para ver relacionada con la física de alguna manera tangencial, pero también útil para el aprendizaje automático: Astropy

Piense, ‘aplicando herramientas de aprendizaje automático a la clasificación de exoplanetas’. [5]

Notas al pie

[1] La ecuación de Kepler

[2] órbita de Kepler

[3] https://en.wikipedia.org/wiki/Ne…

[4] https://web.stanford.edu/~pavone…

[5] http://cs229.stanford.edu/proj20…

haga algunos proyectos sobre análisis de datos, se utilizará su conocimiento de estadísticas (análisis de series de tiempo, pronóstico del tiempo, etc.)

haga algunos proyectos sobre computación cuántica, se utilizarán sus conocimientos de física cuántica (creando dos qubits y simulando el comportamiento cuántico, etc.)

haga una simulación para decidir la curva de las carreteras y se probarán las ideas de física clásica.

Déjame ahora si puedo ayudar

¡¡Prestigio!!:)