Plataformas y librerías para comenzar en el mundo del Machine LearningSergio Sancho Azcoitia 24 abril, 2018 Desde los comienzos de la IA las principales empresas tecnológicas han empleado sus técnicas de aprendizaje con juegos clásicos como el ajedrez o el Go (juego tradicional chino) para mostrar su progreso siendo muchas veces capaces de derrotar a seres humanos como el campeón de ajedrez Gary Kasparov, que fue derrotado por Deep Blue de IBM. A día de hoy, la inteligencia artificial (IA) se ha convertido en uno de los campos de desarrollo con más potencial, y se estima que durante los próximos años se convertirá en uno de los sectores que más avance y genere mayores beneficios a las empresas. En este campo emergente, con una tasa anual de crecimiento de un 25%, existen varias plataformas enfocadas a que los desarrolladores puedan trabajar en sus proyectos. Las plataformas consisten en software que una empresa ofrece a terceros, haciendo que éstas dependan del mismo a la hora de realizar su trabajo (como por ejemplo el sistema operativo Windows). A continuación os hablaremos de algunos de los lenguajes y librerías que pueden resultarte de interés si quieres comenzar en este mundillo. Comenzaremos hablando de Python, Python es un lenguaje de programación con propósitos más generales que su uso en la inteligencia artificial. Sin embargo, está obteniendo gran popularidad entre expertos e ingenieros de Machine Learning. Todo esto se debe a algunas de sus librerías, algo que le hace capaz de ofrecer casi las mismas funcionalidades que otros lenguajes o plataformas como R o MatLab. A continuación, os presentaremos brevemente algunas de ellas. Si quieres saber más sobre librerías de Python, no te pierdas este otro post de nuestro blog: Python para todos (3): ScyPy, NumPy, Pandas …¿Qué librerías necesitamos?) NumPy: Esta es la principal librería para computación científica, contiene herramientas para integrar C++ e incluye funciones útiles en Algebra y transformadas de Fourier. SciPy: En este caso tenemos una librería open-source para las matemáticas, ciencia e ingeniería. Esta librería incluye paquetes como Matplotlib o Pandas. Pandas: Es una de las mejores librerías para el análisis de datos, es open-source y proporciona un alto rendimiento y facilidad de uso haciendo que no sea necesario cambiar nuestro código a otros lenguajes como R para poder analizarlo. Scikit-learn: Esta librería está completamente enfocada al machine learning, ofrece herramientas simples y eficientes para la extracción y análisis de datos, es accesible para todo el mundo y está construida en base a NumPy, SciPy y Matplotlib. Theano: Con esta librería podrás definir, evaluar y optimizar funciones matemáticas, tiene un funcionamiento fluido y se puede integrar con NumPy. Tensorflow: Es una librería dedicada a la computación numérica, TensorFlow fue creada originalmente por el Brain Team de Google con el fin de realizar investigación de redes neuronales a un nivel profundo, pero su uso también es aplicable a varios dominios. Continuamos con C++, un lenguaje enfocado principalmente a software a bajo nivel como el de componentes de un sistema operativo o protocolos de red. Este lenguaje se utiliza con frecuencia en sistemas integrados e infraestructuras que funcionan con sensores. En muchas ocasiones resulta ser un lenguaje un poco complicado para principiantes pero goza de un gran potencial. A continuación os presentamos algunas de las librerías que se pueden utilizar en C++ para realizar trabajos de Machine Learning. LibSVM: Esta librería es muy útil para trabajar con máquinas de soporte vectorial (SVM), sirve para resolver problemas de clasificación y regresión de vectores. También puede servir para predecir la clase de una futura muestra. Shark: Esta librería ofrece métodos de optimización lineal y no lineal, está basada en el aprendizaje de los algoritmos del núcleo, redes neurales y otras técnicas avanzadas de machine learning. Es compatible con la mayoría de sistemas operativos. Mlpack: En este caso nos encontramos frente a una librería cuya finalidad es ofrecer una rápida puesta en marcha de los algoritmos de machine learning, esto lo hace proveyendo a estos algoritmos una línea de código simple que facilita su integración en soluciones de mayor escala. Otro de los lenguajes más utilizados en el Machine Learning es Java, esto se debe a que es un lenguaje orientado a objetos y es bastante consistente, se basa en la claridad y fiabilidad, es open-source y es compatible con cualquier plataforma. Con java podrás desarrollar prácticamente cualquier aplicación, además cuenta con una gran cantidad de librerías, a continuación os presentaremos algunas de ellas enfocadas al mundo del Machine Learning. Spark+MLlib: Esta librería encaja a la perfección con las APIs de Spark y trabaja conjuntamente con NumPy, Spark acelera el funcionamiento de MLlib, cuyo objetivo es realizar un aprendizaje escalable y más sencillo. Mahout: Nos encontramos frente a una librería similar a NumPy, está enfocada a las expresiones matemáticas, algebraicas y estadísticas. Deeplearning4j: Esta es una librería dedicada al Deep learning, está escrita para Java y Scala, ofrece un entorno para que los desarrolladores entrenen y elaboren modelos de IA. Por último, pero no por ello menos importante os hablamos de R, un lenguaje diseñado para la programación estática, es uno de los mejores para minar datos a gran escala y que también ofrece una gran colección de paquetes que permiten aplicar infinidad de algoritmos de Machine Learning y realizar test estáticos con ellos. Varias de las librerías mencionadas anteriormente son compatibles con R, y es por eso que , habiendo diversas posibilidades a la hora de elegir un lenguaje o plataforma para trabajar con IA a día de hoy, R es uno de los favoritos para desarrolladores de todo el mundo. Los post más interesantes de LUCA Data Speaks 2018 organizados por series y temáticas Para mantenerte al día con LUCA visita nuestra página web, suscríbete a LUCA Data Speaks o síguenos en Twitter, LinkedIn y YouTube. Esta semana en el blog de LUCA: (16 al 22 de Abril)¿La clave del éxito del Machine Learning? Datos de calidad
Nacho Palou 5G: cuatro casos de uso reales y prácticos El último informe “La Sociedad Digital en España 2022” [1] de Fundación Telefónica confirma la consolidación de los procesos de digitalización en la sociedad española. En este sentido, cabe...
Nacho Palou Cursos gratuitos online para aprender IoT (Internet de las Cosas) en 2023 Internet de las Cosas (IoT) es una de las tecnologías digitales de nueva generación con un impacto significativo en múltiples sectores, desde la industria a la agricultura, pasando por...
Fran Ramírez Mujeres que cambiaron las Matemáticas Por Fran Ramírez y Fran Fenoll Aprovechando que en marzo también se celebra el día Internacional de las Matemáticas, hemos querido rendir con esta recopilación un pequeño homenaje a mujeres que...
Nacho Palou #MujeresHacker de Telefónica Tech: Jess Woods, experta en Cloud Con motivo del Día de la Mujer, iniciamos una serie de entrevistas protagonizadas por #MujeresHacker de Telefónica Tech. Mujeres que, con su trabajo y esfuerzo, nos convierten en una...
Sergio Piorno Güemes Un nuevo paradigma financiero: la tokenización de activos En los últimos años se ha acelerado la digitalización del ecosistema financiero gracias a la adopción generalizada de internet y su consecuente desarrollo. Esto, junto con el auge de los dispositivos móviles,...
Nacho Palou MWC: Todas las innovaciones y el conocimiento experto que hemos compartido Después de cuatro intensos días, Mobile Word Congress (MWC) 2023 se despide hoy hasta el año que viene. Desde el pasado lunes, los asistentes han tenido ocasión de ver...