Redes Neuronales

0. Concepto

Una Red Neuronal Artificial (ANN) modela la relación entre un conjunto de entradas y una salida, resolviendo un problema de aprendizaje.

Ejemplos de aplicación de Redes Neuronales son:
1. La recomendación de contenido de Netflix.
2. El feed de Instagram o TikTok.
3. Determinar el número o letra escrita a mano.

1. Instalar paquetes y llamar librerías

#install.packages("neuralnet")
library(neuralnet)

2. Alimentar con ejemplos

examen <- c(20,10,30,20,80,30)
proyecto <- c(90,20,40,50,50,80)
estatus <- c(1,0,0,0,0,1)
df <- data.frame(examen,proyecto,estatus)

3. Generar la Red Neuronal

red_neuronal <- neuralnet(estatus~., data=df)
plot(red_neuronal, rep = "best")

4. Predecir con la Red Neuronal

prueba_examen <- c(30,40,85)
prueba_proyecto <- c(85,50,40)
prueba <-data.frame(prueba_examen,prueba_proyecto)
prediccion <- compute(red_neuronal, prueba)
prediccion$net.result
##           [,1]
## [1,] 0.3344618
## [2,] 0.3344618
## [3,] 0.3344618
probabilidad <- prediccion$net.result
resultado <- ifelse(probabilidad>0.5,1,0)
resultado
##      [,1]
## [1,]    0
## [2,]    0
## [3,]    0

Las redes neuronales siguen diferentes patrones para determinar resultados, necesitaran como input datos de entrenamiento los cuales ayudaran al proceso de selección.

LS0tCnRpdGxlOiAiUmVkZXMgTmV1cm9uYWxlcyIKYXV0aG9yOiAiQWd1c3TDrW4gR8OzbWV6IFBlcmV6IEEwMTczMjg5NyIKZGF0ZTogIjIwMjQtMDgtMTUiCm91dHB1dDogCiBodG1sX2RvY3VtZW50OgogICAgdG9jOiBUUlVFCiAgICB0b2NfZmxvYXQ6IFRSVUUKICAgIGNvZGVfZG93bmxvYWQ6IFRSVUUKICAgIHRoZW1lOiAiZGFyayIKICAgIAotLS0KIVtdKGh0dHBzOi8vbmV3cy5taXQuZWR1L3NpdGVzL2RlZmF1bHQvZmlsZXMvc3R5bGVzL25ld3NfYXJ0aWNsZV9faW1hZ2VfZ2FsbGVyeS9wdWJsaWMvaW1hZ2VzLzIwMjIxMS9NSVQtTmV1cmFsLU5ldHdvcmtzLTAxXzAuZ2lmP2l0b2s9Sk5ib29JV1EpCgojIDxzcGFuIHN0eWxlPSJjb2xvcjogYmx1ZTsiPlJlZGVzIE5ldXJvbmFsZXM8L3NwYW4+CgojIyA8c3BhbiBzdHlsZT0iY29sb3I6IGJsdWU7Ij4wLiBDb25jZXB0bzwvc3Bhbj4KClVuYSBSZWQgTmV1cm9uYWwgQXJ0aWZpY2lhbCAoQU5OKSBtb2RlbGEgbGEgcmVsYWNpw7NuIGVudHJlIHVuIGNvbmp1bnRvIGRlIGVudHJhZGFzIHkgdW5hIHNhbGlkYSwgcmVzb2x2aWVuZG8gdW4gcHJvYmxlbWEgZGUgYXByZW5kaXphamUuICAKCkVqZW1wbG9zIGRlIGFwbGljYWNpw7NuIGRlIFJlZGVzIE5ldXJvbmFsZXMgc29uOiAgCjEuIExhIHJlY29tZW5kYWNpw7NuIGRlIGNvbnRlbmlkbyBkZSBOZXRmbGl4LiAgCjIuIEVsIGZlZWQgZGUgSW5zdGFncmFtIG8gVGlrVG9rLiAgCjMuIERldGVybWluYXIgZWwgbsO6bWVybyBvIGxldHJhIGVzY3JpdGEgYSBtYW5vLiAKIAoKIyMgPHNwYW4gc3R5bGU9ImNvbG9yOiBibHVlOyI+MS4gSW5zdGFsYXIgcGFxdWV0ZXMgeSBsbGFtYXIgbGlicmVyw61hczwvc3Bhbj4KYGBge3J9CiNpbnN0YWxsLnBhY2thZ2VzKCJuZXVyYWxuZXQiKQpsaWJyYXJ5KG5ldXJhbG5ldCkKYGBgCgojIyA8c3BhbiBzdHlsZT0iY29sb3I6IGJsdWU7Ij4yLiBBbGltZW50YXIgY29uIGVqZW1wbG9zPC9zcGFuPgpgYGB7cn0KZXhhbWVuIDwtIGMoMjAsMTAsMzAsMjAsODAsMzApCnByb3llY3RvIDwtIGMoOTAsMjAsNDAsNTAsNTAsODApCmVzdGF0dXMgPC0gYygxLDAsMCwwLDAsMSkKZGYgPC0gZGF0YS5mcmFtZShleGFtZW4scHJveWVjdG8sZXN0YXR1cykKYGBgCgojIyA8c3BhbiBzdHlsZT0iY29sb3I6IGJsdWU7Ij4zLiBHZW5lcmFyIGxhIFJlZCBOZXVyb25hbDwvc3Bhbj4KYGBge3J9CnJlZF9uZXVyb25hbCA8LSBuZXVyYWxuZXQoZXN0YXR1c34uLCBkYXRhPWRmKQpwbG90KHJlZF9uZXVyb25hbCwgcmVwID0gImJlc3QiKQpgYGAKCiMjIDxzcGFuIHN0eWxlPSJjb2xvcjogYmx1ZTsiPjQuIFByZWRlY2lyIGNvbiBsYSBSZWQgTmV1cm9uYWw8L3NwYW4+CmBgYHtyfQpwcnVlYmFfZXhhbWVuIDwtIGMoMzAsNDAsODUpCnBydWViYV9wcm95ZWN0byA8LSBjKDg1LDUwLDQwKQpwcnVlYmEgPC1kYXRhLmZyYW1lKHBydWViYV9leGFtZW4scHJ1ZWJhX3Byb3llY3RvKQpwcmVkaWNjaW9uIDwtIGNvbXB1dGUocmVkX25ldXJvbmFsLCBwcnVlYmEpCnByZWRpY2Npb24kbmV0LnJlc3VsdApwcm9iYWJpbGlkYWQgPC0gcHJlZGljY2lvbiRuZXQucmVzdWx0CnJlc3VsdGFkbyA8LSBpZmVsc2UocHJvYmFiaWxpZGFkPjAuNSwxLDApCnJlc3VsdGFkbwpgYGAKCkxhcyByZWRlcyBuZXVyb25hbGVzIHNpZ3VlbiBkaWZlcmVudGVzIHBhdHJvbmVzIHBhcmEgZGV0ZXJtaW5hciByZXN1bHRhZG9zLCBuZWNlc2l0YXJhbiBjb21vIGlucHV0IGRhdG9zIGRlIGVudHJlbmFtaWVudG8gbG9zIGN1YWxlcyBheXVkYXJhbiBhbCBwcm9jZXNvIGRlIHNlbGVjY2nDs24u