Está en la página 1de 35

lOMoARcPSD

|8784756

2023

REDES NEURONALES
Unidad II

Instituto Tecnológico Superior De


Acayucan
906-A Ing. Mecatrónica
Participantes:
 Domínguez Rico Donato

Acayucan, Veracruz

Controladores Lógicos Programables (PLC)


Donato Domínguez Rico
lOMoARcPSD
|8784756

INSTITUTO TECNOLÓGICO SUPERIOR DE ACAYUCAN

UNIDAD 2
PORTAFOLIO DE LA UNIDAD II

INGENIERÍA MECATRÓNICA

REDES NEURONALES

Clave de la asignatura: RIF-2205

ALUMNOS
Domínguez Rico Donato

DOCENTE

ING. Abner Montenegro Hipólito

Acayucan Ver. 2023

Controladores Lógicos Programables (PLC)


Donato Domínguez Rico
lOMoARcPSD
|8784756

Introducción

En la era actual de rápidos avances tecnológicos, las redes neuronales han surgido
como una herramienta fundamental en el campo de la inteligencia artificial y el
aprendizaje automático. Inspiradas en la estructura y funcionamiento del cerebro
humano, estas redes son capaces de aprender patrones complejos y realizar tareas
sofisticadas que anteriormente eran impensables para las máquinas.
Una de las características más impresionantes de las redes neuronales es su
capacidad para aproximar funciones y mapeos matemáticos complejos. Este poder se
deriva de su estructura multicapa compuesta por neuronas interconectadas, que
pueden adaptarse y mejorar su rendimiento a medida que se les suministra más
información.
En esta era de grandes volúmenes de datos, las redes neuronales se utilizan para una
variedad de aplicaciones, desde reconocimiento de voz y visión por computadora hasta
predicciones de mercado y diagnóstico médico. Este papel polifacético de las redes
neuronales como aproximadores de funciones ha transformado numerosos sectores y
ha llevado a innovaciones que antes parecían inalcanzables.
En esta presentación (o trabajo), exploraremos los fundamentos de cómo las redes
neuronales funcionan como aproximadores de funciones y mapeos. Analizaremos sus
componentes esenciales, como las capas ocultas y las funciones de activación, y cómo
estas redes pueden aprender automáticamente a partir de datos. Además,
examinaremos ejemplos prácticos de cómo las redes neuronales se aplican en diversas
disciplinas para resolver problemas del mundo real.
A medida que avanzamos, descubriremos el fascinante mundo de las redes neuronales
y cómo están transformando nuestra comprensión de la inteligencia artificial y su
capacidad para emular y mejorar las capacidades humanas en una amplia gama de
aplicaciones.

Controladores Lógicos Programables (PLC)


Donato Domínguez Rico
lOMoARcPSD
|8784756

Índice.
Introducción................................................................................................................................................3
TEORÍA DE TODOS LOS TEMAS....................................................................................................................6
Actividades en clases.................................................................................................................................14
09/10/2023............................................................................................................................................14
Reporte de practicas..................................................................................................................................19
PRÁCTICA 2............................................................................................................................................19
PRÁCTICA 3............................................................................................................................................24
Examen......................................................................................................................................................29
Conclusiones de la unidad.........................................................................................................................32
Referencia bibliográfica.............................................................................................................................33

Controladores Lógicos Programables (PLC)


Donato Domínguez Rico
lOMoARcPSD
|8784756

Índice de tablas e imágenes


Ilustración 1.................................................................................................................................................7
Ilustración 2.................................................................................................................................................7
Ilustración 3.................................................................................................................................................8
Ilustración 4...............................................................................................................................................10
Ilustración 5...............................................................................................................................................11
Ilustración 6...............................................................................................................................................27
Ilustración 7...............................................................................................................................................27
Ilustración 8...............................................................................................................................................27

Controladores Lógicos Programables (PLC)


Donato Domínguez Rico
lOMoARcPSD
|8784756

INSTITUTO TECNOLÓGICO SUPERIOR DE ACAYUCAN

UNIDAD 2
TEORÍA DE TODOS LOS TEMAS

INGENIERÍA MECATRÓNICA

REDES NEURONALES

Clave de la asignatura: RIF-2205

ALUMNOS
Domínguez Rico Donato

DOCENTE

ING. Abner Montenegro Hipólito

Acayucan Ver. 2023

Controladores Lógicos Programables (PLC)


Donato Domínguez Rico
lOMoARcPSD
|8784756

2.1 Algoritmos de Entrenamiento y Retropropagación


En el apasionante mundo de las redes neuronales, el proceso de entrenamiento es el
pilar fundamental que permite a estas estructuras aprender y adaptarse a partir de los
datos. Uno de los algoritmos más cruciales para este propósito es la retropropagación,
un método ingenioso que se basa en principios matemáticos sólidos para ajustar los
pesos y sesgos de la red neuronal, minimizando así la discrepancia entre las
predicciones del modelo y los valores reales del conjunto de datos de entrenamiento.
Inicialización y Propagación Inicial:
El proceso de entrenamiento comienza con la inicialización aleatoria de los pesos y
sesgos de la red neuronal. Este paso es crucial, ya que las condiciones iniciales
afectan el resultado final del entrenamiento. Luego, se realiza la propagación hacia
adelante, donde los datos de entrada atraviesan la red neuronal, capa por capa,
utilizando los pesos y sesgos actuales. Durante esta etapa, se generan las
predicciones del modelo.

Ilustración 1

Cálculo de la Pérdida:
Una vez que se han realizado las predicciones, se calcula la pérdida, también conocida
como error o función de pérdida. Esta medida cuantifica la discrepancia entre las
predicciones del modelo y los valores reales del conjunto de datos de entrenamiento. El
objetivo del entrenamiento es minimizar esta pérdida, es decir, reducir al máximo
posible la diferencia entre las predicciones del modelo y los datos reales.

Ilustración 2

Controladores Lógicos Programables (PLC)


Donato Domínguez Rico
lOMoARcPSD
|8784756

Retropropagación del Error:


La retropropagación es el corazón del proceso de entrenamiento. En esta etapa, se
calcula el gradiente de la función de pérdida con respecto a los pesos y sesgos de la
red neuronal. Este gradiente indica cómo cambia la pérdida si se hacen pequeños
cambios en los pesos y sesgos. La regla de la cadena se utiliza para calcular estas
derivadas parciales, lo que permite entender cómo cada peso y sesgo contribuyen al
error total. Este proceso es esencial para ajustar los pesos y sesgos de la red de una
manera que reduzca la pérdida global.

Ilustración 3

Actualización de los Pesos:


Con el gradiente de la función de pérdida en mano, se utiliza un algoritmo de
optimización, como el descenso del gradiente estocástico (SGD) o el algoritmo Adam,
para actualizar los pesos y sesgos de la red. Estos algoritmos ajustan los pesos en la
dirección opuesta al gradiente, moviéndolos hacia los valores que minimizan la pérdida.
Esta iteración de cálculo del gradiente y actualización de pesos se repite varias veces
(a menudo a lo largo de múltiples épocas) hasta que la pérdida converja a un valor
mínimo o hasta que se alcance un criterio de detención predeterminado.
Este proceso iterativo y reflexivo de retropropagación permite que las redes neuronales
aprendan patrones complejos en los datos, lo que les permite aproximar funciones y
realizar mapeos precisos en una variedad de aplicaciones. La retropropagación, junto
con los algoritmos de optimización modernos, representa la esencia del éxito detrás de
muchas aplicaciones de aprendizaje profundo en áreas que van desde el
reconocimiento de imágenes y voz hasta la traducción automática y la medicina
computacional.
En resumen, la retropropagación es un pilar fundamental en el campo de las redes
neuronales, que no solo nos permite comprender cómo estas redes aprenden a partir
de los datos, sino que también representa un logro fundamental en el camino hacia la
creación de sistemas inteligentes capaces de emular y comprender complejas
relaciones en el mundo que nos rodea. Su continua evolución y mejora continúan

Controladores Lógicos Programables (PLC)


Donato Domínguez Rico
lOMoARcPSD
|8784756

siendo áreas de investigación activa, prometiendo avances continuos en el campo del


aprendizaje profundo y la inteligencia artificial.

2.2 Separación de Datos Mediante un Perceptrón


Dentro del vasto panorama del aprendizaje de máquinas, la capacidad para separar
datos de manera efectiva es esencial para una amplia gama de aplicaciones. Una
técnica clásica pero poderosa para lograr esta separación es el perceptrón, un
algoritmo de clasificación binaria que ha sentado las bases para comprender conceptos
más complejos en el aprendizaje automático y las redes neuronales.
El Perceptrón: Un Vistazo a su Funcionamiento Interno:
En su forma más básica, un perceptrón es una unidad simple de procesamiento que
puede tomar varias entradas, multiplicarlas por pesos correspondientes, sumarlas y
aplicar una función de activación para determinar la salida. La función de activación
típicamente utiliza un umbral: si la suma ponderada de las entradas supera este
umbral, el perceptrón produce una salida de 1; de lo contrario, produce una salida de 0.
Este proceso de evaluación se basa en la idea de que el perceptrón puede aprender a
separar clases linealmente, es decir, puede encontrar un hiperplano que divide dos
clases en un espacio multidimensional.
Separación Lineal de Datos:
Una de las principales aplicaciones del perceptrón es la separación lineal de datos. Si
dos clases de datos pueden ser separadas por una línea recta (o hiperplano en
dimensiones superiores), entonces un perceptrón puede aprender esta separación.
Esto se convierte en un ejercicio esencial en el aprendizaje supervisado, donde el
perceptrón ajusta iterativamente sus pesos para minimizar errores en la clasificación de
datos de entrenamiento. Esta capacidad de separación lineal es una limitación del
perceptrón y, en casos donde los datos no son linealmente separables, se requieren
técnicas más complejas, como las redes neuronales multicapa.
Importancia en Problemas del Mundo Real:
Aunque su simplicidad puede parecer limitante, los perceptrones tienen aplicaciones
prácticas significativas. Por ejemplo, se han utilizado para clasificar correos
electrónicos como spam o no spam, diagnosticar enfermedades basándose en
síntomas, y reconocer patrones en imágenes y señales. Cuando los datos pueden ser
separados de manera lineal, el perceptrón ofrece una solución eficaz y rápida para
problemas de clasificación.
Más Allá del Perceptrón Básico:
Es importante destacar que, aunque los perceptrones básicos solo pueden separar
datos linealmente, las redes neuronales multicapa (también conocidas como
perceptrones multicapa) pueden separar datos de manera no lineal. Al combinar
múltiples perceptrones en capas y aplicar funciones de activación no lineales, estas

Controladores Lógicos Programables (PLC)


Donato Domínguez Rico
lOMoARcPSD
|8784756

redes pueden aprender a representar y clasificar datos complejos que no son


linealmente separables, lo que las convierte en herramientas poderosas para una
amplia gama de problemas del mundo real.

2.3 Aproximación de Funciones en R2 (Curvas) y R3 (Superficies).


En el mundo del análisis matemático y el aprendizaje automático, la capacidad para
aproximar funciones en espacios bidimensionales (R2) y tridimensionales (R3) tiene
aplicaciones fundamentales y esenciales. La aproximación de funciones en estas
dimensiones no solo es teóricamente interesante, sino que también tiene una variedad
de aplicaciones prácticas en campos como la física, la ingeniería, la computación
gráfica y la modelización de datos del mundo real.
Aproximación de Funciones en R2 (Curvas):
En el plano bidimensional, la aproximación de funciones se traduce en la
representación de curvas. Para aproximar curvas en R2, los métodos clásicos como el
polinomio de interpolación de Lagrange y el método de los mínimos cuadrados son
fundamentales. Estos métodos encuentran polinomios que mejor se ajustan a un
conjunto de puntos dados en el plano, lo que permite aproximar diversas curvas, desde
líneas rectas hasta curvas complejas.

Ilustración 4

Además, las técnicas modernas de aprendizaje profundo también se han aplicado con
éxito para aproximar curvas en R2. Las redes neuronales, especialmente las diseñadas
para problemas de regresión, pueden aprender patrones complejos en datos y
aproximar curvas no lineales con alta precisión. Esto es especialmente útil en áreas
como el reconocimiento de gestos y la generación de imágenes, donde la precisión en
la aproximación de curvas es esencial.
Aproximación de Funciones en R3 (Superficies):

Controladores Lógicos Programables (PLC)


Donato Domínguez Rico
lOMoARcPSD
|8784756

Cuando se trata de aproximación en el espacio tridimensional, el enfoque se extiende a


la representación de superficies. Aquí, las técnicas tradicionales como el método de los
mínimos cuadrados tridimensional y las técnicas de interpolación polinómica
tridimensional se utilizan para aproximar superficies a partir de conjuntos de puntos en
el espacio tridimensional.

Ilustración 5

En el contexto del aprendizaje profundo, las redes neuronales convolucionales


tridimensionales (3D CNN) son vitales para aproximar y entender datos que implican el
factor temporal, como secuencias de video. Las 3D CNN pueden capturar patrones
espaciotemporales en datos tridimensionales y, por lo tanto, se utilizan para la
aproximación precisa de superficies dinámicas que evolucionan con el tiempo.
Desafíos y Futuro de la Aproximación en R2 y R3:
A pesar de los avances significativos, la aproximación de funciones en R2 y R3
presenta desafíos únicos. La complejidad de las curvas y superficies que se encuentran
en aplicaciones del mundo real a menudo requiere modelos de aproximación más
sofisticados y precisos. Además, la gestión adecuada del ruido y la incertidumbre en los
datos sigue siendo un área activa de investigación.
En el futuro, el desarrollo de técnicas de aprendizaje profundo más avanzadas y el uso
de enfoques basados en modelos físicos pueden llevar a mejoras significativas en la
precisión y la versatilidad de la aproximación de funciones en R2 y R3. Además, la
comprensión y la integración efectiva de la información temporal en la aproximación de
superficies dinámicas seguirán siendo temas de investigación críticos.
En resumen, la aproximación de funciones en R2 y R3 es un campo multidisciplinario
crucial que combina matemáticas, computación y teoría de la información. Con
aplicaciones que van desde la animación por computadora hasta la modelización
climática, esta área sigue siendo una fuerza motriz en la innovación y el descubrimiento
científico. Su continuo desarrollo y refinamiento siguen siendo esenciales para abordar
problemas complejos en nuestra comprensión y manipulación del mundo que nos
rodea.

Controladores Lógicos Programables (PLC)


Donato Domínguez Rico
lOMoARcPSD
|8784756

2.4 Redes Neuronales Multicapa


En el mundo del aprendizaje profundo, las Redes Neuronales Multicapa (MLP por sus
siglas en inglés, Multilayer Perceptrons) se destacan como una de las arquitecturas
fundamentales. Estas redes, también conocidas como perceptrones multicapa,
representan un paso crucial hacia adelante en la capacidad de las máquinas para
comprender y aprender patrones complejos en datos, superando las limitaciones de las
redes neuronales de una sola capa.
Estructura y Funcionamiento de las MLP:
Una MLP consta de al menos tres capas de nodos interconectados: una capa de
entrada que recibe los datos, una o más capas ocultas que procesan y aprenden
características, y una capa de salida que genera las predicciones o clasificaciones. A
través de estas múltiples capas y una variedad de funciones de activación, las MLP
tienen la capacidad de aprender representaciones jerárquicas de los datos. Cada capa
oculta aprende características cada vez más abstractas y complejas, lo que permite a
la red capturar patrones intrincados en los datos de entrada.
Entrenamiento y Retropropagación en MLP:
El proceso de entrenamiento de las MLP implica la retropropagación del error a través
de la red. La retropropagación, explicada anteriormente, se utiliza para ajustar los
pesos y sesgos de la red, minimizando la diferencia entre las predicciones del modelo y
los valores reales. La capacidad de las MLP para aproximar funciones no lineales
complejas las convierte en herramientas poderosas para una variedad de tareas, desde
clasificación y regresión hasta generación de texto y reconocimiento de imágenes.
Aplicaciones Diversas y Avanzadas:
Las MLP han demostrado ser excepcionalmente versátiles y se utilizan en una variedad
de aplicaciones. En el ámbito de la visión por computadora, las MLP se combinan con
técnicas como las redes neuronales convolucionales (CNN) para tareas de clasificación
de imágenes. En el procesamiento del lenguaje natural, las MLP se utilizan en modelos
de lenguaje y traducción automática. Además, en campos como la medicina, las
ciencias naturales y la ingeniería, las MLP se aplican para analizar datos complejos y
hacer predicciones precisas.
Desafíos y Futuro de las MLP:
Aunque las MLP han logrado avances significativos, todavía enfrentan desafíos. La
selección adecuada del número de capas y nodos ocultos, junto con la elección de
funciones de activación y algoritmos de optimización, sigue siendo un área de
investigación activa. Además, la interpretabilidad de las decisiones tomadas por las

Controladores Lógicos Programables (PLC)


Donato Domínguez Rico
lOMoARcPSD
|8784756

MLP representa un desafío importante, especialmente en aplicaciones críticas como la


atención médica y el sistema judicial.
En el futuro, se espera que las MLP continúen evolucionando. La combinación de MLP
con técnicas como el aprendizaje por transferencia y la atención se perfila como un
camino prometedor. Además, la mejora en la explicabilidad y la capacidad de las redes
para adaptarse a datos dinámicos y cambiantes son objetivos clave para la
investigación futura.

Controladores Lógicos Programables (PLC)


Donato Domínguez Rico
lOMoARcPSD
|8784756

Controladores Lógicos Programables (PLC)


Donato Domínguez Rico
lOMoARcPSD
|8784756

Actividades en clases.
09/10/2023

Controladores Lógicos Programables (PLC)


Donato Domínguez Rico
lOMoARcPSD
|8784756

Controladores Lógicos Programables (PLC)


Donato Domínguez Rico
lOMoARcPSD
|8784756

Controladores Lógicos Programables (PLC)


Donato Domínguez Rico
lOMoARcPSD
|8784756

Controladores Lógicos Programables (PLC)


Donato Domínguez Rico
lOMoARcPSD
|8784756

Controladores Lógicos Programables (PLC)


Donato Domínguez Rico
lOMoARcPSD
|8784756

Reporte de practicas
INSTITUTO TECNOLÓGICO SUPERIOR DE ACAYUCAN

PRÁCTICA 2

Creación de una red neuronal

INGENIERÍA MECATRÓNICA

REDES NEURONALES

Clave de la asignatura: RIF-2205

INTEGRANTES:

Domínguez Rico Donato

Martínez Diaz Aaron Miguel

Ramírez Mozo Israel

Roman Patraca Edgar

Valdés Morales Francisco Manuel

DOCENTE

ING. Abner Montenegro Hipólito

Acayucan Ver. Octubre de 2023

Controladores Lógicos Programables (PLC)


Donato Domínguez Rico
lOMoARcPSD
|8784756

Objetivo

Hacer una red Neuronal básica para posteriormente

Material Utilizado

 Libreta
 Lapiceros
 Computadora
 Internet

Controladores Lógicos Programables (PLC)


Donato Domínguez Rico
lOMoARcPSD
|8784756

Controladores Lógicos Programables (PLC)


Donato Domínguez Rico
lOMoARcPSD
|8784756

Controladores Lógicos Programables (PLC)


Donato Domínguez Rico
lOMoARcPSD
|8784756

Conclusiones:
Donato Domínguez Rico
Simplicidad de la Conversión: La conversión de grados Celsius a Fahrenheit se puede lograr
de manera rápida y precisa mediante una fórmula matemática simple. No se requieren
enfoques complejos como las redes neuronales para realizar esta tarea básica.
Aaron Miguel Martínez Diaz
Uso Eficiente de las Herramientas: Las redes neuronales son herramientas poderosas, pero
su implementación debe ser apropiada para la complejidad de la tarea. En este caso, usar una
red neuronal para convertir temperaturas es ineficiente y poco práctico, ya que una fórmula
matemática proporciona resultados precisos de manera instantánea.
Israel Ramírez Mozo
Aplicaciones Más Complejas: Aunque la conversión de temperatura no sea una aplicación
adecuada para redes neuronales, estas son fundamentales para tareas más complejas, como
el reconocimiento de voz, la visión por computadora y la traducción automática, donde los
patrones son intrincados y no se pueden resolver fácilmente con fórmulas matemáticas
simples.
Edgar Roman Patraca
Importancia del Entrenamiento y los Datos: Si decides utilizar una red neuronal para una
tarea más compleja en el futuro, es esencial contar con un conjunto de datos de entrenamiento
adecuado y realizar un entrenamiento cuidadoso para que la red pueda hacer predicciones
precisas en situaciones del mundo real. El éxito de una red neuronal depende en gran medida
de la calidad y cantidad de los datos utilizados para entrenarla.
Francisco Manuel Valdés Morales
Aprendizaje Supervisado: Si decidieras usar una red neuronal para este propósito, estarías
empleando un enfoque de aprendizaje supervisado. Esto implica alimentar a la red con pares
de datos de entrada (grados Celsius) y salida esperada (grados Fahrenheit) para que la red
pueda aprender a hacer predicciones basadas en estos ejemplos.

Controladores Lógicos Programables (PLC)


Donato Domínguez Rico
lOMoARcPSD
|8784756

INSTITUTO TECNOLÓGICO SUPERIOR DE ACAYUCAN

PRÁCTICA 3

Pasar la red neuronal a un lenguaje de programación

INGENIERÍA MECATRÓNICA

REDES NEURONALES

Clave de la asignatura: RIF-2205

INTEGRANTES:
Domínguez Rico Donato

Martínez Diaz Aaron Miguel

Ramírez Mozo Israel

Roman Patraca Edgar

Valdés Morales Francisco Manuel

DOCENTE

ING. Abner Montenegro Hipólito

Acayucan Ver. Octubre de 2023

Controladores Lógicos Programables (PLC)


Donato Domínguez Rico
lOMoARcPSD
|8784756

Objetivo

Pasar nuestra red neuronal a un lenguaje de alto nivel para comprobarla que si
funcione.

Material Utilizado

 Computadora
 Visual Studio Code

Controladores Lógicos Programables (PLC)


Donato Domínguez Rico
lOMoARcPSD
|8784756

Para llevar a cabo la realización de la red neuronal utilizaremos el lenguaje de programación


Python y utilizaremos Tensorflow para entrenar la red y hacer que esta aprenda.
1. Comenzaremos importando los frameworks de tensorflow y numpy.
import tensorflow as tf

import numpy as np
2. Arreglos de números donde se colocan los datos de entrada de celcius y los resultados
de fahrenheit.
celsius = np.array([-60, -40, -10, 0, 0.5, 1, 2, 5, 8, 15, 22, 38, 50, 60, 70, 100], dtype=float)

fahrenheit = np.array([-76, -40, -14, 32, 32.9, 34, 35.6, 41, 46.4, 59, 71.6, 100.4, 122, 140,
158, 212], dtype=float)
3. Definición de capas.
a. «tf.keras.layers.Dense» Hace referencia que define una capa de tipo densa. (Las
capas de tipo densa significan que cada neurona de una capa, tienen
conexiones a todas las neuronas de la siguiente capa).
b. «units = 1» Hace referencia que hay una neurona de salida.
c. «input_shape = [1]» Significa que hay una capa de entrada con una sola
neurona.
d. «modelo = tf.keras.Sequential([capa])» Definición de modelo de capa secuencial,
asignado a nuestra variable «capa».

capa = tf.keras.layers.Dense(units=1, input_shape=[1])

modelo = tf.keras.Sequential([capa])

4. Definición del optimizador y función de perdida


a. Para el optimizador se utiliza el algoritmo Adam (Adam es un algoritmo de
optimización que se puede utilizar en lugar del procedimiento de descenso de
gradiente para actualizar los pesos de red de forma automática), en este caso se
le asigna el valor de 50, porque poco puede hacer lenta la red, y mucho, pasarse
del resultado esperado.
modelo.compile(

optimizer=tf.keras.optimizers.Adam(50),

loss='mean_squared_error'

)
5. Entrenamiento
a. Se utiliza la función «.fit» sobre el modelo, ejemplo «modelo.fit» especificando
los datos de entrada (En este caso la lista celcius) y los datos de salida (En este
caso fahrenheit), luego se definen las épocas por las que iterará, con la función
«epochs = valor» y para solo imprimir lo esencial se utiliza «verbose = False»

Controladores Lógicos Programables (PLC)


Donato Domínguez Rico
lOMoARcPSD
|8784756

6. print("Comenzando entrenamiento...")
7. historial = modelo.fit(celsius, fahrenheit, epochs=10000, verbose= False)
8. print("Modelo entrenado!")

6. Predicción
a. En este caso se hace una predicción de cuantos son n grados celcius en
fahrenheit, utilizando un arreglo para poder ingresar los grados que el usuario
quiera.

print("Hagamos una prediccion!")

celsius_input = float(input("Ingresa la temperatura en grados Celsius: "))

fahrenheit_output = modelo.predict([celsius_input])

print(f'{celsius_input} grados Celsius son aproximadamente {str(fahrenheit_output[0][0])} grados


Fahrenheit')
A continuación, se mostrará que nuestra red neuronal es funcional.

Ilustración 6

Como vemos el modelo es completamente funcional ahora se realizaran más pruebas:

Ilustración 7

Ilustración 8

Controladores Lógicos Programables (PLC)


Donato Domínguez Rico
lOMoARcPSD
|8784756

Conclusiones:

Donato Dominguez Rico


Aprendizaje Interactivo: La implementación de una red neuronal para convertir grados Celsius
a Fahrenheit proporciona una forma interactiva y educativa para que las personas comprendan
los conceptos básicos del aprendizaje automático. Permite a los usuarios interactuar con un
modelo de inteligencia artificial en un contexto práctico y comprender cómo las redes
neuronales pueden realizar tareas matemáticas simples.
Aaron Miguel Martínez Diaz
Aplicación Práctica de Conceptos: Esta aplicación proporciona una demostración práctica de
cómo los conceptos teóricos de las redes neuronales y el aprendizaje automático pueden
aplicarse en situaciones del mundo real, incluso para tareas aparentemente simples. Ayuda a
las personas a visualizar cómo los algoritmos pueden aprender patrones y realizar
conversiones complejas a partir de datos de entrada.
Israel Ramírez Mozo

Facilidad de Uso: La aplicación es fácil de usar para los usuarios finales. Pide una entrada en
grados Celsius y devuelve la temperatura equivalente en grados Fahrenheit. Esto demuestra
cómo las complejidades del modelo de red neuronal están ocultas para el usuario, lo que
subraya la capacidad de las tecnologías de inteligencia artificial para hacer tareas complejas de
manera sencilla y accesible.
Edgar Roman Patraca
Flexibilidad de la Red Neuronal: Aunque el problema de convertir grados Celsius a
Fahrenheit se puede resolver fácilmente con una fórmula matemática, utilizar una red neuronal
muestra la flexibilidad de estos modelos. Pueden adaptarse y aprender de conjuntos de datos
más complejos, lo que subraya su potencial para abordar problemas mucho más desafiantes y
variados en diversas disciplinas.
Francisco Manuel Valdés Morales
Estímulo para el Aprendizaje: Al proporcionar una experiencia interactiva y práctica con
inteligencia artificial, esta implementación puede estimular el interés en aprender más sobre la
ciencia de datos y el aprendizaje automático. Puede inspirar a los usuarios a profundizar en
estos temas, lo que puede ser especialmente valioso para estudiantes y entusiastas que están
interesados en tecnologías emergentes.

Controladores Lógicos Programables (PLC)


Donato Domínguez Rico
lOMoARcPSD
|8784756

Examen

Nombre del alumno: Donato Domínguez Rico Grupo: 906-A


Carrera: INGENIERÍA MECATRÓNICA
Nombre de la asignatura: REDES NEURONALES
UNIDAD II. IMPLEMENTACIÓN DE REDES NEURONALES COMO
Unidad de competencia:
APROXIMADORES DE FUNCIONES Y MAPEOS.
Examen; UNIDAD II
Docente: ING. ABNER MONTENEGRO HIPÓLITO Fecha de entrega: 23/10/2023

Realizar una red neuronal para el control de una variable de temperatura.

Controladores Lógicos Programables (PLC)


Donato Domínguez Rico
lOMoARcPSD
|8784756

Código de la red neuronal


import numpy as np
import tensorflow as tf

# Crea y compila el modelo de la red neuronal


model = tf.keras.Sequential([
tf.keras.layers.Dense(16, input_dim=2, activation='relu'),
tf.keras.layers.Dense(32, activation='relu'),
tf.keras.layers.Dense(1, activation='linear')
])
model.compile(loss='mean_squared_error', optimizer='adam')

# Función para calcular la temperatura óptima considerando la temperatura y la


humedad
def calcular_temperatura_optima(temperatura_actual, humedad):
# Ajusta la influencia de la temperatura y la humedad en la temperatura
óptima
influencia_temperatura = 0.3
influencia_humedad = 0.3

# Ajusta los pesos de acuerdo a las condiciones dadas


if temperatura_actual > 30 and humedad > 70:
influencia_temperatura = 0.1
influencia_humedad = 0.001
elif temperatura_actual < 30 and humedad < 30:
influencia_temperatura = 0.5
influencia_humedad = 0.001 ##
elif temperatura_actual > 30 and humedad < 50:
influencia_temperatura = 0.1
influencia_humedad = 0.001
elif temperatura_actual < 30 and humedad > 50:
influencia_temperatura = 0.5
influencia_humedad = 0.001

# Fórmula para calcular la temperatura óptima considerando la temperatura y


la humedad
temperatura_optima = 25 + (temperatura_actual * influencia_temperatura) -
(humedad * influencia_humedad)

# Limita la temperatura óptima entre 25°C y 38°C


return np.clip(temperatura_optima, 25, 38)

# Solicita la entrada del usuario para temperatura y humedad

Controladores Lógicos Programables (PLC)


Donato Domínguez Rico
lOMoARcPSD
|8784756

temperatura_actual = float(input("Ingrese la temperatura actual (°C): "))


humedad = float(input("Ingrese la humedad actual (%): "))

# Asegura que la humedad esté en el rango [0, 100]


humedad = np.clip(humedad, 0, 100)

# Calcula la temperatura óptima considerando la temperatura y la humedad


temperatura_optima = calcular_temperatura_optima(temperatura_actual, humedad)

print(f"La temperatura óptima para los pollos en este ambiente es:


{temperatura_optima:.2f} °C")

Red neuronal puesta en marcha

Controladores Lógicos Programables (PLC)


Donato Domínguez Rico
lOMoARcPSD
|8784756

Conclusiones de la unidad.

En el recorrido a través de los temas abordados, desde los algoritmos de


entrenamiento y retropropagación, hasta la aproximación de funciones en R2 y R3 y las
Redes Neuronales Multicapa (MLP), queda claro que las redes neuronales y el
aprendizaje profundo han revolucionado la forma en que comprendemos y procesamos
datos.
 Los algoritmos de entrenamiento y la retropropagación han permitido a las redes
neuronales aprender y mejorar a partir de los datos, desbloqueando su potencial
para aproximar funciones y mapear relaciones complejas en una variedad de
aplicaciones. La retropropagación, en particular, es una técnica fundamental que
impulsa el ajuste de los modelos a través de la minimización de la función de
pérdida, lo que lleva a un mejor rendimiento y una mayor precisión en las
predicciones.
 La aproximación de funciones en R2 y R3 ilustra la capacidad de las redes
neuronales y algoritmos de aprendizaje profundo para capturar y modelar
patrones en dimensiones bidimensionales y tridimensionales. Estas técnicas son
vitales en aplicaciones que abarcan desde la animación por computadora y la
física hasta la medicina y la ingeniería.
 Finalmente, las Redes Neuronales Multicapa representan un hito en la evolución
del aprendizaje profundo, permitiendo la construcción de modelos que pueden
aprender y representar jerarquías de características complejas. Su versatilidad
se refleja en una amplia gama de aplicaciones, desde el procesamiento de
lenguaje natural hasta la visión por computadora y más allá.
En conjunto, estos temas resaltan la importancia de las redes neuronales y el
aprendizaje profundo en la transformación de cómo abordamos y resolvemos
problemas en una variedad de campos. A medida que avanzamos, queda claro que
estas tecnologías seguirán desempeñando un papel fundamental en la investigación y
la innovación, impulsando soluciones más precisas y sofisticadas en la inteligencia
artificial y el aprendizaje automático. La evolución y la mejora continua de estos

Controladores Lógicos Programables (PLC)


Donato Domínguez Rico
lOMoARcPSD
|8784756

métodos son cruciales para desbloquear el potencial aún no explorado en nuestra


comprensión del mundo y la automatización de tareas complejas.

Referencia bibliográfica

 "Deep Learning" por Ian Goodfellow, Yoshua Bengio y Aaron Courville: Este libro es
considerado una referencia estándar en el campo del aprendizaje profundo y cubre una
variedad de temas, desde los fundamentos de las redes neuronales hasta arquitecturas
más avanzadas.

 "Neural Networks and Deep Learning: A Textbook" por Charu Aggarwal: Este libro
ofrece una introducción completa al aprendizaje profundo y las redes neuronales,
incluyendo algoritmos, técnicas de optimización y aplicaciones.

 "Deep Learning for Computer Vision" por Rajalingappaa Shanmugamani: Este libro
se centra en la aplicación de técnicas de aprendizaje profundo en el campo de la visión
por computadora y ofrece una introducción práctica a los conceptos fundamentales.

 "Python Machine Learning" por Sebastian Raschka y Vahid Mirjalili: Aunque este
libro no se centra exclusivamente en las redes neuronales, proporciona una excelente
introducción al aprendizaje automático en Python, incluyendo cómo implementar y
utilizar redes neuronales.

 "Pattern Recognition and Machine Learning" por Christopher Bishop: Este libro es
una referencia clásica en el campo del reconocimiento de patrones y el aprendizaje
automático, cubriendo una variedad de técnicas, incluyendo las redes neuronales.

 "Hands-On Machine Learning with Scikit-Learn, Keras, and TensorFlow" por


Aurélien Géron: Este libro práctico guía a los lectores a través de la implementación de
algoritmos de aprendizaje automático, incluyendo redes neuronales, utilizando
herramientas populares como Scikit-Learn, Keras y TensorFlow.

Controladores Lógicos Programables (PLC)


Donato Domínguez Rico
lOMoARcPSD
|8784756

Controladores Lógicos Programables (PLC)


Donato Domínguez Rico

También podría gustarte