Machine Learning Book
Machine Learning Book
MACHINE LEARNING
Fundamentos, algoritmos y aplicaciones para
los negocios, industria y finanzas
ISBN: 978-84-9052-530-2
Depósito Legal: M-17696-2024
Prólogo.................................................................................................. XI
-VII-
MACHINE LEARNING
-VIII-
Índice
Bibliografía...........................................................................................237
-IX-
PRÓLOGO
-XI-
MACHINE LEARNING
periencias para los clientes, este libro se convierte en un recurso esencial para
aquellos que buscan ampliar su comprensión y dominio en el ámbito del apren-
dizaje automático aplicado al entorno empresarial.
Este texto va más allá de meras teorías abstractas; su enfoque se concentra
en proporcionar a los lectores las habilidades prácticas necesarias para afrontar
los desafíos cambiantes del mundo empresarial contemporáneo. Además, está
meticulosamente estructurado para ser utilizado tanto por estudiantes univer-
sitarios en busca de conocimientos fundamentales como por profesionales que
aspiran a integrar el aprendizaje automático en sus actividades cotidianas.
En el libro se incluyen ejemplos en Python para ayudar a comprender me-
jor la teoría presentada. Estos ejemplos prácticos muestran cómo aplicar los
conceptos de aprendizaje automático a situaciones empresariales concretas. No
solo clarifican la teoría expuesta en el texto, sino que también proporcionan a
los lectores herramientas prácticas que pueden aplicar en sus propios proyectos
empresariales. Al ver cómo se implementan los conceptos de aprendizaje auto-
mático en código, los lectores pueden comprender mejor cómo adaptar y aplicar
estas técnicas a sus propios casos de uso específicos dentro de sus organizacio-
nes. Esta combinación de teoría y ejemplos prácticos en Python asegura que los
lectores no solo adquieran conocimientos conceptuales sobre aprendizaje auto-
mático, sino que también desarrollen habilidades prácticas que puedan utilizar
para abordar desafíos empresariales reales.
En última instancia, este libro tiene como objetivo capacitar a sus lectores
para que se conviertan en líderes visionarios y tomadores de decisiones infor-
madas, capaces de aprovechar el poder del aprendizaje automático para impul-
sar la innovación, la eficiencia y el crecimiento en sus organizaciones y en la
sociedad en general.
-XII-
Módulo IV
APRENDIZAJE NO SUPERVISADO
Y POR REFUERZO
4.1. ANÁLISIS DE COMPONENTES
PRINCIPALES (PCA)
El análisis de componentes principales (PCA) es una técnica estadística amplia-
mente utilizada en diversos campos, desde la biología hasta la ingeniería y la eco-
nomía, debido a su capacidad para simplificar conjuntos de datos complejos sin
perder información crucial. Su objetivo principal es reducir la dimensionalidad de
los datos, lo que significa representar la información original utilizando un número
menor de variables, conocidas como componentes principales. Esta reducción de
dimensionalidad es esencial para manejar conjuntos de datos grandes y complejos,
así como para visualizar y comprender la estructura subyacente de los datos.
El proceso de PCA implica una transformación lineal de las variables origi-
nales para encontrar un nuevo sistema de coordenadas en el que los datos estén
mejor representados. Esto se logra mediante la identificación de los ejes princi-
pales de variación en los datos, que son ortogonales entre sí y ordenados según
la cantidad de variabilidad que explican. Estos ejes principales, o componentes
principales, son combinaciones lineales de las variables originales y están des-
correlacionados entre sí, lo que significa que capturan diferentes aspectos de la
variabilidad presente en los datos sin redundancia. El proceso de PCA implica
los siguientes pasos:
Estandarización de datos
Se normalizan los datos para asegurar que todas las variables tengan la misma
escala. Esto es importante para evitar que las variables con escalas más grandes
dominen el análisis. Dada una matriz A de n filas y p columnas, la ecuación
matemática sería la siguiente
-161-
MACHINE LEARNING
Descomposición de la matriz
Se realiza una descomposición de la matriz de covarianza o correlación para ob-
tener los autovectores y autovalores asociados. Si denominamos a λ los autova-
lores, S a la matriz de covarianza y V a la matriz de autovectores, la formulación
matemática sería:
-162-
MÓDULO IV. Aprendizaje no supervisado y por refuerzo
Código Python
Parámetros:
-163-
MACHINE LEARNING
-164-
MÓDULO IV. Aprendizaje no supervisado y por refuerzo
cado. En esta tarea, K-means desempeña un papel crucial al dividir a los clientes
en grupos homogéneos Módulo IV: Aprendizaje
basados no supervisado
en una variedad y por
de criterios, que refuerzo
pueden incluir
comportamientos de compra, preferencias de productos o servicios, características
demográfi
complejidad del cas y otros datos
mercado relevantes.de
y la cantidad Ladatos
elección del númeroes
disponibles, defundamental
conglomerados,
que suele
para obtener situarse entre
segmentos 3 y 5, aunquey puede
significativos útiles.variar según la complejidad
La segmentación del mer-
de mercado
cado y la cantidad de datos disponibles, es fundamental
mediante K-means permite a las empresas personalizar sus estrategias de para obtener segmentos
signifi
marketing ycativos y útiles.de
publicidad La forma
segmentación de mercado
más precisa mediante Al
y efectiva. K-means permite a
comprender
las empresas personalizar sus estrategias de marketing
mejor las necesidades y preferencias específicas de cada segmento de y publicidad de forma más
clientes,precisa y efectiva.pueden
las empresas Al comprender
adaptar mejor
sus las necesidades
mensajes, y preferencias
ofertas y serviciosespecífi
paracas
satisfacer de manera más adecuada las demandas de cada grupo. Estoofertas
de cada segmento de clientes, las empresas pueden adaptar sus mensajes, no
y servicios
solo puede mejorar paralasatisfacer
eficaciadedemanera más adecuada
las campañas las demandas
de marketing, de cada
sino grupo.
también
aumentarEstolano solo puede
retención demejorar
clienteslayefi cacia de las
fortalecer lacampañas de marketing,
lealtad hacia la marca.sino tam-
bién aumentar la retención de clientes y fortalecer la lealtad hacia la marca.
Figura 4.2.4.2.
Figura Pasos
Pasos en unproceso
en un proceso iterativo
iterativo de K-means.
de k-means
-166-
MÓDULO IV. Aprendizaje no supervisado y por refuerzo
Código Python
4.2.2. DBSCAN
El algoritmo DBSCAN (density-based spatial clustering of applications with
noise) es una técnica de agrupamiento ampliamente utilizada en el campo del
aprendizaje automático y la minería de datos. A diferencia de otros algoritmos
de clustering, como k-medias, que requieren la especificación previa del número
de clústeres, DBSCAN es capaz de identificar áreas densas de puntos en el es-
pacio de características de manera automática, sin necesidad de conocimiento
previo sobre la cantidad de clústeres presentes en los datos.
DBSCAN se fundamenta en el concepto de densidad de puntos en el espa-
cio de características. La idea principal detrás de este algoritmo es que los pun-
tos cercanos entre sí en el espacio de características tienen más probabilidades
de pertenecer al mismo clúster que puntos más alejados. Por lo tanto, en lugar
de definir los clústeres mediante la minimización de una métrica de distancia
como en k-medias, DBSCAN busca identificar áreas densas de puntos y con-
siderarlos como clústeres.
Una de las ventajas más importantes de DBSCAN es su capacidad para
detectar clústeres de diferentes formas y tamaños de manera automática. Esto
-167-
MACHINE LEARNING
-168-
MÓDULO IV. Aprendizaje no supervisado y por refuerzo
Código Python
Parámetros:
• eps: la distancia máxima entre dos muestras para que una se considere
como en el vecindario de la otra. Este es el parámetro más importante
en DBSCAN.
• min_samples: el número mínimo de muestras en un vecindario para que
un punto sea considerado como núcleo. Esto incluye el punto en sí
• metric: la métrica de distancia utilizada para calcular las distancias entre
puntos. Las opciones comunes incluyen euclidean, manhattan, cosine,
entre otras.
• algorithm: el algoritmo utilizado para calcular las distancias entre pun-
tos. Las opciones incluyen auto, ball_tree, kd_tree y brute.
• leaf_size: tamaño de hoja pasado a los algoritmos de árbol. Esto puede
afectar la velocidad y el uso de memoria del algoritmo.
-169-
MACHINE LEARNING
-170-
MÓDULO IV. Aprendizaje no supervisado y por refuerzo
-171-
MACHINE LEARNING
La mejor medida depende del objetivo a lograr con tu análisis. Si estás in-
teresado en la fuerza de la relación entre el antecedente y el consecuente, la
confianza podría ser la medida más relevante. Si estás buscando reglas que sean
aplicables a una gran cantidad de transacciones, el soporte podría ser más im-
portante. Por otro lado, si deseas identificar reglas que sean más que una simple
correlación y tengan una relación causal o de dependencia entre el antecedente
y el consecuente, entonces el lift podría ser la medida más adecuada. En muchos
casos, es útil considerar múltiples medidas para obtener una comprensión más
completa de las reglas de asociación. A continuación, se muestran los resultados
del ejemplo mostrado.
-172-
MÓDULO IV. Aprendizaje no supervisado y por refuerzo
Código Python
Parámetros:
Donde a(i) es la distancia promedio entre i y todos los demás puntos en el mis-
mo clúster, y b(i) es la distancia promedio entre i y todos los puntos en el clúster
más cercano diferente de i.
-174-
MÓDULO IV. Aprendizaje no supervisado y por refuerzo
� 2
�
:,
-¡;
-.;
,:,
"'
iÍ
.,
:,
.
CT 1
-175-
MACHINE LEARNING
-176-
MÓDULO IV. Aprendizaje no supervisado y por refuerzo
Código Python
-177-
MACHINE LEARNING
-178-
MÓDULO IV. Aprendizaje no supervisado y por refuerzo
Una vez que la tabla Q ha convergido, el agente puede utilizarla para tomar
decisiones óptimas en nuevos estados. Simplemente selecciona la acción con el
valor Q más alto en el estado actual según lo indicado por la tabla Q.
-179-
MACHINE LEARNING
-180-