Informe Machine Learning
Informe Machine Learning
March 5, 2024
Resumen: El presente informe destaca los fundamentos de Machine Learning (ML), un compo-
nente clave de la inteligencia artificial. ML permite a las máquinas aprender patrones a partir de
datos, facilitando la toma de decisiones sin intervención humana directa. Se presentan modelos
supervisados y no supervisados, seguido de un ejemplo de implementación en Python utilizando
regresión lineal con scikit-learn.
Palabras Clave: Machine Leraning, Python, Inteligencia Artificial, Automatización, Algoritmos
1
cipios estadísticos, computacionales y de la información que fundamentan todos los sistemas de
aprendizaje que desarrollan las personas? (Jordan & Mitchell, 2015).
En esencia, para responder a estos interrogantes, el Machine Learning se encarga de desarrollar
algoritmos capaces de aprender de los datos, también conocidos como experiencia y de mejorar
constantemente su eficiencia sin la necesidad de ser programados explícitamente. Adicionalmente,
se pretende que estos modelos aprendan de manera autónoma, de manera similar a como lo hacen
los seres humanos. En consecuencia, el aprendizaje automático tiene gran potencial y se ha con-
vertido en una herramienta fundamental en diferentes campos de la industria como la medicina, la
educación, los negocios, entre otros.
¿Cuándo usar Machine Learning?
Los buenos escenarios de aprendizaje automático suelen tener las siguientes propiedades comunes:
1. Implican una decisión o evaluación repetidas que quiera automatizar y necesitan resultados
coherentes.
2. Es difícil o imposible describir explícitamente la solución o los criterios que hay detrás de una
decisión.
3. Tiene datos etiquetados o ejemplos existentes en los que puede describir la situación y asig-
narla al resultado correcto.
Para cumplir con el objetivo del Machine Learning a pesar de que no se requiere una programación
explicita, se requiere de un experto en datos que cumpla con una serie de pasos para lograr ejecutar
el proceso de manera exitosa y lograr los objetivos deseados. Es pro esto, que se deben realizar los
siguientes pasos:
Figura 1.
Diagrama de proceso de Machine Learning
2
• K-Means
• Agrupamiento jerárquico
• Análisis de componentes principales (PCA)
• Mapas autoorganizados (SOM)
• Algoritmo de Expectation-Maximization (EM)
3. Aprendizaje por Reforzamiento:
• Q-Learning
• SARSA (State-Action-Reward-State-Action)
• Policy Gradient
4. Aprendizaje Semi-Supervisado:
• Mixturas de Gaussiano
• Métodos de propagación de etiquetas
5. Aprendizaje Profundo (Deep Learning):
• Redes Neuronales Convolucionales (CNN)
• Redes Neuronales Recurrentes (RNN)
• Redes Neuronales de Convolución 1D (para secuencias temporales)
• Redes Generativas Adversariales (GAN)
• Redes Neuronales Transformer
#1. Aprendizaje Supervisado El aprendizaje supervisado es un enfoque en aprendizaje au-
tomático donde un modelo se entrena con datos etiquetados. Utiliza ejemplos con respuestas
conocidas para aprender a hacer predicciones o clasificaciones. Este método es común en tareas
como clasificación y regresión.
3
– Finanzas : Es posible analizar cómo el crecimiento salarial puede afectar inflación en las
tasas de préstamos hipotecarios; cómo se ven afectadas las utilidades de una empresa
de acuerdo a el área en el que se desempeñan, el lugar de sus operaciones. Así, las
compañias podrán realizar planes para preveer caídas en sus operaciones y al mismo
tiempo incrementar sus ventas.
Código en Python:
[ ]: from sklearn.linear_model import LinearRegression #Importamos la librería␣
↪necesaria.
# Realizar predicciones
predicciones = modelo.predict(X_prueba)
2. Regresión Logística:
La regresión logística se utiliza para problemas de clasificación binaria. Estima la probabilidad de
que una observación pertenezca a cierta clase. (Romero, 2020).
Los dos principales usos del modelo de regresión logística son: • Interpretar las estimaciones de
los parámetros del modelo. • Calcular la probabilidad de que la variable respuesta tome el valor
1 (éxito).
• Aplicaciones de la regresión logística:
– Producción: estimar la probabilidad de fallo o defectos en las piezas que se elaboren en
una planta para luego planificar estrategias que eviten estos fallos en el futuro.
– Medicina: predicciones de la probabilidad de que un paciente sufra o contraiga alguna
enfermedad, para la preparación de planes de prevención de enfermedades.
– Finanzas: evaluar solicitudes para realizar prestamos, créditos, ventas, transacciones
fraudulentas o aprobaciones de seguros.De esta manera las empresas podrán crear planes
sólidos financieros para evitar pérdidas.
– Marketing: realizar predicciones para evaluar si el anuncio creado es verdaderamente
atractivo para el cliente y si va a hacer clic en el mismo cuando lo vea. Así, las compañias
crearán campañas de marketing estratégicas enfocadas en los gustos de los clientes.
(Amazon,s.f)
Código en Python:
[ ]: from sklearn.linear_model import LogisticRegression #Importamos la librería␣
↪necesaria.
4
modelo = LogisticRegression()
# Realizar predicciones
predicciones = modelo.predict(X_prueba)
# Realizar predicciones
predicciones = modelo.predict(X_prueba)
4. Arboles de Decisión:
Los Árboles de Decisión dividen el conjunto de datos en subconjuntos más pequeños basándose
en características específicas, buscando la mejor separación posible. El árbol de decisión es una
estructura formada por ramas y nodos de distintos tipos:
a. Nodos internos representan cada una de las características o atributos a considerar para tomar
una decisión.
5
b. Ramas representan la decisión en función de una determinada condición.
c. Nodos finales representan el resultado de la decisión.( Rivero, 2022).
• Aplicaciones de los árboles de decisión:
– Diagnóstico médico: Se utiliza para analizar síntomas del paciente y sugerir posibles
diagnósticos.
– Aprobación de créditos: Analiza el riesgo crediticio de los solicitantes y tomar decisiones
sobre la aprobación de préstamos.
– Marketing: Segmenta el mercado y determina qué productos o servicios ofrecer a cada
segmento.
– Análisis de riesgos: Se utiliza para evaluar los riesgos de una decisión o proyecto y sugerir
estrategias para mitigarlos.(IBM, s.f.)
Código en Python:
[ ]: from sklearn.tree import DecisionTreeClassifier #Importamos la librería␣
↪necesaria.
# Realizar predicciones
predicciones = modelo.predict(X_prueba)
5. Bosques Aleatorios:
Los Bosques Aleatorios son conjuntos de árboles de decisión que trabajan juntos para mejorar la
precisión y reducir el sobreajuste. En este modelo, se seleccionan aleatoriamente una cantidad de
variables con las que se construyen los árboles individuales, posteriormente se cakcula la clase más
votada y se hace la predicción del modelo.(Medina-Merino & Ñique-Chacón, 2017). Estos modelos
son aptos cuando se tienen una gran cantidad de datos y se requiere un modelo facil de interpretar.
• Aplicaciones de bosques aleatorios:
– Finanzas: evaluación rápida y precisa de clientes con alto riesgo crediticio evaluando
diferentes características.
– Medicina: Análisis de datos para comprender diferentes causas de enfermedades, y así
desarrollar tratamientos y personalizar la atención médica.
– E- comerce: Mejora la experiencia del cliente y aumenta las ventas a través de recomen-
daciones personalizadas, después de estudiar como se comportan estas bajo diferentes
factores.(IBM, s.f)
– Clima: Predicción precisa del clima para la toma de decisiones estratégicas empresas
dedicadas a la agricultura, agronomía u otras actividades de campo.
Código en Python:
6
[ ]: from sklearn.ensemble import RandomForestClassifier #Importamos la librería␣
↪necesaria.
# Realizar predicciones
predicciones = modelo.predict(X_prueba)
# Realizar predicciones
predicciones = modelo.predict(X_prueba)
7
Las Redes Neuronales Artificiales son modelos inspirados en la estructura del cerebro, que buscan
imitar el comportamiento del mismo, compuestas por capas de nodos interconectados. Es impor-
tante destacar que, el modelo de Redes Neuronales Artificiales puede ser combinado con otro tipo
de modelos para resolver problemas y ejecutrar tareas de clasificación e identificación
• Aplicaciones de las ANN:
– EVI para problemas visuales: Diseñar un modelo de ojo humano para ilustrar problemas
visuales como hipermetropía, miopía y astigmatismo.
– Estratificación de riesgo de mortalidad hospitalaria: Comparar la capacidad de predic-
ción de mortalidad hospitalaria de una RNA con el APACHE II y la regresión logística.
– Cardiología clínica: Aplicar análisis para diagnostocar y hacer tratamientos de enfer-
medades cardíacas.
– Ingeniería neuromórfica: Diseñar sistemas artificiales de computación inspirados en el
sistema nervioso biológico.(Rivas & Mazón, 2017).
Código en Python:
[ ]: from sklearn.neural_network import MLPClassifier #Importamos la librería␣
↪necesaria.
# Realizar predicciones
predicciones = modelo.predict(X_prueba)
#Resumen
Descripción Algoritmo
Utiliza ejemplos etiquetados para predecir resultados. -
Regresión Lineal Aprendizaje Supervisado
- Modelo que establece una relación lineal entre variables de Regresión lineal
entrada y salida.
Regresión Logística Aprendizaje Supervisado
- Utilizada para problemas de clasificación binaria, estima la Regresión logística
probabilidad de pertenencia a una clase.
Máquinas de Vectores de Soporte (SVM) Aprendizaje Supervisado
- Busca el hiperplano que mejor separa las clases en un Máquinas de vectores de
espacio de alta dimensión. soporte (SVM)
Árboles de Decisión Aprendizaje Supervisado
- Estructura de árbol que toma decisiones basadas en Árboles de decisión
condiciones en nodos.
Bosques Aleatorios Aprendizaje Supervisado
8
Descripción Algoritmo
- Conjunto de árboles de decisión que mejora la precisión y Bosques aleatorios
evita sobreajuste.
K-Vecinos más Cercanos (K-NN) Aprendizaje Supervisado
- Asigna una etiqueta según la mayoría de las k instancias K-Vecinos más Cercanos
más cercanas en el espacio de características. (K-NN)
Redes Neuronales Artificiales (ANN) Aprendizaje Supervisado
- Modelo inspirado en la estructura y función del cerebro, Redes Neuronales Artificiales
utilizado para aprender patrones complejos. (ANN)
9
# Obtener las etiquetas de cluster para cada punto de datos
etiquetas = modelo.labels_
2. Agrupamiento Jerárquico:
El agrupamiento jerárquico construye una jerarquía de clusters, representada comúnmente en
un dendrograma. Este método clasifica en subconjuntos cada vez mayores hasta que se todos
pertenecen a un mismo conjunto por lo tanto, no representa el agrupamiento sino las relaciones de
proximidad entre estos subconjunto
• Aplicaciones del agrupamiento jerárquico:
– Agrupar genes en redes de coexpresión: Se utiliza para identificar genes que se expresan
de manera similar en diferentes condiciones o tipos de células.
– Segmentar imágenes: Se utiliza para dividir una imagen en diferentes regiones con car-
acterísticas similares.
– Clasificar clientes en marketing: Se utiliza para identificar grupos de clientes con necesi-
dades o comportamientos similares.
– Identificar especies en biología: Se utiliza para agrupar organismos en diferentes especies
en función de sus características físicas o genéticas.- Optimizar la producción en la in-
dustria: Se utiliza para identificar grupos de productos con características similares para
optimizar la producción y el marketing. (Rokach & Maimon, 2010)
Código en Python:
[ ]: from scipy.cluster.hierarchy import linkage, dendrogram #Importamos las␣
↪librerías necesarias.
# Crear un dendrograma
dendrogram(enlace)
# Mostrar el dendrograma
plt.show()
10
más importantes.
– Visualización de datos: Los componentes principales se pueden utilizar para crear gráfi-
cos que representen la estructura de los datos en un espacio de menor dimensionalidad.
– Identificación de patrones: El ACP puede ayudar a identificar patrones y relaciones entre
las variables de un conjunto de datos.
– Selección de variables: Los componentes principales se pueden utilizar para seleccionar
las variables más importantes para un análisis posterior.
Código en Python:
[ ]: from sklearn.decomposition import PCA #Importamos la librería necesaria.
11
trabajar.
• Aplicaciones de EM:
– Segmentación de imágenes - Medicina : Los modelos EM se pueden utilizar para seg-
mentar imágenes en diferentes regiones, como primer plano y fondo. Un ejemplo es la
segmentación de imágenes médicas para identificar tumores u otro tipo de enfermedades.
– Análisis de datos financieros: Los modelos EM se pueden utilizar para analizar datos
financieros, como los precios de las acciones, y para identificar patrones en el mercado
de divisas por ejemplo.
– Prealistamiento de datos: Es posible utilizar este tipo de modelos EM para llenar
los datos no observados en el conjunto de datos y luego facilitar su análisis y proce-
samiento.(Benites, 2022)
Código en Python:
[ ]: from sklearn.mixture import GaussianMixture #Importamos la librería necesaria.
#Resumen
Descripción Algoritmo
Descubre patrones sin etiquetas, útil en exploración de -
datos.
K-Means Aprendizaje No Supervisado
- Agrupa datos en k clústeres basados en similitudes en K-Means
características.
Agrupamiento Jerárquico Aprendizaje No Supervisado
- Construye una jerarquía de clústeres de manera recursiva. Agrupamiento jerárquico
Análisis de Componentes Principales (PCA) Aprendizaje No Supervisado
- Transforma variables originales en un nuevo conjunto de Análisis de Componentes
variables no correlacionadas (componentes principales). Principales (PCA)
Mapas Autoorganizados (SOM) Aprendizaje No Supervisado
- Red neuronal que asigna datos a ubicaciones en un mapa Mapas Autoorganizados
bidimensional. (SOM)
Algoritmo de Expectation-Maximization (EM) Aprendizaje No Supervisado
- Algoritmo iterativo utilizado para encontrar parámetros en Algoritmo de
modelos estadísticos cuando se tienen datos incompletos o Expectation-Maximization
variables latentes. (EM)
12
El aprendizaje por refuerzo es un enfoque de aprendizaje automático donde un agente aprende a
tomar decisiones en un entorno para maximizar recompensas, sin ejemplos etiquetados. Se utiliza
en situaciones donde las acciones afectan al entorno y busca aprender una política óptima a través
de la interacción. Ejemplos incluyen juegos y robótica.
# Algoritmo Q-Learning
for episodio in range(num_episodios):
estado = estado_inicial
while no_terminal:
# Elegir una acción con estrategia epsilon-greedy
if np.random.rand() < epsilon:
accion = accion_aleatoria()
else:
accion = np.argmax(Q[estado, :])
13
# Realizar la acción y observar el nuevo estado y la recompensa
nuevo_estado, recompensa, no_terminal = ejecutar_accion(accion)
# Actualizar la tabla Q
Q[estado, accion] = Q[estado, accion] + alfa * (recompensa + gamma * np.
↪max(Q[nuevo_estado, :]) - Q[estado, accion])
estado = nuevo_estado
2. SARSA (State-Action-Reward-State-Action):
SARSA es otro algoritmo de aprendizaje por reforzamiento que ajusta los valores Q, teniendo en
cuenta la acción siguiente que el agente realmente elige.Es un algoritmo donde, en el estado actual
(S), se realiza una acción (A) y el agente obtiene una recompensa (R), termina en el siguiente estado
(S1) y realiza una acción (A1) en S1. En el algoritmo SARSA, el valor Q se actualiza teniendo en
cuenta la acción A1 realizada en el estado S1. (Gautam, 2023)
• Aplicaciones SARSA:
– Robótica: El robot aprende a navegar y manipular objetos mediante la exploración del
entorno y la interacción con objetos. -Procesamiento del lenguaje natural: El modelo
aprende a analizar sentimientos, traducir idiomas y resumir textos mediante el análisis
de grandes cantidades de datos textuales.
– Telecomunicaciones: El modelo aprende a optimizar redes y gestionar recursos mediante
el análisis de datos de tráfico y rendimiento.
– Reconocimiento facil: El modelo aprende a detectar objetos, reconocer rostros y segmen-
tar imágenes mediante el análisis de imágenes y videos.
Código en Python:
[ ]: import numpy as np #Importamos la librería necesaria.
# Algoritmo SARSA
for episodio in range(num_episodios):
estado = estado_inicial
accion = accion_inicial
while no_terminal:
# Elegir una acción con estrategia epsilon-greedy
if np.random.rand() < epsilon:
nueva_accion = accion_aleatoria()
14
else:
nueva_accion = np.argmax(Q[estado, :])
# Actualizar la tabla Q
Q[estado, accion] = Q[estado, accion] + alfa * (recompensa + gamma *␣
↪Q[nuevo_estado, nueva_accion] - Q[estado, accion])
estado = nuevo_estado
accion = nueva_accion
3. Policy Gradient:
Policy Gradient es un enfoque de aprendizaje por reforzamiento que optimiza directamente la
política del agente, buscando maximizar la recompensa esperada.El objetivo principal es minimizar
lo errores entre los resultados reales y los previstos anterioirmente.
• Aplicaciones de Policy Gradient:
– Entrenamiento de un agente en un juego: entrenar a un agente en un juego, ajustando
los parámetros de la política para maximizar las recompensas.
– Seguridad cibernética: Sistemas de detección de intrusos aprenden a identificar y pre-
venir ataques.
– Energía: Sistemas de gestión energética optimizan el consumo de energía para reducir
costes y emisiones.
– Fabricación: Robots industriales aprenden a realizar tareas de fabricación con mayor
precisión y eficiencia (IBM, s.f).
Código en Python:
[ ]: import numpy as np #Importamos la librería necesaria.
import tensorflow as tf
tf.keras.layers.Dense(units=num_acciones, activation='softmax')
])
15
estados, acciones, recompensas = recopilar_datos_entrenamiento()
#Resumen
Descripción Algoritmo
Aprende acciones para maximizar recompensas en -
entornos dinámicos.
Q-Learning Aprendizaje por Reforzamiento
- Aprende una función Q que evalúa la acción óptima Q-Learning
para un estado en función de las recompensas pasadas.
SARSA (State-Action-Reward-State-Action) Aprendizaje por Reforzamiento
- Actualiza la función Q teniendo en cuenta la política SARSA (State-Action-Reward-
actual y las recompensas observadas. State-Action)
Policy Gradient Aprendizaje por Reforzamiento
- Optimiza directamente la política, aprendiendo Policy Gradient
acciones que maximizan la recompensa esperada.
16
#####MODELOS DE MACHINE LEARNING DE APRENDIZAJE SEMI-
SUPERVISADO:
1. Mixturas de Gaussiano:
Las Mixturas de Gaussiano asumen que los datos provienen de una combinación de varias distribu-
ciones gaussianas, permitiendo modelar la estructura subyacente de los datos.
• Aplicaciones de Mixtura de Gaussiano:
– Conjuntos de Datos desbalanceados:clasifican datos en conjuntos desbalanceados, donde
hay pocas muestras etiquetadas y muchas no etiquetadas.
– Modelado de densidad de probabilidad: Es una herramienta fundamental para la esti-
mación de riesgos y la toma de decisiones.
– Agrupamiento: Es una herramienta poderosa para la segmentación de mercado y el
análisis de datos.(MATLAB & Simulink, s.f.)
Código en Python:
[ ]: from sklearn.mixture import GaussianMixture #Importamos las librerías␣
↪necesarias.
17
– Detección de fraudes: Se pueden usar para detectar transacciones fraudulentas a partir
de un conjunto de datos de transacciones normales.
#Resumen
Descripción Método
Combina datos etiquetados y no etiquetados para mejorar -
rendimiento.
Mixturas de Gaussiano Aprendizaje Semi-Supervisado
- Modela la distribución de datos como una mezcla de Mixturas de Gaussiano
varias distribuciones gaussianas.
Métodos de Propagación de Etiquetas Aprendizaje Semi-Supervisado
- Propaga etiquetas desde datos etiquetados a datos no Métodos de Propagación de
etiquetados en función de similitudes. Etiquetas
18
tomático que utiliza redes neuronales profundas para aprender y realizar tareas complejas. Estas
redes, llamadas redes neuronales profundas, contienen capas múltiples que aprenden representa-
ciones jerárquicas de los datos. El aprendizaje profundo ha demostrado ser eficaz en áreas como
reconocimiento de imágenes, procesamiento del lenguaje natural y juegos, logrando avances signi-
ficativos en la resolución de problemas complejos.
modelo.add(MaxPooling2D((2, 2)))
modelo.add(Conv2D(64, (3, 3), activation='relu'))
modelo.add(MaxPooling2D((2, 2)))
modelo.add(Flatten())
modelo.add(Dense(128, activation='relu'))
modelo.add(Dense(num_clases, activation='softmax'))
19
Las Redes Neuronales Recurrentes son aptas para datos secuenciales, permitiendo la retroali-
mentación de información en capas. Este modelo, está entrenado para procesar y convertir una
entrada de datos secuencial en una salida de datos secuencial específica (amazon, s.f).
• Aplicaciones de RNN:
– Reconocimiento de voz: RNNs transcriben audio a texto, analizando la secuencia de
sonidos.
– Predicción de series de tiempo: RNNs predicen valores futuros en series de tiempo, como
el clima o el tráfico, analizando datos pasados.
– Asistentes virtuales: RNNs potencian a asistentes virtuales como Siri o Alexa, permi-
tiéndoles responder a preguntas y seguir conversaciones.
– Análisis de datos financieros: RNNs predicen tendencias en el mercado financiero anal-
izando secuencias de datos históricos.
Código en Python:
[ ]: from tensorflow.keras import Sequential #Importamos las librerías necesarias.
from tensorflow.keras.layers import SimpleRNN, Dense
modelo.add(Dense(1))
20
modelo = Sequential()
modelo.add(Embedding(tamaño_vocabulario, dim_embedding,␣
↪input_length=longitud_secuencia))
modelo.add(Conv1D(128, 5, activation='relu'))
modelo.add(GlobalMaxPooling1D())
modelo.add(Dense(1, activation='sigmoid'))
modelo_discriminador = Sequential()
modelo_discriminador.add(Flatten(input_shape=(28, 28, 1)))
modelo_discriminador.add(Dense(1, activation='sigmoid'))
21
modelo_gan = Sequential()
modelo_gan.add(modelo_generador)
modelo_gan.add(modelo_discriminador)
modelo_discriminador.compile(optimizer=Adam(learning_rate=0.
#Resumen
22
Aprendizaje Aprendizaje Aprendizaje
Aprendizaje No por Aprendizaje Profundo (Deep
Característica
Supervisado Supervisado ReforzamientoSemi-Supervisado Learning)
Tipo de Datos Datos no Secuencias Combinación de Datos
Datos etiquetados etiquetados de datos etiquetados y complejos, a
Utilizados acciones y no etiquetados menudo no
recompensas estructurados
Objetivo Predecir Descubrir Aprender Utilizar datos Modelar
Principal la salida patrones y acciones a etiquetados y no patrones
correcta estructuras tomar en etiquetados para complejos y
basada en en datos no un mejorar el representaciones
ejemplos etiquetados entorno rendimiento de datos
etiquetados para
maximizar
recompensas
Supervisión Etiquetas Sin Feedback Algunos datos Requiere
de Datos proporcionadas
etiquetas basado en etiquetados, otros grandes
recompensas no etiquetados cantidades de
datos
etiquetados
Ejemplos Regresión K-Means, Q- Métodos de Redes
de Algo- Lineal, Análisis de Learning, propagación de Neuronales
ritmos Máquinas Compo- Algorit- etiquetas, Modelos Convolucionales,
Comunes de Soporte nentes mos de Generativos Redes
Vectorial Principales Política Neuronales
Recurrentes
Desafíos Necesidad Dificultad Exploración Dificultad en la Necesidad de
Comunes de datos en la inter- y ex- obtención de datos grandes
etiqueta- pretación plotación etiquetados, conjuntos de
dos, de bal- Rendimiento datos y recursos
Sensibili-resultados, anceadas, variable con datos computacionales
dad al Dependen- Problema no etiquetados
ruido en cia de la de crédito
los datos calidad de asignado
los datos
Ejemplos ReconocimientoAgrupamientoControl de Clasificación de Reconocimiento
de facial, de clientes, juegos, documentos, de voz,
Implementación
Clasifi- Análisis de Robótica Etiquetado de Traducción
cación de redes autónoma imágenes con datos automática
correos sociales parcialmente avanzada
electrónicos etiquetados
#Conclusión:
La variedad de algoritmos y modelos presentados proporciona una amplia gama de opciones para
abordar diferentes tipos de problemas, desde la clasificación y regresión hasta la generación de
contenido y el aprendizaje secuencial. La clave para seleccionar el enfoque adecuado radica en
23
entender la naturaleza del problema, la disponibilidad de datos y los objetivos específicos de la
tarea. Cada categoría de aprendizaje ofrece soluciones especializadas, y la combinación estratégica
de métodos puede llevar a resultados más robustos y efectivos. En este contexto, la experimentación
y la adaptación a las características particulares de cada problema son esenciales. Además, la
comprensión profunda de los algoritmos, sus parámetros y el impacto de las decisiones de diseño
son fundamentales para el éxito en la implementación de soluciones de aprendizaje automático.
REFERENCIAS
• Reinforcement Q-Learning from Scratch in Python with OpenAI Gym. (n.d.).
https://www.learndatasci.com/tutorials/reinforcement-q-learning-scratch-python-openai-
gym/
• Selvaraj, N. (2022, September 16). 8 machine learning models explained
in 20 minutes. https://www.datacamp.com/blog/machine-learning-models-
explained?utm_source=google&utm_medium=paid_search&utm_campaignid=21057859163&utm_adgrou
517318242147:dsa-2222697810918&utm_loc_interest_ms=&utm_loc_physical_ms=1029289&utm_conten
Learning&utm_campaign=230119_1-seadsa tofu_2-b2c_3-es-lang-en_4-prc_5-na_6-na_7-
le_8-pdsh-go_9-na_10-na_11-na-feb24&gad_source=1&gclid=CjwKCAiA3JCvBhA8EiwA4kujZmJZxl8aX
V4SWQ6kbdzuSt2hy-HeB5fyGkMQcxoC-7gQAvD_BwE
• Zambrano, R. (2023, April 21). Modelos de Machine Learning. OpenWebinars.net.
https://openwebinars.net/blog/modelos-de-machine-learning/
• GraphEverywhere, E. (2022, September 21). Machine Learning | Qué es, tipos, ejemplos
y cómo implementarlo. GraphEverywhere. https://www.grapheverywhere.com/machine-
learning-que-es-tipos-ejemplos-y-como-implementarlo/
• De Los Santos, P. R. (2023, June 29). Tipos de aprendizaje en Machine Learning: supervisado
y no supervisado. Telefónica Tech. https://telefonicatech.com/blog/que-algoritmo-elegir-en-
ml-aprendizaje
• Keyrus. (2023, June 21). Machine Learning y sus modelos lineales “For Dummies.”
https://es.linkedin.com/pulse/machine-learning-y-sus-modelos-lineales-dummies-keyrus
• QuinnRadich. (2023, November 7). ¿Qués es un modelo de aprendizaje automático?
Microsoft Learn. https://learn.microsoft.com/es-es/windows/ai/windows-ml/what-is-a-
machine-learning-model
• Machine Learning: Aplicado a Python y Data Science. (n.d.). Udemy.
https://www.udemy.com/course/machine-learning-aplicado-a-python-y-data-
science/?utm_source=adwords&utm_medium=udemyads&utm_campaign=DSA-
WebIndex_la.ES_cc.LATAM&utm_term=._ag_120316893258._ad_504879908808_._kw_._de_c._dm_.
93451758763_._li_1029289_._pd.&matchtype=&gad_source=1&gclid=CjwKCAiA3JCvBhA8EiwA4
• Machine Learning (en Python), con ejemplos - Jarroba. (2016, October 30). Jarroba.
https://jarroba.com/machine-learning-python-ejemplos/
• Machine Learning con Python y Scikitlearn. (n.d.).
https://cienciadedatos.net/documentos/py06_machine_learning_python_scikitlearn.html
• Santana, A (2024). Machine_Learning [colab]. Analítica de datos. Universidad de la Sabana.
24
• Larispardo. (2022, 10 febrero). ¿Qué es y para qué sirve una regresión lineal en machine
learning? Platzi. https://platzi.com/blog/que-es-regresion-lineal/
• Resendriz,J. (2006). Las máquinas de vectores de soporte para identificación en linea.
Centro de investigación y de estudios avanzados del instituto politécnico nacional. chrome-
extension://efaidnbmnnnibpcajpcglclefindmkaj/https://www.ctrl.cinvestav.mx/~yuw/pdf/MaTesJAR.pdf
• IBM. (2021). https://www.ibm.com/docs/es/spss-modeler/saas?topic=models-about-svm
• Rivero, F. ( 20222). Árbol de Decisión en Aprendizaje Automático. In-
stituto de Estadística Teórica y Aplicada, Universidad Mayor de San Andrés.
https://ojs.umsa.bo/ojs/index.php/revistavarianza/article/download/433/365
• IBM. (s.f.). ¿Qué es un árbol de decisión? https://www.ibm.com/es-es/topics/decision-trees
• IBM. (s.f.). ¿Qué es un bosque aleatorio? https://www.ibm.com/mx-es/topics/random-forest
• Talamantes Álvarez, A. (2021). Análisis del Potencial de Random Forest para la
Detección de Fraude en Transacciones con Tarjeta de Crédito. Tesis de Maestría,
Centro de Investigación Científica y de Educación Superior de Ensenada (CICESE).
https://cicese.repositorioinstitucional.mx/jspui/bitstream/1007/3603/1/Tesis_Ariana%20Talamantes%20A
• IBM. (s.f.). ¿Qué es KNN? https://www.ibm.com/mx-es/topics/knn
• Rivas,W & Mazón, B. (2017).Generalidades de las redes neuronales artificiales. En J. C.
Chávez & L. A. Morocho (Eds.), Redes neuronales artificiales: Fundamentos y aplicaciones
(pp. 1-14). UTMACH: Editorial Universitaria.
• Gutiérrez González, I., Gutiérrez Cruz, D., Juan Ramírez, J. E., Rodríguez Páez, L.,
Rico Molina, R., & Sánchez Medina, M. (2017). Aplicación del algoritmo K-means
para el análisis de resultados de la prueba PLANEA 2017. Universidad Autónoma
del Estado de México, Centro Universitario UAEM Nezahualcóyotl, México.chrome-
extension://efaidnbmnnnibpcajpcglclefindmkaj/https://rcs.cic.ipn.mx/2020_149_8/Aplicacion%20del%20a
means%20para%20el%20analisis%20de%20resultados%20de%20la%20prueba%20PLANEA%202017.pdf
• Ramírez, L. (2023, 5 enero). Algoritmo k-means: ¿Qué es y cómo funciona? Thinking For In-
novation. https://www.iebschool.com/blog/algoritmo-k-means-que-es-y-como-funciona-big-
data/
• Rokach, Lior, and Oded Maimon. “Clustering methods.” Data mining and knowledge dis-
covery handbook. Springer US, 2010. 321-352.
• González, N., & Taborda, A. (2015). “Análisis de Componentes Prin-
cipales Sparse: Formulación, algoritmos e implicaciones en el análisis de
datos.” Trabajo de Fin de Máster. Departamento de Estadística, Máster en
Análisis Avanzado de Datos Multivariantes,Universidad de Salamanca.chrome-
extension://efaidnbmnnnibpcajpcglclefindmkaj/https://gredos.usal.es/bitstream/handle/10366/126046/TFM
• Díaz Rodríguez, M. (2020). “Mapas autoorganizados para clasificación en tiempo real:
Implementación digital sobre FPGAs” (Gradu Amaierako Lana / Trabajo Fin de Grado
Ingeniaritza Elektronikoko Gradua / Grado en Ingeniería Electrónica). Leioa. chrome-
extension://efaidnbmnnnibpcajpcglclefindmkaj/https://addi.ehu.es/bitstream/handle/10810/49091/TFG_D
• Benites, L. (2022, mayo 4). Algoritmo EM (expectativa-maximización): definición simple.
Statologos. https://statologos.com/maximizacion-de-la-expectativa-del-algoritmo-em/
25
• Monroy, S. (2023, 23 marzo). ¿Qué es el reinforcement learning? Usos y ejemplos de aplica-
ciones. APD España. https://www.apd.es/que-es-reinforcement-learning/
• MATLAB & Simulink. (s.f.). https://la.mathworks.com/help/stats/gaussian-mixture-
models.html
• Bogado, U. (2023, 19 septiembre). Redes neuronales convolucionales: ¿Qué son y como
funcionan? - NodoExo. Nodo Exo. https://nodoexo.com/redes-neuronales-convolucionales/
• ArcGIS Pro. (s.f.). Detectar comunidades en un gráfico de vínculos.
https://pro.arcgis.com/es/pro-app/3.1/help/data/knowledge/detect-communities-in-a-link-
chart.htm#:~:text=El%20m%C3%A9todo%20Propagaci%C3%B3n%20de%20etiquetas,utiliza%20la%20may
• GraphEverywhere, E. (2019, 29 octubre). Algoritmo de propagación de etiquetas. GraphEv-
erywhere. https://www.grapheverywhere.com/algoritmo-de-propagacion-de-etiquetas/
26