0% encontró este documento útil (0 votos)
436 vistas270 páginas

005 Aprendizaje Automático-Machine Learning

Cargado por

Andres Castro
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)
436 vistas270 páginas

005 Aprendizaje Automático-Machine Learning

Cargado por

Andres Castro
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

Bootcamp AI

Fullstack
J O R G E E R N E S TO F E R N A N D E Z H A U

Sesión No. 005


Aprendizaje Automático (Machine Learning)

Tipos de aprendizaje: Aprendizaje No


Aprendizaje Supervisado Clasificación ( K-NN, SVM,
Definición y Conceptos supervisado, no Preprocesamiento de Supervisado (Kmeans,
(Regresión Lineal, Arboles de Decisión,
Básicos supervisado, semi- Datos Componentes
Regresión Lineal Múltiple) Random Forest, RNN
supervisado y por refuerzo Principales,LDA)
Machine Learning
¿Qué es el Machine Leaning?

https://www.youtube.com/watch?v=NdNyYcAJQr8
Historia

• Inteligencia Artificial =AI (Artificial Intelligence)


• John McCarthi, 1956
• Pionero de la inteligencia Artificial
• Premio Turing y varias distinciones
Historia
Definición

Machine learning es una rama de la inteligencia


artificial que permite a las computadoras aprender
de los datos y mejorar su desempeño en tareas
específicas sin ser programadas explícitamente
para ello. En otras palabras, es como enseñar a
una máquina a aprender por sí misma a partir de
la experiencia.
Tipos de aprendizaje

No
Supervisado
supervisado

Semi-
Refuerzo
supervisado
Tipos de Aprendizaje de Máquina
Aprendizaje Supervisado

El aprendizaje supervisado es una técnica de machine learning


donde un modelo se entrena con datos etiquetados para
realizar predicciones o clasificaciones sobre nuevos datos.
Consideraciones Adicionales

Datos • Se recopila un conjunto de datos donde cada dato tiene una característica
(entrada) y una etiqueta (salida) correspondiente. Por ejemplo, en un
modelo de clasificación de correo electrónico, los correos electrónicos
Etiquetados serían los datos y las etiquetas serían "spam" o "no spam".

• El modelo se alimenta con estos datos etiquetados. A medida que el


Entrenamiento modelo procesa los datos, ajusta sus parámetros internos para minimizar el
error entre sus predicciones y las etiquetas reales.

• Una vez que el modelo está entrenado, se puede utilizar para hacer

Predicción predicciones sobre nuevos datos. Por ejemplo, si se le presenta un nuevo


correo electrónico, el modelo clasificará ese correo electrónico como
"spam" o "no spam" basado en lo que aprendió durante el entrenamiento
Tipos de aprendizaje supervisado

Clasificación Regresión
Tipos de aprendizaje supervisado
Aprendizaje Supervisado: Clasificación

El aprendizaje supervisado por clasificación es una técnica


fundamental en el aprendizaje automático que busca asignar una
etiqueta de clase a un conjunto de datos, basándose en ejemplos
etiquetados previamente.
Aprendizaje Supervisado: Clasificación
Algoritmos de ML más usado para Clasificación

Regresión Logística

Arboles de Decisión

Máquinas de Soporte Vectorial (Support Vector Machines - SVM)

Redes Neuronales

Deep Learning imágenes, audio, vídeo, series temporales, texto)

Random Forest
Mezclas de Expertos (“Ensembles”)
Gradient Boosting (XG-Boost)
Regresión Logística

Es un modelo estadístico utilizado para predecir


la probabilidad de que una observación
pertenezca a una de dos o más categorías
discretas (como sí/no, verdadero/falso, etc.) en
función de una o más variables independientes.

• Modela la probabilidad de que una instancia


pertenezca a una clase particular.
• Se utiliza comúnmente para problemas de
clasificación binaria
• Hay algoritmos multiclase
Regresión Logística

El análisis de la regresión lineal se utiliza para


predecir el valor de una variable (Y) según el
valor de otra (X). ... Esta forma de análisis estima
los coeficientes de la ecuación lineal,
involucrando una o a más variables
independientes que mejor predicen el valor de la
variable dependiente.
La regresión logística utiliza una función
matemática llamada función logística, que
transforma cualquier valor real en un valor entre
0 y 1. Este valor representa la probabilidad
estimada de que ocurra el evento de interés.
Regresión Logística

En estadística, la regresión logística es un tipo de análisis


de regresión utilizado para predecir el resultado de una
variable categórica (una variable que puede adoptar un
número limitado de categorías) en función de las variables
independientes o predictoras. Es útil para modelar
la probabilidad de un evento ocurriendo en función de
otros factores. El análisis de regresión logística se enmarca
en el conjunto de Modelos Lineales Generalizados (GLM
por sus siglas en inglés) que usa como función de enlace la
función logit. Las probabilidades que describen el posible
resultado de un único ensayo se modelan como una
función de variables explicativas, utilizando una función
logística.
¿Cuándo usar Regresión Logística?

Variable dependiente • Cuando la variable que quieres predecir tiene un


número limitado de categorías (por ejemplo, sí/no,
categórica bueno/malo).

• Cuando la relación entre la variable dependiente y las


Relación no lineal independientes no es lineal.

• Cuando te interesa conocer la probabilidad de que


Probabilidades ocurra un evento.
Arboles de Decisión

Es una aproximación física de un árbol, pero en


lugar de ramas y hojas, tiene nodos y ramas que
representan diferentes opciones y resultados.
Cada nodo representa una pregunta o decisión, y
las ramas que salen de él muestran los posibles
caminos que puedes tomar.
Componentes de los árboles de decisión
• Es el inicio del árbol, la primera decisión que debes
Nodo raíz tomar.

Nodos internos • Representan decisiones o preguntas posteriores.

• Conectan los nodos y muestran los posibles


Ramas resultados de cada decisión.

Hojas • Son los resultados finales o conclusiones del árbol.


Arboles de Decisión

Un árbol de decisión es un
modelo predictivo que
divide el espacio de los
predictores agrupando
observaciones con valores
similares para la variable
respuesta o dependiente.
Arboles de Decisión
Como construir un árbol de decisión
Define el problema • ¿Cuál es la decisión que debes tomar?

Identifica las opciones • ¿Cuáles son las posibles acciones que puedes llevar a cabo?

• Si es posible, asigna una probabilidad a cada resultado.


Asigna probabilidades •

Calcula los valores • Asigna un valor a cada resultado (beneficios, costos, etc.).

Construye el árbol • Dibuja los nodos y las ramas que conectan las decisiones y los resultados.

Analiza los resultados • Compara los diferentes caminos y elige el que te parezca más adecuado..
Ejemplos por tipos
• Ver claramente todas las posibles opciones y sus
Visualizar opciones consecuencias.

• Asignar probabilidades a cada resultado y calcular el


Evaluar riesgos riesgo de cada decisión.

• Facilitan la comparación entre diferentes opciones y


Comparar alternativas sus beneficios.

Facilitar la toma de • Al tener una representación visual de las opciones, la


decisiones decisión final resulta más sencilla.
Máquinas de Vectores de Soporte (SVM)

• Buscan el hiperplano que mejor separa las


diferentes clases.
• Excelentes para problemas de alta
dimensionalidad.
Máquinas de Vectores de Soporte (SVM)

Las Máquinas de Vectores de Soporte (SVM) son un


conjunto de algoritmos de aprendizaje supervisado muy
populares, especialmente utilizados en tareas de
clasificación y regresión. Desarrolladas por Vladimir Vapnik
y su equipo, las SVM se destacan por su capacidad de
encontrar el hiperplano óptimo que separa de manera más
clara y precisa los datos en diferentes clases.

• Buscan el hiperplano que mejor separa las diferentes


clases.
• Excelentes para problemas de alta dimensionalidad.
Máquinas de Vectores de Soporte (SVM)

• Hiperplano
• Conjunto de puntos de datos de dos clases diferentes,
representados en un espacio de características. El
objetivo de una SVM es encontrar una línea (en 2D) o un
hiperplano (en dimensiones superiores) que separe estos
puntos de la manera más amplia posible. Este hiperplano
se denomina hiperplano óptimo.
• Margen
• El margen es la distancia entre el hiperplano y los puntos
de datos más cercanos a él. El objetivo de la SVM es
maximizar este margen. Los puntos de datos más
cercanos al hiperplano se llaman vectores de soporte.
• Kernel Trick
• Las SVM pueden manejar datos no linealmente
separables mediante una técnica llamada kernel trick.
Esta técnica proyecta los datos en un espacio de
características de mayor dimensión donde se vuelve
posible encontrar un hiperplano que los separe
linealmente.
Máquinas de Vectores de Soporte (SVM)
¿Por qué es importante?
• Características bien seleccionadas pueden resaltar los patrones subyacentes
Mejora la precisión en los datos, lo que lleva a modelos más precisos.

Reduce la • Al reducir el número de características, se simplifica el modelo y se reduce


el riesgo de sobreajuste.
dimensionalidad
• Menos características significa menos cálculos, lo que acelera el
Aumenta la eficiencia entrenamiento del modelo.

Facilita la • Características bien definidas hacen que los modelos sean más
interpretables, lo que ayuda a comprender por qué se toman ciertas
interpretación decisiones.
Ventajas de las SVM

Alta precisión • Son capaces de obtener una alta precisión en tareas de clasificación,
especialmente en problemas de alta dimensionalidad.

Robustez • Son menos propensas al sobreajuste, lo que las hace muy útiles en
problemas con pocos datos de entrenamiento.

Versatilidad • Pueden utilizarse tanto para problemas de clasificación binaria como


multiclase.

Eficiencia • Existen implementaciones eficientes de SVM que permiten trabajar


con grandes conjuntos de datos.
Desventajas de las SVM

Selección del • La elección del kernel adecuado puede ser compleja y


requiere de cierta experiencia.
kernel

Tiempo de • Para grandes conjuntos de datos, el entrenamiento


puede ser computacionalmente costoso.
entrenamiento
• Los modelos SVM pueden ser difíciles de interpretar, lo
Interpretabilidad que limita su uso en aplicaciones donde la
interpretabilidad es importante.
Cuando usar SVM
• Son ideales para problemas de clasificación con dos
Clasificación binaria clases.

Problemas de alta • Funcionan bien en problemas con muchas


dimensionalidad características.

• El kernel trick permite manejar datos no linealmente


Datos no lineales separables.

Pocos datos de • Son robustas al sobreajuste y pueden generalizar bien


entrenamiento con pocos datos.
Aplicaciones de SVM
Reconocimiento de
• Clasificación de objetos en imágenes.
imágenes
Procesamiento del
• Análisis de sentimientos, clasificación de textos.
lenguaje natural

Bioinformática • Predicción de estructuras de proteínas.

Finanzas • Detección de fraudes, predicción de precios.


SVM

Las Máquinas de Vectores de Soporte son una herramienta


poderosa en el campo del aprendizaje automático. Su capacidad
para encontrar el hiperplano óptimo y su robustez las convierten
en una excelente opción para una amplia variedad de problemas
de clasificación y regresión. Sin embargo, es importante
considerar sus limitaciones y elegirlas cuidadosamente según las
características del problema a resolver.
Redes Neuronales

En esencia, las redes neuronales son modelos computacionales


inspirados en la estructura y funcionamiento del cerebro
humano. Están compuestas por unidades interconectadas
llamadas neuronas artificiales que procesan información de
manera similar a como lo hacen las neuronas biológicas.
Enfoque bioinspirado

Cerebro Humano Computadoras


.
Computación masiva en paralelo Computación en Serie

Tolerancia a fallos Poco robusto frete a fallos

Aprendizaje autónomo Programable

Analogico Digital

10^11 neuronas
10^9 transistores
10^14 – 10^15 sinapsis

Milisegundos (4-90hz) Nanosegundos (4 Ghz)


Enfoque bioinspirado

.
Redes Neuronales - Conceptos básicos

.
Redes Neuronales - Conceptos básicos

Capas:
.

• Capa de entrada: Recibe los datos de entrada.


• Capas ocultas: Realizan los cálculos internos para extraer
características de los datos.
• Capa de salida: Produce la respuesta final.
Redes Neuronales - ¿Cómo funcionan?

Conexiones y. pesos: Cada


neurona está conectada a
otras en las capas
adyacentes. Cada conexión
tiene un peso asociado que
determina la influencia de
una neurona sobre otra.
Redes Neuronales - ¿Cómo funcionan?

Activación: Las neuronas


. de las
reciben señales
neuronas conectadas y, si la
suma ponderada de estas
señales supera un cierto
umbral, la neurona se activa
y envía una señal a las
siguientes capas.
Redes Neuronales - ¿Cómo funcionan?

Aprendizaje: El proceso de
.
aprendizaje consiste en
ajustar los pesos de las
conexiones para que la red
pueda realizar una tarea
específica, como clasificar
imágenes o predecir valores.

https://playground.tensorflow.org
¿Para qué se utilizan las redes neuronales?
Reconocimiento de imágenes • Identificar objetos, rostros y escenas en imágenes.

Procesamiento del lenguaje natural • Traducción automática, generación de texto, análisis de sentimientos.

Reconocimiento de voz • Convertir el habla en texto.

Juegos • Crear oponentes inteligentes en videojuegos.

Medicina • Diagnosticar enfermedades, analizar imágenes médicas.

Finanzas • Predecir tendencias del mercado, detectar fraudes.


Tipos de redes neuronales
Redes neuronales artificiales
• El tipo más básico, con múltiples capas y conexiones.
(ANN)

Redes neuronales
• Especializadas en el procesamiento de imágenes.
convolucionales (CNN)

Redes neuronales recurrentes • Diseñadas para procesar secuencias de datos, como


(RNN) texto o series temporales.

Redes neuronales generativas • Capaces de generar nuevos datos, como imágenes o


adversarias (GAN) música.
DEEP LEARNING – Aprendizaje profundo

Es un subconjunto del aprendizaje


automático que. utiliza redes neuronales
artificiales con múltiples capas para
aprender representaciones jerárquicas de
datos. Esto significa que, al igual que el
cerebro humano, estas redes pueden
aprender características cada vez más
abstractas a medida que avanzan por las
capas.
DEEP LEARNING – Aprendizaje profundo

.
DEEP LEARNING – ¿Cómo funciona?

Redes .Neuronales • Son modelos computacionales inspirados en el cerebro, compuestos por


nodos interconectados que procesan información.

Capas • Las redes profundas tienen muchas capas, cada una encargada de extraer
características diferentes de los datos.

Entrenamiento • Las redes se entrenan con grandes conjuntos de datos, ajustando los
parámetros de cada nodo para minimizar el error en las predicciones.

• A través de este proceso, las redes aprenden a reconocer patrones


Aprendizaje complejos y a realizar tareas como clasificación, detección de objetos,
generación de texto y mucho más.
DEEP LEARNING – ¿Por qué es importante?

• Los modelos de aprendizaje profundo han logrado


Precisión
. resultados sobresalientes en diversas tareas,
superando a los métodos tradicionales.

• Se aplican en una amplia gama de campos, desde el


Versatilidad reconocimiento de imágenes y voz hasta la traducción
automática y el descubrimiento de medicamentos.

• Permiten automatizar tareas que antes requerían


Automatización intervención humana, aumentando la eficiencia y
productividad.
DEEP LEARNING – Aplicaciones

Visión por • Detección de objetos en imágenes, reconocimiento


computadora
. facial, segmentación de imágenes médicas.

Procesamiento del • Traducción automática, generación de texto, análisis


lenguaje natural de sentimientos.

Reconocimiento de • Asistentes virtuales, transcripción de audio.


voz

Juegos • Juegos de estrategia, videojuegos con IA.


Tensores -DEEP LEARNING

Base fundamental para representar datos en el aprendizaje


.
de máquina, especialmente en el deep learning. Un tensor
se puede representar como una generalización
multidimensional de una matriz. Mientras que una matriz
es una tabla de números bidimensional, un tensor puede
tener cualquier número de dimensiones.

Los tensores son objetos matemáticos que almacenan valores


numéricos y que pueden tener distintas dimensiones.

https://telefonicatech.com/blog/deep-learning-para-todos-los-publicos
Por qué son importantes los tensores?

• Pueden representar una amplia variedad de datos, desde


Flexibilidad
. imágenes (3D) hasta secuencias de texto (1D) o incluso datos
más complejos como videos (4D o más).

• Las bibliotecas de deep learning como TensorFlow y PyTorch


Eficiencia están optimizadas para operar con tensores, lo que permite
realizar cálculos complejos de manera eficiente.

• Los tensores proporcionan una forma abstracta de pensar


Abstracción sobre los datos, lo que facilita la creación y el entrenamiento
de modelos de aprendizaje profundo.
Analogías para entender los tensores

. • Tensor de 0 dimensiones: Un escalar, un único número.


• Tensor de 1 dimensión: Un vector, una lista de números.
• Tensor de 2 dimensiones: Una matriz, una tabla de números.
• Tensor de 3 dimensiones: Un cubo de números, como una
imagen en escala de grises.
• Tensor de 4 dimensiones: Un conjunto de cubos, como un
video en escala de grises.
Ejemplo práctico: Una imagen en escala de grises

Una imagen en escala de grises puede representarse como un


. tensor de 3 dimensiones:
• Primera dimensión: Altura de la imagen.
• Segunda dimensión: Ancho de la imagen.
• Tercera dimensión: Canal (en este caso, solo uno, ya que es una
imagen en escala de grises).

Cada elemento del tensor representa el valor de intensidad de un


píxel en la imagen.
NumPy

NumPy es una librería de Python que proporciona un objeto de


. matriz N-dimensional, junto con una gran colección de funciones
para operar con estas matrices. Es el paquete fundamental para la
computación científica en Python.

En Python, estos tensores normalmente se almacenan en lo que se


conoce como NumPy arrays. NumPy es una de las librerías
científicas de Python más se usan en cualquier entorno de trabajo
con IA y sirve para manipular números.
¿Por qué es tan importante NumPy?

• Las operaciones con matrices en NumPy son mucho más


Velocidad
. rápidas que las listas estándar de Python, gracias a su
implementación en C.

• Proporciona una sintaxis sencilla y concisa para realizar


Facilidad de uso operaciones matemáticas sobre grandes conjuntos de
datos.

• Se utiliza como base para muchas otras librerías


Versatilidad científicas de Python, como SciPy, pandas y scikit-learn.
Conceptos clave en NumPy

• Son la estructura de datos principal en NumPy. Son similares a las


Arrays listas, pero más eficientes y con funcionalidades adicionales.
.
• Los arrays pueden ser unidimensionales (vectores), bidimensionales
Dimensiones (matrices) o multidimensionales (tensores).

• Permite acceder a elementos individuales o a subconjuntos de un


Indexación array.

• Permite realizar operaciones entre arrays de diferentes formas y


Broadcasting tamaños.

• Operaciones matemáticas que se aplican a cada elemento de un


Funciones universales array.
¿Para qué se utiliza NumPy?

Análisis numérico • Resolver ecuaciones, realizar cálculos estadísticos, etc.


.
Procesamiento de imágenes • Manipular imágenes como matrices de números.

Transformación de Fourier • Analizar señales periódicas.

Álgebra lineal • Realizar operaciones con matrices y vectores.

Machine Learning • Preparar datos para modelos de aprendizaje automático.


TensorFlow

.
TensorFlow es una biblioteca de software de código abierto para el
cálculo numérico que utiliza grafos de flujo de datos. Los nodos en el
grafo representan operaciones matemáticas, mientras que los bordes
del grafo representan los conjuntos de datos multidimensionales
(tensores) comunicados entre ellos.
Que hace Tensorflow

Construcción de • TensorFlow facilita la creación de una amplia variedad de modelos de


aprendizaje automático, desde redes neuronales simples hasta arquitecturas
. más complejas como las redes convolucionales (CNN) y las redes recurrentes
modelos (RNN).

Entrenamiento • Una vez creado un modelo, TensorFlow te permite entrenarlo utilizando


grandes conjuntos de datos, ajustando los parámetros del modelo para que
de modelos pueda realizar predicciones precisas.

Deployment • Después del entrenamiento, puedes desplegar tus modelos en diferentes


plataformas, como servidores web, dispositivos móviles o incluso en la nube.
Que hace Tensorflow

• TensorFlow es altamente adaptable, lo que significa que puedes utilizarlo


Flexibilidad
. para una gran variedad de tareas de aprendizaje automático, desde
visión por computadora hasta procesamiento de lenguaje natural.

Comunidad • TensorFlow cuenta con una comunidad de desarrolladores muy grande y


activa, lo que significa que hay una gran cantidad de recursos, tutoriales
activa y ejemplos disponibles en línea.

Soporte de • Al ser desarrollado por Google, TensorFlow cuenta con el respaldo de


una gran empresa tecnológica, lo que garantiza su desarrollo continuo y
Google mejoras constantes.
¿Para quién es Pytorch?

• Funciona como una versión de NumPy con aceleración de GPU,


Tensor. computation lo que permite realizar cálculos numéricos de alta eficiencia.

• Ofrece un sistema de autograd (autodiferenciación) que facilita la


Deep neural networks definición y entrenamiento de redes neuronales profundas.

• Es conocido por su flexibilidad, lo que lo hace ideal para


Flexibilidad investigación y prototipado rápido.

• Su API es muy intuitiva y se integra perfectamente con el


Pythonic ecosistema de Python.
¿Por qué elegir PyTorch?

• Su sintaxis es similar a Python, lo que facilita su aprendizaje, especialmente


Fácil de aprender para aquellos que ya están familiarizados con este lenguaje.
.

• Cuenta con una comunidad activa y en constante crecimiento, lo que significa


Gran comunidad que hay muchos recursos y soporte disponibles.

• Se utiliza en una amplia gama de aplicaciones, desde visión por computadora


Amplias aplicaciones y procesamiento del lenguaje natural hasta generación de texto y refuerzo de
aprendizaje.

Integración con otros • Se puede integrar fácilmente con otros frameworks y herramientas populares
de aprendizaje profundo.
frameworks
¿Para qué se utiliza PyTorch?

Visión por • Detección de objetos, segmentación de imágenes,


computadora:
. generación de imágenes, etc.

Procesamiento del • Traducción automática, análisis de sentimientos,


lenguaje natural generación de texto, etc.

Redes generativas • Generación de imágenes realistas, transformación de


adversarias (GANs) imágenes, etc.

Aprendizaje por • Entrenamiento de agentes para tomar decisiones en


refuerzo entornos complejos.
Numpy, Tensorflow o PyTorch?

• NumPy: Es la base para muchos cálculos científicos en Python.


Excelente para operaciones con arrays, pero no está diseñado
específicamente para aprendizaje profundo.
• TensorFlow: Un framework robusto y escalable, ideal para
grandes modelos de aprendizaje profundo y producción. Su
grafo estático puede ser más complejo de entender para
principiantes.
• PyTorch: Ofrece una experiencia más cercana a Python y
NumPy, lo que lo hace intuitivo para muchos. Su grafo
dinámico permite una mayor flexibilidad y es popular en
investigación.
Cuando usar Numpy, Tensorflow o PyTorch?

• NumPy: Para tareas básicas de manipulación de datos y


cálculos numéricos.
• TensorFlow: Para modelos de producción a gran escala, donde
la eficiencia y la escalabilidad son prioritarias.
• PyTorch: Para investigación, prototipado rápido, modelos
generativos y cuando se necesita una mayor flexibilidad.
Numpy, Tensorflow o PyTorch?
Característica NumPy TensorFlow PyTorch

Cálculos numéricos, Framework de aprendizaje Framework de aprendizaje


Propósito principal
manipulación de arrays profundo a gran escala profundo flexible y dinámico

. Estructura de datos
Arrays NumPy Tensores Tensores
fundamental
Cálculo automático de
No Sí Sí
gradientes
Estática (por defecto) o
Construcción de grafos No Dinámica
dinámica
Puede ser más compleja para Más intuitiva y similar a
Facilidad de uso Fácil para cálculos básicos
principiantes NumPy
Menos flexible para redes Muy flexible, pero puede ser Muy flexible y fácil de
Flexibilidad
neuronales complejas más verboso personalizar
Sí, a través de bibliotecas
GPU acceleration Sí, integrado Sí, integrado
externas
Comunidad y soporte Muy grande y maduro Enorme y activo Creciente y activo
Preprocesamiento de datos, Modelos de aprendizaje
Investigación, prototipado
Uso típico álgebra lineal, análisis profundo grandes y complejos,
rápido, modelos generativos
numérico producción
¿Redes Neuronales Convolucionales (CNN)?

Las Redes Neuronales


. (CNNs, por
Convolucionales
sus siglas en inglés) son un
tipo específico de
arquitectura de redes
neuronales profundas que se
ha vuelto fundamental en el
campo del aprendizaje
profundo, especialmente
para tareas relacionadas con
el procesamiento de
imágenes y videos.

https://playground.tensorflow.org
¿Redes Neuronales Convolucionales (CNN)?

El término "convolución" se
refiere a una .operación
matemática que se aplica a
los datos de entrada. En el
contexto de las CNNs, esta
operación implica aplicar
filtros a la imagen de
entrada para extraer
características relevantes.

https://playground.tensorflow.org
Como funcionar las CNN
• Esta es la capa principal de una CNN. Aplica filtros a la
Capa convolucional imagen de entrada para detectar características como
bordes, texturas y formas.

• Reduce la dimensionalidad de los datos y ayuda a la red


Capa de agrupamiento a aprender características invariantes a la escala y
rotación.

Capas completamente • Estas capas realizan la clasificación final de la entrada.


conectadas
Ventajas de CNN

Extracción automática • Las CNNs aprenden automáticamente las características más


relevantes de los datos, lo que las hace muy poderosas para
de características tareas de clasificación y detección de objetos.

Invariante a la • Las CNNs son capaces de reconocer objetos incluso si están


traslación en diferentes posiciones dentro de la imagen.

• Las CNNs aprenden características de bajo nivel (bordes,


Hierárquica texturas) en las primeras capas y características de alto nivel
(objetos completos) en las capas más profundas.
Aplicaciones de CNN
• Clasificación de imágenes, detección de objetos, segmentación de
Reconocimiento de imágenes imágenes.

Procesamiento de lenguaje • Análisis de sentimientos, traducción automática, generación de texto.


natural

Procesamiento de audio • Reconocimiento de voz, generación de música.

Bioinformática • Análisis de secuencias de ADN y proteínas.

Visión por computadora • Detección de obstáculos, reconocimiento de señales de tráfico.


autónoma
CNNs mas populares

AlexNet • Una de las primeras CNNs en ganar el concurso ImageNet


Large Scale Visual Recognition Challenge (ILSVRC).

VGG: • Una arquitectura CNN con múltiples capas convolucionales


de 3x3.

ResNet • Introduce conexiones residuales para entrenar redes más


profundas.

Inception • Utiliza múltiples módulos de convolución en paralelo para


extraer diferentes características.
Random Forest | Bosques Aleatorios

Random forest (o random forests) también conocidos


en castellano como '"Bosques Aleatorios"' es una
combinación de árboles predictores tal que cada árbol
depende de los valores de un vector aleatorio probado
independientemente y con la misma distribución para
cada uno de estos. Es una modificación sustancial de
bagging que construye una larga colección de árboles
no correlacionados y luego los promedia
Random Forest | Bosques Aleatorios

El algoritmo Random Forest es un algoritmo de clasificación


supervisado. En el que se crea un bosque que se divide
aleatoriamente. Existe una relación directa entre la cantidad de
árboles en el bosque y los resultados que puede obtener: cuanto
mayor es la cantidad de árboles, más preciso es el resultado.
Pero una cosa a tener en cuenta es que crear el bosque no es lo
mismo que construir la decisión con un enfoque de índice de
ganancia o ganancia de información.
Random Forest | Bosques Aleatorios

Un Random Forest es un conjunto (ensemble) de árboles de


decisión combinados con bagging. Al usar bagging, lo que en
realidad está pasando, es que distintos árboles ven distintas
porciones de los datos. Ningún árbol ve todos los datos de
entrenamiento. Esto hace que cada árbol se entrene con
distintas muestras de datos para un mismo problema. De esta
forma, al combinar sus resultados, unos errores se compensan
con otros y tenemos una predicción que generaliza mejor.
Bagging and Boosting

Bagging (Bootstrap Aggregating) y Boosting


son dos técnicas de ensamblaje en Machine
Learning que combinan múltiples modelos para
crear un modelo más robusto y preciso. Ambas
buscan reducir el error de generalización y
mejorar el rendimiento del modelo.
Bagging and Boosting

• Consiste en entrenar múltiples modelos en subconjuntos de los


datos de entrenamiento originales, obtenidos mediante
Bagging muestreo aleatorio con reemplazo. Estos modelos se combinan
luego, típicamente mediante votación (clasificación) o
promediado (regresión), para obtener una predicción final.

• A diferencia de Bagging, Boosting entrena los modelos de forma


secuencial. Cada nuevo modelo se enfoca en corregir los errores
Boosting del modelo anterior. Los ejemplos mal clasificados por los
modelos anteriores reciben mayor peso en el entrenamiento de
los siguientes modelos.
Bagging and Boosting
Tabla Comparativa: Pros y Contras

Característica Bagging Boosting


Entrenamiento Paralelo Secuencial
Mayor peso a los ejemplos mal
Peso de los ejemplos Igual para todos los ejemplos
clasificados
Reducción de varianza Alta Alta
Puede reducir el sesgo si se
Reducción de sesgo Baja
combina con modelos débiles
Más propenso si se entrena por
Sobreajuste Menos propenso
muchas iteraciones
Complejidad computacional Menor Mayor
Memoria Menos requerimiento Mayor requerimiento
Aplicaciones

Técnica Aplicaciones típicas


Clasificación, regresión, reducción de varianza en
Bagging
modelos inestables (como árboles de decisión)
Clasificación, regresión, problemas de ranking,
Boosting
detección de anomalías
Aplicaciones

Técnica Aplicaciones típicas


Clasificación, regresión, reducción de varianza en
Bagging
modelos inestables (como árboles de decisión)
Clasificación, regresión, problemas de ranking,
Boosting
detección de anomalías
¿Cuándo utilizar Bagging o Boosting?

• Cuando se tiene un modelo base inestable (alta varianza).

Bagging • Cuando se desea reducir el sobreajuste.


• Cuando se dispone de muchos datos y recursos computacionales.

• Cuando se desea obtener un modelo altamente preciso.

Boosting • Cuando se tiene un conjunto de datos relativamente pequeño.


• Cuando se necesita un modelo interpretable (algunos algoritmos de
Boosting como LightGBM ofrecen herramientas de interpretación).
Hiperparámetros
Hiperparámetro Bagging (Random Forest) Boosting (XGBoost) Descripción

Número de estimadores n_estimators n_estimators Número de árboles en el bosque.

Profundidad máxima del árbol max_depth max_depth Profundidad máxima de cada árbol.

Función de pérdida utilizada para evaluar la


Criterio de división criterion objective
división de los nodos.

Proporción de características utilizadas en


Muestra de características max_features colsample_bytree
cada árbol.

Tasa a la que se actualizan los pesos en cada


Tasa de aprendizaje - learning_rate
iteración.

Proporción de muestras utilizadas para


Submuestreo bootstrap subsample
entrenar cada árbol.

Parámetros de regularización para evitar el


Regularización - gamma, lambda
sobreajuste.
Ejemplos por tipos
• Ambos métodos tienen hiperparámetros que deben
Hiperparámetros ajustarse cuidadosamente para obtener los mejores
resultados.

• Bagging suele ser más fácil de interpretar que Boosting,


Interpretabilidad especialmente en el caso de Random Forest.

• Boosting puede ser más eficiente computacionalmente


Escalabilidad que Bagging para grandes conjuntos de datos.
Ejemplos por tipos
• Ambos métodos tienen hiperparámetros que deben
Hiperparámetros ajustarse cuidadosamente para obtener los mejores
resultados.

• Bagging suele ser más fácil de interpretar que Boosting,


Interpretabilidad especialmente en el caso de Random Forest.

• Boosting puede ser más eficiente computacionalmente


Escalabilidad que Bagging para grandes conjuntos de datos.
K Vecinos Cercanos KNN
K vecinos más cercanos es uno de
los algoritmos de clasificación más
básicos y esenciales en Machine
Learning.

Pertenece al dominio del


aprendizaje supervisado y
encuentra una aplicación intensa en
el reconocimiento de patrones, la
minería de datos y la detección de
intrusos.
K Vecinos Cercanos KNN
K vecinos más cercanos es uno de
los algoritmos de clasificación más
básicos y esenciales en Machine
Learning.

Pertenece al dominio del


aprendizaje supervisado y
encuentra una aplicación intensa en
el reconocimiento de patrones, la
minería de datos y la detección de
intrusos.
K Vecinos Cercanos KNN

KNN, o K-Nearest Neighbors, es


un algoritmo de aprendizaje
automático supervisado que
utiliza la lógica de que los
puntos de datos similares se
encuentran cerca unos de
otros. En términos simples,
KNN clasifica nuevos puntos
de datos basándose en los K
puntos de datos más cercanos
en el conjunto de
entrenamiento.
Ejemplos por tipos
• Se elige un valor para K, que representa el número de
Selección de K vecinos más cercanos a considerar.

• Se calcula la distancia entre el nuevo punto de datos y


Cálculo de la distancia todos los puntos en el conjunto de entrenamiento.

Selección de vecinos • Se seleccionan los K puntos más cercanos.

• El nuevo punto se asigna a la clase más común entre


Clasificación sus K vecinos más cercanos..
KNN Algoritmo Perezoso
K-Nearest Neighbors (KNN), o K vecinos más cercanos, es un
algoritmo de aprendizaje supervisado que se clasifica como
"perezoso" por una razón fundamental: no construye un modelo
general durante la fase de entrenamiento. En su lugar,
simplemente almacena todo el conjunto de datos de
entrenamiento.
KNN Algoritmo Perezoso
K-Nearest Neighbors (KNN), o K vecinos más cercanos, es un
algoritmo de aprendizaje supervisado que se clasifica como
"perezoso" por una razón fundamental: no construye un modelo
general durante la fase de entrenamiento. En su lugar,
simplemente almacena todo el conjunto de datos de
entrenamiento.
¿Qué significa ser un algoritmo perezoso?
• Almacenamiento de datos: En lugar de extraer reglas
generales o patrones a partir de los datos de entrenamiento,
KNN almacena todos los puntos de datos en su memoria.
• Clasificación en tiempo de prueba: Solo cuando se le presenta
un nuevo punto de datos para clasificar, KNN busca en todo el
conjunto de entrenamiento los k vecinos más cercanos al
nuevo punto.
• Decisión basada en vecinos: La clasificación del nuevo punto
se determina en función de la mayoría de las clases entre sus k
vecinos más cercanos.
¿Ventajas y desventajas de un algoritmo perezoso?
Los algoritmos perezosos, como el k-NN, son una categoría de algoritmos de aprendizaje automático que retrasan
el cálculo de la predicción hasta que se presenta un nuevo punto de datos. Esto los diferencia de los algoritmos
ávidos, que construyen un modelo general a partir de los datos de entrenamiento.

Ventajas: Desventajas:
• Simplicidad: Su concepto es sencillo de entender y de • Lento en la predicción: Calcular la distancia a todos los puntos de
implementar. entrenamiento para cada nueva instancia puede ser
• Versatilidad: Se adaptan bien a diferentes tipos de computacionalmente costoso, especialmente para conjuntos de
problemas, tanto de clasificación como de regresión. datos grandes.
• No hacen suposiciones sobre los datos: No requieren • Sensible a la dimensionalidad: A medida que aumenta el número
que los datos se ajusten a una distribución particular. de características, la distancia entre los puntos se vuelve menos
• Alta precisión: Suelen obtener buenos resultados en significativa, lo que puede afectar el rendimiento del algoritmo.
muchos problemas, especialmente cuando los datos son • Sensible al ruido: Los puntos de entrenamiento ruidosos pueden
complejos y no lineales. influir negativamente en las predicciones.
• Fácil actualización: Agregar nuevos datos de • Requiere mucho espacio de almacenamiento: Es necesario
entrenamiento es sencillo, ya que no se requiere volver almacenar todos los datos de entrenamiento en memoria.
a entrenar todo el modelo • No proporciona un modelo interpretable: No es fácil entender
cómo el algoritmo llega a una predicción en particular.
¿Ventajas y desventajas de un algoritmo perezoso?

Ventaja Desventaja
Simplicidad Lento en la predicción
Versatilidad Sensible a la dimensionalidad
No hace suposiciones sobre los datos Sensible al ruido
Alta precisión Requiere mucho espacio de almacenamiento
Fácil actualización No proporciona un modelo interpretable
K Vecinos Cercanos KNN

Pros Contras
Sensible a los datos: Muy sensible a los datos ruidosos
Simple de implementar: Fácil de entender y codificar.
y atípicos.
Versátil: Puede utilizarse tanto para clasificación Costoso computacionalmente: Puede ser lento para
como para regresión. grandes conjuntos de datos.
No requiere entrenamiento: No hay una fase de Requiere selección de K: La elección de K puede
entrenamiento explícita. afectar significativamente el rendimiento.
Puede capturar patrones complejos: Puede adaptarse Sensible a la escala de los datos: Las características
a límites de decisión no lineales. con mayor rango pueden dominar la distancia.
KNN Aplicaciones
KNN tiene una amplia gama de aplicaciones en diversos campos,
incluyendo:
• Recomendación de productos: Al recomendar productos
similares a los que un usuario ha comprado previamente.
• Clasificación de texto: Para clasificar documentos en diferentes
categorías (por ejemplo, spam o no spam).
• Reconocimiento de patrones: En aplicaciones como
reconocimiento de imágenes y detección de anomalías.
• Bioinformática: Para clasificar genes o proteínas.
• Finanzas: Para predecir la probabilidad de incumplimiento de
crédito.
KNN Ejemplo

Clasificar si un nuevo cliente comprará un producto o no.


Utilizando KNN, buscarías a los K clientes más similares (basados
en características como edad, ingresos, historial de compras) y
verías si la mayoría de ellos compró el producto. Si la mayoría lo
compró, entonces es probable que el nuevo cliente también lo
haga.
KNN Hiperparametros
Hiperparámetro Descripción Valores típicos Impacto en el modelo
Mayor k suaviza las decisiones, pero
Número de vecinos a considerar para puede llevar a un sesgo. Menor k
n_neighbors (k) Entero positivo
la clasificación o regresión. puede hacer el modelo más
susceptible al ruido.
'uniform' (todos los vecinos tienen el 'distance' puede ser útil cuando los
Función de ponderación para los
weights mismo peso), 'distance' (los vecinos datos están más densos en algunas
vecinos.
más cercanos tienen más peso) regiones.

La elección depende del tamaño y


Algoritmo utilizado para calcular los dimensionalidad de los datos.
algorithm 'auto', 'ball_tree', 'KDTree', 'brute'
vecinos más cercanos. 'ball_tree' y 'KDTree' son eficientes
para grandes conjuntos de datos.

Afecta la velocidad de construcción y


consulta del árbol. Valores más
Tamaño máximo de cada hoja en el
leaf_size Entero positivo pequeños pueden mejorar la
árbol ball_tree o KDTree.
precisión, pero aumentar el tiempo de
cálculo.
Entero positivo (1 para distancia de
Controla la sensibilidad a las
p Poder de la métrica de Minkowski. Manhattan, 2 para distancia
diferentes dimensiones.
euclidiana)
Métrica de distancia utilizada para 'euclidean', 'manhattan', 'minkowski', La elección de la métrica depende de
metric
calcular la distancia entre los puntos. etc. la naturaleza de los datos.
KNN Hiperparametros
Escalado de datos: Es altamente recomendable escalar Tuning de hiperparámetros:
los datos antes de aplicar KNN, especialmente si las • Grid Search: Explora todas las combinaciones
características tienen diferentes rangos. posibles de valores de hiperparámetros dentro
Selección de características: Eliminar características de un rango especificado.
irrelevantes o redundantes puede mejorar el • Randomized Search: Muestrea aleatoriamente
rendimiento del modelo y reducir el tiempo de cálculo. combinaciones de hiperparámetros.
Dimensionality reduction: Para datos de alta • Bayesian Optimization: Utiliza un modelo
dimensionalidad, técnicas como PCA pueden ayudar a probabilístico para encontrar la combinación
reducir la dimensionalidad y mejorar la eficiencia de óptima de hiperparámetros.
KNN.
Validación cruzada: Utilice técnicas de validación
cruzada para evaluar el rendimiento del modelo y
seleccionar los mejores hiperparámetros.
Naive Bayes

El algoritmo Naive Bayes es un clasificador probabilístico simple


pero poderoso, ampliamente utilizado en diversas aplicaciones de
aprendizaje automático. Se basa en el teorema de Bayes y asume
que las características son condicionalmente independientes
entre sí.
Cuando Usar Naive Bayes

• Cuando se tiene un conjunto de datos grande y disperso.


• Cuando la velocidad de clasificación es una prioridad.
• Cuando la interpretabilidad del modelo es importante.
Como funciona Naive Bayes
Cálculo de Probabilidades:
• Calcula la probabilidad a posteriori de que una instancia
pertenezca a una determinada clase, dada la evidencia (los
valores de las características).Utiliza el teorema de Bayes para
realizar este cálculo.
• Asume que todas las características son independientes entre
sí, lo que simplifica el cálculo.
Clasificación:
• Asigna la instancia a la clase con la probabilidad a posteriori
más alta.
Como funciona Naive Bayes
Cálculo de Probabilidades:
• Calcula la probabilidad a posteriori de que una instancia
pertenezca a una determinada clase, dada la evidencia (los
valores de las características).Utiliza el teorema de Bayes para
realizar este cálculo.
• Asume que todas las características son independientes entre
sí, lo que simplifica el cálculo.
Clasificación:
• Asigna la instancia a la clase con la probabilidad a posteriori
más alta.
Como funciona Naive Bayes
El teorema de Bayes es una regla
fundamental en probabilidad que
nos permite actualizar nuestras
creencias o probabilidades sobre
un evento, a medida que
obtenemos nueva evidencia. Es
decir, nos ayuda a entender cómo
la nueva información modifica
nuestras probabilidades iniciales.
Ejemplo Teorema Bayes
Vantajas y desventajas de Naive Bayes
Ventajas Desventajas
Asunción de independencia: La suposición de
Simple y fácil de implementar: Requiere pocos
independencia condicional puede no ser realista en
cálculos y es fácil de entender.
muchos casos.
Rápido y eficiente: Escala bien a grandes conjuntos Sensible a datos espurios: Puede ser afectado por
de datos y es rápido de entrenar. características irrelevantes o con ruido.
Buen rendimiento en clasificación de texto: Se utiliza
Puede sufrir de sobreajuste si hay pocas muestras de
ampliamente en tareas como filtrado de spam y
entrenamiento.
clasificación de documentos.
Requiere pocos datos de entrenamiento: Puede
obtener buenos resultados incluso con conjuntos de No modela relaciones complejas entre características.
datos pequeños.
Aplicaciones de Naive Bayes
Aplicaciones Comunes
• Clasificación de texto: Filtrado de spam, clasificación de
sentimientos, categorización de noticias.
• Filtrado colaborativo: Sistemas de recomendación.
• Clasificación de documentos: Organización de documentos en
categorías.
• Diagnóstico médico: Clasificación de pacientes en diferentes
categorías de enfermedades.
• Predicción de fraude: Detección de transacciones fraudulentas.
Hiperparámetros de Naive Bayes

Hiperparámetro Descripción
Estimador de probabilidad Método para calcular las probabilidades
Varianza (Gaussian Naive Bayes) Dispersión de los datos
Matriz de Confusión

Esta tabla compara las


Una matriz de confusión es
predicciones realizadas por el
una tabla que se utiliza para
modelo con los valores reales,
evaluar el desempeño de un
permitiendo visualizar de
modelo de clasificación en
forma clara los aciertos y
aprendizaje automático.
errores del modelo.
Matriz de Confusión

Celdas: Contienen el
Columnas: Representan las número de muestras que
Filas: Representan las
clases predichas por el pertenecen a una clase real
clases reales o verdaderas.
modelo. y han sido clasificadas en
una clase determinada.
Matriz de Confusión

Predicho Positivo Predicho Negativo


Real Positivo Verdadero Positivo (VP) Falso Negativo (FN)
Real Negativo Falso Positivo (FP) Verdadero Negativo (VN)

Verdadero Positivo (VP): El modelo predijo correctamente una instancia positiva.


Falso Negativo (FN): El modelo predijo incorrectamente una instancia positiva como negativa.
Falso Positivo (FP): El modelo predijo incorrectamente una instancia negativa como positiva.
Verdadero Negativo (VN): El modelo predijo correctamente una instancia negativa.
Ejemplo Matriz de Confusión
Predicho Spam Predicho No Spam
Real Spam 900 100
Real No Spam 50 850

• VP: 900 correos spam fueron correctamente identificados como spam.


• FN: 100 correos spam fueron clasificados erróneamente como no spam.
• FP: 50 correos no spam fueron clasificados erróneamente como spam.
• VN: 850 correos no spam fueron correctamente identificados como no spam.
Como interpretar Matriz de Confusión

Los elementos diagonales representan la cantidad


de puntos para los cuales la etiqueta predicha es
igual a la etiqueta verdadera , mientras que los
elementos fuera de la diagonal son aquellos que
están mal etiquetados por el clasificador. Cuanto
más altos sean los valores diagonales de la matriz
de confusión, mejor, lo que indica muchas
predicciones correctas.

https://www.researchgate.net/figure/Figura-6-Matriz-de-Confusion-Resultados-del-Modelo-SVM-en-la-
Prueba-1-Utilizando-el_fig2_329629520
Métricas Matriz de Confusión
Exactitud: ( en inglés, “Accuracy”) se refiere a lo cerca que está el resultado de una medición del
valor verdadero. En términos estadísticos, la exactitud está relacionada con el sesgo de una
estimación. Se representa como la proporción de resultados verdaderos (tanto verdaderos positivos
(VP) como verdaderos negativos (VN)) dividido entre el número total de casos examinados
(verdaderos positivos, falsos positivos, verdaderos negativos, falsos negativos)

En forma práctica, la Exactitud es la cantidad de predicciones positivas que fueron correctas.

Accuracy=(VP+VN)/(VP+FP+FN+VN)

https://www.juanbarrios.com/la-matriz-de-confusion-y-sus-metricas/
Métricas Matriz de Confusión
Precisión: (en inglés “Precision”) Se refiere a la dispersión del conjunto de valores obtenidos a partir
de mediciones repetidas de una magnitud. Cuanto menor es la dispersión mayor la precisión. Se
representa por la proporción de verdaderos positivos dividido entre todos los resultados positivos
(tanto verdaderos positivos, como falsos positivos).

En forma práctica es el porcentaje de casos positivos detectados.

Se calcula como: Precision =VP/(VP+FP)

https://www.juanbarrios.com/la-matriz-de-confusion-y-sus-metricas/
Métricas Matriz de Confusión
La Sensibilidad (Recall o Sensitivity ):También se conoce como Tasa de Verdaderos Positivos (True
Positive Rate) ó TP. Es la proporción de casos positivos que fueron correctamente identificadas por el
algoritmo.

Se calcula así: : TP =VP/(VP+FN), o lo que sería igual : Verdaderos positivos / Total Enfermos

En el área de la salud decimos que la sensibilidad es la capacidad de poder detectar correctamente


la enfermedad entre los enfermos.

https://www.juanbarrios.com/la-matriz-de-confusion-y-sus-metricas/
Métricas Matriz de Confusión
Especificidad (Especificity): conocida como la Tasa de Verdaderos Negativos, (“true negative rate”) o
TN. Se trata de los casos negativos que el algoritmo ha clasificado correctamente. Expresa cuan bien
puede el modelo detectar esa clase.

Se calcula: Especificity = VN/(VN+FP),

En términos de salud: Verdaderos Negativos / Total Sanos

En el área de la salud decimos que la especificidad es la capacidad de poder identificar los casos de
pacientes sanos entre todos los sanos)

https://www.juanbarrios.com/la-matriz-de-confusion-y-sus-metricas/
Métricas Matriz de Confusión

https://www.juanbarrios.com/la-matriz-de-confusion-y-sus-metricas/
Matriz de Confusión

• Visión por computadora: Clasificación de imágenes.


• Procesamiento de lenguaje natural: Análisis de sentimientos,
clasificación de textos.
• Medicina: Diagnóstico de enfermedades.
• Finanzas: Detección de fraudes.

La matriz de confusión es una herramienta esencial para entender y evaluar el


desempeño de los modelos de clasificación en inteligencia artificial. Al proporcionar
una visión clara de los aciertos y errores del modelo, permite tomar decisiones
informadas sobre cómo mejorar el modelo y optimizar su rendimiento.
Algoritmos de aprendizaje supervisado por
clasificación
Algoritmo Descripción Ventajas Desventajas Casos de uso típicos
Modela la probabilidad de Asume linealidad entre las Clasificación binaria (spam/no
Regresión Logística Simple, eficiente, interpretable.
pertenencia a una clase. características. spam), predicción de churn.

Crea un modelo en forma de árbol Fácil de entender, maneja datos Puede sobreajustarse, sensible al Análisis de riesgo, segmentación de
Árboles de Decisión
para tomar decisiones. mixtos, no requiere escalado. ruido en los datos. clientes.

Conjunto de árboles de decisión


Reduce el sobreajuste, alta Modelos más complejos, pueden Clasificación de imágenes,
Bosques Aleatorios que "votan" para tomar la decisión
precisión. ser lentos de entrenar. detección de fraudes.
final.

Buen desempeño en datos de alta Sensible a la elección del kernel,


Máquinas de Vectores de Soporte Busca el hiperplano que mejor Clasificación de texto,
dimensión, efectivo en problemas puede ser lento para grandes
(SVM) separa las clases. reconocimiento de patrones.
de clasificación binaria. conjuntos de datos.

Basado en el teorema de Bayes,


Rápido, simple, efectivo con La suposición de independencia Filtrado de spam, clasificación de
Naive Bayes asume independencia entre las
grandes conjuntos de datos. puede no ser realista. documentos.
características.
Sensible a la elección de K, puede
Clasifica un nuevo punto basado en Simple, no requiere entrenamiento Recomendación de productos,
K-Nearest Neighbors (KNN) ser lento para grandes conjuntos de
los K vecinos más cercanos. previo. clasificación de imágenes.
datos.

Modelos inspirados en el cerebro Requieren grandes cantidades de


Alta precisión en tareas complejas, Reconocimiento de imágenes,
Redes Neuronales Artificiales humano, capaces de aprender datos, pueden ser difíciles de
capacidad de aprendizaje profundo. procesamiento del lenguaje natural.
patrones complejos. entrenar.
Ejemplos por tipos

• Clasificación de imágenes (por ejemplo, identificar si


una imagen contiene un gato o un perro)
Clasificación • Detección de fraude en tarjetas de crédito
• Análisis de sentimiento en redes sociales

• Predicción de precios de viviendas


Regresión • Pronóstico de ventas
• Estimación de la vida útil de un producto
Aprendizaje supervisado: Regresión
La Varianza
La varianza en un modelo de inteligencia artificial es una medida de cuán sensibles son las
predicciones del modelo a cambios en los datos de entrenamiento. En términos más
simples, nos indica qué tanto pueden variar los resultados de un modelo cuando se entrena
con diferentes subconjuntos de los mismos datos.

Sobreajuste •Una alta varianza indica que el modelo se ha ajustado demasiado a los datos de
entrenamiento, capturando incluso el ruido aleatorio. Esto puede llevar a que el modelo
funcione muy bien en los datos de entrenamiento, pero muy mal en nuevos datos
(Overfitting) (generalización).

Subajuste •Una varianza muy baja sugiere que el modelo es demasiado simple y no ha capturado la
complejidad de los datos. Esto resulta en un modelo que no puede hacer predicciones
(Underfitting) precisas ni en los datos de entrenamiento ni en los nuevos.

Compromiso sesgo- •En el aprendizaje automático, existe un compromiso entre el sesgo (bias) y la varianza. El
sesgo se refiere a la simplificación excesiva del modelo, mientras que la varianza se refiere a
varianza su complejidad excesiva. El objetivo es encontrar un modelo que equilibre ambos factores.
¿Cómo se manifiesta la alta varianza en un modelo?

Resultados • Pequeños cambios en los datos de entrenamiento pueden


llevar a grandes cambios en las predicciones del modelo.
inconsistentes

Bajo rendimiento en • El modelo no generaliza bien y tiene dificultades para hacer


predicciones precisas en datos que no ha visto durante el
nuevos datos entrenamiento.

Complejidad • Modelos con muchos parámetros o alta capacidad tienden a


tener mayor varianza.
excesiva del modelo
¿Cómo se manifiesta la alta varianza en un modelo?

• Técnicas como L1 y L2 regularización penalizan a los modelos complejos, reduciendo


Regularización su capacidad de sobreajustarse a los datos.

• Si el modelo tiene demasiados datos, puede sobreajustarse.


Menos datos • Reducir la cantidad de datos de entrenamiento puede ayudar a reducir la varianza.

• Utilizar modelos con menos parámetros o menos capas puede reducir la


Modelos más simples complejidad y, por lo tanto, la varianza.

• Esta técnica permite evaluar el rendimiento del modelo en diferentes subconjuntos


Validación cruzada de los datos, ayudando a identificar problemas de sobreajuste y a seleccionar los
mejores hiperparámetros.
¿Cómo se manifiesta la alta varianza en un modelo?

• La diferencia entre la predicción promedio de nuestro


Sesgo (bias) modelo y el valor real.

Compromiso sesgo- • El equilibrio entre sesgo y varianza en un modelo.


varianza
• Los problemas de ajuste excesivo e insuficiente de un
Overfitting y underfitting modelo.

Técnicas de regularización • L1, L2, dropout, etc.


Ruido - Noise

El ruido en modelos de IA se refiere a cualquier perturbación o


información no deseada que interfiere con el proceso de
aprendizaje y puede afectar negativamente los resultados de un
modelo.
Fuentes de Ruido en Modelos de IA

•Datos faltantes: Cuando hay información ausente en el conjunto de datos.

Datos •Datos erróneos: Cuando los datos son incorrectos o contienen errores.
•Datos ruidosos: Cuando los datos están contaminados con valores aleatorios o no significativos.
•Desequilibrios en los datos: Cuando una clase de datos está sobrerrepresentada o subrepresentada.

•Sobreajuste: Cuando el modelo se ajusta demasiado a los datos de entrenamiento, perdiendo capacidad de

Modelo generalización.
•Subajuste: Cuando el modelo no es lo suficientemente complejo para capturar las relaciones en los datos.
•Hiperparámetros: Una configuración incorrecta de los hiperparámetros del modelo puede introducir ruido.

Entorno •Variaciones en los datos de entrada: Cuando los datos de entrada varían significativamente, como en imágenes con
diferentes condiciones de iluminación.

Algoritmo •Errores en la implementación: Errores en el código del algoritmo.


•Algoritmos sensibles al ruido: Algunos algoritmos son más sensibles al ruido que otros.
Impacto del Ruido en los Modelos de IA

Preprocesamiento de datos • Limpiar y transformar los datos para reducir el ruido.

• Agregar términos de penalización a la función de pérdida para evitar el


Regularización sobreajuste.

• Crear nuevas muestras de datos a partir de los datos existentes para


Aumento de datos reducir el desequilibrio y aumentar la robustez del modelo.

• Seleccionar las características más relevantes para reducir la


Selección de características dimensionalidad de los datos y eliminar el ruido.

• Utilizar modelos diseñados específicamente para ser resistentes al


Modelos robustos ruido.
¿Algoritmos de ML más usados para regresión
Regresión Lineal

En estadística, la regresión lineal o ajuste


lineal es un modelo matemático usado para
aproximar la relación de dependencia entre
una variable dependiente Y, m variables
independientes X_i .
Regresión Lineal

El análisis de la regresión lineal se utiliza


para predecir el valor de una variable (Y)
según el valor de otra (X). ... Esta forma de
análisis estima los coeficientes de la
ecuación lineal, involucrando una o a más
variables independientes que mejor predicen
el valor de la variable dependiente.
Regresión Lineal
Como funciona

Ajuste del
• Se recolectan datos modelo • Una vez ajustado el
sobre la variable modelo, se pueden hacer
dependiente y las • Se encuentra la línea predicciones para nuevos
independientes. recta que mejor se ajusta valores de la variable
a los datos, minimizando independiente
la distancia entre los
puntos de datos y la
línea.
Recopilación
Predicción
de datos
Ventajas y Desventajs

Ventajas Desventajas
Sensible a valores atípicos: Los valores atípicos
Simple de entender e implementar: Fácil de
pueden influir significativamente en la recta de
interpretar y visualizar.
regresión.
Asunción de linealidad: Asume una relación lineal
Rápido de entrenar: No requiere gran capacidad
entre las variables, lo cual puede no ser siempre el
computacional.
caso.
No captura relaciones no lineales: No puede modelar
Buen punto de partida: Sirve como base para
patrones curvilíneos o interacciones complejas entre
modelos más complejos.
variables.
Sensible a la multicolinealidad: Si las variables
Interpretabilidad: Los coeficientes de la regresión
independientes están altamente correlacionadas,
tienen una interpretación clara.
puede afectar los resultados.
Como funciona
• Predecir las ventas futuras en función de variables
Predicción de ventas como el precio, la publicidad y la estacionalidad.

• Modelar el rendimiento de las acciones en función de


Análisis financiero indicadores económicos.

• Estudiar la relación entre variables socioeconómicas y


Ciencias sociales otros factores.

Ingeniería • Modelar procesos físicos y predecir resultados.


Hiperparámetros
La regresión lineal simple no tiene muchos hiperparámetros, pero en la regresión lineal
múltiple (con varias variables independientes) y en técnicas relacionadas, pueden
aparecer algunos:
• Regularización: Técnicas como Ridge y Lasso se utilizan para evitar el sobreajuste y
seleccionar las variables más relevantes.
• Transformación de variables: A veces es necesario transformar las variables (por
ejemplo, aplicar logaritmos) para mejorar el ajuste del modelo.

Tabla de Hiperparámetros (Regresión Lineal Regularizada)

• Controla la fuerza de la regularización. Valores altos


Alpha (Ridge y Lasso) penalizan más los coeficientes.

• Combina Ridge y Lasso, permitiendo un equilibrio entre


Lambda (Elastic Net) ambos tipos de regularización.
Hiperparámetros

Datos lineales Interpretabilidad Velocidad

Cuando se espera una relación lineal entre Cuando la interpretabilidad del modelo es Cuando se necesita un modelo rápido de
las variables. importante. entrenar y evaluar.
Regresiones Lineales Múltiples

La regresión lineal múltiple trata de


ajustar modelos lineales o
linealizables entre una variable
dependiente y más de unas
variables independientes. En este
tipo de modelos es importante
testar la heterocedasticidad, la
multicolinealidad y la
especificación.
Regresión Lineal Múltiples

La regresión lineal múltiple es una técnica estadística que busca


modelar la relación lineal entre una variable dependiente (la
que queremos predecir) y dos o más variables independientes.
En otras palabras, intenta encontrar una ecuación que mejor
represente cómo un conjunto de variables influye en otra.

Ejemplo: Predecir el precio de una casa en función de su


tamaño, ubicación, número de habitaciones, etc
Regresión Lineal Múltiples
Regresión Lineal Múltiples

Ventajas Desventajas
Linealidad: Asume una relación lineal entre las
Simple de interpretar: Los coeficientes tienen una
variables, lo que puede no ser realista en todos los
interpretación directa.
casos.
Ampliamente utilizado: Es una técnica muy popular y Sensibilidad a outliers: Los valores atípicos pueden
bien comprendida. influir significativamente en los resultados.
Base para modelos más complejos: Sirve como base Multicolinealidad: Si las variables independientes
para modelos más avanzados como regresión logística, están altamente correlacionadas, puede afectar la
análisis de componentes principales, etc. estabilidad y la interpretación del modelo.
Fácil implementación: Existen muchas herramientas y
Heterocedasticidad: Si la varianza de los errores no es
bibliotecas para implementar regresión lineal múltiple
constante, las inferencias pueden ser incorrectas.
(por ejemplo, en Python con Scikit-learn).
Aplicaciones

Análisis de Control de Ciencias


Predicción Identificar las Economía
causalidad calidad sociales Analizar el impacto
Predecir valores variables que más Monitorear Modelar relaciones de variables
futuros de una influyen en una procesos y detectar entre variables socioeconómicas en
variable. variable de interés. anomalías. económicas. diferentes
resultados.
Hiperparámetros

Selección de
Regularización
variables Métodos como selección
Técnicas como Ridge y
hacia adelante, hacia
Lasso se utilizan para
atrás o stepwise se
reducir la complejidad
utilizan para seleccionar
del modelo y prevenir el
las variables más
sobreajuste.
relevantes.
Regresión Lineal Múltiples

Ventajas Desventajas
Linealidad: Asume una relación lineal entre las
Simple de interpretar: Los coeficientes tienen una
variables, lo que puede no ser realista en todos los
interpretación directa.
casos.
Ampliamente utilizado: Es una técnica muy popular y Sensibilidad a outliers: Los valores atípicos pueden
bien comprendida. influir significativamente en los resultados.
Base para modelos más complejos: Sirve como base Multicolinealidad: Si las variables independientes
para modelos más avanzados como regresión logística, están altamente correlacionadas, puede afectar la
análisis de componentes principales, etc. estabilidad y la interpretación del modelo.
Fácil implementación: Existen muchas herramientas y
Heterocedasticidad: Si la varianza de los errores no es
bibliotecas para implementar regresión lineal múltiple
constante, las inferencias pueden ser incorrectas.
(por ejemplo, en Python con Scikit-learn).
Regresión de Poisson

La regresión de Poisson es un tipo de modelo lineal generalizado


(GLM) específicamente diseñado para modelar datos de conteo.
Esto significa que es ideal para analizar variables dependientes
que representan el número de veces que ocurre un evento en un
intervalo de tiempo o espacio específico. Por ejemplo, el número
de llamadas a un centro de atención al cliente por hora, el
número de accidentes de tráfico en una carretera, o el número de
bacterias en una placa de Petri.
Cómo funciona la Regresión de Poisson
Ventajas y Desventajas
Desventajas
Ventajas de
de la
la Regresión Ideal para datos de conteo Sobre-dispersión
Regresión
de Poisson • Perfecto para modelar • Si la varianza de los datos es
fenómenos que involucran de Poisson mayor que la media, se puede
conteos. presentar sobre-dispersión, lo
que puede invalidar los
resultados.

Interpretación clara Supuesto de Poisson


• Los coeficientes de la regresión • La distribución de Poisson asume
pueden interpretarse en términos que la media y la varianza son
de razones de tasas. iguales. Si esto no se cumple, se
pueden utilizar modelos más
flexibles como la regresión de
quasi-Poisson o la regresión de
Poisson negativa.

Flexibilidad Cero inflados


• Puede adaptarse a diferentes • Si hay muchos ceros en los datos,
tipos de datos y estructuras de se puede utilizar una regresión de
datos. Poisson cero-inflada.
Aplicaciones

Análisis de
Epidemiología Marketing Finanzas
fiabilidad
Modelar el número Modelar el número
Modelar el número Analizar la
de compras de transacciones en
de fallas en un incidencia de
realizadas por un un período de
sistema. enfermedades.
cliente. tiempo.
Hiperparámetros Regresión de Poisson
La regresión de Poisson no tiene hiperparámetros en el sentido tradicional, ya que
es un modelo paramétrico. Los parámetros a estimar son los coeficientes β que
relacionan las variables predictoras con la variable de respuesta.

Sin embargo, al ajustar el modelo, se pueden considerar las siguientes opciones:

• Aunque el logaritmo es la función de enlace más común, se


Función de enlace pueden explorar otras funciones en casos específicos.

• Si se sospecha de sobre-dispersión, se puede considerar una


Distribución de errores distribución de Poisson negativa o quasi-Poisson.

• La elección de las variables predictoras influye en la calidad


Variables predictoras del modelo.
Resumen Regresión de Poisson

Característica Regresión de Poisson


Tipo de modelo Modelo lineal generalizado
Distribución de la variable respuesta Poisson
Función de enlace Logarítmico (por defecto)
Datos de conteo, análisis de fiabilidad, epidemiología,
Aplicaciones
marketing
Ventajas Ideal para datos de conteo, interpretación clara
Desventajas Sobre-dispersión, supuesto de Poisson, cero inflados
Hiperparámetros Función de enlace, distribución de errores
Naive Bayes – Bayesiano - Ingenuo

En teoría de la probabilidad y minería de datos, un clasificador


Naive Bayes es un clasificador probabilístico fundamentado en
el teorema de Bayes y algunas hipótesis simplificadoras
adicionales. Es a causa de estas simplificaciones, que se suelen
resumir en la hipótesis de independencia entre las variables
predictoras, que recibe el apelativo de naive, es decir, ingenuo.

La clasificación bayesiana es una técnica de aprendizaje


automático supervisado que utiliza el teorema de Bayes para
predecir la pertenencia de un nuevo dato a una determinada
clase. Se basa en la probabilidad condicional, es decir, en
calcular la probabilidad de que un dato pertenezca a una clase
dada, considerando las características observadas en ese dato.
Naive Bayes – Bayesiano - Ingenuo
• Clasifica los correos electrónicos como spam o no spam.
Filtrado de spam
• Determina si un texto expresa una opinión positiva, negativa o neutral.
Análisis de sentimientos •

• Ayuda a predecir enfermedades basándose en síntomas y resultados de pruebas.


Diagnóstico médico
• Sugiere productos a los usuarios basándose en sus preferencias y historial de
Recomendación de productos compras.

• Categoriza documentos en diferentes temas.


Clasificación de texto
• Identifica transacciones fraudulentas.
Detección de fraudes
Pros y Contras Naive Bayes – Bayesiano

Pros Contras
Hipótesis de independencia: Asume que las
Simple y eficiente: Fácil de implementar y rápido de
características son independientes, lo cual puede no
entrenar.
ser realista en muchos casos.
Buen rendimiento: A menudo obtiene resultados Sensibilidad a los datos: La calidad de los datos de
sorprendentemente buenos, especialmente con entrenamiento es crucial para el desempeño del
conjuntos de datos grandes. modelo.
Puede subestimar características correlacionadas: Si
Robusta a datos faltantes: Puede manejar datos
las características están fuertemente correlacionadas,
faltantes de forma relativamente sencilla.
el modelo puede no capturar todas las relaciones.
Ejemplos Naive Bayes – Bayesiano - Ingenuo

Correos electrónicos como spam o no spam. Las características que podríamos


considerar incluyen:

• La presencia de ciertas palabras (e.g., "gratis", "oferta", "ganar").


• El dominio del remitente.
• La longitud del sujeto.

La clasificación bayesiana calcularía la probabilidad de que un correo


electrónico sea spam dado el conjunto de características observadas.
Hiperparametros Naive Bayes – Bayesiano

Hiperparámetro Valores típicos Efecto


Suavizado Laplace 1 Evita probabilidades cero
Asume que todos los datos de
Estimador de probabilidad Máxima verosimilitud entrenamiento son igualmente
probables
Selecciona las características más
Selección de características Chi-cuadrado, información mutua
relacionadas con la clase
Ejemplos Naive Bayes – Bayesiano - Ingenuo
Los hiperparámetros son parámetros que se establecen antes del entrenamiento del modelo y
afectan directamente su rendimiento. En la clasificación bayesiana, los hiperparámetros más
comunes son:

Hiperparámetro Descripción Influencia en el modelo


Añade un valor pequeño a todos
Reduce el impacto de las
Suavizado Laplace: los recuentos para evitar
características poco frecuentes.
probabilidades cero.
Método utilizado para estimar las Afecta la distribución de las clases
Estimador de probabilidad:
probabilidades a priori. en las predicciones.
Método utilizado para seleccionar Mejora la precisión y reduce el
Selección de características:
las características más relevantes. sobreajuste.
Hiperparámetros
Hiperparámetros
R Cuadrado
El R-cuadrado, también conocido como coeficiente de
determinación, es una medida estadística que nos indica qué
proporción de la variabilidad de una variable dependiente
puede ser explicada por una o más variables independientes en
un modelo de regresión.

El coeficiente de determinación, denominado R² y


pronunciado R cuadrado, es un estadístico usado en el
contexto de un modelo estadístico cuyo principal propósito es
predecir futuros resultados o probar una hipótesis

En términos más simples, el R-cuadrado nos dice qué tan bien nuestro modelo se ajusta a los datos reales.
Cómo se interpreta el R Cuadrado
• El R-cuadrado siempre se encuentra entre 0 y 1.

Valor entre 0 y 1
• Significa que el modelo no explica ninguna variabilidad en los datos. Es decir, las

Cero variables independientes no son útiles para predecir la variable dependiente.

• Indica que el modelo explica toda la variabilidad en los datos. Es decir, las variables

Uno independientes explican perfectamente la variable dependiente.

• Cuanto más cercano esté el R-cuadrado a 1, mejor será el ajuste del modelo a los

Valores intermedios datos. Por ejemplo, un R-cuadrado de 0.8 significa que el 80% de la variabilidad en
la variable dependiente puede ser explicada por las variables independientes.
Cuando se aplica el R Cuadrado

Regresión • Es una medida estándar en


modelos de regresión lineal para
lineal evaluar la calidad del ajuste.

Otros • Aunque se originó en la regresión


lineal, se puede adaptar y utilizar
modelos en otros modelos estadísticos..
Limitaciones de usar el R Cuadrado
• Un R-cuadrado alto no significa necesariamente que exista una
relación causal entre las variables.
No garantiza la causalidad

• A medida que se añaden más variables independientes a un


Puede aumentar al añadir modelo, el R-cuadrado tiende a aumentar, incluso si esas variables
no son relevantes. Por esta razón, se suele utilizar el R-cuadrado
más variables ajustado, que penaliza la inclusión de variables innecesarias.

No es una medida de la • En algunos casos, un modelo con un R-cuadrado bajo puede ser más
útil que uno con un R-cuadrado alto, dependiendo del objetivo del
bondad del modelo en análisis.
todos los contextos
R Cuadrado Ajustado
El R cuadrado ajustado (R² ajustado) es una
métrica estadística utilizada en el análisis de
regresión para evaluar qué tan bien un modelo
lineal se ajusta a un conjunto de datos. En términos
más simples, nos indica qué porcentaje de la
variabilidad en la variable dependiente (aquella que
queremos predecir) es explicada por las variables
independientes (aquellas que utilizamos para hacer
la predicción), teniendo en cuenta el número de
variables independientes en el modelo.
Por que es importante el R Cuadrado ajustado
• A diferencia del R cuadrado tradicional, que siempre aumenta al agregar más
Compensa la variables al modelo, el R cuadrado ajustado penaliza la inclusión de variables que
no aportan significativamente al modelo. Esto evita el sobreajuste, un problema

adición de variables común en el modelado estadístico donde el modelo se ajusta demasiado bien a
los datos de entrenamiento y pierde capacidad de generalización a nuevos datos.

• Permite comparar diferentes modelos con un número distinto de variables


Comparación de independientes, ya que proporciona una medida más justa de su ajuste.

modelos
• Un valor de R cuadrado ajustado cercano a 1 indica que el modelo explica una
gran proporción de la variabilidad en la variable dependiente, mientras que un
Interpretación valor cercano a 0 sugiere que el modelo no es muy bueno para explicar los
datos.
Diferencias R Cuadrado y R Cuadrado Ajustado

Característica R cuadrado R cuadrado ajustado


Aumenta al agregar variables Sí No necesariamente
Penaliza la inclusión de variables
No Sí
innecesarias
Permite comparar modelos con
No Sí
distinto número de variables
Mide la proporción de varianza Sí, pero penalizando la complejidad

explicada del modelo
P-Value
El p-valor es una medida estadística que nos indica la
probabilidad de obtener los resultados observados en un
experimento, asumiendo que la hipótesis nula es cierta.

El p-valor es una cantidad que nos indica qué tan insólitos,


extraños, raros o inusuales son los resultados en la muestra del
estudio, considerando que la hipótesis nula (H0) establecida a
priori sea ver- dadera. Dicho de otra forma, es la probabilidad
(entre 0 y 1) de rechazar la H0 con los resultados obtenido.
P-Value
Imagina que quieres saber si una nueva medicina es más
efectiva que un placebo. La hipótesis nula sería que no hay
diferencia entre la medicina y el placebo. Si realizas un
experimento y obtienes resultados que sugieren que la
medicina sí es más efectiva, el p-valor te dirá qué tan
probable es obtener esos resultados por casualidad, es decir,
si la hipótesis nula fuera cierta.
P-Value
Imagina que quieres saber si una nueva medicina es más
efectiva que un placebo. La hipótesis nula sería que no hay
diferencia entre la medicina y el placebo. Si realizas un
experimento y obtienes resultados que sugieren que la
medicina sí es más efectiva, el p-valor te dirá qué tan
probable es obtener esos resultados por casualidad, es decir,
si la hipótesis nula fuera cierta.
Como se interpreta el P-Value
• Esto significa que es poco probable
P-valor bajo obtener los resultados observados si la
hipótesis nula fuera cierta. Por lo tanto, se
(por ejemplo, rechaza la hipótesis nula y se concluye
que hay evidencia suficiente para apoyar
la hipótesis alternativa (en nuestro
menor a 0.05) ejemplo, que la medicina es más efectiva).

• Esto significa que es muy probable


P-valor alto obtener los resultados observados por
casualidad, incluso si la hipótesis nula
(por ejemplo, fuera cierta. Por lo tanto, no se puede
rechazar la hipótesis nula y no hay
evidencia suficiente para apoyar la
mayor a 0.05) hipótesis alternativa.

Es importante destacar que el p-valor no nos dice la probabilidad de que la


hipótesis nula sea cierta o falsa, sino la probabilidad de obtener los datos
observados si la hipótesis nula fuera cierta.
Como se interpreta el P-Value

Toma de • Se utiliza ampliamente en investigación


científica para tomar decisiones sobre si
decisiones aceptar o rechazar hipótesis.

Evaluación de • Se emplea para evaluar la significancia


de los coeficientes en modelos
modelos estadísticos.

Control de • Ayuda a controlar el riesgo de cometer


un error tipo I (rechazar una hipótesis
errores nula que es verdadera).
Correlación Lineal
La correlación lineal es una medida estadística
que nos indica la fuerza y dirección de la relación
lineal entre dos variables numéricas. En otras
palabras, nos dice si al aumentar el valor de una
variable, el valor de la otra tiende a aumentar
(correlación positiva), disminuir (correlación
negativa) o si no existe una relación lineal entre
ellas (correlación nula).

Visualmente, podemos representar la correlación


lineal a través de un diagrama de dispersión. Si los
puntos en el diagrama se ajustan a una línea recta,
la correlación es fuerte. Si los puntos están
dispersos, la correlación es débil o nula.
Aplicaciones de las correlaciones
• Relación entre ingresos y nivel de educación.
Ciencias sociales • Correlación entre horas de estudio y calificaciones.

• Relación entre temperatura y presión de un gas.


Ciencias naturales • Correlación entre dosis de un medicamento y respuesta terapéutica.

• Relación entre demanda y precio de un producto.


Economía • Correlación entre tasa de desempleo y crecimiento económico.

• Relación entre el rendimiento de dos acciones.


Finanzas • Correlación entre tasas de interés y precios de las viviendas.

• Relación entre la fuerza aplicada a un material y su deformación.


Ingeniería • Correlación entre la velocidad de un objeto y la distancia recorrida.
Correlación Lineal

Pros Contras
Sencilla de interpretar: El coeficiente de correlación Solo mide relaciones lineales: No es adecuada para
(r) varía entre -1 y 1, facilitando la comprensión de la identificar relaciones no lineales (curvilíneas,
fuerza y dirección de la relación. exponenciales, etc.).
Sensible a valores atípicos: Valores extremos pueden
Ampliamente utilizada: Es una técnica estadística
influir significativamente en el coeficiente de
fundamental y muy utilizada en diversos campos.
correlación.
No implica causalidad: Una correlación alta no
Base para otros análisis: Sirve como base para realizar
necesariamente implica que una variable cause
análisis de regresión lineal y otros modelos
cambios en la otra. Podría existir una tercera variable
estadísticos más complejos.
influyendo en ambas.

La correlación lineal es una herramienta estadística invaluable para explorar y cuantificar la


relación entre dos variables numéricas. Sin embargo, es importante recordar sus
limitaciones y utilizarla junto con otras técnicas estadísticas para obtener una comprensión
más completa de los datos.
Herramientas de analisis
Concepto Descripción Aplicaciones

Probabilidad de obtener un resultado al menos tan • Inferencia estadística: Determinar si hay una relación significativa entre
extremo como el observado, asumiendo que la variables.
hipótesis nula es cierta. Un valor de p bajo • Pruebas de hipótesis: Evaluar si un coeficiente de regresión es
p-value
(generalmente < 0.05) indica que rechazamos la significativamente diferente de cero.
hipótesis nula y que hay evidencia estadísticamente • Selección de modelos: Comparar diferentes modelos para elegir el que
significativa de un efecto. mejor se ajusta a los datos.

Proporción de la varianza de la variable dependiente


• Regresión lineal: Evaluar la bondad de ajuste del modelo.
que es explicada por la variable independiente (o
r-cuadrado • Análisis de varianza: Explicar la proporción de varianza total explicada
variables independientes en regresión múltiple). Indica
por el modelo.
qué tan bien el modelo se ajusta a los datos.

Versión corregida del r-cuadrado que penaliza la


• Selección de modelos: Comparar modelos con diferente número de
inclusión de variables innecesarias en el modelo. Es
r-cuadrado variables.
una medida más precisa de la bondad de ajuste,
ajustado • Evaluación de la relevancia de las variables: Identificar las variables
especialmente cuando se comparan modelos con
que contribuyen significativamente al modelo.
diferente número de predictores.

Mide la fuerza y la dirección de la relación lineal entre


dos variables numéricas. Un valor de correlación • Análisis de asociación: Evaluar si dos variables están relacionadas.
Correlación
cercano a 1 indica una fuerte relación positiva, un • Selección de variables: Identificar variables que podrían ser útiles como
lineal
valor cercano a -1 indica una fuerte relación negativa, predictores en un modelo de regresión
y un valor cercano a 0 indica una relación débil o nula.
Regresiones
Aprendizaje Supervisado por clasificación DL
Redes Recurrentes Profundas RNN
Redes Recurrentes Profundas RNN
Redes Recurrentes Profundas RNN
Ejemplos Redes Recurrentes Profundas RNN
Ejemplos Redes Recurrentes Profundas RNN
Ejemplos Redes Recurrentes Profundas RNN
Ejemplos Redes Recurrentes Profundas RNN
Redes Recurrentes Profundas RNN

Pros Contras
Dificultad para entrenar debido al problema del
Excelentes para procesar datos secuenciales.
gradiente desvaneciente y explosivo.
Requiere grandes cantidades de datos para entrenar
Capaces de modelar dependencias a largo plazo.
modelos efectivos.
Versátiles para diversas tareas (PLN, reconocimiento La arquitectura básica puede ser compleja de
de voz, generación de texto). entender e implementar.
Redes Recurrentes Profundas RNN

Hiperparámetro Descripción
Número de capas ocultas Determina la complejidad del modelo.
Número de unidades por capa Cantidad de neuronas en cada capa.
Función de activación Determina la no linealidad de las neuronas.
Controla la velocidad a la que se actualizan los pesos
Tasa de aprendizaje
durante el entrenamiento.
Algoritmo utilizado para minimizar la función de
Optimizador
pérdida.
Regularización Técnica utilizada para prevenir el sobreajuste.
Variantes Redes Recurrentes Profundas RNN

• LSTM (Long Short-Term Memory): Resuelve el problema del


gradiente desvaneciente y explosivo, permitiendo a las RNN
modelar dependencias a largo plazo.
• GRU (Gated Recurrent Unit): Similar a LSTM, pero con menos
parámetros, lo que las hace más eficientes
computacionalmente.
• Bidireccionales: Procesan la secuencia tanto hacia adelante
como hacia atrás, capturando información contextual de
ambos sentidos.
Redes Recurrentes Profundas RNN
Clasificación de Modelos de Deep Learning
Casos de uso de Deep Learning
Aprendizaje no supervisado
Aprendizaje no supervisado

El aprendizaje no supervisado es una rama del aprendizaje


automático donde los algoritmos buscan patrones ocultos en los
datos sin la necesidad de etiquetas o resultados predefinidos. A
diferencia del aprendizaje supervisado, en el que se entrena un
modelo con datos etiquetados para realizar predicciones, en el
aprendizaje no supervisado, el modelo explora los datos por sí
mismo para encontrar estructuras y relaciones inherentes.
Aprendizaje no supervisado

Los algoritmos de aprendizaje no supervisado buscan identificar


similitudes entre los datos y agruparlos en clusters o categorías.
Estos algoritmos no saben de antemano cómo deben verse estos
grupos, sino que los descubren de forma autónoma.

En términos más técnicos, el aprendizaje no supervisado es un


tipo de aprendizaje automático donde un modelo aprende a
encontrar estructuras ocultas en un conjunto de datos sin la
necesidad de etiquetas o resultados conocidos. A diferencia del
aprendizaje supervisado, donde se proporcionan ejemplos de
entrada y salida, en el aprendizaje no supervisado solo se
proporciona la entrada.
Aprendizaje no supervisado

Los algoritmos de aprendizaje no supervisado buscan identificar


similitudes entre los datos y agruparlos en clusters o categorías.
Estos algoritmos no saben de antemano cómo deben verse estos
grupos, sino que los descubren de forma autónoma.

En términos más técnicos, el aprendizaje no supervisado es un


tipo de aprendizaje automático donde un modelo aprende a
encontrar estructuras ocultas en un conjunto de datos sin la
necesidad de etiquetas o resultados conocidos. A diferencia del
aprendizaje supervisado, donde se proporcionan ejemplos de
entrada y salida, en el aprendizaje no supervisado solo se
proporciona la entrada.
Usos de aprendizaje no supervisado
• Clustering: Agrupa los datos en conjuntos basados en sus similitudes. Algunos
algoritmos populares son:
• K-means: Divide los datos en un número predefinido de clusters.
• Jerárquico: Crea una jerarquía de clusters, desde los más generales hasta
los más específicos.
• DBSCAN: Identifica clusters de alta densidad y puntos atípicos.
• Reducción de dimensionalidad: Reduce la dimensionalidad de los datos sin
perder mucha información. Esto es útil para visualizar datos de alta dimensión y
mejorar el rendimiento de otros algoritmos. Técnicas comunes incluyen:
• PCA (Análisis de Componentes Principales): Encuentra las direcciones de
mayor varianza en los datos.
• t-SNE: Visualiza datos de alta dimensión en un espacio de baja dimensión.
• Anomalía detección: Identifica puntos de datos que son significativamente
diferentes del resto.
• Asociación: Descubrir relaciones entre variables. Por ejemplo, encontrar
productos que suelen comprarse juntos en una tienda(Carrito de Compra).
Clustering - Agrupamiento

El clustering, o agrupamiento, es una técnica fundamental en el


aprendizaje no supervisado dentro de la inteligencia artificial.
Consiste en dividir un conjunto de datos en grupos, o clusters, de
manera que los elementos dentro de cada grupo sean más
similares entre sí que los elementos de otros grupos.
Clustering - Agrupamiento
Ejemplos de aplicación de Clustering
Visualización de Clustering

Una vez que se han formado los clusters, es común visualizar los
datos para comprender mejor su estructura. Técnicas como los
diagramas de dispersión, los dendrogramas (para clustering
jerárquico) y los mapas de calor son útiles para esta tarea.
Clustering vs Clasificación
Característica Clustering Clasificación
Agrupar datos en grupos similares Asignar nuevos datos a clases
(clústeres) sin conocer de predefinidas basadas en
Objetivo
antemano las etiquetas de las características aprendidas de un
clases. conjunto de datos etiquetado.
Tipo de aprendizaje No supervisado Supervisado
Datos con etiquetas (características
Datos de entrada Datos sin etiquetas (características)
y clases)
Predicción de la clase a la que
Salida Grupos de datos similares
pertenece un nuevo dato
Descubrir patrones ocultos en los
Reconocimiento de patrones,
datos, segmentación de clientes,
Uso típico clasificación de texto, detección de
análisis de mercados, detección de
spam, diagnóstico médico.
anomalías.
Regresión logística, Árboles de
Algoritmos comunes K-means, Jerárquico, DBSCAN decisión, Redes neuronales (SVM,
Random Forest, etc.)
Medidas de similitud entre puntos
dentro de un clúster y disimilitud Precisión, Recall, F1-score, Matriz
Evaluación
entre clústeres (Silhouette score, de confusión.
Calinski-Harabasz Index).
¿Por qué es importante el clustering?

Descubrimiento de • Permite identificar estructuras ocultas en los datos, revelando relaciones


y conexiones que podrían no ser evidentes a simple vista.
patrones
Reducción de • Agrupando datos similares, se puede reducir la complejidad de los datos
y facilitar su análisis.
dimensionalidad
Segmentación de • En el ámbito empresarial, se utiliza para segmentar clientes y personalizar
campañas de marketing.
mercado
Detección de • Los puntos de datos que no encajan en ningún cluster pueden ser
considerados como anomalías, lo que es útil en detección de fraudes,
anomalías mantenimiento predictivo, etc.
¿Cómo funciona el clustering?

• Se eligen las características relevantes de los datos que se utilizarán


Selección de características para medir la similitud entre los puntos de datos.

• Existen diversos algoritmos de clustering, como K-means, Jerárquico,


Selección de un algoritmo DBSCAN, etc., cada uno con sus propias ventajas y desventajas.

• Se define una medida de distancia para calcular la similitud entre los


Definición de la distancia puntos de datos.

• El algoritmo asigna cada punto de datos al cluster más cercano,


Asignación de clusters basado en la medida de distancia

• El algoritmo iterativamente ajusta los centros de los clusters hasta


Optimización: que se alcanza un criterio de convergencia.
Aplicaciones del Clustering

• Análisis de expresión génica, clasificación de


Bioinformática proteínas.

• Segmentación de clientes, análisis de


Marketing comportamiento del consumidor.

• Detección de fraudes, análisis de riesgo de


Finanzas crédito.

• Segmentación de imágenes, reconocimiento


Imagen de patrones.
Aplicaciones del Clustering

• Análisis de expresión génica, clasificación de


Bioinformática proteínas.

• Segmentación de clientes, análisis de


Marketing comportamiento del consumidor.

• Detección de fraudes, análisis de riesgo de


Finanzas crédito.

• Segmentación de imágenes, reconocimiento


Imagen de patrones.
Algoritmos comunes de Aprendizaje no supervisado

• Uno de los algoritmos de clustering más populares, divide


K-means los datos en K grupos.

• Crea una jerarquía de clusters, donde los clusters más


Jerárquico pequeños se agrupan en clusters más grandes.

• Encuentra clusters de densidad variable y puede detectar


DBSCAN outliers.

Análisis de componentes • Reduce la dimensionalidad de los datos preservando la


principales (PCA) varianza máxima.

• Redes neuronales que aprenden a reconstruir la entrada,


Autoencoders capturando las características más importantes.
Tipos Algoritmos comunes de Clustering

Los algoritmos de clustering son herramientas fundamentales en el


aprendizaje no supervisado, utilizados para agrupar datos similares
en conjuntos (clusters) sin la necesidad de etiquetas predefinidas.
Esta técnica es invaluable en una amplia gama de aplicaciones,
desde la segmentación de clientes hasta la detección de anomalías.
Existen diferentes tipos de algoritmos de clustering, cada uno con
sus propias características y aplicaciones. En esta guía, nos
enfocaremos en tres tipos principales: particionales, aglomerativos
y jerárquicos.
Clustering particional

Los algoritmos de clustering particional dividen los datos en un


número fijo de grupos disjuntos. Es decir, cada punto de datos
pertenece a un solo cluster.
• K-means: Uno de los algoritmos más conocidos y utilizados.
Selecciona aleatoriamente k centroides iniciales y asigna cada
punto al centroide más cercano. Luego, recalcula los centroides
y repite el proceso hasta la convergencia.
• K-medoids: Similar a K-means, pero en lugar de usar centroides
(que pueden no ser puntos de datos reales), utiliza medoides,
que son puntos de datos reales.
• Clustering difuso: Asigna cada punto a todos los clusters con
diferentes grados de pertenencia, en lugar de asignarlo a un
solo cluster.
Clustering jerárquico

Los algoritmos jerárquicos construyen una jerarquía de clusters, ya


sea de forma ascendente (aglomerativa) o descendente (divisiva).
Clustering Jerárquico Aglomerativo
• Principio: Comienza con cada punto como un
cluster individual y luego fusiona los clusters más
cercanos de forma iterativa hasta que todos los
puntos pertenecen a un solo cluster.
• Métodos de enlace: Determinan cómo se calcula
la distancia entre clusters. Algunos métodos
comunes son:
• Enlace simple: La distancia entre dos clusters
es la distancia mínima entre los puntos de
cada cluster.
• Enlace completo: La distancia entre dos
clusters es la distancia máxima entre los
puntos de cada cluster.
• Enlace promedio: La distancia entre dos
clusters es el promedio de las distancias
entre todos los pares de puntos de los dos
clusters.
• Método de Ward: Minimiza la suma de las
varianzas dentro de los clusters.
Clustering Jerárquico Divisivo

Principio: Comienza con un solo cluster que contiene todos los


puntos y luego divide recursivamente los clusters hasta que se
cumple un criterio de parada.

Visualización: El Dendrograma

Los resultados de un algoritmo de clustering jerárquico se


suelen representar en un dendrograma. Un dendrograma es un
diagrama en forma de árbol que muestra cómo se fusionan los
clusters. La altura de las uniones en el dendrograma indica la
distancia entre los clusters que se fusionan.
Clustering Jerárquico Divisivo
Cuando usar un algoritmo de Clustering

La elección del algoritmo de clustering depende de varios factores, como:


• Forma de los clusters: ¿Los clusters son compactos y esféricos (K-means),
o tienen formas arbitrarias (DBSCAN)?
• Número de clusters: ¿Se conoce el número de clusters de antemano (K-
means) o se desea explorar diferentes números de clusters (clustering
jerárquico)?
• Tamaño de los datos: ¿Los datos son grandes o pequeños? Algunos
algoritmos son más eficientes para grandes conjuntos de datos que otros.
• Tipo de datos: ¿Los datos son numéricos, categóricos o una combinación
de ambos?
Cuando usar un algoritmo de Clustering

La elección del algoritmo de clustering depende de varios factores, como:


• Forma de los clusters: ¿Los clusters son compactos y esféricos (K-means), o tienen formas arbitrarias
(DBSCAN)?
• Número de clusters: ¿Se conoce el número de clusters de antemano (K-means) o se desea explorar diferentes
números de clusters (clustering jerárquico)?
• Tamaño de los datos: ¿Los datos son grandes o pequeños? Algunos algoritmos son más eficientes para
grandes conjuntos de datos que otros.
• Tipo de datos: ¿Los datos son numéricos, categóricos o una combinación de ambos?

Otros algoritmos de clustering


Existen muchos otros algoritmos de clustering, como:
• DBSCAN: Busca grupos de puntos densamente empaquetados.
• OPTICS: Una extensión de DBSCAN que permite encontrar clusters de
diferentes densidades.
• Spectral clustering: Utiliza técnicas de álgebra lineal para encontrar
clusters.
K Means – Aprendizaje perezoso

K-means es un algoritmo de clasificación no


supervisada (clusterización) que agrupa
objetos en k grupos basándose en sus
características.

El agrupamiento se realiza minimizando la


suma de distancias entre cada objeto y el
centroide de su grupo o cluster. Se suele usar
la distancia cuadrática.

Tiene como objetivo la partición de un


conjunto de n observaciones en k grupos en
el que cada observación pertenece al grupo
cuyo valor medio es más cercano. Es un
método utilizado en minería de datos
Cuando usar un algoritmo de Clustering
Tipo de
Algoritmo Pros Contras Casos de Uso
Clustering
Requiere el número de clusters
Segmentación de clientes,
de antemano, sensible a outliers,
K-means Simple, rápido, escalable agrupación de documentos,
puede converger en óptimos
compresión de imágenes
Particional locales

Similar a K-means:
Robusto a outliers, no requiere calcular
K-medoids Más lento que K-means segmentación de clientes,
centroides
agrupación de documentos

Puede ser computacionalmente


No requiere el número de clusters de Análisis de la estructura de
costoso para grandes conjuntos
Aglomerativo (HAC) antemano, produce una jerarquía de los datos, descubrimiento de
de datos, difícil de definir el
clusters patrones jerárquicos
criterio de parada
Jerárquico
Similar a HAC: análisis de la
Flexible para encontrar estructuras Puede ser más sensible al ruido y estructura de los datos,
Divisivo
complejas a los outliers descubrimiento de patrones
jerárquicos

Puede ser difícil de ajustar los


Identifica clusters de cualquier forma, no Descubrimiento de clusters
Basado en parámetros, no funciona bien
DBSCAN requiere el número de clusters de no convexos, detección de
densidad con datos de alta
antemano, resistente al ruido outliers
dimensionalidad
Reducción de Dimensionalidad
La reducción de dimensionalidad es una técnica comúnmente utilizada en el aprendizaje no
supervisado. Al reducir la dimensionalidad de los datos antes de aplicar un algoritmo de
clustering o detección de anomalías, se pueden obtener resultados más precisos y eficientes.

La reducción de dimensionalidad es una técnica que busca representar datos de


alta dimensión en un espacio de menor dimensión, manteniendo al mismo tiempo
la mayor cantidad de varianza o información posible. Esto es útil por varias razones

• Los datos de alta dimensión son difíciles de visualizar.


Visualización Reducir la dimensionalidad a 2 o 3 dimensiones permite
crear visualizaciones más intuitivas.

Reducción del • Al eliminar dimensiones con poca varianza, se puede


reducir el ruido en los datos y mejorar la precisión de los
ruido modelos.

Aumento de la • Los algoritmos de aprendizaje automático suelen ser más


eficientes con datos de menor dimensión.
eficiencia
Técnicas para Reducción de Dimensionalidad

La reducción de dimensionalidad es una técnica que busca representar datos de


alta dimensión en un espacio de menor dimensión, manteniendo al mismo tiempo
la mayor cantidad de varianza o información posible. Esto es útil por varias razones

Análisis de • Identifica las direcciones de mayor varianza en los datos y


Componentes proyecta los datos en un nuevo espacio definido por estas
Principales (PCA) direcciones.

• Una técnica no lineal que es especialmente útil para


t-SNE visualizar datos de alta dimensión.

Factorización de • Técnicas como SVD (Singular Value Decomposition)


descomponen una matriz en matrices más pequeñas para
matrices capturar las relaciones latentes entre las variables.
Beneficios Reducción de Dimensionalidad

Mejora de la • Permite crear visualizaciones más intuitivas de


visualización datos de alta dimensión.

Aumento de la • Reduce el tiempo de cálculo de los algoritmos de


eficiencia aprendizaje no supervisado.

• Elimina las dimensiones con poca varianza, lo que


Reducción del ruido puede mejorar la precisión de los resultados.

Simplificación de los • Modelos más simples son más fáciles de


modelos interpretar y mantener.
Ejemplos de Reducción de Dimensionalidad

Antes de aplicar el algoritmo K-means


para agrupar clientes, se puede t-SNE se puede utilizar para visualizar
utilizar PCA para reducir la los resultados de un algoritmo de
dimensionalidad de las características clustering, mostrando cómo los
de los clientes. Esto puede ayudar a diferentes clusters están separados en
mejorar la separación de los clusters y un espacio de menor dimensión.
reducir el tiempo de cálculo.
Beneficios Reducción de Dimensionalidad

Mejora de la • Permite crear visualizaciones más intuitivas de


visualización datos de alta dimensión.

Aumento de la • Reduce el tiempo de cálculo de los algoritmos de


eficiencia aprendizaje no supervisado.

• Elimina las dimensiones con poca varianza, lo que


Reducción del ruido puede mejorar la precisión de los resultados.

Simplificación de los • Modelos más simples son más fáciles de


modelos interpretar y mantener.
Beneficios Reducción de Dimensionalidad
Beneficios Reducción de Dimensionalidad
Algoritmos de Detección de Anomalías con PCA

Este es un método estadístico que utiliza una transformación ortogonal para


convertir un conjunto de observaciones de variables posiblemente
correlacionadas en un conjunto de nuevas variables llamadas componentes
principales. Estas nuevas variables son ortogonales (no correlacionadas) y están
ordenadas para maximizar la varianza.
¿Cómo se usa el PCA para detectar anomalías?
La idea central es que los datos "normales" tienden a agruparse alrededor de las primeras
componentes principales, mientras que las anomalías se encuentran más alejadas de este
espacio.
Pasos generales:
1. Estandarización: Se estandarizan los datos para que todas las variables tengan la misma
escala.
2. Cálculo de componentes principales: Se calcula la matriz de covarianza y se obtienen los
autovectores y autovalores correspondientes. Los autovectores representan las direcciones
de máxima varianza y los autovalores indican la cantidad de varianza explicada por cada
componente.
3. Reducción de dimensionalidad: Se seleccionan las primeras k componentes principales
que explican una proporción significativa de la varianza total.
4. Proyección de los datos: Se proyectan los datos originales en el subespacio generado por
las k componentes principales.
5. Cálculo de la distancia: Se calcula la distancia entre cada punto de datos proyectado y el
origen (o el centro de los datos).
6. Detección de anomalías: Los puntos que se encuentran a una distancia mayor que un
umbral determinado se consideran anomalías.
¿Cómo se usa el PCA para detectar anomalías?

• Reducción de dimensionalidad: PCA busca las direcciones de mayor varianza en los datos,
proyectándolos en un espacio de menor dimensión.
• Reconstrucción: Se reconstruyen los datos originales a partir de las proyecciones.
• Detección de anomalías: Las observaciones con un alto error de reconstrucción se
consideran anomalías, ya que no se ajustan bien al modelo.
¿Por qué funciona esta técnica?

• Concentración de datos: Los datos "normales" tienden a agruparse alrededor de las


primeras componentes principales, formando una región densa en el espacio de
características.
• Aislamiento de anomalías: Las anomalías, al ser diferentes de los datos normales, se
encuentran alejadas de esta región densa, lo que facilita su identificación.
¿Por qué funciona esta técnica?

Ventajas Desventajas
Sencillo de implementar: PCA es un algoritmo Sensible a la dimensionalidad: En espacios de alta
relativamente sencillo de entender y aplicar, incluso dimensionalidad, PCA puede perder eficacia debido al
con grandes conjuntos de datos. llamado "maldición de la dimensionalidad".
No supervisado: No requiere datos etiquetados para Asunción de distribución normal: PCA asume que los
su entrenamiento, lo que lo hace versátil en escenarios datos siguen una distribución normal multivariante, lo
donde no se dispone de información sobre las que puede no ser el caso en todos los conjuntos de
anomalías. datos.

Reducción de dimensionalidad: Permite visualizar los Sensible a los outliers: Aunque diseñado para detectar
datos en un espacio de menor dimensión, facilitando la anomalías, una alta concentración de outliers puede
identificación de patrones y anomalías. influir en la dirección de los componentes principales.

No detecta todas las anomalías: PCA es más efectivo


Interpretable: Los componentes principales suelen
para detectar anomalías que se desvían de la
tener una interpretación física, lo que facilita la
distribución principal en las direcciones de mayor
comprensión de los resultados.
varianza.
Aplicaciones del PCA en Detección de Anomalías

Campo Aplicaciones
Finanzas: Detección de fraudes en tarjetas de crédito,
Industria: Monitoreo de procesos industriales,
identificación de patrones anómalos en el mercado de
detección de fallas en equipos, control de calidad.
valores.
Redes: Detección de intrusiones en redes, Salud: Detección de anomalías en imágenes médicas,
identificación de tráfico anormal. monitoreo de señales fisiológicas.
Ciencia de los materiales: Identificación de materiales
defectuosos, análisis de propiedades de nuevos
materiales.
Ciencia del medio ambiente: Monitoreo de la calidad
del aire y del agua, detección de eventos climáticos
extremos.
Aplicaciones del PCA en Detección de Anomalías
Algoritmo Tipo Ventajas Desventajas Aplicaciones típicas
Sensibles a la
Simples de implementar, distribución de los datos,
Estadísticos (Z-score, Detección de outliers en
Basados en densidad eficientes no detectan anomalías
IQR) datos univariantes
computacionalmente en datos de alta
dimensión
Sensibles a la elección
de los parámetros (k en
Basados en distancia Flexibles, capaces de
KNN), costo Detección de outliers en
(KNN, Local Outlier Basados en densidad detectar anomalías
computacional puede datos multivariantes
Factor) locales
ser alto para grandes
conjuntos de datos
Sensibles a la elección
Identifican grupos de de los parámetros (eps,
Basados en clustering datos y consideran los minPts en DBSCAN), Detección de outliers en
Basados en densidad
(DBSCAN, BIRCH) puntos alejados de estos pueden ser ineficientes datos agrupados
grupos como anomalías para grandes conjuntos
de datos
Capaces de aprender
Requiere grandes Detección de anomalías
Basados en representaciones
Basados en cantidades de datos para en datos no
autoencoders (Neural latentes complejas,
reconstrucción entrenar, puede ser estructurados
networks) pueden manejar datos
difícil de interpretar (imágenes, texto)
de alta dimensión
Eficiente
Basados en aislamiento computacionalmente, Puede ser sensible a la Detección de outliers en
Basados en aislamiento
(Isolation Forest) capaz de manejar datos presencia de ruido datos de alta dimensión
de alta dimensión
Detección de outliers o anomalías
Algoritmo Descripción Aplicaciones
Basados en medidas estadísticas como la media, Detección de valores atípicos en datos numéricos,
Estadísticos
desviación estándar y cuartiles. monitoreo de sistemas.
Calcula el número de desviaciones estándar que un punto Detección de valores atípicos en distribuciones
* Z-score
de datos se encuentra de la media. normales.
Identifica valores fuera de los límites inferior y superior Detección de valores atípicos en distribuciones no
* IQR (Rango Intercuartílico)
de un rango. normales.
Estima la densidad de probabilidad de los datos y
Detección de valores atípicos en datos
Basados en densidad considera como anomalías los puntos en regiones de baja
multidimensionales.
densidad.
Detección de valores atípicos en datos no
* Kernel Density Estimation (KDE) Estima la densidad de probabilidad usando núcleos.
estructurados.
Calculan la distancia entre cada punto de datos y sus
Detección de valores atípicos en datos de alta
Basados en distancia vecinos más cercanos. Los puntos con distancias más
dimensión.
grandes se consideran anomalías.
Encuentra los k vecinos más cercanos de un punto y
* K-Nearest Neighbors (KNN) calcula una puntuación de anomalía basada en la Detección de fraudes, detección de intrusos.
distancia.
Agrupan los datos en clusters y consideran como
Basados en clustering anomalías los puntos que no pertenecen a ningún cluster Detección de outliers en datos no estructurados.
o que están en clusters muy pequeños.
Detección de clusters de alta densidad y puntos
* DBSCAN Agrupa los datos basados en la densidad.
atípicos.
Intentan aislar los puntos de datos anómalos en el Detección de valores atípicos en datos de alta
Basados en aislamiento
espacio de características. dimensión.
Construye árboles de decisión aleatorios para aislar los
* Isolation Forest Detección de fraudes, detección de intrusos.
puntos de datos.
Redes neuronales que aprenden a reconstruir los datos
Detección de anomalías en datos no
Basados en autoencoders de entrada. Los puntos de datos que no pueden ser
estructurados, como imágenes y texto.
reconstruidos bien se consideran anomalías.
Beneficios Reducción de Dimensionalidad
Análisis de Asociación o Cesta de la Compra

El análisis de asociación, también conocido como análisis de cesta


de la compra, es una técnica de minería de datos que busca
identificar relaciones entre diferentes elementos dentro de un
conjunto de datos. En términos más sencillos, se trata de
encontrar patrones en los datos que nos permitan responder
preguntas como: "¿Qué productos suelen comprarse juntos?",
"¿Qué productos se complementan entre sí?".
¿Para qué sirve?

Esta técnica tiene múltiples aplicaciones en diversos campos, pero


es especialmente útil en el ámbito del comercio minorista.

Algunos de sus usos más comunes son:


• Merchandising: Optimizar la disposición de productos en las
tiendas para maximizar las ventas.
• Recomendaciones de productos: Sugerir productos
complementarios a los clientes durante el proceso de compra.
• Promoción de productos: Crear ofertas y promociones más
efectivas basadas en las relaciones entre productos.
• Segmentación de clientes: Identificar grupos de clientes con
hábitos de compra similares.
Conceptos clave

Soporte: La frecuencia con la que un conjunto de


elementos aparece en los datos.

Confianza: La probabilidad de que un elemento B sea


comprado si el elemento A ya ha sido comprado.

Levantamiento: La relación entre la frecuencia observada


de un conjunto de elementos y la frecuencia esperada si
los elementos fueran independientes.
Ejemplo: tienda de comestibles
Mediante el análisis de las cestas de la compra, se descubre que
los clientes que compran cerveza suelen comprar también
pañales. Esta información puede utilizarse para colocar estos
productos juntos en los estantes, aumentando así la probabilidad
de que ambos sean comprados.

¿Cómo funciona?
El proceso de análisis de asociación generalmente implica los siguientes
pasos:
1. Recopilación de datos: Se recolectan datos sobre las transacciones,
incluyendo los productos comprados en cada una.
2. Preprocesamiento de datos: Los datos se limpian y transforman para
su análisis.
3. Descubrimiento de patrones: Se aplican algoritmos de minería de
datos para identificar los patrones de asociación más frecuentes y
significativos.
4. Evaluación de resultados: Se evalúan los patrones encontrados para
determinar su utilidad y relevancia.
Beneficios Reducción de Dimensionalidad
Beneficios Reducción de Dimensionalidad
Algoritmos comunes

• Apriori: Uno de los algoritmos más conocidos y utilizados.


• FP-growth: Un algoritmo más eficiente que Apriori,
especialmente para conjuntos de datos grandes y denso
Beneficios Reducción de Dimensionalidad
Aprendizaje semi-supervisado
Aprendizaje semi-supervisado
Aprendizaje semi-supervisado
Aprendizaje semi-supervisado
Aprendizaje semi-supervisado
Aprendizaje semi-supervisado
Aprendizaje semi-supervisado
Aprendizaje semi-supervisado
Aprendizaje semi-supervisado
Aprendizaje semi-supervisado
Aprendizaje semi-supervisado

https://www.youtube.com/watch?v=V1eYniJ0Rnk
Aprendizaje semi-supervisado
Aprendizaje semi-supervisado
Preprocesamiento
Preprocesamiento en Machine Learning

El preprocesamiento de datos es una etapa crucial en cualquier


proyecto de Machine Learning. Consiste en transformar los datos
brutos en un formato adecuado y comprensible para los
algoritmos de aprendizaje automático. Esta preparación garantiza
que los datos sean de alta calidad y relevantes para el modelo,
mejorando significativamente la precisión y fiabilidad de las
predicciones.
Preprocesamiento en Machine Learning
Ingeniería de Características

La ingeniería de características es un proceso fundamental en el


aprendizaje automático que consiste en seleccionar, construir y
transformar características (o atributos) en un conjunto de datos
para mejorar la precisión y eficiencia de un modelo de
aprendizaje automático. En términos más simples, es el arte de
preparar los datos para que un algoritmo pueda "entenderlos"
mejor y realizar predicciones más precisas.
Etapas de la Ingeniería de Características
1. Selección de características:

• Filtrado: Evaluar la importancia de cada característica de forma


independiente (por ejemplo, utilizando correlación, varianza).
• Envoltorio: Evaluar combinaciones de características utilizando un
modelo de aprendizaje automático (por ejemplo, selección recursiva
de características).
• Embebidos: Seleccionar características durante el entrenamiento del
modelo (por ejemplo, regularización L1).
Etapas de la Ingeniería de Características

2. Creación de características:

• Combinaciones: Crear nuevas características combinando las


existentes (por ejemplo, sumas, productos, ratios).
• Transformaciones: Aplicar transformaciones matemáticas (por
ejemplo, logaritmo, normalización).
• Discretización: Convertir variables numéricas en categorías (por
ejemplo, binarización, agrupamiento).
• Interacciones: Capturar interacciones entre características (por
ejemplo, productos cruzados).
Etapas de la Ingeniería de Características

3. Transformación:

• Escalado: Ajustar el rango de valores de las características (por ejemplo,


estandarización, normalización)
• Codificación: Convertir variables categóricas en numéricas (por ejemplo,
one-hot encoding, label encoding).
• Manejo de valores faltantes: Imputar valores faltantes o eliminar
observaciones.
• Detección de outliers: Identificar y tratar valores atípicos.
Técnicas Avanzadas

3. Transformación:

• Feature Hashing: Técnica para reducir la dimensionalidad de


características categóricas de alta cardinalidad.
• Autoencoders: Redes neuronales utilizadas para aprender
representaciones latentes de los datos.
• Aprendizaje por transferencia: Utilizar características pre-entrenadas en
un modelo para otro problema similar.
Técnicas Avanzadas

3. Transformación:

• Feature Hashing: Técnica para reducir la dimensionalidad de


características categóricas de alta cardinalidad.
• Autoencoders: Redes neuronales utilizadas para aprender
representaciones latentes de los datos.
• Aprendizaje por transferencia: Utilizar características pre-entrenadas
en un modelo para otro problema similar.
MLOps: La unión entre el aprendizaje
automático y las operaciones

MLOps, o ML Ops, es un acrónimo que combina "Machine Learning"


(Aprendizaje Automático) y "Operations" (Operaciones). Es un conjunto de
prácticas y metodologías que buscan automatizar y optimizar el ciclo de
vida completo de los modelos de aprendizaje automático, desde su
desarrollo hasta su despliegue en producción y mantenimiento continuo.
Por qué es importante MLOps
• Eficiencia: Automatiza tareas repetitivas, lo que reduce el
tiempo y los recursos necesarios para desarrollar y desplegar
modelos.
• Escalabilidad: Permite gestionar y escalar modelos de forma
eficiente, adaptándose a las crecientes demandas de datos y
usuarios.
• Calidad: Garantiza la calidad y la fiabilidad de los modelos en
producción a través de pruebas y monitoreo continuos.
• Colaboración: Facilita la colaboración entre equipos de ciencia
de datos, ingeniería y operaciones.
• Velocidad: Acelera el tiempo de llegada al mercado de nuevos
productos y servicios basados en inteligencia artificial.
Ciclo de vida de MLOps
• Experimentación: Desarrollo y entrenamiento de modelos.
• Ingeniería: Preparación de los modelos para producción,
incluyendo la optimización y el empaquetado.
• Despliegue: Implementación de los modelos en entornos de
producción.
• Monitoreo: Seguimiento del rendimiento de los modelos en
tiempo real y detección de anomalías.
• Retroalimentación: Utilización de los datos de producción
para reentrenar y mejorar los modelos.
Herramientas y tecnologías para MLOps
• Plataformas de nube: AWS, Azure, GCP ofrecen servicios
gestionados para MLOps.
• Orquestadores de contenedores: Kubernetes para gestionar la
infraestructura de los modelos.
• Herramientas de CI/CD: Jenkins, GitLab CI/CD para
automatizar el flujo de trabajo.
• Librerías de Python: TensorFlow, PyTorch, Scikit-learn para
desarrollar modelos.
• Herramientas de registro: MLflow para rastrear experimentos
y modelos.
Muchas gracias

También podría gustarte