Está en la página 1de 54

Aprendizaje Automático o

Machine Learning (ML)


Aprendizaje Automático
• ¿Cuáles son primeras aplicaciones de ML que
aparecieron en la industria?
Ejemplo de aplicaciones
Spam vs Ham
¿Qué es aprendizaje
automático?
Definición
• Machine Learning is the science (and art) of
programming computers so they can learn from
data.

• [Machine Learning is the] field of study that gives


computers the ability to learn without being
explicitly programmed.
Arthur Samuel, 1959
Definición
• A computer program is said to
• learn from experience E
• with respect to some task T
• and some performance measure P,
• if its performance on T, as measured by P, improves
with experience E.
Tom Mitchell, 1997
Enfoque tradicional vs aprendizaje
de máquina
Data
Computadora Output
Programa

Data
Computadora Programa
Output
Algunas definiciones
• Los ejemplos que el sistema usa para aprender se
llaman datos de entrenamiento (o training set).
• Cada ejemplo de entrenamiento se denomina
instancia de entrenamiento (training instance) o
muestra (sample).
• El ratio de instancias correctamente clasificadas es
una medida de rendimiento que se llama precisión
(accuracy) y se usa a menudo en tareas de
clasificación.
¿Porqué usar
aprendizaje automático?
¿Cómo construir un filtro de SPAM
utilizando técnicas tradicionales?
• Observe el aspecto típico del correo no deseado. Note
que algunas palabras o frases (como "tarjeta de
crédito", "gratis“, etc) aparecer mucho en el Asunto.
También note algunos otros patrones en el nombre del
remitente, el cuerpo del correo electrónico, etc.
• Escriba un algoritmo de detección para cada uno de los
patrones que se ha notado, y el programa marcará los
correos electrónicos como correo no deseado si se
detectan varios de estos patrones.
• Probar el programa y repetir los pasos anteriores hasta
que sea lo suficientemente bueno.
Filtro de Spam: Enfoque
tradicional
Filtro de Spam: Enfoque con ML
• Como el problema no es trivial, el programa
probablemente se convertirá en una larga lista de
reglas complejas, bastante difícil de mantener.

• Por el contrario, un filtro de Spam basado en las


técnicas de ML aprende automáticamente qué palabras
y frases son buenos predictores de spam detectando
patrones de palabras inusualmente frecuentes en los
ejemplos de spam en comparación con los ejemplos de
ham.
• El programa es mucho más corto, más fácil de
mantener y, con probabilidad, más preciso.
Filtro de Spam: Enfoque con ML
Filtro de Spam: Adaptación al
cambio
• Además, si los spammers notan que todos sus correos
que contienen “gratis" están bloqueados, podrían
comenzar a escribir “G-r-a-t-i-s" en su lugar. Un filtro de
correo no deseado que utilice técnicas de
programación tradicionales debería actualizarse para
marcar los correos electrónicos “G r a t i s". Tendría que
seguir escribiendo nuevas reglas para siempre.

• Por el contrario, un filtro de correo no deseado basado


en las técnicas de ML advierte automáticamente que
“G-r-a-t-i-s" se ha vuelto inusualmente frecuente en el
correo no deseado marcado por los usuarios, y
comienza a marcarlos (como spam) sin su intervención.
Filtro de Spam: Adaptación al
cambio
Otros usos
• Otra área en la que brilla ML es para los problemas que
son demasiado complejos para los enfoques
tradicionales o que no tienen un algoritmo conocido.
• Por ejemplo, considere el reconocimiento de voz:
supongamos un programa capaz de distinguir las
palabras "uno" y "dos". Podría medir la intensidad del
sonido de tono. Obviamente, esta técnica no escalará a
miles de palabras habladas por millones de personas
muy diferentes en entornos ruidosos y en docenas de
acentos. La mejor solución (al menos hoy) es escribir un
algoritmo que aprenda por sí mismo, dado que hay
muchas grabaciones de ejemplo para cada palabra.
ML puede ayudar a los humanos a
aprender
• Finalmente, algunos algoritmos ML pueden
inspeccionarse para ver lo que han aprendido (aunque
para algunos algoritmos esto puede ser complicado).
Por ejemplo, una vez que el filtro de spam ha sido
entrenado, puede inspeccionarse para revelar la lista de
palabras y combinaciones de palabras que cree que son
los mejores predictores de spam. A veces esto revelará
correlaciones insospechadas o nuevas tendencias, y de
ese modo conducirá a una mejor comprensión del
problema.
• La aplicación de técnicas de ML para explorar grandes
cantidades de datos puede ayudar a descubrir patrones
que no fueron inmediatamente evidentes. Esto se llama
minería de datos.
ML puede ayudar a los humanos a
aprender
Aprendizaje automático es ideal
para:
• Problemas para los que las soluciones existentes
requieren una gran cantidad de ajuste a mano o
largas listas de reglas.
• Problemas complejos para los cuales no hay una
buena solución con un enfoque tradicional.
• Entornos fluctuantes: un sistema de Aprendizaje
automático puede adaptarse a nuevos datos.
• Obtener información sobre problemas complejos y
grandes cantidades de datos.
¿Cuándo utilizamos aprendizaje
automático?
• La experiencia humana no existe (navegando en
Marte)
• Los humanos pueden explicar su experiencia
(reconocimiento del habla)
• Los modelos deben ser personalizados (medicina
personalizada)
• Los modelos se basan en grandes cantidades de
datos (genoma)
¿Cuándo no es útil el aprendizaje
automático?
• No hay que "aprender" a calcular la nómina
Tipos de Sistemas de
Aprendizaje Automático
Categoría para clasificar los
sistemas de Machine Learning
• Ya sea que estén o no entrenados con supervisión
humana:
• Supervisado
• Dado: datos de entrenamiento + salida deseada (labels)
• no supervisado
• Dado: datos de entrenamiento (sin salidas deseadas)
• Semi supervisado
• Dado: datos de entrenamiento + unas cuantas salidas deseadas
• Aprendizaje de refuerzo
• Recompensa por una secuencia de acciones
Categoría para clasificar los
sistemas de Machine Learning
• Si pueden o no aprender de forma incremental
sobre la marcha:
• en línea
• aprendizaje por lotes
Categoría para clasificar los
sistemas de Machine Learning
• Ya sea que funcionen simplemente comparando
nuevos puntos de datos con puntos de datos
conocidos, o en su lugar, detecten patrones en los
datos de entrenamiento y construyan un modelo
predictivo:
• aprendizaje basado en instancias
• Aprendizaje basado en modelos

• Nota: Estos criterios no son exclusivos; puedes


combinarlos de la manera que quieras.
Aprendizaje supervisado y no
supervisado
• Los sistemas de Machine Learning se pueden
clasificar según la cantidad y el tipo de supervisión
que obtienen durante el entrenamiento.
• Hay cuatro categorías principales:
• aprendizaje supervisado
• aprendizaje no supervisado
• aprendizaje semisupervisado
• aprendizaje reforzado.
Aprendizaje Supervisado
• Los datos de entrenamiento que alimenta al
algoritmo incluyen las soluciones deseadas,
llamadas etiquetas (labels)
Aprendizaje Supervisado
• Una tarea típica de aprendizaje supervisado es la
clasificación. El filtro de spam es un buen ejemplo
de esto: se entrena con muchos correos
electrónicos de ejemplo junto con su clase (spam o
ham) y debe aprender a clasificar los correos
electrónicos nuevos.
Aprendizaje Supervisado:
Clasificación
• Dado (x1,y1), (x2,y2),…(xn,yn)
• Aprender una función f(x) para predecir y dado x
• Y es una valor categórica == clasificación
Aprendizaje Supervisado
• X puede ser multidimensional
• Cada dimensión corresponde a un atributo
• Otros atributos serían:
• uniformidad en la forma de la célula
• uniformidad en el tamaño
• espesor
Aprendizaje Supervisado:
Regresión
• Dado (x1,y1), (x2,y2),…, (xn,yn)
• Aprender una función f(x) para predecir y dado x
• Y es un valor real == regresión
Aprendizaje Supervisado:
Regresión
Aprendizaje no supervisado
• Dado x1, x2,…,xn (sin etiquetas)
• Salida oculta la estructura detrás de los Xs
Aprendizaje no supervisado
Clustering
Visualización
Detección de anomalías
Aprendizaje Semisupervisado
Aprendizaje por reforzamiento
Aprendizaje en línea
Aprendizaje en línea para grandes
volúmenes de datos
Aprendizaje basado en instancia
Aprendizaje basado en modelo
Caso de Estudio
¿El dinero hace a las personas
felices?
Algunos posibles modelos lineales
Modelo lineal que mejor se adapta a
los datos de entrenamiento
Principales desafíos del
aprendizaje automático
Data vs Algoritmo
Muestreo incorrecto
Overfitting
Grados de libertad: Regularización

También podría gustarte