Esta es la última entrega de una serie de tres partes. La primera parte cubre los fundamentos del aprendizaje automático, mientras que la segunda parte proporciona una mirada más profunda a Microsoft Azure Machine Learning y cómo acceder a él a través de servicios web. Ahora, en la parte 3, pondremos todo ese conocimiento a trabajar con algunos ejemplos.
Para completar nuestra serie de tres partes sobre el aprendizaje de la máquina, verán tres videos que ofrecen una rápida visión general de lo que hemos cubierto en la parte 2. También aprenderá la importancia de elegir el algoritmo correcto, y cómo el lenguaje de programación R puede ser utilizado para ampliar las características del servicio. La información aquí puede ser consumida de la manera que usted quiera, siéntase libre de sumergirse directamente en los videos (que se aplican principalmente a nuestra discusión en la parte 2) o guárdelos para más tarde. Aquí están:
(Tengan en cuenta que Microsoft actualizó recientemente el servicio, así que he reescrito mi guión para consultar el servicio web. Aquí está la nueva copia de mi script de Windows PowerShell en GitHub).
Para empezar, vamos a ampliar nuestra discusión de la parte 2 sobre la elección del algoritmo.
Eligiendo su algoritmo
Si bien es importante entender el tipo de problema de aprendizaje con el que se está tratando, no es tan vital conocer el algoritmo específico a utilizar. En el caso del ejemplo del Titanic utilizado en esta serie, sé que tengo un problema de clasificación, así que empecé a utilizar el algoritmo «Multiclass Decision Forest» para entrenar mi modelo, pero podría haber utilizado otro, y luego traté de determinar cuál era más preciso. Anteriormente en la serie (y en el segundo video que acompaña a esta entrada), agregué un segundo algoritmo a mi experimento con resultados mixtos. En realidad, esto es parte de la ciencia en la ciencia de los datos (léase: experimento una y otra vez).
Una cosa que hay que saber y recordar es que más datos pueden vencer a un mejor algoritmo. En otras palabras, tener más datos (y datos limpios) puede ayudarte a entrenar tu modelo, que será más importante que el algoritmo. Recientemente, se ha demostrado que la mayoría de estos algoritmos parecen converger en modelos muy similares cuando la calidad y la cantidad de los datos de entrenamiento aumentan.
MAML proporciona muchas características, pero existe la posibilidad de ampliarlo usando otros idiomas populares. Hablemos del lenguaje R a continuación.
Soporte de programación R
Me ha sorprendido la popularidad del lenguaje de programación R. MAML continúa apoyando este aumento de la popularidad, no sólo entre los académicos, ya que R se proporcionó como la primera interfaz extensible. Como un ejemplo realmente simple usando R, vamos a crear un experimento que básicamente lista todos los paquetes R instalados que podemos en MAML. En la imagen de abajo, verán un bloque que puede ejecutar cualquier script R que se le pase. Miren al lado derecho y verán el script básico que produce esta información:
Una vez que ejecute esto, puedo hacer clic en el puerto de salida del lado izquierdo, y visualizar la salida resultante. Actualmente, hay 410 paquetes instalados! Si tiene algún script R existente o incluso bibliotecas, puede subirlos fácilmente a MAML — haciendo esto, creará un servicio Web que está disponible públicamente.
En el momento de escribir esto, el soporte para Python está disponible, y se ha hablado de planes para algún tipo de SDK que posiblemente pueda ser usado para extender el servicio a otros idiomas en el futuro. A estas alturas, puede que estés ansioso por probar algunas de estas cosas por tu cuenta. Si es así, te alegrará saber que ahora puedes empezar gratis. En noviembre, al salir el servicio de la vista previa, Microsoft anunció un nivel gratuito para MAML. El nivel gratuito te limita a 10GB de datos de entrada y restringe el servicio Web a sólo etapas. Lo único que se requiere para usar el nivel gratuito es una cuenta gratuita de Microsoft. Simplemente diríjase aquí para empezar.
Mirando hacia adelante
¿Puede MAML ayudarle a predecir los números ganadores de la lotería? Desafortunadamente no, pero es un servicio muy prometedor, gracias a que Microsoft escucha a sus usuarios. Por ejemplo, durante la vista previa, un usuario no pudo volver a entrenar un modelo de forma programada, pero esa característica se añadió cuando el servicio salió de la vista previa (aunque su implementación pareciera un poco complicada).
¿En pocas palabras? Como un producto de la versión 1 de Microsoft, este servicio es muy prometedor. Estoy entusiasmado con él y creo que es un elemento fundamental para las soluciones de Internet de las Cosas en el futuro.