Cognitive Science">
Nothing Special   »   [go: up one dir, main page]

Practica 3 - Redes Neur

Descargar como pdf o txt
Descargar como pdf o txt
Está en la página 1de 5

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


Objetivo

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

Material Utilizado

• Computadora
• Visual Studio Code
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»
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.

1 Python

2 Google
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.

También podría gustarte