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.
- ¿Qué cursos / grados necesito para ser escritor / editor de libros?
- ¿Qué universidad es mejor para obtener una maestría en ingeniería mecánica: Wayne State University o IIT Chicago?
- ¿Cómo son los maestros en publicación?
- No sé qué estudiar para mis maestros. Tengo una licenciatura en ciencias políticas y arqueología, ¿qué hago?
- ¿Cómo es UPenn para obtener una maestría en ingeniería eléctrica? ¿Por qué no está tan bien clasificado como las otras universidades de la Ivy League?
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.
- Biblioteca de Python Machine Learning
Scikit-learn: scikit-learn: aprendizaje automático en Python - 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 - Coursera de Andrew Ng: aprendizaje automático
Aprendizaje automático – Universidad de Stanford | Coursera - 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…