Los avances en computación han posibilitado que la inteligencia artificial pretenda imitar los comportamientos de los seres humanos. La aparición del Machine Learning ha supuesto un gran cambio, pues se programa para que el sistema sea capaz de aprender a conseguir encontrar las respuestas solicitadas y diseñar modelos predictivos de clasificación en problemas reales o implementar algoritmos que permiten segmentar para realizar diversos análisis.
Por este motivo, la formación sobre las técnicas de Machine Learning y lenguajes de programación como Python es fundamental en el ámbito de la informática y las comunicaciones. IPElearning, sello de Ideaspropias Editorial que ofrece servicios y productos e-learning, ha lanzado una novedad en su catálogo: IFCD093PO Machine Learning aplicado usando Python.
Las entidades y centros de formación podrán incorporar a su oferta formativa este contenido en formato SCORM y cubrir una de las principales necesidades de formación de su alumnado: el desarrollo, implementación y validación de los modelos de Machine Learning usando el lenguaje Phyton.
El autor de este curso e-learning totalmente actualizado ha sido Miguel Ángel Pino, ingeniero industrial, profesor de la Universidad de Sevilla, autor del libro publicado por Ideaspropias Editorial Dirección de la actividad empresarial de pequeños negocios o microempresas y autor de numerosos cursos e-learning y recursos didácticos sobre desarrollo web, programación y empresa.
Hoy hablamos con Miguel Ángel sobre las técnicas del Machine Learning y cómo Python es fundamental en este ámbito. ¡No te pierdas esta interesante entrevista con uno de los autores más prolíficos de IPElearning!
Definición de Machine Learning e importancia de Python
Ideaspropias Editorial (IPE): Miguel Ángel, ¿a qué hace referencia el término Machine Learning y por qué es importante aprender Python?
Miguel Ángel Pino (MAP): Machine Learning es, como indica su nombre, una disciplina que se centra en el aprendizaje; en este caso en el que realizan los dispositivos informáticos o las máquinas consideradas desde un punto de vista general.
¿Pueden aprender las máquinas? Desde un determinado punto de vista sí (sobre esto nos podríamos extender mucho tiempo), ya que los desarrollos en este campo, que arrancaron hace más de 60 años, confirman que los dispositivos electrónicos son capaces de identificar patrones en un conjunto de datos, sin necesidad -y ahí es donde está el gran potencial del Machine Learning- de que los programemos con unas reglas específicas, es decir, de una manera explícita. Las máquinas serían, por tanto, capaces de aprender de manera autónoma a partir de los ejemplos que les presentemos.
Esto no es ciencia ficción. Los desarrollos de Machine Learning están a nuestro alrededor, en el chatbot que resuelve una incidencia, en las recomendaciones de lectura que nos hace el móvil, en el etiquetado automático de fotografías que nos proponen las redes sociales, en los algoritmos que destacan el interés de comprar unas acciones y vender otras, en los avances incorporados a los automóviles para ser más autónomos, etc. Hablamos de aplicaciones muy flexibles, que se adaptan rápidamente a cambios en los datos y que están funcionando muy bien, por lo que continuaremos viendo grandes avances en este ámbito en los próximos años.
Los dispositivos electrónicos son capaces de identificar patrones en un conjunto de datos, sin necesidad de que los programemos con unas reglas específicas.
Miguel Ángel Pino, autor del curso e-learning Machine Learning aplicado usando Python
Los algoritmos de Machine Learning se pueden implementar de muchas maneras. Podemos acudir a software específico, que normalmente se centra en una tipología específica de desarrollos, lo que implica un esfuerzo, en tiempo y normalmente en dinero, por parte de las personas interesadas en emplear estas técnicas. Además, tienes que dominar distintas aplicaciones para trabajar diferentes problemas. Por tanto, parece más interesante optar por software genérico, como es el caso de Python.
Pyhton es un lenguaje de programación absolutamente recomendable en numerosos campos y en especial resulta idóneo para la implementación de técnicas de Machine Learning. Aparte de ser gratuito, posee la ventaja de contar con una comunidad inmensa de desarrollo, lo que hace que las posibles dudas en su manejo ya estén resultas en los foros existentes o que puedan ser aclaradas por personas expertas.
Python tiene otros aspectos muy positivos, como una sintaxis muy sencilla y fácil de comprender, un campo de aplicación muy amplio (cada vez se elaboran más páginas web en Django, que es un framework escrito en este lenguaje), un conjunto enorme de librerías con funciones que ayudan a desarrollar el código y, además, resulta valioso tanto para los individuos que se inician en la programación como para los que desarrollan aplicaciones complejas, en el ámbito de la investigación o del mundo empresarial.
Es muy recomendable aprender Python con independencia de los objetivos que uno tenga en mente en un momento dado. Tarde o temprano surgirán cuestiones que podremos abordar de una manera funcional con dicho lenguaje.
¿Tienes un centro de formación y quieres incorporar a tu catálogo el curso e-learning IFCD093PO Machine Learning aplicado usando Python?
Aprendizaje supervisado y no supervisado
IPE: En el curso IFCD093PO Machine Learning aplicado usando Python hablas sobre el aprendizaje supervisado y no supervisado, ¿qué son y cuáles son sus aplicaciones?
MAP: Salvando las grandes diferencias existentes, podemos equiparar los procesos de aprendizaje de un dispositivo electrónico con los del ser humano. Si nos preguntamos ¿cómo aprendemos nosotros?, seguramente nos vendrá a la mente, en primer lugar, la imagen de un aula, de un espacio en el que un docente transmite unos contenidos que luego tendremos que interiorizar y sabe emplear. Por ejemplo, un profesor o una profesora nos enseña a sumar o a emplear correctamente ciertas formas verbales para que luego, en nuestra existencia, sepamos cómo realizar esa operación aritmética o cómo hablar correctamente.
Esto sería el equivalente al aprendizaje supervisado, que se caracteriza porque presentamos al modelo de Machine Learning un conjunto de datos que ya están etiquetados, es decir, de los que conocemos su respuesta correcta. Es como si introdujéramos en el sistema un número, normalmente elevado, de sumas (todas bien hechas), con la idea de que el algoritmo sea capaz, por sí mismo, de inferir cómo se lleva a cabo el proceso de la suma. Esta idea es importante: no enseñamos a la máquina a sumar, le enseñamos a que sea capaz de generalizar la operativa y realizar una nueva operación, correctamente, cuando se la presentemos.
Como resulta evidente, las aplicaciones que se desarrollan en el contexto del aprendizaje supervisado resultan mucho más complejas que una simple suma. Básicamente hay dos grandes campos de desarrollo: por una parte, los algoritmos de clasificación, que tratan de identificar la categoría a la que pertenece una determinada entrada (un input) considerando cómo se etiquetaron otras entradas en su momento.
No enseñamos a la máquina a sumar, le enseñamos a que sea capaz de generalizar la operativa y realizar una nueva operación, correctamente, cuando se la presentemos.
Miguel Ángel Pino, autor del curso e-learning Machine Learning aplicado usando Python
El ejemplo clásico en este campo es el de los filtros antispam que utilizan numerosos servidores de correo electrónico. En segundo lugar, se encuentran los conocidos como algoritmos de regresión, que predicen valores en función de los datos históricos disponibles. Nos permiten responder cuestiones como: ¿cuánto será la demanda de un determinado producto en base a las compras que se han venido realizando en los últimos meses? ¿Cuál será el valor de mercado de esa casa teniendo en cuenta los precios de las que se vendieron recientemente?
Las técnicas de aprendizaje supervisado son muy interesantes y, de hecho, se trata de las más extendidas. Pero tienen el inconveniente de que se necesita que alguien etiquete los datos, lo que puede ser un grave problema cuando manejamos grandes volúmenes. Y, aparte, ¿por qué no explorar una segunda forma de aprender que tenemos los seres humanos?
Hay determinados conceptos o conocimientos que asimilamos sin que nadie nos lo explique. No hace falta que en un aula alguien nos diga que los objetos se caen al suelo si los soltamos (otra cosa será estudiar la ley de la gravedad). La certeza de que los objetos se caen es algo que experimentamos desde que nacemos. La extrapolación de esta idea al campo del Machine Learning es lo que se conoce como aprendizaje no supervisado. Directamente le presentamos al modelo nuestros datos sin etiquetar y el sistema trata de identificar relaciones o patrones existentes. ¿No parece apasionante? La propia máquina nos evita el duro trabajo (a veces imposible) de encontrar los mecanismos internos que explican ciertos comportamientos.
En este campo también hay dos grandes grupos de aplicaciones: por un lado, tenemos los algoritmos de clustering, que nos proponen directamente posibles agrupaciones de datos. Esto resulta de enorme utilidad en el campo del marketing, ya que facilita las tareas de segmentación de clientes, algo absolutamente necesario para lanzar campañas de promoción o de ventas personalizadas.
Por otra parte, se encuentran los algoritmos que permiten detectar reglas de asociación, es decir, relaciones internas entre los datos. ¿Por qué los supermercados colocan ciertos productos justo al lado de otros en los expositores? Porque saben que la mayoría de las personas adquieren ambos productos a la vez, de manera habitual, cuando realizamos las compras. Por tanto, facilitemos dichos procesos y así incrementaremos las ventas. Las técnicas de recomendación de artículos, películas, series, música, etc. se suelen basar en algoritmos de aprendizaje no supervisado.
Como podemos imaginar estas técnicas son más complejas y la mayoría se encuentran en proceso de desarrollo. En ocasiones se acude también a un planteamiento híbrido, que es el aprendizaje semisupervisado. Bajo este paradigma se suelen etiquetar solo algunos datos y se dejan sin etiquetar la gran mayoría (algo muy habitual en técnicas de clasificación de fotografías). Por lo general se consiguen modelos que realizan mejores agrupamientos que mediante el planteamiento supervisado.
¿Quieres más información sobre los cursos e-learning de la familia profesional Informática y comunicaciones de IPElearning?
Curso e-learning IFCD093PO Machine Learning aplicado usando Python
IPE: ¿A qué tipo de alumnado recomiendas hacer el curso e-learning IFCD093PO Machine Learning aplicado usando Python? ¿Qué van a descubrir en esta formación online?
MAP: Absolutamente todas las empresas generan y manejan datos en su día a día. Y esos datos contienen una información valiosísima para la toma de decisiones. De ahí la importancia de conocer el mayor número posible de técnicas que faciliten el proceso de conversión de datos en información.
Una de estas técnicas es el Machine Learning y, como ya he indicado antes, una manera óptima de aprender cómo llevar a cabo los correspondientes desarrollos es utilizar Python. Por tanto, el curso IFCD093PO Machine Learning aplicado usando Python, en principio, se encuentra abierto a prácticamente cualquier perfil de persona que esté trabajando o vaya a trabajar con datos. Y estos datos se encuentran en cualquier área o departamento de una empresa.
Es cierto que necesitamos introducir ciertos conceptos matemáticos y de programación, dado que el Machine Learning emplea este tipo de herramientas, pero la carga de dichos elementos en el curso es muy reducida y hemos tratado de eliminar al máximo las referencias a desarrollos complejos.
La gran ventaja de Python en ese sentido es que hay numerosas operativas que no resulta necesario conocer por dentro: lo importante reside en saber de qué manera emplear funciones o programas ya desarrollados por otros y saber interpretar los resultados obtenidos. En estos dos aspectos nos focalizamos a lo largo del curso e-learning IFCD093PO Machine Learning aplicado usando Python. Por tanto, el espectro del posible alumnado es muy amplio, desde personas con ligeros conocimientos informáticos, con alguna experiencia previa en algún lenguaje de programación, hasta individuos especializados en el tratamiento y depuración de datos, que deseen extraer la máxima información útil de los mismos.
Otro de los aspectos que deseo resaltar de esta formación es el elevado número de ejemplos y de casos prácticos que se han incorporado, así como la aportación de referencias que posibilitará al alumnado la profundización en cualquier temática. Introducirse en el mundo del Machine Learning muy recomendable, dada la versatilidad de las técnicas existentes: el conocimiento adquirido va a posibilitar que cualquier estudiante identifique temáticas específicas en su entorno profesional, de investigación o incluso personal en las que poder aplicar algunas de las herramientas descritas.
Experiencia como autor de IPElearning, sello de Ideaspropias Editorial
IPE: Llevas muchos años colaborando como autor de contenidos con Ideaspropias Editorial. ¿Qué tal la experiencia?
MAP: La experiencia está resultando muy satisfactoria. Me encanta poder profundizar en temáticas tan variadas como las que, a lo largo del tiempo, la editorial me ha ido proponiendo: recuerdo con mucho cariño ese primer curso sobre Dirección de la actividad empresarial de microempresas, en el que volqué numerosas experiencias personales como gerente de una pequeña empresa. Y luego he podido desarrollar contenidos muy variados, tanto en el ámbito de la gestión como, recientemente, en contextos más tecnológicos, como este curso IFCD093PO Machine Learning aplicado usando Python.
Me gustaría destacar dos aspectos muy positivos de los trabajos que llevo a cabo con Ideaspropias Editorial. Por una parte, la profunda labor de revisión de los materiales, con la incorporación de una labor de maquetación y reestructuración que potencia, de manera notable, el proceso formativo. Muchas veces me sorprendo de la mejora tan relevante que experimentan los originales tras dicho proceso de revisión.
Y, por otro lado, creo que son muy interesantes las pautas que marca la editorial para garantizar que estos contenidos se encuentren muy conectados con la realidad laboral y con lo que demanda el mundo empresarial. Esto exige un duro trabajo para incorporar aspectos muy prácticos, sin desatender otras cuestiones que exige cada materia. Pero los resultados están ahí, en una formación mucho más útil para el alumnado.
Miguel Ángel Pino es ingeniero industrial y profesor asociado de la Universidad de Sevilla en la que imparte asignaturas relacionadas con Sistemas de Información y Tecnologías de Comunicación en Empresas. Cuenta con experiencia como autor de contenidos formativos de desarrollo web, programación y empresa.