Esta página aún no se ha traducido para esta versión. Puede ver la versión más reciente de esta página en inglés.

rica

Extracción de características mediante la reconstrucción ICA

Descripción

Mdl = rica(X,q) Devuelve un objeto de modelo de análisis de componentes independientes (RICA) de reconstrucción que contiene los resultados de aplicar RICA a la tabla o matriz de Datos predictores que contienen variables. es el número de entidades para extraer de, por lo tanto, aprende una por matriz de pesos de transformación.XpqXricapq Para las representaciones de entidades subcompletas o sobrecompletas, puede ser menor o mayor que el número de variables predictoras, respectivamente.q

  • Para acceder a los pesos de transformación aprendidos, utilice.Mdl.TransformWeights

  • Para transformarse en el nuevo conjunto de entidades mediante la transformación aprendida, pase y a.XMdlXtransform

ejemplo

Mdl = rica(X,q,Name,Value) utiliza opciones adicionales especificadas por uno o más argumentos de par.Name,Value Por ejemplo, puede estandarizar los datos del predictor o especificar el valor del coeficiente de penalización en el plazo de reconstrucción de la función objetiva.

Ejemplos

contraer todo

Cree un objeto mediante la función.ReconstructionICArica

Cargue los parches de imagen.caltech101

data = load('caltech101patches'); size(data.X)
ans = 1×2

      100000         363

Hay 100.000 parches de imagen, cada uno conteniendo 363 características.

Extraiga 100 características de los datos.

rng default % For reproducibility q = 100; Mdl = rica(data.X,q,'IterationLimit',100)
Warning: Solver LBFGS was not able to converge to a solution. 
Mdl =    ReconstructionICA             ModelParameters: [1x1 struct]               NumPredictors: 363          NumLearnedFeatures: 100                          Mu: []                       Sigma: []                     FitInfo: [1x1 struct]            TransformWeights: [363x100 double]     InitialTransformWeights: []     NonGaussianityIndicator: [100x1 double]     Properties, Methods  

emite una advertencia porque se detuvo debido a que alcanzó el límite de iteración, en lugar de alcanzar un límite de tamaño de paso o un límite de tamaño de degradado.rica Todavía puede usar las características aprendidas en el objeto devuelto mediante una llamada a la función.transform

Argumentos de entrada

contraer todo

Datos de predictor, especificados como una tabla o matriz numérica.np Las filas corresponden a observaciones individuales y las columnas corresponden a variables predictoras individuales. Si es una tabla, todas sus variables deben ser vectores numéricos.X

Tipos de datos: single | double | table

Número de entidades que se extraen de los datos del predictor, especificadas como un entero positivo.

rica almacena una matriz de peso a-by-Transform en.pqMdl.TransformWeights Por lo tanto, establecer valores muy grandes para puede resultar en un mayor consumo de memoria y un mayor tiempo de cálculo.q

Tipos de datos: single | double

Argumentos de par nombre-valor

Especifique pares de argumentos separados por comas opcionales. es el nombre del argumento y es el valor correspondiente. deben aparecer dentro de las cotizaciones.Name,ValueNameValueName Puede especificar varios argumentos de par de nombre y valor en cualquier orden como.Name1,Value1,...,NameN,ValueN

Ejemplo: se ejecuta con iteraciones de optimización limitadas a 200 y Datos predictores estandarizados.Mdl = rica(X,q,'IterationLimit',200,'Standardize',true)rica

Número máximo de iteraciones, especificadas como el par separado por comas y que consta de un entero positivo.'IterationLimit'

Ejemplo: 'IterationLimit',1e6

Tipos de datos: single | double

Nivel de verbosidad para monitorear la convergencia del algoritmo, especificado como el par separado por comas que consta de y un valor en esta tabla.'VerbosityLevel'

ValorDescripción
0rica no muestra información de convergencia en la línea de mandatos.
Entero positivorica muestra información de convergencia en la línea de mandatos.

Información de convergencia

encabezadoSignificado
FUN VALUEValor de la función objetiva.
NORM GRADNorma del gradiente de la función objetiva.
NORM STEPNorma del paso iterativo, es decir, la distancia entre el punto anterior y el punto actual.
CURVsignifica que se satisface la condición débil de Wolfe.OK Esta condición es una combinación de una disminución suficiente de la función objetiva y una condición de curvatura.
GAMMAProducto interno del paso multiplicado por la diferencia de gradiente, dividido por el producto interno de la diferencia de gradiente consigo mismo. La diferencia de degradado es el degradado en el punto actual menos el degradado en el punto anterior. Proporciona información de diagnóstico sobre la curvatura de la función objetiva.
ALPHAMultiplicador de dirección de paso, que difiere de cuando el algoritmo realizó una búsqueda de línea.1
ACCEPTsignifica que el algoritmo encontró un paso aceptable a tomar.YES

Ejemplo: 'VerbosityLevel',1

Tipos de datos: single | double

Valor del coeficiente de regularización para la matriz de peso de transformación, especificado como el par separado por comas que consta de un escalar numérico positivo.'Lambda' Si se especifica, no hay ningún término de regularización en la función objetiva.0

Ejemplo: 'Lambda',0.1

Tipos de datos: single | double

Marque para estandarizar los datos del predictor, especificados como el par separado por comas que consiste en y () o ().'Standardize'true1false0

Si es, entonces:Standardizetrue

  • rica centra y escala cada columna de los Datos predictores () por la media de la columna y la desviación estándar, respectivamente.X

  • rica Extrae nuevas características mediante la matriz predictora estandarizada y almacena los medios de las variables predictoras y las desviaciones estándar en las propiedades y de.MuSigmaMdl

Ejemplo: 'Standardize',true

Tipos de datos: logical

Función de contraste, especificada como, o.'logcosh''exp''sqrt' La función de contraste es una función suave que es similar a una función de valor absoluto. La función objetiva contiene un términorica

j=1q1ni=1ng(wjTx˜i),

donde representa la función de contraste, elg Wj son las variables sobre las que tiene lugar la optimización, y el x˜i son datos.

Las tres funciones de contraste disponibles son:

  • 'logcosh' g=12log(cosh(2x))

  • 'exp' g=exp(x22)

  • 'sqrt' g=x2+108

Ejemplo: 'ContrastFcn','exp'

Ponderaciones de transformación que inicializan la optimización, especificadas como el par separado por comas y que consta de una matriz numérica. debe ser el número de columnas o variables en y es el valor de.'InitialTransformWeights'pqpXqq

Sugerencia

Puede seguir optimizando una matriz de ponderación de transformación devuelta anteriormente pasándolo como un valor inicial en otra llamada a rica. El objeto de modelo de salida almacena una matriz de ponderación de transformación aprendida en la propiedad.MdlTransformWeights

Ejemplo: 'InitialTransformWeights',Mdl.TransformWeights

Tipos de datos: single | double

No Gaussianity of sources, especificado como un vector de longitud de ± 1.q

  • significa que los modelos de la fuente TH como Super-gaussiano, con un pico agudo en 0.NonGaussianityIndicator(k) = 1ricak

  • significa modelos de la fuente TH como sub-gaussiano.NonGaussianityIndicator(k) = -1ricak

Tipos de datos: single | double

Tolerancia de convergencia relativa en la norma de degradado, especificada como el par separado por comas que consta de un escalar numérico positivo.'GradientTolerance' Este degradado es el degradado de la función objetiva.

Ejemplo: 'GradientTolerance',1e-4

Tipos de datos: single | double

Tolerancia de convergencia absoluta en el tamaño del paso, especificada como el par separado por comas que consta de un escalar numérico positivo.'StepTolerance'

Ejemplo: 'StepTolerance',1e-4

Tipos de datos: single | double

Argumentos de salida

contraer todo

Modelo ICA de reconstrucción aprendida, devuelta como un objeto de modelo.ReconstructionICA

Para acceder a las propiedades de, utilice la notación de puntos.Mdl Por ejemplo:

  • Para acceder a los pesos de transformación aprendidos, utilice.Mdl.TransformWeights

  • Para acceder a la estructura de la información de ajuste, utilice.Mdl.FitInfo

Algoritmos

La función crea una transformación lineal de las entidades de entrada en entidades de salida.rica La transformación se basa en la optimización de una función objetiva no lineal que equilibra de forma aproximada la independencia estadística de las entidades de salida frente a la capacidad de reconstruir los datos de entrada utilizando las entidades de salida.

Para obtener más información, consulte.Reconstrucción algoritmo ICA

Introducido en R2017a