0% encontró este documento útil (0 votos)
117 vistas13 páginas

04 Aprendizaje Automático

El documento describe los conceptos clave de aprendizaje automático, incluido el aprendizaje supervisado y no supervisado. El aprendizaje automático se centra en desarrollar sistemas que aprenden de los datos, mientras que el aprendizaje supervisado utiliza ejemplos etiquetados para hacer predicciones y el aprendizaje no supervisado agrupa datos sin etiquetas para descubrir estructuras ocultas. Los algoritmos de aprendizaje supervisado incluyen regresión y clasificación, mientras que el aprendizaje
Derechos de autor
© © All Rights Reserved
Nos tomamos en serio los derechos de los contenidos. Si sospechas que se trata de tu contenido, reclámalo aquí.
Formatos disponibles
Descarga como PDF, TXT o lee en línea desde Scribd
0% encontró este documento útil (0 votos)
117 vistas13 páginas

04 Aprendizaje Automático

El documento describe los conceptos clave de aprendizaje automático, incluido el aprendizaje supervisado y no supervisado. El aprendizaje automático se centra en desarrollar sistemas que aprenden de los datos, mientras que el aprendizaje supervisado utiliza ejemplos etiquetados para hacer predicciones y el aprendizaje no supervisado agrupa datos sin etiquetas para descubrir estructuras ocultas. Los algoritmos de aprendizaje supervisado incluyen regresión y clasificación, mientras que el aprendizaje
Derechos de autor
© © All Rights Reserved
Nos tomamos en serio los derechos de los contenidos. Si sospechas que se trata de tu contenido, reclámalo aquí.
Formatos disponibles
Descarga como PDF, TXT o lee en línea desde Scribd
Está en la página 1/ 13

Aprendizaje automático

El aprendizaje automático
(ML) es el subapartado de la
inteligencia artificial (IA) que se
centra en desarrollar sistemas que
aprenden, o mejoran el rendimiento,
en función de los datos que
consumen. Inteligencia artificial es
un término amplio que se refiere a sistemas o máquinas que imitan la inteligencia
humana. El aprendizaje automático y la IA suelen nombrarse juntos, y los
términos a veces se usan indistintamente, pero no significan lo mismo. Un
aspecto importante que hay que destacar es que, aunque todo aprendizaje
automático es IA, no toda la IA es aprendizaje automático.

Hoy en día, el aprendizaje automático está en todas partes. Cuando


interactuamos con bancos, realizamos compras online o usamos redes sociales,
los algoritmos de aprendizaje automático entran en juego para que nuestra
experiencia sea eficiente, fluida y segura. El aprendizaje automático y la
tecnología relacionada se desarrollan rápidamente, y apenas estamos
empezando a conocer la superficie de sus capacidades.

Los tipos de aprendizaje automático son: Supervisado, no supervisado y por


refuerzo.

Aprendizaje Supervisado (Recomiendo ver el siguiente video


https://www.youtube.com/watch?v=553rL0JKNEo&feature=emb_logo)

El objetivo básico de Machine Learning es utilizar computadoras para


obtener información, sin que se indique explícitamente que lo haga. En la
mayoría de los casos esto implica utilizar un conjunto de resultados
históricos para hacer predicciones sobre los resultados futuros. Esto se vuelve
útil cuando se quiere automatizar las percepciones sobre conjuntos de datos de
gran tamaño, lo que sería demasiado difícil de realizar para un ser humano de
manera recurrente.
Por su parte, el aprendizaje supervisado se refiere al subconjunto de
Machine Learning donde se generan modelos para predecir el resultado de
salida en base a ejemplos históricos de esa variable de salida. Los modelos se
construyen a partir de los algoritmos de Machine Learning y características o
atributos de los datos de entrenamiento para que podamos predecir el valor
utilizando otros valores obtenidos a partir de datos de entrada.

Los algoritmos de aprendizaje supervisado intentan modelar relaciones y


dependencias entre el resultado predictivo objetivo y las características de
entrada para que podamos predecir los valores de salida para datos nuevos en
función de las relaciones que aprendió de los conjuntos de datos anteriores.

Clasificación del aprendizaje supervisado

Los principales tipos de algoritmos de aprendizaje supervisado incluyen:

Regresión

Donde se predice un valor real basado en entradas pasadas. Estos


algoritmos se usan para predecir valores de salida basados en algunas
características de entrada obtenidas de los datos. A esto, el algoritmo construye
un modelo basado en las características y los valores de salida de los datos de
entrenamiento y este modelo se usa para predecir los valores para nuevos datos.
Los valores de salida en este caso son continuos y no discretos.

Algunos ejemplos de este algoritmo son: predecir los precios de la


vivienda, predecir las cantidades de compra, predecir la cantidad de ingresos se
genera a partir de una nueva campaña de marketing.

Los tipos de algoritmos de regresión incluyen:


• Regresión lineal
• Regresión polinomeal
• Vectores de soporte regresión
• Arboles de decisión regresión
• Bosques aleatorios regresión

Clasificación

El algoritmo intenta etiquetar cada ejemplo eligiendo entre dos o más


clases diferentes. Estos algoritmos crean modelos predictivos a partir de datos
de capacitación que tienen características y etiquetas de clase. Estos modelos
predictivos, a su vez usan las características aprendidas de los datos de
capacitación sobre datos nuevos, no vistos previamente, para predecir sus
etiquetas de clase. Elegir entre dos clases se denomina clasificación binaria,
como predecir si alguien incumplirá un préstamo. Elegir entre más de dos clases
se denomina clasificación multiclase.

Algunos ejemplos de este algoritmo son: predecir si un cliente va a


cancelar o no su tarjeta de crédito, predecir si un alumno pasará o no una clase.

Los tipos de algoritmos de clasificación incluyen:

• Regresión logística
• Vecinos más cercanos
• Máquinas de vectores de soportes
• Arboles de decisión clasificación
• Bosques aleatorios clasificación

Importancia del aprendizaje supervisado

El aprendizaje supervisado proporciona una ruta directa para convertir


datos en información real y procesable. Al utilizar los datos como un recurso, les
permite a las organizaciones comprender y prevenir los resultados no deseados
o impulsar los resultados deseados para lo que sea que estén tratando de
predecir.

Por ejemplo, pueden decirle a una empresa que los clientes presentan un
alto riesgo de agitación, la compañía puede llegar a ese cliente en particular con
comunicaciones dirigidas y ofertas promocionales, lo que reduce su
predisposición al abandono.

Este aprendizaje es uno de los motores más potentes que permite que los
sistemas de inteligencia artificial tomen decisiones empresariales de forma más
rápida y precisa que los humanos.

Sin embargo, la implementación exitosa de algoritmos de aprendizaje


supervisado ha requerido gran cantidad de tiempo y la experiencia técnica de
equipos especializados con el fin de construir, escalar y desplegar modelos
predictivos precisos. Además, dado que los modelos de aprendizaje supervisado
hacen predicciones del mundo real basado en los datos del pasado, los modelos
deben ser reconstruidos periódicamente con el fin de mantener sus predicciones
sin que se conviertan en obsoletas ya que en ocasiones el comportamiento de
los datos puede cambiar.

Aprendizaje no supervisado (Recomiendo ver el siguiente video


https://www.youtube.com/watch?v=NyhnBI2aJmQ&feature=emb_logo)

Machine Learning tiene varias clasificaciones, como ya explicamos


anteriormente en el aprendizaje supervisado realizamos predicciones utilizando
ejemplos etiquetados, es decir el entrenamiento del modelo se realiza con datos
en donde se conoce el resultado. Por su parte, en el aprendizaje no supervisado,
las variables de entrada se proporcionan sin etiquetas de salida, pero
expliquemos más esto.
En el aprendizaje no supervisado, un algoritmo segrega los datos en un
conjunto de datos en el que no están etiquetados en función de algunas
características ocultas en los datos. Esta función puede ser útil para descubrir la
estructura oculta de los datos y para tareas como la detección de anomalías.

Los algoritmos de aprendizaje no supervisados agrupan los datos en un


conjunto de datos sin etiquetas en función de las características ocultas
subyacentes en los datos. Debido a que no hay etiquetas, no hay forma de
evaluar el resultado, una diferencia clave entre los algoritmos de aprendizaje
supervisado. Al agrupar datos a través del aprendizaje no supervisado, aprendes
algo acerca de los datos en bruto que, de otro modo, no serían visibles, en
conjuntos de datos de grandes dimensiones, este problema es aún más
pronunciado.

Clasificación de aprendizaje no supervisado

El aprendizaje no supervisado se puede clasificar en dos categorías:

1. Aprendizaje no supervisado paramétrico: En este caso, suponemos una


distribución paramétrica de datos. Supone que los datos de muestra
provienen de una población que sigue una distribución de probabilidad
basada en un conjunto fijo de parámetros. Teóricamente, en una familia
normal de distribuciones, todos los miembros tienen la misma forma y
están parametrizados por la media y la desviación estándar, eso significa
que, si conoce el promedio y la desviación estándar y que la distribución
es normal, conoce la probabilidad de cualquier observación futura. El
aprendizaje no supervisado paramétrico implica la construcción de
modelos de mezclas gaussianas y el uso del algoritmo de maximización
de expectativas para predecir la clase de la muestra en cuestión. Este
caso es mucho más difícil que el aprendizaje supervisado estándar
porque no hay etiquetas de respuesta disponibles y, por lo tanto, no hay
una medida exacta de precisión disponible para verificar el resultado.

2. Aprendizaje no supervisado no paramétrico: En esta versión, los datos se


agrupan en grupos, donde cada grupo dice algo acerca de las categorías
y clases presentes en los datos. Este método se usa comúnmente para
modelar y analizar datos con pequeños tamaños de muestra. A diferencia
de los modelos paramétricos, los modelos no paramétricos no requieren
que el modelador haga suposiciones sobre la distribución de la población,
y a veces se los conoce como un método libre de distribución.

Agrupamiento o Clustering en el aprendizaje no supervisado

El agrupamiento puede considerarse el problema de aprendizaje no supervisado


más importante, entonces, como cualquier otro problema de este tipo, se trata
de encontrar una estructura en una colección de datos sin etiqueta. Una
definición amplia de clustering podría ser, el proceso de organizar objetos en
grupos cuyos miembros son similares de alguna manera. Un clúster es, por lo
tanto, una colección de objetos que son similares entre ellos y son diferentes a
los objetos que pertenecen a otros clústeres.
Los algoritmos de agrupación se pueden clasificar como se detalla a
continuación:

Agrupamiento exclusivo: los datos se agrupan de manera exclusiva, de modo


que si un cierto punto de datos pertenece a un grupo definido, entonces podría
no ser incluido en otro clúster.
Superposición de clústeres: usa conjuntos difusos para agrupar datos, de
modo que cada punto puede pertenecer a dos o más clústeres con diferentes
grados de membresía. En este caso, los datos se asociarán con un valor de
membresía apropiado.
Agrupamiento jerárquico: se basa en la unión entre los dos clústeres más
cercanos. La condición de inicio se realiza estableciendo cada punto de datos
como un clúster, después de algunas iteraciones alcanza los clústeres finales
deseados.
Agrupación probabilística: utiliza un enfoque probabilístico.
Los algoritmos de agrupamiento más comunes incluyen:

Agrupación de clústeres k-Means: divide datos en clústeres distintos según la


distancia al centroide de un clúster.
Agrupamiento jerárquico: crea una jerarquía multinivel de clústeres mediante
la creación de un árbol de clústeres.
Mezclas de modelos gaussianos: clústeres de modelos como una mezcla de
componentes de densidad normal multivariante.
Importancia de aprendizaje no supervisado

El aprendizaje no supervisado pretende descubrir patrones previamente


desconocidos en los datos, pero la mayoría de las veces estos patrones son
aproximaciones pobres de lo que puede lograr el aprendizaje supervisado. Por
ejemplo, los algoritmos no supervisados segmentarán a los clientes en grupos
grandes en lugar de tratarlos como individuos y permitir que las empresas
entreguen comunicaciones altamente personalizadas. La definición del
aprendizaje no supervisado es que no se sabe cuál será el resultado para un
modelo predictivo, lo que significa que el aprendizaje supervisado es más
aplicable a contextos del mundo real.

El mejor momento para utilizar el aprendizaje no supervisado es cuando


no tiene datos sobre los resultados deseados, como determinar un mercado
objetivo para un producto completamente nuevo que tu empresa nunca haya
vendido anteriormente, sin embargo, si solo estás tratando de obtener una mejor
comprensión de la base de consumidores existente, el aprendizaje supervisado
es la técnica óptima.
Aplicaciones de los algoritmos de aprendizaje no supervisado

Los algoritmos de agrupamientos se pueden aplicar en muchos campos, por


ejemplo:

Marketing: encontrar grupos de clientes con un comportamiento similar dada


una gran base de datos de clientes que contienen sus propiedades y registros
de compras anteriores.
Biología: clasificación de plantas y animales dadas sus características.
Seguro: identificar fraudes.
Estudios de terremotos: aglomeración de epicentros de terremotos
observados para identificar zonas peligrosas.

Aprendizaje por Refuerzo (Recomiendo ver el siguiente video


https://www.youtube.com/watch?v=AMBIhRwc_XU)

Seguramente ya conocerás las 2 grandes áreas de aprendizaje tradicional


del Machine Learning, el aprendizaje supervisado y el aprendizaje no
supervisado. Parece difícil que aquí hubiera espacio para otras opciones; sin
embargo sí la hay y es el Aprendizaje por refuerzo. En aprendizaje por refuerzo
(ó Reinforcement Learning en inglés) no tenemos una “etiqueta de salida”, por lo
que no es de tipo supervisado y si bien estos algoritmos aprenden por sí mismos,
tampoco son de tipo no supervisado, en donde se intenta clasificar grupos
teniendo en cuenta alguna distancia entre muestras.
Si nos ponemos a pensar, los problemas de ML supervisados y no
supervisados son específicos de un caso de negocio en particular, sea de
clasificación ó predicción, están muy delimitados, por ejemplo, clasificar “perros
ó gatos“, ó agrupar “k=5” clusters. En contraste, en el mundo real contamos con
múltiples variables que por lo general se interrelacionan y que dependen de otros
casos de negocio y dan lugar a escenarios más grandes en donde tomar
decisiones. Para conducir un coche no basta una inteligencia que pueda
detectar un semáforo en rojo, verde ó amarillo; tendremos muchísimos factores
-todos a la vez- a los que prestar atención: a qué velocidad vamos, estamos ante
una curva?, hay peatones?, es de noche y debemos encender las luces?.
Una solución sería tener múltiples máquinas de ML supervisadas y que
interactúan entre si -y esto no estaría mal- ó podemos cambiar el enfoque… Y
ahí aparece el Reinforcement Learning (RL) como una alternativa, tal vez de las
más ambiciosas en las que se intenta integrar el Machine Learning en el mundo
real, sobre todo aplicado a robots y maquinaria industrial.

El Reinforcement Learning entonces, intentará hacer aprender a la


máquina basándose en un esquema de “premios y castigos” -cómo con el perro
de Pablov- en un entorno en donde hay que tomar acciones y que está afectado
por múltiples variables que cambian con el tiempo.

Diferencias con “los clásicos”

En los modelos de Aprendizaje Supervisado (o no supervisado)


como redes neuronales, árboles, knn, etc, se intenta “minimizar la función coste”,
reducir el error.

En cambio en el RL se intenta “maximizar la recompensa“. Y esto puede ser, a


pesar de a veces cometer errores ó de no ser óptimos.

Componentes del RL

El aprendizaje por refuerzo propone un nuevo enfoque para hacer que nuestra
máquina aprenda, para ello, postula los siguientes 2 componentes:

• el Agente: será nuestro modelo que queremos entrenar y que


aprenda a tomar decisiones.
• Ambiente: será el entorno en donde interactúa y “se mueve” el
agente. El ambiente contiene las limitaciones y reglas posibles a
cada momento.

Entre ellos hay una relación que se retroalimenta y cuenta con los siguientes
nexos:

• Acción: las posibles acciones que puede tomar en un momento


determinado el Agente.
• Estado (del ambiente): son los indicadores del ambiente de cómo
están los diversos elementos que lo componen en ese momento.
• Recompensas (ó castigos!): a raíz de cada acción tomada por el
Agente, podremos obtener un premio ó una penalización que
orientarán al Agente en si lo está haciendo bien ó mal.
Entonces, la “foto final” nos queda así:

En un primer momento, el agente recibe un estado inicial y toma una acción con
lo cual influye é interviene en el ambiente. Esto está muy bien, pues es muy cierto
que cuando tomamos decisiones en el mundo real lo estamos modificando,
¿no?. Y esa decisión tendrá sus consecuencias: en la siguiente iteración el
ambiente devolverá al agente el nuevo estado y la recompensa obtenida. Si la
recompensa es positiva estaremos reforzando ese comportamiento para el
futuro. En cambio si la recompensa es negativa lo estaremos penalizando, para
que ante la misma situación el agente actúe de manera distinta. El esquema en
el que se apoya el Reinforcement Learning es en el de Proceso de Decisión de
Markov.

Casos de Uso del Aprendizaje por Refuerzo

El aprendizaje por refuerzo puede ser usado en robots, por ejemplo, en brazos
mecánicos en donde en vez de enseñar instrucción por instrucción a moverse,
podemos dejar que haga intentos “a ciegas” e ir recompensando cuando lo hace
bien.

También puede usarse en ambientes que interactúan con el mundo real, como
en otro tipo de maquinaria industrial y para el mantenimiento predictivo, pero
también en el ambiente financiero, por ejemplo, para decidir cómo conformar una
cartera de inversión sin intervención humana.
Otro caso de uso que está ganando terreno es el de usar RL para crear “webs
personalizadas” para cada internauta. Y si lo piensas… tiene algo de sentido
tomar el concepto de “premiar” al algoritmo si acierta con las sugerencias que
hace al usuario si hace clic ó penalizar al modelo si sus recomendaciones no le
son de utilidad.

También se utiliza el Reinforcement Learning para entrenar sistemas de


navegación de coches, drones ó aviones.

¿Y los Videojuegos? que pintan en todo esto?

Imagen del DeepMind en acción

Los videojuegos suelen ser ejemplos del uso de RL, ¿por qué? te preguntarás.
Pues porque los videojuegos son un entorno YA programado en el que se está
simulando un ambiente y en el que ocurren eventos a la vez. Por lo general el
jugador es el agente que debe decidir qué movimientos hacer. En
el Starcraft tenemos ejércitos enemigos movilizados e intentando aniquilarnos,
hay que desplazar distintas unidades que tienen variadas cualidades y hay que
hacerlo rápido, atacar, defender, conquistar. ¿Cómo haríamos esto con un
modelo de ML tradicional? es suficiente una sola red neuronal? muchas? cómo
interactúan? Pero sobre todo… ¿cómo crearíamos el grupo de “etiquetas de
salida” para entrenar a la red, ante un juego imprevisible? Estamos diciendo que
hay cientos de miles de combinaciones de salidas posibles.

Entonces, ¿Cómo funciona el RL?

Bien, vamos a comentar cómo funcionaría la secuencia de un algoritmo que


aprende por refuerzo.
Cómo dijimos antes, el agente deberá tomar decisiones para interactuar con el
ambiente, dado un estado. ¿Pero, de qué manera tomar esas decisiones?

Premios y Castigos

Al principio de todo, nuestro agente está “en blanco”, es decir, no sabe nada de
nada de lo que tiene que hacer ni de cómo comportarse. Entonces podemos
pensar en que tomará una de las posibles acciones aleatoriamente. E irá
recibiendo pistas de si lo está haciendo bien ó mal en base a las recompensas.
Entonces irá “tomando nota”, esto bien, esto mal.

Una recompensa para un humano es algún estímulo que le de placer. Podría ser
un aumento de sueldo, chocolate, una buena noticia. Para nuestro modelo de
ML la recompensa es sencillamente un Score: un valor numérico.
Supongamos que la acción “A” nos recompensa con 100 puntos. El Agente
podría pensar “genial, voy a elegir A nuevamente para obtener 100 puntos” y
puede que el algoritmo se estanque en una única acción y nunca logre concretar
el objetivo global que queremos lograr.

Es decir que tenemos que lograr un equilibrio entre “explorar lo desconocido y


explotar los recursos” en el ambiente. Eso es conocido como el dilema de
exploración/explotación.
El agente explorará el ambiente e irá aprendiendo “cómo moverse” y cómo ganar
recompensas (y evitar las penalizaciones). Al final almacenará el conocimiento
en unas normas también llamadas “políticas“.

Pero… debo decir que es probable que el agente “muera” ó pierda la partida las
primeras… ¿mil veces? Con esto me refiero a que deberemos entrenar miles y
miles de veces al agente para que cometa errores y aciertos y pueda crear sus
políticas hasta ser un buen Agente.

¿Fuerza Bruta? En serio? estamos en 2020, por favor!

Bueno a decir la verdad si… esto es un poco vergonzoso… pero cierto. La


realidad es que para hacerle aprender a un coche autónomo a conducir,
debemos hacerlo chocar, acelerar, conducir contramano y cometer todo tipo de
infracciones para decirle “eso está mal, te quito los puntos” y para ello, hay que
hacer que ejecute miles y miles de veces en un entorno de simulado.

Para entrenar a DeepMind a dominar al Starcraft ha tenido que jugar el


equivalente a miles de horas humanas de juego, y miles de partidas, puede que
lo que le llevaría a una persona años, se logra en 8 horas. Y con ese aprendizaje
logra vencer a los campeones jugadores humanos.

Esto tiene un lado bueno y uno malo. El malo ya lo vemos; tenemos que usar la
fuerza bruta para que aprenda. Lo bueno es que contamos con equipos muy
potentes que nos posibilitan realizar esta atrocidad. Por otra parte, recordemos
que estamos apuntando a un caso de uso mucho más grande y ambicioso que
el de “sólo distinguir entre perritos y gatitos”

También podría gustarte