Una vez me encontré con un libro llamado
"Crea tu red neuronal" , escrito por
Tarik Rashid . A diferencia de muchos otros libros sobre redes neuronales, en este se presentó todo en un lenguaje simple, con un número suficiente de ejemplos y consejos.
Inspirado en este libro, quiero revisarlo paso a paso, es decir, su parte práctica,
escribir el código para una red neuronal simple .
Este artículo es para aquellos que desean participar en redes neuronales y aprendizaje automático, pero hasta ahora tienen dificultades para comprender esta increíble área de la ciencia. El
esqueleto más simple
del código de una red neuronal se describirá a continuación, de modo que muchos entiendan el principio más simple de construcción e interacción de todo lo que consiste esta red neuronal.

Las teorías sobre el aprendizaje automático y las redes neuronales en el Habré son suficientes. Pero si alguien lo necesita, dejaré algunos enlaces al final del artículo. Y ahora, comenzaremos a escribir código directamente, y escribiremos en
Python , recomiendo usar
Jupyter-Notebook al escribir código
Paso 1. Inicialización de la red
Primero, por supuesto, necesitamos inicializar todos los componentes activos de nuestra red
Sigmoide
Esta función pertenece a la clase de funciones continuas, toma un número
real arbitrario (es decir, no necesariamente un número entero) en la entrada
y proporciona un número real en el rango de 0 a 1 en la salida .
En particular,
los números negativos grandes (módulo)
se convierten en cero ,
y los números positivos grandes se convierten en uno .
Su salida se interpreta bien
como el nivel de activación de la neurona: desde la
ausencia de activación (0) hasta la
activación completamente
saturada (1).
El sigmoide se expresa mediante la fórmula:

El gráfico de la función sigmoidea de acuerdo con la figura siguiente:

La función sigmoidea es:
- continuo
- aumentando monótonamente;
- diferenciable
En este código, el sigmoide está presente, como puede ver, bajo el nombre
expit (x)Un poco sobre cómo se ve un nodo en una red neuronal

La imagen muestra más ese nodo, solo que generalmente se presenta en forma de círculo, no de rectángulo. Como vemos, dentro de un rectángulo (bien, o un círculo), todo esto es abstracto, hay 2 funciones:
La primera función se dedica al hecho de que recibe toda la información, teniendo en cuenta los pesos, los datos y, a veces, incluso teniendo en cuenta la neurona de desplazamiento (una neurona especial que simplemente permite que los gráficos se muevan y no se mezclen en un montón feo, eso es todo)
La segunda función toma como parámetro el mismo valor que la primera función sumada, y esta segunda función se llama función de activación. En nuestro caso, un
sigmoideContinuamos :
Parte 2. Entrenamiento de redes neuronales
def train(self, inputs_list, targets_list):
Y ahora estamos llegando al finalParte 3. Interrogación de una red neuronal
Lo llevamos al final
PS
Arriba se presentó un modelo computacionalmente más simple de una red neuronal. Pero no se mostró ninguna aplicación específica.
Si lo desea, puede ir más allá al agregar la capacidad de reconocer texto escrito a mano en el código
MNIST , para esto puede descubrir completamente (y simplemente divertirse) con este
archivo jupyter , mi tarea fue demostrar el código y, si es posible, masticar en la red y para que respuestas
PPS
A continuación encontrará enlaces útiles:
1. Enlace a Github Tarik
->2.Su libro
->3.Teoría del aprendizaje de máquinas
->4.Teoría del aprendizaje de máquinas
->5.Teoría del aprendizaje de máquinas
->