Escoge el conjunto de datos que quieras de los que hemos visto durante el curso. Por ejemplo, el de precios de casas.
Construye sobre él varios modelos, por ejemplo:
Piensa en una medida de comparación entre modelos. No puede ser el error de ajuste. Ni siquiera la métrica no tiene por qué ser la misma usada para el ajuste. Elige una métrica y aplica alguno de los estimadores de generalización que vimos en su día
Está bien sacar un indicador numérico único, pero mira también los errores en todos los puntos de la muestra. Puedes usar los gráficos que utilizamos en otras prácticas. También puedes pasar por los errores en cada punto, vía programa, comparando los modelos.
Si siempre hay un modelo, que iguala o gana a los demás en todos los puntos, entonces no es planteable combinar modelos. En caso de que algunos modelos ganen en algún punto, quédate con ellos.
Con los modelos que te has quedado, plantea como respuesta del conjunto, el promedio de lo que diga cada uno. Puedes utilizar como factor de ponderación la precisión de cada modelo.
Aquí se trata de partir la muestra y darle a cada modelo un trozo para que se especialice en él.
Para la partición podemos usar redes neuronales u otras técnicas.
Recuerda que si pones demasiados modelos (grupos), van a tener pocos puntos para el ajuste, así que generalizarán mal. Hay un óptimo que no es el mismo que el número óptimo de grupos.
El esquema de trabajo es:
Vamos a plantear que el modelo 1 intenta sacar los resultados con los datos. Una vez ajustado el modelo 1, creamos un modelo 2 que intenta lo mismo pero con un dato adicional: la salida del modelo 1. Para ello, tras ajustar el primer modelo, obtén sus salidas y añadelas a la matriz de datos, con la que ajustarás el segundo. Obtén la salida final y mira en qué medida mejora la salida simple del primer modelo.
Si te fijas, verás que esto son como bloques de capas, así que es sensato definir un bloque de capas que en su salida concatene, como procesadores extras, sus entradas. O también que a la salida le sume la entrada (debe tener forma compatible). Puedes programar una clase para ello, basándote en las clases definidas en el módulo tipored
de la biblioteca del curso
Puedes usar dos estrategias: ajustarlo todo desde el principio o ajustar bloque a bloque de abajo hacia arriba, siguiendo una secuencia del tipo:
También puedes, tras ajustar el modelo 1 preparar un a red clasificadora que prevea cuando el modelo 1 no es fiable. Entonces usas un modelo 2 más potente. Si los puntos en que el modelo 1 no es fiable son pocos, tendrás que garantizar un tamaño de muestra que dé capacidad de generalización al modelo 2.
El esquema de trabajo sería: