rica

Редукция данных с помощью reconstruction ICA

Описание

Mdl = rica(X,q) возвращает объект модели независимого от реконструкции анализа компонентов (RICA), который содержит результаты от применения RICA к таблице или матрице данных предиктора X содержащие p переменные. q Количество функций, которые нужно извлечь из X, поэтому rica изучает p -by - q матрица весов преобразования. Для неполных или избыточных представлений функций, q может быть меньше или больше, чем количество переменных предиктора, соответственно.

  • Для доступа к выученным весам преобразования используйте Mdl.TransformWeights.

  • Для преобразования X к новому набору функций при помощи выученного преобразования передайте Mdl и X кому transform.

пример

Mdl = rica(X,q,Name,Value) использует дополнительные опции, заданные одним или несколькими Name,Value аргументы в виде пар. Для примера можно стандартизировать данные предиктора или задать значение штрафного коэффициента в сроке восстановления целевой функции.

Примеры

свернуть все

Создайте ReconstructionICA объект при помощи rica функция.

Загрузите SampleImagePatches image закрашенных фигур.

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

        5000         363

Существует 5000 закрашенные фигуры для изображений, каждый из которых содержит 363 функции.

Извлеките 100 функции из данных.

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

rica выдает предупреждение, поскольку оно остановлено из-за достижения предела итерации, вместо достижения предельного размера шага или предельного размера градиента. Вы по-прежнему можете использовать выученные функции в возвращаемом объекте, вызывая transform функция.

Входные параметры

свернуть все

Данные предиктора, заданные как n -by p числовая матрица или таблица. Строки соответствуют отдельным наблюдениям, а столбцы соответствуют отдельным переменным предиктора. Если X является таблицей, тогда все ее переменные должны быть числовыми векторами.

Типы данных: single | double | table

Количество функций для извлечения из данных предиктора, заданное как положительное целое число.

rica сохраняет p -by- q преобразовать матрицу веса в Mdl.TransformWeights. Поэтому установка очень больших значений для q может привести к увеличению потребления памяти и времени расчетов.

Типы данных: single | double

Аргументы в виде пар имя-значение

Задайте необязательные разделенные разделенными запятой парами Name,Value аргументы. Name - имя аргумента и Value - соответствующее значение. Name должны находиться внутри кавычек. Можно задать несколько аргументов в виде пар имен и значений в любом порядке Name1,Value1,...,NameN,ValueN.

Пример: Mdl = rica(X,q,'IterationLimit',200,'Standardize',true) выполняет rica с итерациями оптимизации, ограниченными 200 и стандартизированными данными предиктора.

Максимальное количество итераций, заданное как разделенная разделенными запятой парами, состоящая из 'IterationLimit' и положительное целое число.

Пример: 'IterationLimit',1e6

Типы данных: single | double

Уровень подробностей для мониторинга сходимости алгоритма, заданный как разделенная разделенными запятой парами, состоящая из 'VerbosityLevel' и значение в этой таблице.

ЗначениеОписание
0rica не отображает информацию сходимости в командной строке.
Положительное целое числоrica отображает информацию о сходимости в командной строке.

Информация о сходимости

ЗаголовокЗначение
FUN VALUEЗначение целевой функции.
NORM GRADНорма градиента целевой функции.
NORM STEPНорма итерационного шага, означающая расстояние между предыдущей точкой и текущей точкой.
CURVOK означает, что слабое условие Вульфа удовлетворено. Это условие является комбинацией достаточного уменьшения целевой функции и условия кривизны.
GAMMAСкалярное произведение шага умножает градиентное различие, деленное на скалярное произведение градиентного различия с самим собой. Градиентное различие является градиентом в текущей точке минус градиент в предыдущей точке. Предоставляет диагностическую информацию о кривизне целевой функции.
ALPHAМножитель шагового направления, который отличается от 1 когда алгоритм выполнил поиск по линии.
ACCEPTYES означает, что алгоритм нашел приемлемый шаг.

Пример: 'VerbosityLevel',1

Типы данных: single | double

Значение коэффициента регуляризации для матрицы веса преобразования, заданное как разделенная разделенными запятой парами, состоящая из 'Lambda' и положительный числовой скаляр. Если вы задаете 0, тогда в целевой функции нет термина регуляризации.

Пример: 'Lambda',0.1

Типы данных: single | double

Флаг для стандартизации данных предиктора, заданный как разделенная разделенными запятой парами, состоящая из 'Standardize' и true (1) или false (0).

Если Standardize является true, затем:

  • rica центрирует и масштабирует каждый столбец данных предиктора (X) средним значением столбца и стандартным отклонением, соответственно.

  • rica извлекает новые возможности с помощью стандартизированной матрицы предиктора и сохраняет среднее значение переменной предиктора и стандартные отклонения в свойствах Mu и Sigma от Mdl.

Пример: 'Standardize',true

Типы данных: logical

Контрастная функция, заданная как 'logcosh', 'exp', или 'sqrt'. Контрастная функция является сглаженной функцией, которая подобна абсолютной функции ценности. rica целевая функция содержит термин

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

где g представляет контрастную функцию, wj являются переменными, над которыми происходит оптимизация, и x˜i являются данными.

Три доступные функции контрастности:

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

  • 'exp'g=exp(x22)

  • 'sqrt'g=x2+108

Пример: 'ContrastFcn','exp'

Веса преобразования, которые инициализируют оптимизацию, заданные как разделенная разделенными запятой парами, состоящая из 'InitialTransformWeights' и a p -by - q числовая матрица. p должно быть количество столбцов или переменных в X и q - значение q.

Совет

Можно продолжить оптимизацию ранее возвращенной матрицы веса преобразования, передав ее как начальное значение в другом вызове rica. Система выхода объекта модели Mdl сохраняет выученную матрицу веса преобразования в TransformWeights свойство.

Пример: 'InitialTransformWeights',Mdl.TransformWeights

Типы данных: single | double

Негауссовость источников, заданная как q длины вектор ± 1.

  • NonGaussianityIndicator(k) = 1 средства rica моделирует kth источник как супер-Гауссов, с резким пиком в 0.

  • NonGaussianityIndicator(k) = -1 средства rica моделирует kI источник как субгауссов.

Типы данных: single | double

Относительный допуск сходимости по норме градиента, заданный как разделенная разделенными запятой парами, состоящая из 'GradientTolerance' и положительный числовой скаляр. Этот градиент является градиентом целевой функции.

Пример: 'GradientTolerance',1e-4

Типы данных: single | double

Абсолютный допуск сходимости размера шага, заданный как разделенная разделенными запятой парами, состоящая из 'StepTolerance' и положительный числовой скаляр.

Пример: 'StepTolerance',1e-4

Типы данных: single | double

Выходные аргументы

свернуть все

Обученная реконструкция модели ICA, возвращенная как ReconstructionICA объект модели.

Для доступа к свойствам Mdl, используйте запись через точку. Для примера:

  • Для доступа к выученным весам преобразования используйте Mdl.TransformWeights.

  • Для доступа к структуре информации о модели используйте Mdl.FitInfo.

Алгоритмы

rica функция создает линейное преобразование входа функций в выходные функции. Преобразование основано на оптимизации нелинейной целевой функции, которая грубо балансирует статистическую независимость выходных признаков от способности восстанавливать входные данные с помощью выходных признаков.

Для получения дополнительной информации смотрите Алгоритм реконструкции ICA.

Введенный в R2017a