Está en la página 1de 32

 

 
Machine Learning 
Modelización Numérica 
13.04.2020 
─ 

Profesora: Ana Angelillo 


 
 
 
 
5ºB 
Sede Centro 
Turno Noche 
 
 

 

 

 
 
Concepto (¿Qué es? ¿Cómo funciona? ¿Qué es la I.A.?) () 3

Tipos de aprendizaje automático () 4

Aplicaciones de la estadística () 7

Ámbitos de aplicación () 8

Facilidades en la nube de aprendizaje automático 9

¿Qué es cloud computing? () 9

Nubes inteligentes () 9

La importancia de I.A. en cloud computing () 9

Creacion/Implementacion 12

Creacion 12

Pasos para la creación () 12

Optimizacion () 15

Implementación () 21

Consejos para la Implementación () 21

Problemas () 25

Algoritmos () 28

Soluciones analiticas predictivas 31

Historia y avances () 31

Importancia () 31

Diferentes aplicaciones () 31

Quien lo utiliza () 32

Soluciones de los mejores mercados () 33

Comparación de soluciones () 33

Ejemplos de aprendizaje automático () 36

Bibliografía 42

 

 
 
   

 

Concepto (¿Qué es? ¿Cómo funciona? ¿Qué es la I.A.?) () 


El ‘machine learning’ –aprendizaje automático– es una rama de la inteligencia artificial que 
permite que las máquinas aprendan sin ser expresamente programadas para ello. Una 
habilidad indispensable para hacer sistemas, no sólo inteligentes, sino autónomos, y 
capaces de identificar patrones entre los datos para hacer predicciones. Esta tecnología 
está hoy presente en un sinfín de aplicaciones como las recomendaciones de Netflix o 
Spotify, las respuestas inteligentes de Gmail o el habla natural de Siri y Alexa. 

En definitiva, el ‘machine learning’ es un maestro del reconocimiento de patrones, y es 


capaz de convertir una muestra de datos en un programa informático capaz de extraer 
inferencias de nuevos conjuntos de datos para los que no ha sido entrenado previamente. 
Esta capacidad de aprendizaje se emplea también para la mejora de motores de búsqueda, 
la robótica, el diagnóstico médico o incluso la detección del fraude en el uso de tarjetas de 
crédito. 

¿Cómo funciona el aprendizaje automático? 

Los algoritmos de programación ordinarios le dicen a la computadora qué hacer de una 


manera directa. Por ejemplo, los algoritmos de clasificación convierten los datos no 
ordenados en datos ordenados según algunos criterios, a menudo el orden numérico o 
alfabético de uno o más campos en los datos. 

Los algoritmos de regresión lineal ajustan una línea recta a los datos numéricos, 
generalmente realizando inversiones matriciales para minimizar el error cuadrado entre la 
línea y los datos. El error cuadrado se utiliza como la métrica porque no le importa si la 
línea de regresión está por encima o por debajo de los puntos de datos; solo te importa la 
distancia entre la línea y los puntos. 

Los algoritmos de regresión no lineal, que ajustan curvas (como polinomios y 


exponenciales) a los datos, son un poco más complicados porque, a diferencia de los 
problemas de regresión lineal, no pueden resolverse con un método determinista. En 
cambio, los algoritmos de regresión no lineal implementan algún tipo de proceso de 
minimización iterativo, a menudo alguna variación en el método de descenso más 
pronunciado. 

El descenso más pronunciado básicamente calcula el error al cuadrado y su gradiente en 


los valores de los parámetros actuales, elige un tamaño de paso (también conocido como 
tasa de aprendizaje), sigue la dirección del gradiente “cuesta abajo” y luego vuelve a 
calcular el error al cuadrado y su gradiente en el nuevo valores paramétricos. Finalmente, 

 

con suerte, el proceso converge. Las variantes en el descenso más pronunciado intentan 
mejorar las propiedades de convergencia. 

Los algoritmos de aprendizaje automático son incluso menos sencillos que la regresión no 
lineal, en parte porque el aprendizaje automático prescinde de la restricción de adaptarse 
a una función matemática específica, como un polinomio. 

Hay dos categorías principales de problemas que a menudo se resuelven mediante el 
aprendizaje automático: la regresión y la clasificación. La regresión es para datos 
numéricos (por ejemplo, ¿cuál es el ingreso probable para alguien con una dirección y 
profesión determinada) y la clasificación es para datos no numéricos (por ejemplo, ¿el 
solicitante incumplirá con este préstamo?). 

Los problemas de predicción (por ejemplo, ¿cuál será el precio de apertura para las 
acciones de Microsoft mañana?) Son un subconjunto de problemas de regresión para los 
datos de series de tiempo. Los problemas de clasificación a veces se dividen en problemas 
binarios (sí o no) y de múltiples categorías (animal, vegetal o mineral). 

La Inteligencia artificial es el campo científico de la informática que se centra en la creación 


de programas y mecanismos que pueden mostrar comportamientos considerados 
inteligentes. En otras palabras, la IA es el concepto según el cual “las máquinas piensan 
como seres humanos”. 

Normalmente, un sistema de IA es capaz de analizar datos en grandes cantidades (big 


data), identificar patrones y tendencias y, por lo tanto, formular predicciones de forma 
automática, con rapidez y precisión. Lo importante es que la IA permite que nuestras 
experiencias cotidianas sean más inteligentes. ¿Cómo? Al integrar análisis predictivos y 
otras técnicas de IA en aplicaciones que utilizamos diariamente. 

Tipos de aprendizaje automático () 


Podemos distinguir 4 tipos de machine learning según la supervisión que necesiten: 
supervisado, no supervisado, semi-supervisado y por refuerzo. Veamos la diferencia. 

 
Aprendizaje Supervisado 

El aprendizaje supervisado, recibe el nombre de «supervisado» porque necesita que 


siempre le enseñemos la respuesta correcta. Por ejemplo, para resolver el problema de 
clasificar correos electrónicos como spam o no spam, necesita que le demos ejemplos 

 

históricos correctamente clasificados. En otras palabras, para cada caso de ejemplo que le 
demos, necesita saber si el correo era spam o no. 

Sabiendo cuál era la respuesta correcta, la Inteligencia Artificial aprende de sus propios 
errores. Muchos algoritmos supervisados empiezan dando respuestas aleatorias y después 
van mejorando a medida que aprenden de sus errores. 

El aprendizaje supervisado es muy útil cuando queremos que la Inteligencia Artificial 


realice una tarea en el futuro.  

Esta característica hace a este tipo de aprendizaje automático muy atractivo para muchos 
negocios. En el entorno empresarial, el aprendizaje supervisado también se conoce como 
«análisis predictivo«. 
Proceso del aprendizaje supervisado 

1. Recopilar datos históricos, incluyendo la respuesta correcta 


2. Construir un modelo de machine learning con esos datos 
3. Evaluar el modelo, para entender qué rendimiento podemos esperar de él 
4. Usar este modelo con datos nuevos. Por ejemplo, cuando llegue un correo 
electrónico nuevo 

Aprendizaje No Supervisado 

El aprendizaje no supervisado, no necesita supervisión. Esto quiere decir que no necesita 


que le digamos cuál es la respuesta correcta. También significa que no podemos calcular el 
error de sus resultados. Cuando usamos aprendizaje no supervisado, la Inteligencia 
Artificial aprende de los datos mismos, por así decirlo. 

El aprendizaje no supervisado es útil cuando queremos entender mejor nuestros datos 


históricos. Puede tener implicaciones en el futuro pero no son tan obvias. La principal 
ventaja de cara al futuro es que nosotros, los humanos, entendemos mejor nuestros datos. 
Con este nuevo conocimiento revelado por la IA, podemos tomar mejores decisiones. 
Proceso del aprendizaje no supervisado 

1. Recopilar datos históricos 


2. Instruir a la Inteligencia Artificial a que busque patrones, grupos, etc. 
3. Utilizar la información nueva para tomar mejores decisiones en el futuro 

 

Aprendizaje Semi-supervisado 

El aprendizaje semi-supervisado está entre el aprendizaje supervisado y el aprendizaje no 


supervisado: 

utiliza datos etiquetados, como en el aprendizaje supervisado 

y también datos no etiquetados, como en el aprendizaje no supervisado 

Conseguir datos etiquetados, en algunos casos, es bastante difícil. Por ejemplo, si 
queremos construir nuestro sistema de detección de spam, alguien tiene que decidir 
cuáles mensajes son spam y cuáles no. Y ese alguien somos nosotros, los humanos. 
Necesitamos hacer este trabajo manual para que la Inteligencia Artificial pueda aprender 
qué es lo que tiene que hacer. 

Usando una estrategia de aprendizaje semi-supervisado, podríamos etiquetar 


manualmente algunos correos electrónicos, dejar que la Inteligencia Artificial aprenda y 
empezar a usarlo. No va a funcionar tan bien como si hubiésemos etiquetado más correos. 
Pero por lo menos, podríamos empezar a utilizar el sistema anti-spam antes. Seguramente 
tendríamos correos mal clasificados, pero conforme los fuésemos etiquetando 
correctamente iría aprendiendo mejor. 

Cuando esto se hace a una escala mayor, no resulta tan pesado. Por ejemplo, si usas el 
correo de Google, cada vez que marcas un correo como spam, estás ayudando a todos los 
demás usuarios de gmail. Google usa crowdsourcing (colaboración distribuida) para que 
funcione muy bien con muy poco trabajo individual … aunque sea mucho trabajo si 
tenemos en cuenta a todas las personas que contribuyen. 
Proceso del aprendizaje semi-supervisado

1. Recopilar los pocos datos históricos históricos que tengan resultados disponibles 

2. Recopilar los datos históricos sin resultados 

3. Evaluar la posibilidad de etiquetar manualmente más datos históricos 

4. Instruir a la Inteligencia Artificial a que aprenda utilizando aprendizaje supervisado 


los datos históricos para los que tenemos resultados 

5. Usar el modelo de machine learning aprendido para etiquetar automáticamente el 


resto de los datos 

 

6. Usar otro modelo de machine learning supervisado con los datos etiquetados 
inicialmente y los datos etiquetados automáticamente 

Aprendizaje por Refuerzo 

El aprendizaje por refuerzo es una especie de aprendizaje supervisado … sin llegar a serlo. 
En el aprendizaje supervisado, para cada dato que ofrecemos como ejemplo, también 
decimos cuál fue solución correcta. En el aprendizaje por refuerzo, no podemos dar la 
solución correcta hasta saber lo que la Inteligencia Artificial va a hacer. Normalmente hará 
muchas cosas, y sólo sabremos cómo de bien o de mal lo hizo después de un tiempo. 

Aplicaciones de la estadística () 


La estadística puede presentarse en diferentes niveles de dificultad matemática y puede 
estar dirigida hacia aplicaciones en distintos campos de la investigación. De acuerdo con 
esto, se han escrito muchos libros de texto sobre estadística empresarial, estadística 
educativa, estadística médica, estadística psicológica, e inclusive sobre estadística para 
historiadores. Virtualmente cada área de la investigación científica puede beneficiarse del 
análisis estadístico. Para quien formula las políticas económicas y para quien asesora al 
presidente y a otros funcionarios públicos sobre procedimientos económicos apropiados, 
la estadística ha demostrado ser una herramienta valiosa. 

Las decisiones sobre las tasas tributarias, los programas sociales, el gasto de defensa y 
muchos otros asuntos pueden hacerse de manera inteligente tan sólo con la ayuda del 
análisis estadístico. 

Los hombres y mujeres de negocios, en su eterna búsqueda de la rentabilidad, consideran 


que la estadística es esencial en el proceso de toma de decisiones. Los esfuerzos en control 
de calidad, minimización de costos, combinación de productos e inventarios, y una gran 
cantidad de otros asuntos empresariales, pueden manejarse efectivamente a través del 
uso de procedimientos estadísticos comprobados. Para quienes están en el área de la 
investigación de mercados, la estadística es de gran ayuda en el momento de determinar 
qué tan probable es que un producto nuevo sea exitoso. La estadística también es muy útil 
para evaluar las oportunidades de inversión por parte de asesores financieros. Los 
contadores, los jefes de personal, y los fabricantes encuentran oportunidades ilimitadas de 
beneficiarse con el uso del análisis estadístico. Incluso un investigador en el campo de la 
medicina, interesado en la efectividad de un nuevo medicamento, considera la estadística 

 

una aliada imprescindible. Así pues, la teoría general de la estadística es aplicable a 


cualquier campo científico en el cual se hacen observaciones. El estudio y aplicación de los 
métodos estadísticos son necesarios en todos los campos del conocimiento, sean éstos de 
nivel técnico o científico. 

El machine learning o aprendizaje automático no existiría sin las estadísticas, ya que, el 
mismo se basa en la teoría del aprendizaje estadístico, desarrollada en 1960 y expandida 
sobre estadísticas tradicionales. 

Ámbitos de aplicación () 


La Inteligencia Artificial ha sido usada en un amplio número de campos, incluyendo 
diagnóstico médico, comercio de acciones, control robótico, leyes, percepción remota, 
descubrimientos científicos y juguetes. Sin embargo, muchas aplicaciones de la IA no son 
percibidas como tal: "Mucha IA se han filtrado en aplicaciones generales, comúnmente sin 
ser llamadas IA porque una vez que algo se vuelve suficientemente útil y común deja de ser 
considerado IA," Nick Bostrom reports. Miles de aplicaciones de la IA están profundamente 
embebidas en la infraestructura de cada industria. Al final de los 90s y principios del siglo 
21, las tecnologías de IA empezaron a usarse ampliamente como elementos de sistemas 
mayores, pero el campo es raramente acreditado por estos logros: 

● Ciencias de la computación. 

● Finanzas. 

● Hospitales y medicina. 

● Industria pesada. 

● Servicios de atención al cliente. 

● Transporte. 

● Mantenimiento de las telecomunicaciones. 

● Juegos y juguetes. 

● Musica. 

● Aviación. 

● Noticias, publicaciones y escritos. 

● Otros. 

 

Facilidades en la nube de aprendizaje automático 


 
¿Qué es cloud computing? () 
 

El Cloud Computing o computación en nube significa que el hardware y software es 


proporcionado como un servicio de otra empresa a través de Internet, por lo general de 
una manera completamente transparente. 

Nubes inteligentes () 


 

● Infraestructura como Servicio (IaaS)​: un alojamiento web ordinario es un simple 


ejemplo de IaaS, en el cual pagas una ​suscripción mensual​ o una tarifa por 
gigabytes o megabytes consumidos. Esto significa que estás comprando el acceso al 
hardware de computación en bruto través de la red, tales como servidores o 
almacenamiento. 

● Software como Servicio (SaaS)​: significa que se utiliza una​ aplicación completa 
que se ejecuta en el sistema de otra persona, estos pueden ser, por ejemplo: el 
correo electrónico basado en web y documentos de Google. 

● Plataforma como servicio (PaaS)​: significa poder desarrollar aplicaciones haciendo 


uso de herramientas basadas en la Web para que se ejecuten en sistemas de 
software y hardware proporcionado por otra compañía. Así, por ejemplo, podrías 
desarrollar tu propio sitio web de c
​ omercio electrónico​, pero tienes todo, 
incluyendo el carrito de la compra, pago, envío y el mecanismo de pago 
ejecutándose en el servidor de un comerciante. Algunos ejemplos de PaaS son 
Force.com de salesforce.com y Google App Engine. 

La importancia de I.A. en cloud computing () 


 
La inteligencia artificial (IA) permite automatizar tareas que hasta ahora se consideraban 
características de los humanos, como la visión, el aprendizaje o el habla. Es una disciplina 
que lleva décadas con nosotros pero que, en los últimos años, ha despuntado 
10 
 

especialmente la capacidad de computación, la disponibilidad de datos y los nuevos 


algoritmos y herramientas. Pero, hay otro avance tecnológico que facilita la explotación de 
estos factores y lleva a la Inteligencia Artificial a otro nivel: el cloud (la nube). 

Los servicios cloud comercializados a través de Amazon, Google o Microsoft, nos ofrecen, 
de una manera sencilla y flexible, una serie de opciones que van desde la creación de 
máquinas virtuales hasta el uso de productos como servicio, por ejemplo, las bases de 
datos. Fueron inicialmente concebidos para proveer infraestructura pero, poco a poco, han 
ido cubriendo otras necesidades como el almacenaje y procesado Big Data, Business 
Intelligence o, incluso, Internet de las Cosas. Esta evolución ha hecho que los proveedores 
también hayan incluido uno de los temas tecnológicos más candentes hoy en día: la IA. 

El cloud ha devenido el escenario perfecto para la IA ya que, para el desarrollo de estas 


aplicaciones, no sólo es necesaria una importante capacidad de cálculo durante el 
aprendizaje, sino que también hay que facilitar su produccionalización o uso en 
producción.  

Gracias a la IA, se están consiguiendo hitos como controlar una casa con la voz (Google 
Home o Alexa), aprender a ganar al campeón del mundo del juego chino de estrategia Go o 
predecir la demanda de energía para una compañía eléctrica. El cloud ha sido un 
dinamizador determinante en la consecución de estos logros de la IA pero, su mayor 
contribución ha sido su democratización, haciéndola accesible no solo a los grandes sino a 
todo el mundo mediante servicios cada vez más variados y sencillos. 

Los servicios cloud se pueden dividir en 3 tipos: 

❏ Servicios cognitivos: ​Como visión, procesado de lenguaje natural, 


reconocimiento de voz, etc. Se caracterizan por la facilidad de uso, 
normalmente accesible vía API REST. 
 
❏ IA como servicio:​ ​Facilitan la creación de modelos de aprendizaje 
automático, ofreciendo la plataforma, el entrenamiento y la exposición del 
modelo como servicio de una manera sencilla y escalable. 
 
❏ Infraestructura como servicio:​ ​Ofrecen infraestructura optimizada para la 
IA, como GPU (Graphics Processing Unit) o TPU (Tensor Processing Units) de 
11 
 

forma que el usuario no tenga que poseer esta tecnología tan especializada y 
cara. 
 
 
Ventajas de los servicios de IA en el cloud: 
 
Flexibilidad:​ ​Permite utilizar solo los recursos que hacen falta y cuando hacen falta, de 
forma que no requerimos de una infraestructura especializada “en casa”. 
 
Potencia: C
​ on los servicios especializados de infraestructura (GPUs, TPUs, etc.) se consigue 
entrenar modelos de forma mucho más eficiente y tener resultados mucho más rápido. 
 
Sencillez:​ ​La mayoría de servicios cloud están pensados para requerir una mínima 
administración, ofreciendo APIs sencillas e interfaces intuitivas para acceder a ellas. 
 
Integración: L
​ os proveedores cloud ofrecen muchos otros servicios útiles en proyectos de 
IA que son fácilmente integrables, como servicios de ingestión de datos, Internet de las 
Cosas, de procesado en tiempo real o de almacenamiento y analítica. 
 

 
12 
 

Creacion/Implementacion 
 
Creacion 
 
Pasos para la creación () 

Para programar inteligencia artificial es necesario, primero, entender qué es una red 
neuronal artificial. 

Una red neuronal o red conexionista es un conjunto de nodos (neuronas) conectadas entre 
sí, formando una estructura de capas de profundidad, también llamadas “capas de 
aprendizaje”. Esto último se debe a que dichas capas son las que permiten que la 
inteligencia artificial pueda “aprender cosas”. 

Entonces, a través de estas capas, la red procesa unos datos numéricos de entrada (inputs) 
para dar un resultado (output). El output puede ser un número o un array de los mismos. 

El resultado siempre viene acompañado de otro valor numérico entre 0 y 1, llamado loss 
(pérdida). Este representa la precisión con la que la red ha obtenido un resultado. 

La siguiente cuestión para programar inteligencia artificial es conocer la estructura de las 


capas al detalle, la anatomía de las neuronas artificiales y los pasos para entrenar las RNA. 

 
13 
 

Al programar inteligencia artificial se debe tener en cuenta que existen tres tipos de capa 
en una RNA: 

❏ Capa de entrada (input layer): Es la primera capa de la red, así que debe tener la 
misma cantidad de neuronas que datos tenga el input. Por ejemplo, si queremos 
que nuestro input sea una imagen de 4096 píxeles, nuestra primera capa tendrá 
4096 neuronas.  
 

❏ Capas ocultas (hidden layers): es el conjunto de capas intermedias entre la entrada 


y la salida. Pueden contener todas las neuronas que hagan falta, pues la cantidad de 
capas y neuronas estará relacionada con la complejidad de la red y la capacidad de 
procesamiento de datos más complejos. 
 
❏ Capa de salida (output layer): es la última capa de la red. De esta capa se recoge el 
resultado del procesamiento de la RNA. 
14 
 

Anatomía de una neurona en la programación de inteligencia artificial 

Toda neurona artificial o nodo tiene un peso (weight), un bias y una ​función de activación​. 
En este artículo usaremos la ‘​Sigmoid activation function​’. 

Si a una neurona le entra un input ‘x’ y esta envía un output ‘y’, la forma de calcularlo será: 

y=σ(wx+b), donde w=peso; b=bias 

Entonces, para todas las neuronas de una capa podemos definir un vector W1, el cual 
representará todos los pesos de todas las neuronas de la primera capa, W2 de la segunda 
y así sucesivamente. Lo mismo ocurre con las bias, que llamaremos B1, B2, etc. 

Por lo tanto, para la red neuronal mostrada anteriormente, tenemos: 

Y=σ(W2σ(W1x+B1)+B2) 

Donde Y, Wx, Bx, x son matrices. 

Al ​programar inteligencia artificial​ debemos entender que el objetivo de toda RNA es 
ajustar tanto los pesos como los bias, esto con el fin de dar los resultados más precisos 
posibles. 

Una última cuestión importante es realizar el “entrenamiento” de las redes neuronales, 

Para entrenar las RNA al momento de programar inteligencia artificial se deben seguir dos 
pasos: 

❏ Feedforwarding 

Se trata, simplemente, de introducir un input a la red y calcular el output de esta. Llegados 


a este punto, probablemente te estés preguntando cómo sabe la red el resultado que 
debería dar, y para ello utilizaremos lo que se llama la ​loss function​. 

Para este ejemplo, usaremos la suma de los errores al cuadrado: 

 
15 
 

Durante el entrenamiento, tendremos que indicarle a la red qué output es el esperado 


para cada input. Luego, para saber cómo de acertado ha sido, aplicaremos a cada output la 
Loss function, que nos dará un valor numérico, el cual deberá conseguir minimizar. 

❏ Backpropagation 

Luego de medir el error de nuestra predicción (loss), necesitamos encontrar una manera 
de propagar el error y actualizar los pesos y bias. Para determinar la cantidad indicada de 
ambos parámetros, debemos conocer la derivada de la loss function con respecto a los 
pesos y bias. 

Si tenemos la derivada, simplemente podemos actualizar los pesos y los bias 


aumentándolos o reduciéndolos. Esto se conoce como ​descenso del gradiente​. Sin 
embargo, no podemos calcular directamente la derivada de la loss function con respecto a 
los pesos y bias porque la ecuación de esta función no contiene dichos parámetros. Por lo 
tanto, necesitamos implementar la ‘regla de la cadena’: 

 
Optimizacion () 

Existen una gran cantidad de algoritmos de búsqueda tanto determinística como aleatoria, 
individual como poblacional, local como global, que se utilizan principalmente para 
16 
 

resolver algún problema de optimización. Aquí podemos incluir a los algoritmos genéticos, 
recocido simulado, antcolony, técnicas de búsqueda local, enjambres, etc. 

Algoritmos genéticos: 

Los algoritmos genéticos (AG) funcionan entre el conjunto de soluciones de un problema 


llamado ​fenotipo​, y el conjunto de individuos de una población natural, codificando la 
información de cada solución en una cadena, generalmente binaria, llamada cromosoma. 
Los símbolos que forman la cadena son llamados genes. Cuando la representación de los 
cromosomas se hace con cadenas de dígitos binarios se le conoce como genotipo. Los 
cromosomas evolucionan a través de iteraciones, llamadas generaciones. En cada 
generación, los cromosomas son evaluados usando alguna medida de aptitud. Las 
siguientes generaciones (nuevos cromosomas), son generadas aplicando los ​operadores 
genéticos​ repetidamente, siendo estos los operadores de s​ elección​, ​cruzamiento​, ​mutación 
y ​reemplazo​. 
17 
 

Algoritmo recocido simulado: 

Es un ​algoritmo de búsqueda​ meta-​heurística​ para problemas de ​optimización​ global; el 


objetivo general de este tipo de algoritmos es encontrar una buena aproximación al valor 
óptimo de una f​ unción​ en un ​espacio de búsqueda​ grande. A este valor óptimo se lo 
denomina "óptimo global". 
18 
 

Algoritmo Antcolony: 

Es una técnica probabilística para solucionar problemas computacionales que pueden 


reducirse a buscar los mejores caminos o rutas en grafos. 

La idea original proviene de la observación de la explotación de los recursos alimentarios 


entre hormigas, en el que las habilidades cognitivas de las hormigas son individualmente 
limitadas y en conjunto son capaces de buscar el menor camino existente entre la fuente 
de comida y su nido o colonia. 

1. La primera hormiga encuentra la fuente de alimentos (F) a través de 


cualquier camino (a), entonces retorna a la colonia (N), dejando tras sí un 
rastro de feromonas; 
2. Las hormigas indiscriminadamente siguen cuatro caminos posibles, pero el 
fortalecimiento de la pista hace más atractivo la ruta más corta; 
3. Las hormigas toman la ruta más corta y largas porciones de otras rutas 
empiezan a perder su rastro de feromonas. 

En una serie de experimentos en una colonia de hormigas donde existe la elección de dos 
rutas de distancias diferentes que llevan hasta la fuente de comida, los biólogos 
observaron que las hormigas tienden a usar la ruta más corta.​El siguiente modelo explica 
este comportamiento: 
19 
 

1. Una hormiga (llamada “blitz”) vaga de manera aleatoria alrededor de la 


colonia. 
2. Si esta encuentra una fuente de comida, retorna a la colonia de manera más 
o menos directa, dejando tras sí un rastro de feromonas. 
3. Estas feromonas son atractivas, las hormigas más cercanas se verán atraídas 
por ellas y seguirán su pista de manera más o menos directa. 
4. Regresando a la colonia estas hormigas habrán fortalecido dicha ruta. 
5. Si existen dos rutas para que lleguen a la misma fuente de alimentos 
entonces, en una misma cantidad de tiempo dado, la ruta más corta será 
recorrida por más hormigas que la ruta más larga. 
6. La ruta más corta habrá aumentado en cantidad de feromonas y por tanto 
empezará a ser más atractiva. 
7. La ruta más larga irá desapareciendo debido a que las feromonas son 
volátiles. 
8. Finalmente, todas las hormigas habrán determinado y escogido el camino 
más corto. 

Algoritmo de búsqueda local: 

Búsqueda local es la base de muchos de los métodos usados en problemas de 


optimización. Se puede ver como un proceso iterativo que empieza en una solución y la 
mejora realizando modificaciones locales. 

Básicamente empieza con una solución inicial y busca en su vecindad por una mejor 
solución. Si la encuentra, reemplaza su solución actual por la nueva y continua con el 
proceso, hasta que no se pueda mejorar la solución actual. 
20 
 

Cláramente el diseño de la vecindad es crucial para el desempeño de éste, y de muchos 


otros, algoritmos. 

La vecindad son todas las posibilidades de soluciones que se consideran en cada punto. 

El cómo se busca la vecindad y cuál vecino se usa en el reemplazo a veces se conoce como 
la regla de pivoteo (pivoting rule), que en general puede ser: 

❏ Seleccionar el mejor vecino de todos (best-improvement rule). 


❏ Seleccionar el primer vecino que mejora la solución (first-improvement rule). 

Búsqueda local tiene la ventaja de encontrar soluciones muy rápidamente. 

Algoritmos de enjambre: 

Inteligencia de enjambre es una rama de la ​Inteligencia artificial​ que estudia el 


comportamiento colectivo​ de los sistemas ​descentralizados​, a
​ utoorganizados​, naturales o 
artificiales. El concepto se emplea en los trabajos sobre ​inteligencia artificial​.  

los sistemas de inteligencia de enjambre están típicamente formados por una población 
de a
​ gentes​ simples que interactúan localmente entre ellos y con su medio ambiente. Los 
agentes siguen reglas simples y, aunque no existe una e
​ structura de control​ ​centralizado 
que dictamine el comportamiento de cada uno de ellos, las interacciones locales entre los 
agentes conduce a la e
​ mergencia​ de un comportamiento global complejo. Como ejemplos 
21 
 

naturales se incluyen las ​colonias de hormigas​, el alineamiento de las aves en vuelo, el 
comportamiento de r​ ebaños​ durante el ​pastoreo​ y el c​ recimiento bacteriano​. 

La aplicación de los principios enjambre a ​robots​ se llama ​robótica de enjambres​, mientras 


que el término "inteligencia de enjambre" se refiere al conjunto más general de los 
algoritmos. 'Predicción de Enjambres' se ha utilizado en el contexto de los problemas de 
previsión. 

Implementación () 
 
Consejos para la Implementación () 
 

Los 3 componentes del Aprendizaje Automático a utilizar de manera combinada 


 

● Representación: Un clasificador deberá poder ser representado en un lenguaje 


formal que entienda la computadora. Deberemos elegir entre los diversos 
algoritmos que sirven para resolver el problema. A este conjunto de “clasificadores 
aptos” se les llamará “espacio de hipótesis del aprendiz”. Ej: SVM, Regresión 
Logística, K-nearest neighbor, árboles de decisión, Redes Neuronales, etc. 
● Evaluación: Se necesitará una función de evaluación para distinguir entre un buen 
clasificador ó uno malo. También es llamada función objetivo o “scoring function”. 
Ejemplos son accuracy, likelihood, information gain, etc. 
● Optimización: necesitamos un método de búsqueda entre los clasificadores para 
mejorar el resultado de la Evaluación. Su elección será clave. EJ: Descenso por 
gradiente, mínimos cuadrados, etc. 

Lograr la generalización de la máquina 

El objetivo fundamental del Machine Learning es lograr la generalización del conocimiento 


más allá de las muestras tomadas en el conjunto de entrenamiento. Esto es porque por 
más que entrenemos con muchísimos datos, es poco probable que se vuelvan a dar esos 
mismos casos al testear nuestra máquina. Por más que usemos “un millón de fotos de 
perro” para entrenar, siempre habrá fotos nuevas ó distintas que nuestro modelo 
desconoce. Entonces la magia ocurrirá si nuestro algoritmo es capaz de generalizar lo 
aprendido durante el entrenamiento y puede detectar “al perro millón uno”. Siempre es 
22 
 

conveniente guardar una parte de nuestro set de datos para poder validar lo aprendido 
durante el entrenamiento, con muestras que la máquina nunca ha visto y comprobar que 
sigue dando un buen resultado. 

Los datos por sí solos no alcanzan 

Siendo la generalización el objetivo del Machine Learning trae como consecuencia que sólo 
con datos “no alcanza”, no importa con cuántos contemos. 

¿Entonces cómo podemos pretender que nuestras máquinas aprendan algo? 


Afortunadamente, en este proceso de inducción que realizamos con los algoritmos 
logramos llegar a ciertos niveles que nos dan buenos resultados. 

El machine learning no hace magia. Sin datos no funcionará, y cuánto más datos mejor. 
Pero no lo son todo. Deberemos combinar “conocimiento” con los datos. 

El Overfitting tiene muchas caras 

Si al entrenar nuestro modelo obtenemos resultados “demasiado buenos” con 100% 


aciertos y en el set de test apenas alcanzamos un 50% (ó menos!) es muy probable que nos 
hayamos topado con en “el gran problema del ML”: el overfitting. 

Pero debemos saber que podemos caer en el overfitting de diversas maneras, a veces sin 
darnos cuenta. Dos de sus caras son: 

● Bias (ó sesgo): es la tendencia a aprender -equivocadamente- algo falso. 


● Varianza: es la tendencia a aprender algo random no relacionado con la realidad. 

A veces puede ocurrir que un algoritmo -aprendiz- que “parece menos potente”, obtenga 
mejor resultado que uno “super poderoso” que cae en overfitting. 

Es difícil evitar el Overfitting, se puede utilizar Regularización ó la validación cruzada (cross 


validation), u otras técnicas pero ninguna nos asegura evitarlo del todo. Muchas veces 
ocurre que al querer corregir la varianza, caemos en Bias… y viceversa. Lograr evitar ambos 
en simultáneo es un desafío. 

 
23 
 

A veces falla la intuición con muchas dimensiones 

Cuando tenemos muchas features, por ejemplo 100 ó más, puede que alguno de nuestros 
algoritmos de aprendizaje no logre generalizar ó que lo haga mal. A esto se le llamó “la 
maldición de la dimensionalidad” (Bellman, 1961). Esto dependerá también de la 
distribución de los datos de entrada, pero para entenderlo: con el algoritmo k-nearest 
neighbor es fácil visualizar en 2 ó 3 dimensiones los clusters. Pero al aumentar 
dimensiones puede ocurrir que para el algoritmo todos los puntos sean vecinos cercanos 
unos de otros, devolviéndonos resultados aleatorios. 

Debemos tener esto en cuenta y si fuera el caso utilizar algún algoritmo de reducción de 
dimensiones (PCA, t-SNE) para aplacar el problema. 

Que se cumplan supuestos teóricos no garantiza nada 

Al aprender ML podemos leer algunas afirmaciones teóricas que intentan ayudarnos y 


guiarnos. Como el ML es un fenómeno muy complejo y depende tanto de cada problema 
en particular, las dimensiones y los datos de entrada (su distribución), los casos 
positivos/negativos que tengamos de las muestras y de tantas otras variables, es posible 
que muchos de esos supuestos teóricos NO nos ayuden en nuestro problema particular. 
Esto puede sonar muy decepcionante, y en parte lo es. Pero esto debemos saberlo para 
contrastar nuestros datos y no confiar en que como a otro le funcionó, a nosotros nos 
funcionará. Con sólo variar un parámetro, o un sólo dato de entrada de nuestro conjunto 
de entrenamiento, podemos obtener resultados completamente distintos. 

La clave está en la Ingeniería de Características (Feature Engineer) 

Seguramente pasemos mucho más tiempo seleccionando los features, transformando, 


preprocesando que el tiempo dedicado a preparar/ejecutar el algoritmo de Machine 
Learning. Muchas veces el desafío será si tenemos pocas dimensiones ser creativos y 
poder generar nuevas y útiles características, ó en caso de tener muchas poder seleccionar 
cuáles serán realmente valiosas y cuáles descartar. 

Deberemos ser cuidadosos: si tenemos muchas features, podemos evaluarlas 


individualmente y pensar que algunas no aportan demasiado valor. Sin embargo, esas 
mismas características puede que sean imprescindibles si las consideramos en 
combinación con otras. 

 
24 
 

Más muestras superan a un algoritmo complejo 

Conseguir más muestras para entrenamiento utilizando un algoritmo simple, puede ser 
mejor que un algoritmo complejo que tarde tanto en ejecutar y no termina nunca. 

En ciencias de la computación, solíamos tener dos limitantes: tiempo y recursos cómo la 
memoria. Ahora, con el Machine Learning aparece una tercera: los datos de 
entrenamiento. Actualmente podemos encontrar cantidades masivas de datos y nuestro 
“cuello de botella” es el tiempo. Si bien contar con más y más datos es bueno y hasta 
impulsa la creación de modelos (algoritmos) más complejos para aprovecharlos, se da una 
paradoja: en la práctica algoritmos «más simples» pueden obtener buenos resultados en 
tiempo razonable contra algoritmos complejos que tardan una eternidad. 

Entonces el consejo es: al afrontar un problema, empecemos probando con los modelos 
más sencillos a más complejos (solo de ser necesario). 

Ensamble de Modelos 

Está bien aplicar un modelo para resolver el problema. Pero estudios han demostrado que 
hacer ensamble de modelos muchas veces mejora significativamente los resultados. Esto 
consiste en combinar más de un modelo (por ejemplo una red neuronal, K-nn, árboles, 
etc). Las tres técnicas más utilizadas son (ejemplo para clasificadores de perros y gatos): 

● Bagging: alimentamos diversos modelos haciendo resampling de las muestras y 


finalmente hacemos una votación (voting) con la clasificación obtenida 
(Supongamos que dos de tres modelos dicen “gato” y uno dice “perro”, ganarían los 
felinos) 
● Boosting: en este caso, utilizamos un modelo potenciándolo para detectar 
únicamente perros y otro a detectar sólo gatitos. 
● Stacking: utilizaremos diversos modelos, apilados «uno detrás de otro», es decir, la 
salida del primero puede ser la entrada (ó un feature) del siguiente modelo y así 
sucesivamente. 

Simplicidad no implica precisión 

Hubo un postulado algo confuso que parecía decir que al aplicar un modelo simple 
obteníamos la mayor precisión (frente a uno complejo). Sin embargo no hay que confundir: 
25 
 

la simpleza no implica mayor precisión, esto se puede comprobar fácilmente con el punto 
anterior, pues al hacer ensamble de stacking de modelos vemos claramente que no se 
deteriora el resultado y en todo caso lo puede mejorar. Entonces podemos optar por 
modelos simples que ya cuentan con ventajas intrínsecas (probablemente en tiempo y 
coste) pero no necesariamente por la precisión del resultado. 

Un problema “Representable”, no implica que pueda resolverse con Aprendizaje 


Automático 

Podemos tender a pensar que para cualquier problema que podamos representar podrá 
ser construida una máquina que lo resuelva. Sin embargo hay problemas que nunca 
podrán ser “aprendidos” por una máquina, pues por ejemplo no tenemos las muestras 
suficientes para que generalice. En esos casos, podemos fácilmente encontrar la 
representación pero no lograremos dar con una solución en ML. 

La correlación no implica causa 

Para alimentar nuestras máquinas de Aprendizaje Automático utilizamos datos que son 
muestras observables donde la variable predictiva no está bajo control del algoritmo (en 
contraposición a muestras experimentales). Por esto es que las correlaciones que 
encontremos pueden ser interpretadas como señales de responsabilidad de la causa del 
problema. La realidad es que no necesariamente esa correlación implica la causa si no que 
son una buena pista para ponernos a investigar las conexiones que llevan a esos 
resultados. 

 
Problemas () 
Algunos de los problemas resueltos mediante Machine Learning son: 

Entrada manual de datos 

La inexactitud y la duplicación de datos son problemas comerciales importantes para una 


organización que desea automatizar sus procesos. Los algoritmos de aprendizaje 
automático (ML) y los algoritmos de modelado predictivo pueden mejorar 
significativamente la situación. Los programas de ML utilizan los datos descubiertos para 
mejorar el proceso a medida que se realizan más cálculos. Por lo tanto, las máquinas 
26 
 

pueden aprender a realizar tareas de entrada de datos y documentación que requieren 


mucho tiempo. 

Detección de SPAM 

La detección de spam es el primer problema resuelto por ML. Hace cuatro años, los 
proveedores de servicios de correo electrónico utilizaban técnicas basadas en reglas 
preexistentes para eliminar el correo no deseado. Pero ahora los filtros de spam crean 
nuevas reglas ellos mismos usando ML. Gracias a las "redes neuronales" en sus filtros de 
spam, Google ahora cuenta con un 0.1 por ciento de la tasa de spam. Las "redes 
neuronales" similares al cerebro en sus filtros de spam pueden aprender a reconocer el 
correo basura y los mensajes de phishing mediante el análisis de las reglas en una enorme 
colección de computadoras. Además de la detección de spam, los sitios web de redes 
sociales utilizan ML como una forma de identificar y filtrar el abuso. 

Recomendación de producto 

El aprendizaje no supervisado permite un sistema de recomendación basado en 


productos. Dado un historial de compras para un cliente y un gran inventario de 
productos, los modelos ML pueden identificar aquellos productos en los que ese cliente 
estará interesado y es probable que compre. El algoritmo identifica patrones ocultos entre 
elementos y se centra en agrupar productos similares en grupos. Un modelo de este 
proceso de decisión permitiría a un programa hacer recomendaciones a un cliente y 
motivar las compras de productos. Las empresas de comercio electrónico como Amazon 
tienen esta capacidad. Facebook utiliza el aprendizaje no supervisado junto con los detalles 
de ubicación para recomendar a los usuarios que se conecten con otros usuarios. 

Diagnóstico médico 

El aprendizaje automático en el campo médico mejorará la salud del paciente con costos 
mínimos. Los casos de uso de ML están haciendo diagnósticos casi perfectos, recomiendan 
los mejores medicamentos, predicen los reingresos e identifican pacientes de alto riesgo. 
Estas predicciones se basan en el conjunto de datos de registros de pacientes anónimos y 
los síntomas exhibidos por un paciente. La adopción de ML está ocurriendo a un ritmo 
rápido a pesar de muchos obstáculos, que pueden ser superados por profesionales y 
consultores que conocen los obstáculos legales, técnicos y médicos. 
27 
 

Segmentación del cliente y predicción del valor de por vida 

La segmentación del cliente, la predicción de abandono y la predicción del valor de vida útil 
del cliente (LTV) son los principales desafíos que enfrenta cualquier comerciante. Las 
empresas tienen una gran cantidad de datos relevantes de marketing de diversas fuentes, 
como campañas de correo electrónico, visitantes del sitio web y datos de clientes 
potenciales. Utilizando la minería de datos y el aprendizaje automático, se puede lograr 
una predicción precisa de las ofertas e incentivos de marketing individuales. Usando ML, 
los expertos en marketing pueden eliminar las conjeturas involucradas en el marketing 
basado en datos. Por ejemplo, dado el patrón de comportamiento de un usuario durante 
un período de prueba y los comportamientos pasados de todos los usuarios, se pueden 
predecir las posibilidades de conversión a la versión paga. Un modelo de este problema de 
decisión permitiría que un programa desencadenara intervenciones del cliente para 
convencer al cliente de que se convierta temprano o participe mejor en la prueba. 

Analisis financiero 

Debido al gran volumen de datos, la naturaleza cuantitativa y los datos históricos precisos, 
el aprendizaje automático se puede utilizar en el análisis financiero. Los casos de uso 
actuales de ML en finanzas incluyen comercio algorítmico, gestión de cartera, detección de 
fraude y suscripción de préstamos. Según el informe de Ernst and Young sobre "El futuro 
de la suscripción", el aprendizaje automático permitirá evaluaciones continuas de los datos 
para la detección y análisis de anomalías y matices para mejorar la precisión de los 
modelos y las reglas. Y las máquinas reemplazarán un gran número de posiciones de 
suscripción. Las aplicaciones futuras de ML en finanzas incluyen chatbots e interfaces de 
conversación para servicio al cliente, seguridad y análisis de sentimientos. 

Mantenimiento predictivo 

La industria manufacturera puede usar inteligencia artificial (IA) y ML para descubrir 


patrones significativos en los datos de fábrica. Las prácticas de mantenimiento correctivo y 
preventivo son costosas e ineficientes. Mientras que el mantenimiento predictivo minimiza 
el riesgo de fallas inesperadas y reduce la cantidad de actividades innecesarias de 
mantenimiento preventivo. 
Para el mantenimiento predictivo, se puede construir una arquitectura ML que consta de 
28 
 

datos históricos del dispositivo, un entorno de análisis flexible, una herramienta de 
visualización del flujo de trabajo y un ciclo de retroalimentación de operaciones. 

Reconocimiento de imagen (Visión informática) 

La visión por computadora produce información numérica o simbólica a partir de 


imágenes y datos de alta dimensión. Implica aprendizaje automático, minería de datos, 
descubrimiento de conocimiento de bases de datos y reconocimiento de patrones. Los 
posibles usos comerciales de la tecnología de reconocimiento de imágenes se encuentran 
en la atención médica, automóviles, automóviles sin conductor, campañas de marketing, 
etc. Baidu ha desarrollado un prototipo de DuLight para personas con discapacidad visual 
que incorpora tecnología de visión por computadora para capturar el entorno y narrar la 
interpretación a través de un auricular. Las campañas de marketing basadas en el 
reconocimiento de imágenes como Makeup Genius de L’Oreal impulsan el intercambio 
social y la participación del usuario. 

 
Algoritmos () 
 

Algoritmos Basados en Instancias 

Son modelos de aprendizajes que actúan en base a la resolución de problemas de decisión 


mediante instancias o muestras de entrenamientos que sean necesarios o importantes 
para el modelo ha desarrollar. 

Entonces, cuando se busca realizar la clasificación de un nuevo elemento, se extraen todos 


los que sean lo suficientemente parecidos para poder usar su clasificación y nombrar o 
clasificar al nuevo elemento. 

Este tipo de algoritmos también son conocidos como aprendizaje basado en memoria, y 
básicamente crean un modelo a partir de una base de datos predeterminada. Además, le 
agregan datos nuevos con el fin de comparar qué tan similares son con las muestras que 
ya existen para lograr hacer un match y realizar una mejor predicción. 

Los algoritmos basados en instancias más utilizados son los k-Nearest Neighbor (kNN) y el 
Self-Organizing Map. 

 
29 
 

Algoritmos de Reducción de Dimensión 

Este conjunto de algoritmos, tienen como objetivo principal aprovechar la estructura que 
existe de forma no supervisada con el fin de realizar una simplificación de los datos para 
poder comprimirlos. Estos algoritmos sirven para visualizar mucho mejor los datos y para 
sintetizar un conjunto de variables para el uso de un algoritmo supervisado. 

Además, nos dan la facilidad de graficar aquellos modelos que son muy complejos y que en 
un inicio poseían múltiples características. 

Los algoritmos de reducción de dimensión más utilizados al momento de realizar Machine 


Learning son el t-SNE y el Principal Component Analysis (PCA). 

Algoritmos de Árbol de Decisión 

Este es uno de los grupos de algoritmos más nombrados y, por tanto, más usados. Se 
encargan de ajustar la toma de decisiones basándose en los valores reales y actuales de los 
atributos del big data. Funcionan buscando el mejor árbol para poder balancear la 
posibilidad de ocurrencia y definir cuál es su importancia en cada rama y cada hoja, de esta 
manera logran catalogar un resultado.  
Se utilizan para clasificar información, estructurar los caminos que se han tomado y medir 
su probabilidad de ocurrencia para mejorar su precisión en cada decisión. 

Entre estos algoritmos destacan los árboles de clasificación y regresión (CART) y decisión 
de árbol condicional. 

Algoritmos de Regresión 

Son aquellos que se encargan modelar la relación entre distintas variables. 


Empleando una medida de error en un proceso repetitivo para poder realizar predicciones 
mucho más certeras. Este tipo de algoritmos se suelen emplear mucho más al momento 
de realizar análisis estadísticos. 
Un ejemplo claro de estos algoritmos podría ser predecir cuántas personas sufren de 
hipertensión, basándose en características comunes como cuánta grasa consumen, si 
tienen una dieta saludable o no, entre otros. 

Procurar utilizar los más usados como lo son el algoritmo de regresión lineal y el algoritmo 
de regresión logística. 

 
30 
 

Algoritmos de Clustering o Algoritmos de Agrupación 

Este tipo de algoritmos pertenece a la rama de aprendizaje no supervisado y se suelen 


utilizar para agrupar y/o separar datos existentes de los que desconocemos. 
Con el fin de hallar una relación entre los datos y crear puntos medios para diferenciar los 
grupos y descubrir cuáles son las características que tienen en común. 

Los algoritmos más utilizados en este grupo son los k-means, k-medians e hierarchical 
clustering. 

Algoritmos de Redes Neuronales 

Este tipo de algoritmos están inspirados en nuestra red neuronal, desarrollando así el deep 
learning, la autonomía del aprendizaje automático. 

Dichos algoritmos se encargan de detectar patrones mediante la imitación del 


comportamiento y la interconexión de neuronas. Esto con el fin de encontrar una solución 
no lineal a diversos tipos de problemas complejos. Generalmente, se utilizan para resolver 
problemas de clasificación y regresión, sin embargo, tienen un potencial tan amplio que 
pueden resolver diversidad de problemáticas. Cabe mencionar que en años anteriores 
cuando la tecnología aún no estaba muy desarrollada, este algoritmo estaba muy limitado 
y requería mucha capacidad de memoria y procesamiento. Pero, en la actualidad y gracias 
a los avances tecnológicos ha retomado fuerza para desarrollar procesos muy complejos. 

Entre los algoritmos de redes neuronales más destacados del machine learning se 
encuentran redes básicas y clásicas como compuerta xor, perceptron, multi lavered 
perceptron (MLP) y back-propagation. 

Algoritmos de Aprendizaje Profundo o Deep Learning 

Estos algoritmos son la evolución de las redes neuronales artificiales mencionadas 


anteriormente, pero como toda evolución realiza procesos distintos, aunque, muy 
parecidos. Estos algoritmos convierten grandes cantidades de datos en redes neuronales 
que están interconectadas mediante una serie de capas para que puedan procesar y 
ejecutar cálculos de manera paralela. 

Algunos algoritmos son convolutional neural networks o long short term memory neural 
networks. 
31 
 

Algoritmos Bayesianos 

Estos algoritmos aprovechan a su favor los teoremas de probabilidad de Bayes para 


resolver problemas de clasificación y regresión. 

Los más empleados en machine learning son el gaussian naive bayes, bayesian network y 
multinomial naive bayes. 

Procesamiento del Lenguaje Natural (NLP) 

El Procesamiento del Lenguaje Natural tiene como fin hacer que una máquina pueda 
comprender el lenguaje humano tanto de manera escrito como oral mediante un conjunto 
de algoritmos. 

Además de ser utilizado en machine learning orientado al aprendizaje y entendimiento del 


consumidor para realizar chatbots o asistentes como Siri, también se puede emplear en 
análisis de sentimientos en redes sociales. 

También podría gustarte