Modelo ML con numpy y matplotlib

Introducción:

Muchas veces para  crear una inteligencia artificial, usamos algún framework que nos permite ahorrar tiempo.

sin embargo, ¿¿te consideras capaz de  de crear un modelo solo con numpy, mates y maplot ??

Palabras Clave:

Para que no te pierdes  colocaremos  una serie de palabras claves y graficas las cuales sirvan como referencia a todo aquellas ecuaciones las cuales usamos para crear este modelo.

Perceptrón ~ Neurona:

Para empezar definiremos como neurona o perceptrón aquella regresión lineal múltiple donde sus entradas (Inputs)son aquellas variables de nuestra muestra o población a su vez estos cuentan con un grado de importancia (Peso) los cuales son sumados por un umbral (Bias),donde para evitar la linealidad se le aplica una función de activación.

Backpropagation:

Para poder entrenar un modelo y que este mejore, utilizaremos el backpropagation con el fin de reajustar el peso y el umbral de cada capa en nuestra red, desde su predicción(Output layers) hasta las capas de entradas (Input layers), para ello utilizaremos la métricas de MSE, y el descenso del gradiente.

Métricas~ Error cuadrático medio(MSE):

Ya sabemos la importancia del backpropagation a la hora del entrenar nuestro modelo, ahora bien como sabemos que tan certera es la predicción con respecto al resultado; es ahí donde entra el MSE.

Donde evaluaremos la predicción  con respecto a su valor verdadero y los agrandaremos (cuadráticamente) con el fin de discriminar esos errores

Descenso del gradiente:

Ya sabemos como aprende nuestra red neuronal, también sabemos como identificar el error de cada neurona, por ultimo deberemos establecer el nuevo peso para cada una de estas neuronas donde a través de un ratio de aprendizaje el cual es un numero decimal que multiplica este nuevo bias y peso con el fin de hallar y garantizar una mejora en nuestro modelo.

Nota:

Si tu modelo es muy grande hallar el valle o punto mínimo será mas complejo, debido a que actualizar cada uno de estos pesos presentes en cada capa pueden ser una zancadilla para capas anteriores, lo que solo genera un mínimo ficticio o mínimo local.

Conclusión:
Muchas veces durante la creación de  nuestros modelos usamos un framework que nos facilite este trabajo, sin embargo, aunque conozcamos estos conceptos mucha veces no sabemos como se relacionan con nuestro modelo y sobre todo como poder sacarle todo el provecho a este.
Link del notebook:
Ver codigo en github
Ver código en Colab
Leer post en ingles