sklearn.decomposition.dict_learning_online

sklearn.decomposition.dict_learning_online()

Resuelve un problema de factorización matricial de aprendizaje de diccionario en línea.

Encuentra el mejor diccionario y el correspondiente código disperso para aproximar la matriz de datos X resolviendo:

(U^*, V^*) = argmin 0.5 || X - U V ||_2^2 + alpha * || U ||_1
             (U,V)
             with || V_k ||_2 = 1 for all  0 <= k < n_components

donde V es el diccionario y U es el código disperso. Esto se consigue iterando repetidamente sobre mini lotes dividiendo los datos de entrada.

Leer más en el Manual de Usuario.

Parámetros
Xndarray de forma (n_samples, n_features)

Matriz de datos.

n_componentsint, default=2

Número de átomos del diccionario a extraer.

alphafloat, default=1

Parámetro de control de la dispersión.

n_iterint, default=100

Número de iteraciones de mini lotes a realizar.

return_codebool, default=True

Si se devuelve también el código U o sólo el diccionario V.

dict_initndarray de forma (n_components, n_features), default=None

Valor inicial del diccionario para los escenarios de reinicio en caliente.

callbackinvocable, default=None

invocable que se invoca cada cinco iteraciones.

batch_sizeint, default=3

El número de muestras a tomar en cada lote.

verbosebool, default=False

Para controlar la verbosidad del procedimiento.

shufflebool, default=True

Si se revuelven los datos antes de dividirlos en lotes.

n_jobsint, default=None

Número de trabajos paralelos a ejecutar. None significa 1 a menos que esté en un contexto joblib.parallel_backend. -1 significa utilizar todos los procesadores. Ver Glosario para más detalles.

method{“lars”, “cd”}, default=”lars”
  • 'lars': utiliza el método de regresión de ángulo mínimo para resolver el problema lasso (linear_model.lars_path);

  • 'cd': utiliza el método de descenso de coordenadas para calcular la solución Lasso (modelo_lineal.Lasso). Lars será más rápido si los componentes estimados son dispersos.

iter_offsetint, default=0

Número de iteraciones previas completadas en el diccionario utilizado para la inicialización.

random_stateentero, instancia de RandomState o None, default=None

Se utiliza para inicializar el diccionario cuando no se especifica dict_init, revolver los datos aleatoriamente cuando shuffle se establece en True, y actualizar el diccionario. Pasa un entero para que los resultados sean reproducibles a través de múltiples llamadas a la función. Ver Glosario.

return_inner_statsbool, default=False

Devuelve las estadísticas internas A (covarianza del diccionario) y B (aproximación de datos). Útil para reiniciar el algoritmo en una configuración en línea. Si return_inner_stats es True, return_code se ignora.

inner_statstupla de (A, B) ndarrays, default=None

Estadísticas internas suficientes que son guardadas por el algoritmo. Pasarlas en la inicialización es útil en configuraciones en línea, para evitar perder la historia de la evolución. A (n_components, n_components) es la matriz de covarianza del diccionario. B (n_features, n_components) es la matriz de aproximación de datos.

return_n_iterbool, default=False

Si se devuelve o no el número de iteraciones.

positive_dictbool, default=False

Si se impone la positividad al encontrar el diccionario.

Nuevo en la versión 0.20.

positive_codebool, default=False

Si se impone la positividad al encontrar el código.

Nuevo en la versión 0.20.

method_max_iterint, default=1000

Número máximo de iteraciones a realizar al resolver el problema lasso.

Nuevo en la versión 0.22.

Devuelve
codendarray de forma (n_samples, n_components),

El código disperso (sólo se devuelve si return_code=True).

dictionaryndarray de forma (n_components, n_features),

Las soluciones al problema de aprendizaje de diccionario.

n_iterint

Número de iteraciones ejecutadas. Se devuelve sólo si return_n_iter se establece como True.