¿Qué tan complicados son los requerimientos matemáticos?
Tabla de contenido
Tengo una duda que quizás es el único pero que tengo para entrar más en este mundo. ¿Qué tan altos o complicados son los requerimientos matemáticos? ¿Tiene aplicaciones en la vida cotidiana de un programador cualquiera, o mejor dicho, aprender de data science me podría dar nuevas herramientas para mejorar productos? Eso, gracias ☺️
Tienes que tener una base de cálculo, álgebra lineal, estadística y probabilidades. Y de como se implementan operaciones en cada una de esas áreas. Probablemente no tendrás que implementarlo tú, pero tarde o temprano tendrás que meter las manos en el código de alguien o de alguna biblioteca que sí lo haga. Y tienes que saber lo suficiente para poder tomar decisiones respecto a la entrada, salida y supuestos de un algoritmo o modelo que decidas utilizar. Solo ese conocimiento te permitirá entender qué sucede en el código y, por tanto, tomar decisiones en pos del problema a resolver.
Pongo el énfasis en base. Si eso es complicado dependerá de ti. Yo no soy fuerte en matemáticas pero hay otras personas que sí en mi equipo y red de colaboradores. Es importante que tengas las bases para poder comunicarte con otras personas y poder identificar lo que no sabes, para complementar y así avanzar entre todes.
Te puedo dar dos ejemplos de cosas que he tenido que hacer en el último tiempo:
-
Estudiar la implementación de máxima verosimilitud (Maximum Likelihood) para mínimos cuadrados (Iteratively Weighted Least Squares) en un Generalized Linear Model. Necesitaba que la implementación de la distribución Negative Binomial que está en el módulo statsmodels tuviese una versión equivalente en el módulo spglm https://github.com/pysal/spglm Esto lo hicimos para poder implementar el paper que menciono en este tweet: https://twitter.com/ZorzalErrante/status/1344704326644752386
-
Estudiar un algoritmo de factorización matricial. No basta entender lo que significa la factorización o descomposición (determinar cómo una matriz es el producto de dos o más matrices), sino que se requiere saber cómo se llega a ese resultado porque eso informa el diseño del proceso que incluye la factorización. Particularmente estudié el método Non-Negative Matrix Factorization. En esta página explican cómo se resuelve el problema: https://stats.stackexchange.com/questions/351359/deriving-multiplicative-update-rules-for-nmf Éste es el paper donde lo utilizamos: https://epjdatascience.springeropen.com/articles/10.1140/epjds/s13688-018-0177-1 En este paper colaboramos con mi amigo Denis Parra, quien es un gran experto en NMF :)
¡No temas reconocer que no sabes algo y preguntarle a quienes sí lo saben! Pero para poder reconocer y preguntar necesitas las bases, los fundamentos.