Redes Neuronales

0. Concepto

Una Red Neural 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 escrito 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

#regresion. Variable que quieres predecir (estatus)
#despues van las variables predictoras, . significa todas las variables (columnas de la tabla)
#otyra opcion df$examen + df$proyecto 
red_neuronal <- neuralnet(estatus~., data=df)

#siempre va best
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)
# compute para hacer prediccion. necesitas red y tabla de prueba
prediccion <- compute(red_neuronal, prueba)
#net result es lo que necesitas evaluar
prediccion$net.result
##             [,1]
## [1,]  1.01326508
## [2,]  0.01666515
## [3,] -0.01395842
probabilidad <- prediccion$net.result
#aceptar o no la hipotesis nula
#<0.5 no pasa. se rechaza la hipotesis nula
resultado <- ifelse(probabilidad>0.5,1,0)
resultado
##      [,1]
## [1,]    1
## [2,]    0
## [3,]    0

5. Conclusion

Las redes neuronales permiten que los programas reconozcan patrones y resuelvan problemas comunes en IA y aprendizaje automatico.

LS0tDQp0aXRsZTogIlJlZGVzIE5ldXJvbmFsZXMiDQphdXRob3I6ICJNYXJpYW5hIEdhcmNpYSAtIEEwMTE3NzcwNSINCmRhdGU6ICIyMDI0LTA4LTE1Ig0Kb3V0cHV0OiANCiAgaHRtbF9kb2N1bWVudDoNCiAgICB0b2M6IFRSVUUNCiAgICB0b2NfZmxvYXQ6IFRSVUUNCiAgICBjb2RlX2Rvd25sb2FkOiBUUlVFDQogICAgdGhlbWU6ICJzcGFjZWxhYiINCiAgICBoaWdobGlnaHQ6ICJrYXRlIg0KLS0tDQoNCmBgYHtyIHNldHVwLCBpbmNsdWRlPUZBTFNFfSANCmtuaXRyOjpvcHRzX2NodW5rJHNldCh3YXJuaW5nID0gRkFMU0UsIG1lc3NhZ2UgPSBGQUxTRSkgDQpgYGANCg0KIVtdKEM6XFxVc2Vyc1xcbWFyaWFcXE9uZURyaXZlXFxEZXNrdG9wXFxBRDI0XFxNb2R1bG8gMlxcZ2lwaHkuZ2lmKQ0KDQojIDxzcGFuIHN0eWxlPSJjb2xvcjogYmx1ZTsiPlJlZGVzIE5ldXJvbmFsZXM8L3NwYW4+DQoNCiMjIDxzcGFuIHN0eWxlPSJjb2xvcjogYmx1ZTsiPjAuIENvbmNlcHRvPC9zcGFuPg0KVW5hIFJlZCBOZXVyYWwgQXJ0aWZpY2lhbCAoQU5OKSBtb2RlbGEgbGEgcmVsYWNpw7NuIGVudHJlIHVuIGNvbmp1bnRvIGRlIGVudHJhZGFzIHkgdW5hIHNhbGlkYSwgcmVzb2x2aWVuZG8gdW4gcHJvYmxlbWEgZGUgYXByZW5kaXphamUuICANCg0KRWplbXBsb3MgZGUgYXBsaWNhY2nDs24gZGUgUmVkZXMgTmV1cm9uYWxlcyBzb246ICANCjEuIExhIHJlY29tZW5kYWNpw7NuIGRlIGNvbnRlbmlkbyBkZSBOZXRmbGl4LiAgDQoyLiBFbCBmZWVkIGRlIEluc3RhZ3JhbSBvIFRpa1Rvay4gIA0KMy4gRGV0ZXJtaW5hciBlbCBuw7ptZXJvIG8gbGV0cmEgZXNjcml0byBhIG1hbm8uICANCg0KIyMgPHNwYW4gc3R5bGU9ImNvbG9yOiBibHVlOyI+MS4gSW5zdGFsYXIgcGFxdWV0ZXMgeSBsbGFtYXIgbGlicmVyw61hczwvc3Bhbj4NCmBgYHtyfQ0KI2luc3RhbGwucGFja2FnZXMoIm5ldXJhbG5ldCIpDQpsaWJyYXJ5KG5ldXJhbG5ldCkNCmBgYA0KDQojIyA8c3BhbiBzdHlsZT0iY29sb3I6IGJsdWU7Ij4yLiBBbGltZW50YXIgY29uIGVqZW1wbG9zPC9zcGFuPg0KYGBge3J9DQpleGFtZW4gPC0gYygyMCwxMCwzMCwyMCw4MCwzMCkNCnByb3llY3RvIDwtIGMoOTAsMjAsNDAsNTAsNTAsODApDQplc3RhdHVzIDwtIGMoMSwwLDAsMCwwLDEpDQpkZiA8LSBkYXRhLmZyYW1lKGV4YW1lbixwcm95ZWN0byxlc3RhdHVzKQ0KYGBgDQoNCiMjIDxzcGFuIHN0eWxlPSJjb2xvcjogYmx1ZTsiPjMuIEdlbmVyYXIgbGEgUmVkIE5ldXJvbmFsPC9zcGFuPg0KYGBge3J9DQojcmVncmVzaW9uLiBWYXJpYWJsZSBxdWUgcXVpZXJlcyBwcmVkZWNpciAoZXN0YXR1cykNCiNkZXNwdWVzIHZhbiBsYXMgdmFyaWFibGVzIHByZWRpY3RvcmFzLCAuIHNpZ25pZmljYSB0b2RhcyBsYXMgdmFyaWFibGVzIChjb2x1bW5hcyBkZSBsYSB0YWJsYSkNCiNvdHlyYSBvcGNpb24gZGYkZXhhbWVuICsgZGYkcHJveWVjdG8gDQpyZWRfbmV1cm9uYWwgPC0gbmV1cmFsbmV0KGVzdGF0dXN+LiwgZGF0YT1kZikNCg0KI3NpZW1wcmUgdmEgYmVzdA0KcGxvdChyZWRfbmV1cm9uYWwsIHJlcCA9ICJiZXN0IikNCmBgYA0KDQojIyA8c3BhbiBzdHlsZT0iY29sb3I6IGJsdWU7Ij40LiBQcmVkZWNpciBjb24gbGEgUmVkIE5ldXJvbmFsPC9zcGFuPg0KYGBge3J9DQpwcnVlYmFfZXhhbWVuIDwtIGMoMzAsNDAsODUpDQpwcnVlYmFfcHJveWVjdG8gPC0gYyg4NSw1MCw0MCkNCnBydWViYSA8LWRhdGEuZnJhbWUocHJ1ZWJhX2V4YW1lbixwcnVlYmFfcHJveWVjdG8pDQojIGNvbXB1dGUgcGFyYSBoYWNlciBwcmVkaWNjaW9uLiBuZWNlc2l0YXMgcmVkIHkgdGFibGEgZGUgcHJ1ZWJhDQpwcmVkaWNjaW9uIDwtIGNvbXB1dGUocmVkX25ldXJvbmFsLCBwcnVlYmEpDQojbmV0IHJlc3VsdCBlcyBsbyBxdWUgbmVjZXNpdGFzIGV2YWx1YXINCnByZWRpY2Npb24kbmV0LnJlc3VsdA0KcHJvYmFiaWxpZGFkIDwtIHByZWRpY2Npb24kbmV0LnJlc3VsdA0KI2FjZXB0YXIgbyBubyBsYSBoaXBvdGVzaXMgbnVsYQ0KIzwwLjUgbm8gcGFzYS4gc2UgcmVjaGF6YSBsYSBoaXBvdGVzaXMgbnVsYQ0KcmVzdWx0YWRvIDwtIGlmZWxzZShwcm9iYWJpbGlkYWQ+MC41LDEsMCkNCnJlc3VsdGFkbw0KYGBgDQoNCiMjIDxzcGFuIHN0eWxlPSJjb2xvcjogYmx1ZTsiPjUuIENvbmNsdXNpb248L3NwYW4+DQpMYXMgcmVkZXMgbmV1cm9uYWxlcyBwZXJtaXRlbiBxdWUgbG9zIHByb2dyYW1hcyByZWNvbm96Y2FuIHBhdHJvbmVzIHkgcmVzdWVsdmFuIHByb2JsZW1hcyBjb211bmVzIGVuIElBIHkgYXByZW5kaXphamUgYXV0b21hdGljby4NCg0K