Redes Neuronales

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 recomendacion de contenido de Netxlix.
2. El feed de Instagram o TikTok.
3. Determinar el número o letra escrito a mano.

1. Instalar paquetes y llamar librerias

# 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)
clase <- data.frame(examen,proyecto,estatus)

3. Generar la red neuronal

red_neuronal <- neuralnet(estatus~., data=clase)
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,]  1.01557583
## [2,] -0.01094649
## [3,] -0.01712921
probabilidad <- prediccion$net.result
resultado <- ifelse(probabilidad>0.5,1,0)
resultado
##      [,1]
## [1,]    1
## [2,]    0
## [3,]    0

Cáncer de mama

1. Limpieza de la base de datos

clase2 <- read.csv("/Users/alejandromontano/Desktop/cancer_de_mama.csv")
clase2$diagnosis <- ifelse(clase2$diagnosis == "M",1,0)

2. Alimentar con ejemplos

red_neuronal <- neuralnet(diagnosis~., data = clase2)
plot(red_neuronal, rep = "best")

3. Generar la red neuronal

test <- clase2[c(19,20,21,22,23),]
prediccion <- compute(red_neuronal,test)
prediccion$net.result
##           [,1]
## 19 1.000584377
## 20 0.017680465
## 21 0.005235813
## 22 0.005235813
## 23 1.000584377

4. Predecir con la red neuronal

probabilidad <- prediccion$net.result
resultado <- ifelse(probabilidad>0.5,1,0)
resultado
##    [,1]
## 19    1
## 20    0
## 21    0
## 22    0
## 23    1
LS0tCnRpdGxlOiAiQWN0aXZpZGFkIDQuNyBSZWRlcyBOZXVyb25hbGVzIgphdXRob3I6ICJKb3PDqSBBbGVqYW5kcm8gTW9udGHDsW8gIEEwMDgzMDQ4NiIKZGF0ZTogIjIwMjMtMTAtMDIiCm91dHB1dDoKICBodG1sX2RvY3VtZW50OgogICAgdG9jOiBUUlVFIAogICAgdG9jX2Zsb2F0OiBUUlVFCiAgICBjb2RlX2Rvd25sb2FkOiBUUlVFCiAgICB0aGVtZTogInNwYWNlbGFiIgogICAgaGlnaGxpZ2h0OiAia2F0ZSIKLS0tCgohW10oL1VzZXJzL2FsZWphbmRyb21vbnRhbm8vRGVza3RvcC8wYzRmNjQxNGMyMTEwNWQ3ODhkNDdmY2ZhMzgxYmFlNy5naWYud2VicCkKCiMgPHNwYW4gc3R5bGU9ImNvbG9yOiBibHVlOyI+UmVkZXMgTmV1cm9uYWxlczwvc3Bhbj4KCiMjICA8c3BhbiBzdHlsZT0iY29sb3I6IGJsdWU7Ij5Db25jZXB0bzwvc3Bhbj4KVW5hIFJlZCBOZXVyYWwgQXJ0aWZpY2lhbCAoQU5OKSBtb2RlbGEgbGEgcmVsYWNpw7NuIGVudHJlIHVuIGNvbmp1bnRvIGRlIGVudHJhZGFzIHkgdW5hIHNhbGlkYSwgcmVzb2x2aWVuZG8gdW4gcHJvYmxlbWEgZGUgYXByZW5kaXphamUuICAKCkVqZW1wbG9zIGRlIGFwbGljYWNpw7NuIGRlIFJlZGVzIE5ldXJvbmFsZXMgc29uOiAgCjEuIExhIHJlY29tZW5kYWNpb24gZGUgY29udGVuaWRvIGRlIE5ldHhsaXguICAKMi4gRWwgZmVlZCBkZSBJbnN0YWdyYW0gbyBUaWtUb2suICAKMy4gRGV0ZXJtaW5hciBlbCBuw7ptZXJvIG8gbGV0cmEgZXNjcml0byBhIG1hbm8uICAKCiMjIDxzcGFuIHN0eWxlPSJjb2xvcjogYmx1ZTsiPjEuIEluc3RhbGFyIHBhcXVldGVzIHkgbGxhbWFyIGxpYnJlcmlhczwvc3Bhbj4KYGBge3J9CiMgaW5zdGFsbC5wYWNrYWdlcygibmV1cmFsbmV0IikKbGlicmFyeShuZXVyYWxuZXQpCmBgYAoKIyMgPHNwYW4gc3R5bGU9ImNvbG9yOiBibHVlOyI+Mi4gQWxpbWVudGFyIGNvbiBlamVtcGxvczwvc3Bhbj4KYGBge3J9CmV4YW1lbiA8LSBjKDIwLDEwLDMwLDIwLDgwLDMwKQpwcm95ZWN0byA8LSBjKDkwLDIwLDQwLDUwLDUwLDgwKQplc3RhdHVzIDwtIGMoMSwwLDAsMCwwLDEpCmNsYXNlIDwtIGRhdGEuZnJhbWUoZXhhbWVuLHByb3llY3RvLGVzdGF0dXMpCmBgYAoKIyMgPHNwYW4gc3R5bGU9ImNvbG9yOiBibHVlOyI+My4gR2VuZXJhciBsYSByZWQgbmV1cm9uYWw8L3NwYW4+CmBgYHtyfQpyZWRfbmV1cm9uYWwgPC0gbmV1cmFsbmV0KGVzdGF0dXN+LiwgZGF0YT1jbGFzZSkKcGxvdChyZWRfbmV1cm9uYWwsIHJlcCA9ICJiZXN0IikKYGBgCgojIyA8c3BhbiBzdHlsZT0iY29sb3I6IGJsdWU7Ij40LiBQcmVkZWNpciBjb24gbGEgUmVkIE5ldXJvbmFsPC9zcGFuPgpgYGB7cn0KcHJ1ZWJhX2V4YW1lbiA8LSBjKDMwLDQwLDg1KQpwcnVlYmFfcHJveWVjdG8gPC0gYyg4NSw1MCw0MCkKcHJ1ZWJhIDwtIGRhdGEuZnJhbWUocHJ1ZWJhX2V4YW1lbixwcnVlYmFfcHJveWVjdG8pCnByZWRpY2Npb24gPC0gY29tcHV0ZShyZWRfbmV1cm9uYWwsIHBydWViYSkKcHJlZGljY2lvbiRuZXQucmVzdWx0CnByb2JhYmlsaWRhZCA8LSBwcmVkaWNjaW9uJG5ldC5yZXN1bHQKcmVzdWx0YWRvIDwtIGlmZWxzZShwcm9iYWJpbGlkYWQ+MC41LDEsMCkKcmVzdWx0YWRvCmBgYAoKIyA8c3BhbiBzdHlsZT0iY29sb3I6IGJsdWU7Ij5Dw6FuY2VyIGRlIG1hbWE8L3NwYW4+CgojIyA8c3BhbiBzdHlsZT0iY29sb3I6IGJsdWU7Ij4xLiBMaW1waWV6YSBkZSBsYSBiYXNlIGRlIGRhdG9zPC9zcGFuPgpgYGB7cn0KY2xhc2UyIDwtIHJlYWQuY3N2KCIvVXNlcnMvYWxlamFuZHJvbW9udGFuby9EZXNrdG9wL2NhbmNlcl9kZV9tYW1hLmNzdiIpCmNsYXNlMiRkaWFnbm9zaXMgPC0gaWZlbHNlKGNsYXNlMiRkaWFnbm9zaXMgPT0gIk0iLDEsMCkKYGBgCgojIyA8c3BhbiBzdHlsZT0iY29sb3I6IGJsdWU7Ij4yLiBBbGltZW50YXIgY29uIGVqZW1wbG9zPC9zcGFuPgpgYGB7cn0KcmVkX25ldXJvbmFsIDwtIG5ldXJhbG5ldChkaWFnbm9zaXN+LiwgZGF0YSA9IGNsYXNlMikKcGxvdChyZWRfbmV1cm9uYWwsIHJlcCA9ICJiZXN0IikKYGBgCgojIyA8c3BhbiBzdHlsZT0iY29sb3I6IGJsdWU7Ij4zLiBHZW5lcmFyIGxhIHJlZCBuZXVyb25hbDwvc3Bhbj4KYGBge3J9CnRlc3QgPC0gY2xhc2UyW2MoMTksMjAsMjEsMjIsMjMpLF0KcHJlZGljY2lvbiA8LSBjb21wdXRlKHJlZF9uZXVyb25hbCx0ZXN0KQpwcmVkaWNjaW9uJG5ldC5yZXN1bHQKYGBgCgojIyA8c3BhbiBzdHlsZT0iY29sb3I6IGJsdWU7Ij40LiBQcmVkZWNpciBjb24gbGEgcmVkIG5ldXJvbmFsPC9zcGFuPgpgYGB7cn0KcHJvYmFiaWxpZGFkIDwtIHByZWRpY2Npb24kbmV0LnJlc3VsdApyZXN1bHRhZG8gPC0gaWZlbHNlKHByb2JhYmlsaWRhZD4wLjUsMSwwKQpyZXN1bHRhZG8KYGBgCgo=