Logo Studenta

P2 1S 2019

¡Estudia con miles de materiales!

Vista previa del material en texto

Primer Semestre 2019
Tiempo: 1,5 horas
60 puntos 
Universidad de los Andes
Facultad de Ciencias Económicas y Empresariales
Ingeniería Comercial
Prueba 2
Sistemas de Información (Business Analytics)
Profesor: Matías Rojas
Ponga nombre a todas las hojas 
No separe las hojas del cuadernillo.
No tendrán derecho a recorrección pruebas hechas con lápiz mina, ni siquiera si el puntaje está mal contado.
2
Pregunta 1 Conceptos de Machine Learning Teóricos 
Pregunta 1.1. (7 puntos)
Basado en la serie de videos de 3Blue1 Brown sobre Redes Neuronales.
a) (2 puntos) El autor plantea el entrenamiento de una red neuronal como un gran problema de optimización, señale cuál es la función objetivo y las variables de dicho problema.
b) (2 puntos) ¿Qué es el Backpropagation?
Suponga que se tiene un set de datos con 30 variables independientes y una dependiente, se plantean dos estructuras de redes neuronales:
i. 4 capas ocultas de 10 neuronas cada una (conectándose las 30 variables de entrada a la primera capa y la última capa a la neurona de salida, es decir su configuración es (10,10,10,10,1))
4 capas de 10 neuronas y la salida de 1.
ii. 2 capas ocultas de 20 neuronas cada una (conectándose las 30 variables de entrada a la primera capa y la última capa a la neurona de salida, es decir su configuración es (20,20,1))
Es más difícil de calibrar la red neuronal con más parámetros; mientras más flechitas más difícil de calibrar (el profesor cree que la de 10,10-)
c) (3 puntos) ¿Qué configuración es más costosa de entrenar? Justifique.
La de 10,10---
Pregunta 1.2. (2 puntos)
Considere los videos de StatQuest relativos a Random Forest.
a) (2 puntos) En el video el autor habla de Boostrapped Dataset y Out of Bag Dataset. ¿Qué significa cada uno?
Pregunta 1.3. (2 puntos)
Considere el video de Victor Lavrenko relativos K-Means Clustering.
a) (2 puntos) ¿Cuál es el criterio de parada del algoritmo?
Pregunta 1.5. (9 puntos)
a) (3 puntos) ¿Por qué en K-Means y en Fuzzy K-Means para el mismo dataset y mismo K la ubicación de los centroides es diferente?
b) (2 puntos) Señale qué es una función de kernel utilizada en la técnica SVM (Máquina de Soportes Vectoriales), de un ejemplo conceptual.
c) (4 puntos) Señale en qué consiste la técnica KNN (K Nearest Neighbors), ¿cómo funciona?¿Cuándo se usa?
Pregunta 2 Machine Learning Aplicado (20 puntos)
Problema 2.1 (11 puntos) Clasificación Binaria
Un juzgado en una ciudad ha contratado un software que usa un algoritmo predictivo, el cual es capaz de predecir si una persona cometerá o no un delito.
El algoritmo utiliza, entre otras, variables descriptivas del individuo como raza, género, edad, educación de los padres, si ha cometido o no un delito anteriormente, tiempo desde el último crimen (si lo hubiese), tiempo desde el penúltimo crimen si lo hubiese, etc. Al final la variable dependiente es binaria donde su valor es 1 si la persona cometerá un crimen y 0 si no.
Al juez le han dicho que el algoritmo es muy preciso y está pensando utilizarlo como antecedente a la hora de condenar a un sospechoso.
Un data scientist decide validarlo tomando 40.000 observaciones y dividiendo el set de datos en train y test en un 75%/25%.
El data scientist utilizó un Random Forest y una Red Neuronal.
Las matrices de confusión para el set test se muestran a continuación:
	Random Forest
	
	Real
	
	
	Delito = 1
	Delito = 0
	Modelo
	Delito = 1
	1.217
	376
	
	Delito = 0
	295
	8.112
	Red Neuronal
	
	Real
	
	
	Delito = 1
	Delito = 0
	Modelo
	Delito = 1
	1.418
	608
	
	Delito = 0
	94
	7.880
a) (5 puntos) Escriba una tabla con las siguientes métricas para cada técnica utilizada:
	Técnica
	Random Forest
	Red Neuronal
	Verdadero Positivo
	1.217
	1.418
	Falso Positivo
	376
	608
	Falso Negativo
	295
	94
	Verdadero Negativo
	8112
	7880
	Accuracy
	
	
	Precision
	
	
	Recall
	
	
	Specifity
	
	
	F1 Score
	
	
*En clases lo hicimos en Excel, para la prueba calculadora.
Accuracy (% casos correctos) = verdaderos (positivos+verdaderos negativos)/total de casos
Precisión (dado que digo que son positivos, la probabilidad que lo sean) = 1217/(1217+376)
Recall (Cuantos positivos detecte del total de positivos existentes) = 1217/(1217+295)
F1 Score (media armónica) = precisión*recall /( presicion+ recall) 
b) (2 puntos) ¿Son buenos o malos los resultados? Justifique.
Son buenos, precisión y recall sobre un 50%, accuracy alto. Depende de la métrica y forma de argumentar (esta asociado a mis necesidades)
c) (2 puntos) Dado el contexto del problema, ¿qué modelo cree que es mejor?
Tenemos que fijarnos en el que tenga más precisión (menor error tipo I); Random Forest.
d) (2 puntos) Suponga que el modelo es el predictor de una potencial enfermedad donde la variable dependiente es Enfermedad (que puede tomar valores 0 o 1), para la cual se recomienda hacerse un examen, ¿cambia su conclusión en c)? Explique.
Para una enfermedad le hacemos un test a todos, el Recall es la variable importante (la red neuronal es la mejor). De los efectivamente enfermos un 6%aprox no lo estaba. 
Problema 2.2 (9 puntos) Aprendizaje Supervisado Regresión
Usted está haciendo un algoritmo para predecir un índice de calidad del aire, dicho set de datos tiene como variables dependiente el índice de calidad del aire y como regresores la temperatura, presión atmosférica, velocidad y dirección del viento, etc.
Se tiene el siguiente código en R:
set.seed(500)
 
datos<-calidad_aire
index <- sample(1:nrow(datos),round(0.75*nrow(datos)))
#Creamos sets para train y test
train <- datos[index,]
test <- datos[-index,]
#Hacemos un modelo lineal
lm.fit <- lm(calidad~., data=train)
pr.lm<-predict(lm.fit,test)
MAE.lm<-sum(abs(pr.lm-test$calidad))/nrow(test)
MSE.lm<-sum((pr.lm-test$calidad)^2)/nrow(test)
#Hacemos un SVM
svm.fit<-svm(calidad~.,kernel="radial", data=train)
pr.svm<-predict(svm.fit,test)
MAE.svm<-sum(abs(pr.svm-test$calidad))/nrow(test)
MSE.svm<-sum((pr.svm-test$calidad)^2)/nrow(test)
#Hacemos Random Forest
rf.fit<-randomForest(calidad~.,data=train)
summary(rf.fit)
pr.rf<-predict(rf.fit,test)
MAE.rf<-sum(abs(pr.rf-test$calidad))/nrow(test)
MSE.rf<-sum((pr.rf-test$calidad)^2)/nrow(test)
a) (3 puntos) Escriba el código de cómo calcularía el MAE y el RMSE de los tres modelos sobre la data test.
MAE: mean absolut error. Promedio de los errores en valor absoluto.
Mean(abs(pr.rf-datos$calidad))
RMSE: root mean squared error.
Mean(abs(pr.rf-datos$calidad) ^2) ^0.5
b) (1 punto) Señale cuándo cree usted que conviene usar MAE en vez de RMSE.
RMSE porque cuando tengo valores muy extremos (mal predichos) le da una mejor métrica si me estoy equivocando mucho o no, el MAE no me dice si tengo valores muy extremos.
c) (1 punto) ¿Cómo podría hacer un histograma del error? Escriba el código.
Hist(pr.rf-datos$calidad)
d) (2 puntos) Suponga que usted recibe data adicional para ser predicha (no conoce la variable dependiente pero sí las independientes), su mejor modelo es el Random Forest medido con todas las métricas, explique en palabras su estrategia para predecir la variable dependiente.
Tenemos el modelo hecho, tenemos que predecir (es mi mejor estimado).
El modelo me dice que cuando hace frío, la calidad del aire empeora.
Predict a los datos nuevos (los datos que me dan sobre la calidad del aire)
e) (2 puntos) Señale en el contexto del problema que significaría tener Overfiting, ¿cómo lo verificaría? ¿qué haría para evitarlo asegurarse de que su modelo funciona fuera de muestra?
Overtiting es cuando el modelo predice mejor en la base de entrenamiento que de test (sobreajuste) cuando el pc memoriza.
Para evitarlo evaluando el modelo en la base de set (no en training); set son datos que dejo fuera de la muestra.
Pregunta 3 Clasificador Bayesiano Ingenuo (Naive Bayes Clasifier) (20 puntos) 
 NO LO HEMOS VISTO
Dada cierta información climática queremos decidir si es un buen día para jugar golf, los datos son:
	#
	Cielo
	Temperatura
	Humedad
	Viento
	¿Se Jugó?
	1
	Lluvioso
	Calor
	Alta
	NoNo
	2
	Lluvioso
	Calor
	Alta
	Sí
	No
	3
	Nublado
	Calor
	Alta
	No
	Sí
	4
	Soleado
	Templada
	Alta
	No
	Sí
	5
	Soleado
	Fría
	Normal
	No
	Sí
	6
	Soleado
	Fría
	Normal
	Sí
	No
	7
	Nublado
	Fría
	Normal
	Sí
	Sí
	8
	Lluvioso
	Templada
	Alta
	No
	No
	9
	Lluvioso
	Fría
	Normal
	No
	Sí
	10
	Soleado
	Templada
	Normal
	No
	Sí
	11
	Lluvioso
	Templada
	Normal
	Sí
	Sí
	12
	Nublado
	Templada
	Alta
	Sí
	Sí
	13
	Nublado
	Calor
	Normal
	No
	Sí
	14
	Soleado
	Templada
	Alta
	Sí
	No
Las siguientes preguntas deben contestarse a la luz de la técnica Clasificador Bayesiano Ingenuo, las respuestas deben estar justificadas con cálculos.
a) (10 puntos) Elabore las tablas de frecuencia (para cada una de las variables independientes) con sus respectivas probabilidades.
b) (4 puntos) Suponga que hoy está Nublado, hace Frío, la Humedad es Normal y No hay viento. ¿Es un buen día para jugar? Calcule su respuesta.
c) (4 puntos) Suponga que hoy está el cielo Lluvioso, está Templado, la Humedad es Normal y Sí hay viento. ¿Es un buen día para jugar? Calcule su respuesta.
d) (2 punto) Explique porqué a dicho Clasificador Bayesiano se le llama Ingenuo.
Para la Expresión
e) (2 puntos) Señale qué son, o cómo se llaman cada uno de los términos .

Continuar navegando

Materiales relacionados

50 pag.
Amir Estadistica (espapña)

UNINORTE

User badge image

Allan Furtado

111 pag.
estadistica-basica-con-R

User badge image

Contenidos Diversos

73 pag.
Cuaderno Maca Ossa

User badge image

Estudiando Ingenieria

9 pag.
Aplazado_EDB_2017_I_solucion

SIN SIGLA

User badge image

Sebastian Sanchez Guerrero