intive Argentina Blog

Cómo una máquina que aprende puede ayudar a mi negocio

Posiblemente, cuando abrís un video en Youtube, en tu página principal empiezan a aparecer videos relacionados, o avisos publicitarios de temáticas similares. Tus listas de reproducciones personalizadas en Spotify también se generan de manera automática con canciones que te gustan. Y posiblemente dirás: “¡Chanfles!”, “¡Recórcholis!” o “¡Recontrachanfle!”, ¿Cómo es que ellos sabían eso? A partir de entonces, buscarás en Google algunas teorías de cómo las empresas predicen. Encontrarás cosas como máquinas alienígenas que ven el futuro, y duendecillos que por las noches lavan tu cabeza, entre otras cosas. Pero, la verdad, las empresas utilizan un recurso proveniente de la ciencia aplicada.

El aprendizaje computacional es un área dentro de lo que conocemos como Inteligencia Artificial. Usando un lenguaje cristiano, sería algo así como crear programas capaces de generalizar comportamientos, a partir de una información suministrada en forma de ejemplos. Se trata, por lo tanto, de un proceso de inducción del conocimiento.

Existen muchos tipos de algoritmos diferentes, con los cuales podemos entrenar a un programa para que pueda generalizar la información y así predecir comportamientos. Hoy nos enfocaremos en tres de ellos.

Aprendizaje supervisado

Se utiliza este tipo de aprendizaje cuando queremos obtener una predicción, a partir de datos con los que podamos validar  el resultado. El equipo busca entrenar el modelo con valores conocidos para obtener una mayor posibilidad de acierto.  Un ejemplo sería introducir fotos de diferentes aviones, para que el programa aprenda cómo se ve un avión. Así puede determinar si en una imagen existe o no este tipo de vehículo.  Otro ejemplo de como un aprendizaje supervisado es utilizado dado que existe una base de datos con la información de los productos que los clientes de en un supermercado compran, se puede alimentar el modelo con lo que un cliente compra y lo que no ha comprado, esto te ayuda a predecir si un usuario cualquiera va a adquirir un producto cualquiera. Luego cuando se desee enviar publicidad de un producto particular, como esto tiene un costo, se puede calcular cual es la probabilidad de que esa persona efectivamente lo desee, así se sabe si vale la pena o no mostrárselo.

Aprendizaje no supervisado

En este tipo de aprendizaje no se indica ninguna instrucción o etiqueta. Lo que se busca es que aprenda relacionando cada dato para realizar la categorización, logrando así discernir cuándo un dato de entrada es parte de una categoría que el modelo ha inferenciado.

Muchas veces no se sabe que se espera clasificar, o que significa su clasificación. Se suele decir que los data scientist son “alquimistas” algo así como tipo Sir Edward Elric. Los datos que son “parecidos” (mediante un criterio que está definido por quien entrena, muchas veces inventado, y que tiene como límite la imaginación de quien entrena) terminan en la misma categoría. Estos algoritmos muchas veces sorprenden en cuanto a sus resultados, logrando descubrir categorías o mostrando relaciones entre datos que no eran conocidas, teniendo la capacidad también de mostrar que datos no tienen categoría, que no son “parecidos” a ningún otro, los datos sin categorizar son generalmente anómalos.

Un ejemplo claro de aplicación es entrenar todas las compras realizadas mediante un medio de pago electrónico, las categorías que encuentre pueden ser o no importantes (pueden indicar tipos de gasto, de compradores) y ser o no útiles para entender a los clientes, más interesantes son los datos sin clasificar que al ser anómalos, no semejantes a ningún otro, pueden indicar una transacción ilegal, un fraude, un robo de identidad, etc., logrando que el sistema bloquee al usuario o se comunique con él para prevenir más transacciones fraudulentas.

Aprendizaje reforzado

Consiste en el básico “prueba y error”. El algoritmo intentará deducir cuál es la mejor forma para llegar a una meta. Es bastante útil y utilizado para sistemas de conducción automática e, inclusive para resolver videojuegos.

El aprendizaje reforzado tiene desventajas respecto del supervisado y no supervisado en cuanto a facilidad de entrenamiento, y es extraño encontrar problemas en donde sea estrictamente necesario, como aprende de los “estímulos” positivos y negativos, de la misma forma que una mascota

Un ejemplo podría ser para recomendar canciones o películas, el modelo recibe las distintas características de cada y cuando termina de mostrarla al usuario este puede calificar positiva o negativamente, las recomendaciones para un usuario nuevo podrían ser dadas por un modelo de aprendizaje supervisado que generalice a la mayoría.

Otro ejemplo, un poco más visual seria este:

Aunque este modelo se utiliza más en el ambiente de investigación, ya que es un modelo costos de entrenar, ya que en su sentido más puro el modelo empieza sin ningún tipo de información y lograr un resultado usable puede tardar mucho tiempo. Es a veces utilizando en otros ámbitos en combinación con otros tipos de aprendizaje que le dan un punto de inicio a la información para que su curva de aprendizaje no sea tan larga y complicada

¿Qué tipo de aplicaciones podría tener dentro de mi negocio?

La respuesta a esta pregunta está en tu corazón, pero hablando seriamente existen muchas posibilidades y aplicaciones que aún no hemos llegado a imaginar. Lo importante es entender que es una herramienta útil que se puede utilizar en casi la mayoría de areas de un negocio.

Para lograr una implementación exitosa, se necesitan en nuestra opinión dos cosas serán cruciales. La primera es la información del negocio que se ha recopilado o se está generando. La segunda es un equipo de científicos de datos que logren determinar y ayudar a entrenar los algoritmos. Una implementación de aprendizaje automático lleva tiempo, por lo que no veremos frutos reales de manera inmediata. Pero las empresas que logran concretar una implementación, ven rápidamente al aprendizaje computacional como una herramienta siempre necesaria.

Gianmarco Cafferata

Gianmarco Cafferata es Data Scientist en intive-FDV desde agosto de 2018. Estudiante de Ingeniería en Informática en la Universidad de Buenos Aires (UBA), además se desempeña como ayudante en la materia Algoritmos II en la misma facultad de dicha casa de estudios. Amante del bandoneón, en su tiempo libre Gian se dedica a investigar sobre Data Science y cocinar, sobre todo cosas dulces. Interesado por la economía, la filosofía y la política, lo que más le gusta es salir y charlar con amigos.

Rodolfo Cordero

Rodolfo Cordero es desarrollador en la compañía desde junio de 2016. Es Licenciado en Desarrollo de Software, graduado de la Universidad Latina de Costa Rica, país del cual es oriundo. Asiduo lector y melómano, hizo cursos de coctelería y barismo, habilidades con las que deleita al staff de intive-FDV en los afters organizados por la compañía.

Deja un comentario