math - vacio - tipos de conjuntos
¿Cómo puedo llenar los vacíos de mis conocimientos de matemáticas? (11)
De vez en cuando tengo la impresión de que mi conocimiento de las matemáticas (en lo que respecta al campo del desarrollo de software) tiene algunos vacíos. Soy una persona educada. Tengo un título universitario Siempre me gustó aprender, y es por eso que me gustaría tratar de llenar estos vacíos.
Mi trabajo es en la industria financiera, y creo que muchas de las tareas de procesamiento de números a gran escala que hacemos podrían hacerse más eficientes, posiblemente, si tuviera una mejor comprensión de las matemáticas y la lógica que están involucradas, o conceptos eso podría aprovecharse como un atajo.
¿Tienes alguna sugerencia? Los libros que has encontrado ayudaron con esto? Video conferencias?
EDITAR: Debería tener en cuenta que mi título es en Ciencias de la Computación, por lo que estoy familiarizado con algunas de las áreas de las matemáticas que son relevantes. No estoy seguro de cómo mejorarlos o refinar lo que ya sé :)
¿Por qué no tomar algunas clases en la universidad local? Tal vez algunos de los frikis que aplastan número en su trabajo puedan saber a qué clases debe asistir.
Como alguien que está haciendo una especialización en matemáticas, creo que las matemáticas se aprenden mejor de un buen maestro, con cierta presión para tener éxito (como las tasas de matrícula). Me resulta fácil aprender a computar por mi cuenta, pero las matemáticas son mucho más difíciles. Todavía lo disfruto inmensamente.
Debe conocer la probabilidad y las estadísticas . Pasé por esto en mi programa de física de pregrado. Stanford ofrece conferencias gratuitas sobre matemáticas y física, creo que puedes acceder a ellas aquí todavía (muchas universidades ahora están haciendo esta idea de videoconferencias públicas). Y algo que uno de los creadores de este sitio acaba de recomendar.
Me gustaría ver los requisitos del curso que las grandes universidades necesitan para obtener sus títulos de Ciencias de la Computación. Por lo general, existe la combinación correcta de matemáticas allí.
Puede que no se relacione directamente, pero Project Euler es genial para que pienses de forma matemática.
Un área de las matemáticas que es muy útil para la programación es Discrete Math. Una buena referencia para eso es el curso MIT Open Courseware sobre "Matemáticas para la informática", que está aquí .
Matemáticas concretas. Este es un libro de texto universitario de Knuth que enfatiza la resolución de problemas prácticos en áreas relevantes para los programadores.
- Regresa tus notas de matemáticas de la universidad. Mira lo que recuerdas y lo que no. Intenta volver a hacer algunas de tus tareas.
- Una vez que haya descubierto qué áreas necesita volver a visitar, diversifíquese desde allí. Use OCW u otro material de curso gratuito en línea para expandir su conocimiento.
En orden de importancia, yo diría:
- Álgebra
- Combinatorios
- Estadísticas y Probabilidad
- Vector Math
- Matrix Math
- Cálculo
En mi opinión, Álgebra es esencial para cualquier programador decente, ya que forma los fundamentos de la representación variable y la evaluación de la expresión (funciones, conmutatividad y transitividad de las operaciones, etc.).
Combinatorics es esencial para todo tipo de algoritmos de gráficos (atraviesa todos los nodos en un gráfico, encuentra rutas más cortas, etc.). Conocer las combinaciones y permutaciones es vital en casi cualquier contexto de programación.
Lo siguiente en la línea son las estadísticas, especialmente si desea ingresar a la IA o al aprendizaje automático. Stats es probablemente el área de conocimiento matemático más grande para los programadores. En la mayoría de los casos, no es necesario entrar en las cosas pesadas, como las regresiones multivariables. Saber cómo (y en qué circunstancias) calcular rápidamente la media, la mediana, el modo, la desviación estándar, el margen de error, el intervalo de confianza y las probabilidades condicionales es enormemente útil para muchas aplicaciones de aprendizaje automático.
Las matemáticas vectoriales son importantes en una variedad de aplicaciones de modelado de información (los modelos de espacio vectorial n-dimensional son una forma muy útil de razonar sobre la semántica de los documentos), así como para todo tipo de aplicaciones de gráficos 3D.
Matriz matemática se parece mucho a la matemática vectorial, en términos de sus aplicaciones (IA, modelos de información, 3D, etc.) pero es un poco más complicado, ya que agrega otra dimensión. (Matriz de matemáticas es mi propio talón de Aquiles, definitivamente podría usar un cepillo).
Y el cálculo es esencial para cualquier persona que haga cálculos y simulaciones científicas.
¡Que te diviertas!
EN EDITAR:
Creo que la mejor manera de repasar tu conocimiento matemático es trabajar en un proyecto que use ese conocimiento. Si, por ejemplo, desea aprender algunas estadísticas (por ejemplo, REALMENTE aprender, para que pueda recitar todas las fórmulas sin buscarlas), entonces podría interesarle analizar el conjunto de datos del concurso del Premio Netflix .
El conjunto de datos incluye más de 100 millones de registros de la base de datos de usuarios de Netflix y ofrece una enorme oportunidad para probar sus habilidades para implementar algunos de esos algoritmos matemáticos pesados.
En cuanto a los materiales de referencia reales, he encontrado que la wikipedia es más que adecuada. Por ejemplo, en un proyecto mío reciente, me he referido repetidamente a algunos de sus artículos sobre estimación de densidad de kernel y campos de vectores .
Lo más intimidante (para mí) sobre las matemáticas difíciles (ya que soy casi totalmente autodidacta) es la notación. Todas esas letras griegas me dieron un vuelco. Pero si lees los artículos varias veces (y google para frases como "símbolo de sigma matemático"), entonces no es demasiado difícil juntar de lo que están hablando.
Saca un libro, como un buen libro de texto de Discrete Math, y comienza a hacer los ejercicios todos los días. Hazlos todos.
Repite con otro libro.
Una más: aquí hay una serie de conferencias de audio y video del discreto curso de matemática de Steven Skiena . Es famoso por ser el tipo que escribió The Algorithm Design Manual (también conocido como la Guía del autoestopista a los algoritmos), y su curso de matemáticas es bastante bueno también.