Cómo aplicar una técnica de validación cruzada en un modelo LSTM

¿Sabes cómo funciona la validación cruzada? Olvídate del aprendizaje profundo por ahora, solo considera un problema genérico de clasificación de aprendizaje automático donde tenemos 2 algoritmos candidatos y queremos saber cuál es mejor.

El enfoque es el siguiente: dividir el conjunto de datos de entrenamiento en K contenedores de aproximadamente el mismo tamaño. Ahora repita K veces: omita un contenedor y entrene ambos algoritmos en todos los demás contenedores. Ahora verifique el rendimiento de ambos modelos entrenados en el contenedor de basura. Repita para cada contenedor. Tome los promedios del rendimiento para todos los contenedores, para cada algoritmo. Se espera que el que tenga un mejor rendimiento sea mejor para este conjunto de datos. Ahora entrénelo en el conjunto de datos completo y ahí está.

Este enfoque es completamente independiente de los algoritmos que elija. Para su problema, tendría una serie de algoritmos (uno para cada número de unidades que desea considerar) en lugar de 2, pero el enfoque aún se mantiene.

Este es un ejemplo del uso de k-fold para una capa totalmente conectada

Tutorial de regresión con Keras Deep Learning Library en Python – Machine Learning Mastery

También puede usarlo para LSTM. Simplemente cambie el modelo a LSTM. Los LSTM son generalmente caros que ConvNets o capas completamente conectadas debido a la naturaleza recursiva. Por lo tanto, las personas no suelen hacer validación cruzada, ya que tomaría k veces el tiempo. Pero es trivial cambiar su código para hacer eso.

More Interesting

Aprendizaje profundo: ¿Qué técnica de preprocesamiento es necesaria para los parches de imágenes para obtener características relevantes?

Cómo saber que un modelo de similitud de documentos puede lograr un alto rendimiento / mejor calidad que los otros modelos

¿Cómo toman decisiones las neuronas del cerebro? ¿Funcionan de la misma manera que las neuronas artificiales en ANN?

¿Por qué es importante el aprendizaje no supervisado?

Cómo usar la red neuronal de retardo de tiempo para la clasificación del conjunto de datos MNIST

¿Se están utilizando redes neuronales profundas para crear estrategias de fondos de cobertura / HFT?

Necesito trabajar en un pequeño proyecto de análisis de sentimientos. ¿Qué herramienta debo usar para aprender e implementar fácilmente como Python, TensorFlow?

¿Por qué el algoritmo de agrupación k-means se considera un algoritmo de aprendizaje no supervisado? ¿Qué es "aprender"? ¿No es solo otro algoritmo codicioso?

¿Cuáles son algunos buenos documentos sobre la extracción de sinónimos de los registros de consultas?

¿Dónde puedo obtener un conjunto de datos de notas de suicidio para fines de aprendizaje automático?

Como proyecto de graduación, elegimos hacerlo en el análisis de sentimientos de Twitter, tenemos algunos conceptos básicos de ML obtenidos de los MOOC, ¿a dónde deberíamos ir después?

¿Hay un equivalente a Rosalind en el aprendizaje automático?

¿Qué opinas del TensorFlow Eager en comparación con Pytorch?

¿Cuál es la explicación simple del modelo de Ising y Potts?

El aprendizaje profundo hará que los humanos sean innecesarios para qué trabajos.