Professional Documents
Culture Documents
Practica 2 Deep Learning (DL) FF
Practica 2 Deep Learning (DL) FF
SUPERIORES DE ECATEPEC
CARRERA:
INGENIERÍA INFORMÁTICA
ALUMNOS:
MELENDEZ FLORES CESAR IVAN
CRUZ LOPEZ RICARDO ALBERTO
CASTILLO CRUZ AMAURY
ASIGNATURA:
TECNOLOGÍAS INNOVADORAS
PRÁCTICA 2:
“Práctica 3_Deep Learning (DL): Caso de estudio
en la expectativa de vida”
PROFESOR:
DERLIS HERNÁNDEZ LARA
GRUPO: 15801
TURNO: Matutino
OBJETIVO:
Este objetivo y caso de estudio sobre Deep Learning en la expectativa de vida
demuestra cómo esta tecnología puede ser aplicada en el campo de la salud y
proporcionar información valiosa para la toma de decisiones y la mejora de la
calidad de vida de las personas..
MATERIALES Y EQUIPO:
HARDWARE: SOFTWARE:
Python Pc
Librerías de Python Google collaboratory
S.O
Procesador de textos
MARCO TEÓRICO:
El perceptrón.
El perceptrón es un algoritmo de aprendizaje automático desarrollado por el
psicólogo y científico de la computación Frank Rosenblatt en 1957. Se considera
uno de los primeros modelos de redes neuronales artificiales y sentó las bases
para el desarrollo de la inteligencia artificial moderna.
El perceptrón se basa en el funcionamiento de una neurona biológica y se utiliza
principalmente para problemas de clasificación binaria, donde se intenta separar
dos clases de datos distintas. Puede verse como un clasificador lineal que toma un
conjunto de entradas, realiza una combinación lineal ponderada y aplica una
función de activación para producir una salida. La función de activación
generalmente se representa como una función escalón o una función signo.
El proceso de entrenamiento del perceptrón implica ajustar los pesos y los sesgos
de manera iterativa para minimizar el error de clasificación. Inicialmente, los pesos
se inicializan aleatoriamente y, a medida que se presentan los datos de
entrenamiento, se calcula la salida del perceptrón. Si la salida es incorrecta, los
pesos se actualizan en dirección opuesta a la clase incorrecta para corregir el
error. Este proceso se repite hasta que se alcanza un estado de convergencia en
el que el perceptrón clasifica correctamente los datos de entrenamiento.
El perceptrón tiene algunas limitaciones importantes. Una de ellas es que solo
puede resolver problemas de clasificación linealmente separables. Si los datos no
se pueden separar mediante una línea recta o un hiperplano, el perceptrón no
podrá encontrar una solución correcta. Además, el perceptrón es sensible a los
datos de entrada y puede converger a diferentes soluciones dependiendo del
orden de presentación de los datos ( ALFA OMEGA, 2008).
A pesar de sus limitaciones, el perceptrón sentó las bases para el desarrollo de
redes neuronales más complejas y poderosas. Investigaciones posteriores han
demostrado que combinando múltiples perceptrones en capas y utilizando
funciones de activación no lineales, como la función sigmoide o la función de
activación ReLU, se pueden resolver problemas de clasificación no lineales. Estas
redes neuronales más profundas y complejas se conocen como redes neuronales
multicapa o perceptrones multicapa.
El pre-procesamiento
Estas tareas de pre-procesamiento son fundamentales para garantizar que los
datos estén limpios, preparados y en el formato adecuado antes de entrenar un
modelo de Machine Learning. Cada una de estas tareas tiene como objetivo
mejorar la capacidad de los algoritmos para converger hacia una solución óptima y
lograr un rendimiento óptimo en el entrenamiento y la posterior aplicación del
modelo.
La gráfica resultante muestra cómo el error del modelo varía a lo largo del tiempo,
es decir, cómo disminuye en cada época de entrenamiento. Al observar la gráfica,
se puede analizar la tendencia del error y determinar si el modelo está
convergiendo hacia una solución óptima. Si el error disminuye de manera
constante y se estabiliza a medida que avanzan las épocas, es un indicio de que
el modelo está aprendiendo y mejorando su capacidad de hacer predicciones
precisas. Sin embargo, si el error se mantiene alto o fluctúa sin una tendencia
clara, puede ser necesario ajustar los hiperparámetros o explorar otros enfoques
para mejorar el rendimiento del modelo.
Análisis
El código toma un ejemplo de entrada específico, realiza la alimentación hacia
adelante (forward pass) a través del perceptrón entrenado, aplica la función de
activación sigmoide y produce la esperanza de vida predicha por el modelo.
Luego, compara esta predicción con el valor deseado y muestra ambos valores en
la consola. Esto permite evaluar el rendimiento del modelo en la predicción de la
esperanza de vida para el ejemplo seleccionado.
bmi_ejemplo = x_input[77]: Se selecciona el ejemplo de entrada número 77 del
conjunto de datos de entrenamiento. Este ejemplo corresponde a un registro
específico que se utilizará para realizar la predicción de la expectativa de vida.
y_deseado = y[77]*y_max: Se obtiene el valor deseado de la expectativa de vida
correspondiente al ejemplo de entrada número 77. El valor de y[77] se multiplica
por y_max para obtener el valor real de la expectativa de vida, ya que previamente
se había dividido por y_max durante el preprocesamiento de los datos.
h = np.dot(w, bmi_ejemplo): Se realiza una combinación lineal entre los pesos
del perceptrón (w) y el ejemplo de entrada (bmi_ejemplo), utilizando el producto
punto (np.dot). Esto calcula el campo local (weighted sum) del perceptrón antes de
aplicar la función de activación.
y_real = sigmoide(h): Se aplica la función de activación sigmoide al campo local
(h) obtenido en el paso anterior. Esto produce la salida real del perceptrón, que
representa la expectativa de vida predicha por el modelo para el ejemplo de
entrada dado.
expectativa_de_vida = y_real*y_max: Se multiplica la salida real del perceptrón
(y_real) por y_max para obtener la expectativa de vida en su escala original, sin la
normalización aplicada durante el preprocesamiento.
print('El valor deseado es: ', y_deseado): Se muestra en la consola el valor
deseado de la expectativa de vida correspondiente al ejemplo de entrada.
print('El valor que predijo el perceptrón es: ', expectativa_de_vida): Se
muestra en la consola el valor de la expectativa de vida predicha por el perceptrón
para el ejemplo de entrada.
Para analizar