Teoría

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

Ejemplos practicos de aplicacion de Redes Neuronales son:

  • La recomendacion de contenido de Netflix
  • El feed de Instagram o TikTok
  • Determinar el numero o letra escrito a mano

Instalar paquetes y llamar librerias

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

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)
print(df)
##   examen proyecto estatus
## 1     20       90       1
## 2     10       20       0
## 3     30       40       0
## 4     20       50       0
## 5     80       50       0
## 6     30       80       1

Generar la Red Neuronal

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

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,]  1.01163779
## [2,]  0.01607141
## [3,] -0.01336671
probabilidad <- prediccion$net.result
resultado <- ifelse(probabilidad>0.5, 1, 0)
resultado
##      [,1]
## [1,]    1
## [2,]    0
## [3,]    0
LS0tDQp0aXRsZTogIlJlZGVzIE5ldXJvbmFsZXMiDQphdXRob3I6ICJFcmljayINCmRhdGU6ICIyMDI1LTA4LTI1Ig0Kb3V0cHV0Og0KICAgIGh0bWxfZG9jdW1lbnQ6DQogICAgICAgIHRvYzogdHJ1ZQ0KICAgICAgICB0b2NfZmxvYXQ6IHRydWUNCiAgICAgICAgY29kZV9kb3dubG9hZDogdHJ1ZQ0KICAgICAgICB0aGVtZTogInNwYWNlbGFiIg0KLS0tDQoNCiMgPHNwYW4gc3R5bGU9ImNvbG9yOmJsdWUiPlRlb3LDrWE8L3NwYW4+DQpVbmEgKipSZWQgTmV1cm9uYWwgQXJ0aWZpY2lhbCAoQU5OKSoqIG1vZGVsYSBsYSByZWxhY2lvbiBlbnRyZSB1biBjb25qdW50byBkZSBlbnRyYWRhcyB5IHVuYSBzYWxpZGEsIHJlc29sdmllbmRvIHVuIHByb2JsZW1hIGRlIGFwcmVuZGl6YWplLg0KDQpFamVtcGxvcyBwcmFjdGljb3MgZGUgYXBsaWNhY2lvbiBkZSBSZWRlcyBOZXVyb25hbGVzIHNvbjoNCg0KKiBMYSByZWNvbWVuZGFjaW9uIGRlIGNvbnRlbmlkbyBkZSBOZXRmbGl4DQoqIEVsIGZlZWQgZGUgSW5zdGFncmFtIG8gVGlrVG9rDQoqIERldGVybWluYXIgZWwgbnVtZXJvIG8gbGV0cmEgZXNjcml0byBhIG1hbm8NCg0KIyA8c3BhbiBzdHlsZT0iY29sb3I6Ymx1ZSI+SW5zdGFsYXIgcGFxdWV0ZXMgeSBsbGFtYXIgbGlicmVyaWFzPC9zcGFuPg0KYGBge3J9DQojaW5zdGFsbC5wYWNrYWdlcygibmV1cmFsbmV0IikNCmxpYnJhcnkobmV1cmFsbmV0KQ0KYGBgDQoNCiMgPHNwYW4gc3R5bGU9ImNvbG9yOmJsdWUiPkFsaW1lbnRhciBjb24gZWplbXBsb3M8L3NwYW4+DQpgYGB7cn0NCmV4YW1lbiAgIDwtIGMoMjAsMTAsMzAsMjAsODAsMzApDQpwcm95ZWN0byA8LSBjKDkwLDIwLDQwLDUwLDUwLDgwKQ0KZXN0YXR1cyAgPC0gYygxLDAsMCwwLDAsMSkNCg0KZGYgPC0gZGF0YS5mcmFtZShleGFtZW4sIHByb3llY3RvLCBlc3RhdHVzKQ0KcHJpbnQoZGYpDQpgYGANCg0KDQojIDxzcGFuIHN0eWxlPSJjb2xvcjpibHVlIj5HZW5lcmFyIGxhIFJlZCBOZXVyb25hbDwvc3Bhbj4NCmBgYHtyfQ0KcmVkX25ldXJvbmFsIDwtIG5ldXJhbG5ldChlc3RhdHVzfi4sIGRhdGE9ZGYpDQpwbG90KHJlZF9uZXVyb25hbCwgcmVwPSJiZXN0IikNCmBgYA0KDQpgYGB7cn0NCnBydWViYV9leGFtZW4gPC0gYygzMCw0MCw4NSkNCnBydWViYV9wcm95ZWN0byA8LSBjKDg1LDUwLCA0MCkNCnBydWViYSA8LSBkYXRhLmZyYW1lKHBydWViYV9leGFtZW4sIHBydWViYV9wcm95ZWN0bykNCnByZWRpY2Npb24gPC0gY29tcHV0ZShyZWRfbmV1cm9uYWwsIHBydWViYSkNCnByZWRpY2Npb24kbmV0LnJlc3VsdA0KcHJvYmFiaWxpZGFkIDwtIHByZWRpY2Npb24kbmV0LnJlc3VsdA0KcmVzdWx0YWRvIDwtIGlmZWxzZShwcm9iYWJpbGlkYWQ+MC41LCAxLCAwKQ0KcmVzdWx0YWRvDQpgYGANCg0KDQoNCg0KDQoNCg0KDQoNCg0KDQoNCg0KDQoNCg0KDQoNCg0KDQoNCg0KDQoNCg0KDQoNCg0KDQoNCg==