Clase 3 - Overfitting y Model Validation Flashcards

1
Q

Si el modelo tiene una muy buena performance en training pero mala en testing. ¿Qué puede estar pasando?

A

Overfitting. El modelo tiene demasiada flexibilidad, y “memorizó” los datos de train.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
2
Q

Si el modelo tiene una mala performance tanto en training como en testing. ¿Qué puede estar pasando?

A

Underfitting. El modelo no tiene la suficiente flexibilidad para capturar los patrones relevantes.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
3
Q

¿Qué decisiones se deben tomar antes de entrenar un modelo?

A
  • Qué datos tomar como train set
  • Qué preprocesamientos hacer
  • Qué algoritmo de aprendizaje usar
  • Qué valores de hiperparámetros usar
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
4
Q

Supongamos que tenés un modelo y un dataset. Lo entrenás varias veces usando hold-out set pero te da siempre un valor de performance distinto. ¿Por qué?

A

Hay dos componentes aleatorios; la selección del training set, y la del testing set.
Cuando se selecciona un grupo distinto de train, el modelo entrena sobre instancias distintas.
Cuando se selecciona un grupo distinto de test, el modelo predice sobre instancias distintas. (Incluso ante un mismo test set, si cambia el train set cambian las predicciones).

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
5
Q

¿Qué métodos existen para la validación de modelos?

En otras palabras, ¿de qué maneras podemos dividir en train y test?

A
  • Hold-out set
  • Leave One Out Cross Validation (LOOCV)
  • K-fold
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
6
Q

¿Qué es Hold-out set?

A

Es uno de los métodos de validación de modelos. Se caracteriza por hacer una división “imaginaria” entre datos conocidos y datos desconocidos.
Se selecciona un porcentaje de los datos para que sean los conocidos, y se entrena sobre ellos.
Luego se usan los datos “desconocidos”, el validation set, para estimar la performance del modelo.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
7
Q

¿Cuáles son los beneficios de Hold-out set?

A

Como no tiene iteraciones, es relativamente rápido de ejecutar. Esto lo hace muy útil para grandes volúmenes de información.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
8
Q

¿Cuáles son las contras de Hold-out set?

A
  • La predicción es muy variable, por el elemento aleatorio de la división en train y test
  • Si hay más datos en train, el modelo es mejor. Pero si hay muy pocos datos en test, la estimación de performance puede ser muy pesimista.
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
9
Q

¿Cómo se recomienda seleccionar las submuestras en hold-out set, si los datos NO son cronológicos?

A

Se recomienda tomar una submuestra al azar.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
10
Q

¿Cómo se recomienda seleccionar las submuestras en hold-out set, si los datos SÍ son cronológicos? ¿Por qué?

A

Se recomienda tomar, o bien los primeros datos (para “predecir” cosas posteriores), o bien los últimos (para predecir cosas anteriores).
Si se toman datos al azar, vamos a terminar en una situación de Data Leakage.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
11
Q

¿Para qué existen los métodos de validación de modelos?

A

Dado un dataset, usamos estos métodos para poder analizar:
* ¿Qué modelo/s funcionan mejor?
* ¿Con qué hiperparámetros?

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
12
Q

¿Qué es LOOCV?

A

Leave One Out Cross Validation es un método de validación de modelos. Funciona así:
* Elige un registro para que sea el conjunto de validation
* Entrena con el resto de los registros
* Predice el valor del registro de validation y, en base a eso, estima la performance
* Hace esto tantas veces como registros haya, de forma que todo registro sea el conjunto de validation exactamente una vez
* Calcula un promedio de todas las estimaciones de performance obtenidas

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
13
Q

¿Cuáles son las ventajas de LOOCV?

A
  • Los resultados no dependen de una partición al azar
  • Cada uno de los modelos es entrenado con casi todas las observaciones
  • Toda observación se usa sólo una vez para validar
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
14
Q

¿Cuáles son las desventajas de LOOCV?

A
  • Necesita mucho cómputo; entrena tantos modelos como registros hay en el dataset
  • Sólo sirve para datasets chiquitos
  • El estimador tiene propiedades estadísticas algo raras y no deseadas
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
15
Q

¿Qué es K-Fold Cross Validation?

A

Método de validación que funciona de la siguiente manera:
* Divide el dataset en k secciones
* Elige k-1 para ser el training set, y la restante para que sea el validation set
* Entrena el modelo sobre el training set
* Estima la performance del modelo con el validation set
* Repite esto k veces, de forma que cada sección sea usada exactamente una vez para testear.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
16
Q

¿Cuáles son los valores más comunes de k para K-Fold Cross Validation?

A

3, 5 o 10.

17
Q

¿Qué pasa si se usa un K-Fold con k=n?

Siendo n la cantidad de registros en el dataset

A

Tenemos un LOOCV

18
Q

¿Qué pasa si se usa un K-Fold con k=2?

A

Tenemos un Hold-Out set.

19
Q

¿Por qué es común dividir el dataset en tres grupos, en lugar de dos? ¿Cuáles son? ¿Para qué se usa cada uno?

A

Si dividimos solamente en train y test, podemos overfittear el conjunto de validation.
Por esto dividimos en Training, Validation y Testing; Training y Validation se usan en la validación de modelos, y Testing se usa al final, cuando ya seleccionamos un modelo, para estimar la performance con nuevos datos.

20
Q

Supongamos que un dataset tiene datos de clientes de tres países diferentes. La empresa se expandió a un cuarto país, y quiere poder estimar algo respecto a estos nuevos clientes. ¿Qué método de validación de modelos debería usar?

A

Leave one group out cross validation; Como K-fold, pero cada sub-grupo corresponde a un país. Se entrena con dos países y se valida con el tercero.

21
Q

¿Qué metodos de validación de modelos se deberían usar para una serie de datos cronológica?

A

O bien realizar una variante de los métodos anteriores que considere temporalidad, o bien Time-series cross validation.