Notas de aprendizaje automático: una forma de estimar el tamaño de muestra necesario para el entrenamiento de modelos

1. Breve introducción

        Los datos suficientes y de alta calidad son fundamentales para desarrollar cualquier modelo de aprendizaje automático. En ausencia de una estimación previa de la cantidad óptima de datos necesarios para modelar un sistema en particular, la recopilación de datos termina produciendo muy poco para permitir una capacitación efectiva o tanto que se desperdician los recursos.

        A menudo me preguntan cuántas imágenes se necesitan para esta escena. Por lo general, daré un rango estimado de acuerdo con la complejidad de la escena, pero es difícil responder directamente a la pregunta de cuántos datos se necesitan, porque la cantidad de datos requerida depende del problema La complejidad de , también depende de la complejidad del algoritmo elegido.

        Pero en muchos escenarios prácticos, la cantidad de datos de imágenes disponibles para entrenar modelos de aprendizaje profundo es muy limitada. Si podemos estimar el tamaño de la muestra requerido con relativa precisión, ahorrará muchos costos de mano de obra y materiales.

        De hecho, muchos investigadores han propuesto muchos métodos de estimación para estimar el número de imágenes necesarias para lograr el mejor rendimiento del modelo, aquí entendemos uno de ellos.

2. Submuestreo equilibrado

        Aquí se utiliza un esquema de submuestreo balanceado para determinar el tamaño de muestra óptimo para nuestro modelo. Esto se hace seleccionando una submuestra aleatoria que consta de Y imágenes y usando esa submuestra para entrenar el modelo. Luego, el modelo se evalúa en un conjunto de prueba independiente. El proceso se repite N veces para cada submuestra, con reemplazo, para construir la media y el intervalo de confianza para el desempeño observado.

1. Paquete de importación

import matplotlib.pyplot as plt
import numpy as np
import tensorflow as tf
from tensorflow import keras
import tensorflow_datasets as tfds
from tensorflow.keras import layers

# Define seed and fixed variables
seed = 42
tf.random.set_seed(seed)
np.random.seed(seed)
AUTO = tf.data.AUTOTUNE

2. Cargue el conjunto de datos

# Spe

Supongo que te gusta

Origin blog.csdn.net/bashendixie5/article/details/131181148
Recomendado
Clasificación