Ev 5 Ivan Mendez RNA BSQ 1
Ev 5 Ivan Mendez RNA BSQ 1
Ev 5 Ivan Mendez RNA BSQ 1
Y NEGOCIOS
Función de Tensorflow
Tensorflow es un marco de machine learning el cual permite crear grafico de flujo de datos, estructuras
que describen como los datos se mueven a través de un gráficos o serie de nodos de procesamiento.
Cada nodo es una operación matemática y cada conexión entre nodos es una matriz multidimensional
Todos los movimientos en el código son realizados y entregados por Python y las operaciones
matemáticas son realizadas por C++
La función en estos bloques de códigos sería la de descripción como los datos se mueven a través de un
gráfico o serie de nodos de procesamiento. En resumen, Tensorflow realiza el cálculo intensivo numérico
para la red neuronal, nos permite construir la arquitectura de redes neuronales deseadas a nivel de
operaciones es decir que el diseño de redes neuronales pasa a ser el de juntar diferentes operaciones
matemáticas. Pero se puede realizar con más simplicidad con la librería keras.
Keras
Librería Keras envuelve a tensor Flow y hace el uso de tensor Flow pueda ser mas sencillo o mas practico
Ahora en vez de diseñar nuestra arquitectura de red neuronal en base a una secuencia bloques
matemáticos se puede realizar en capas es decir en vez de combinar diferentes tipos de operaciones se
puede trabajar la red neuronal combinando distintos tipos de capas como se muestra en la siguiente
imagen llegando a un mismo resultado y así definir y entrenar modelos de redes neuronales en pocas
líneas de código.
Se define la variable loaded en la cual se va a leer el archivo .CSV (Comma Separated Values) a través de
panda dándole a este la dirección en la que esta el archivo y el separador de datos para después cargar
esos datos en un marco como se realiza en pd.DataFrame(loaded). Aunque en este caso el formato del
archivo ya viene implícito que sus datos están separados por “,” así que no es necesario dar ese dato en la
función panda.read_csv como se muestra a continuación
Para la explicación de las celdas o bloques de código para el manejo de una red multicapa se tiene que dar
explícitamente que ya se descargo e importo tensorflow que realizara el trabajo matemático y ya esta
adjunto la tabla de datos de la red neuronal que fue presentada anteriormente (Imagen 04 librería
pandas con marco de datos)
Celda 1
Este bloque tiene dos funciones una como se informo en una respuesta anterior es leer a travez de la
librería panda el archivo .CSV y transformarlo a un marco de datos.
La segunda parte de este bloque consiste en separar dos matrices de datos una de entrada
datos_x = frame[['x7', 'x6', 'x5', 'x4', 'x3', 'x2', 'x1']].values
y otra de salida
datos_y = frame[['n_primos', 'n_par', 'n_impar']].values
Celda 2
En esta celda se importarán desde la librería keras los modelos, capas y optimizadores cada uno teniendo
una función distinta y además se importará la librería numpy como np siendo en esta celda utilizados
models y layers
red = models.Sequential()
se crea la variable “red” la cual se encarga de darle un modelo secuencial a las capas (orden jerárquico
entre capas ej.: de primera a ultima capa.)
red.add(layers.Dense(5, input_shape=(7,), activation='sigmoid'))
a la variable red(encarga del modelo secuencial) se le agrega una capa esta capa tiene 5 neuronas de
entrada una dimensión de entrada (paso entre capa de entrada y oculta) de 7 y una función de activación
sigmoide.
Luego se agrega encima de la capa ya creada otra capa reemplazando la anterior por una capa con 3
neuronas de entrada (conociendo con los valores de entrada de los datos y) y teniendo calculando su
salida por una función sigmoide igualmente. Estas capas agregadas todas fueron densas lo que quiere
decir que cada neurona de entrada esta conectada a cada una de las neuronas de la siguiente capa asi
como se muestra en la siguiente imagen
Celda 3
Esta celda consiste en la celda de aprendizaje aquí se especificar el optimizador tipo de optimizador de
aprendizaje y el factor de aprendizaje del mismo
Celda 4
Y luego con la librería numpy se realizará lo mismo, pero ahora aproximando los valores a 1 o 0.