SparseFiltering

Извлечение признаков разреженной фильтрацией

Описание

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

Создание

Создайте SparseFiltering объект с помощью sparsefilt функция.

Свойства

развернуть все

Это свойство доступно только для чтения.

Подходящая история, возвращенная как структура с двумя полями:

  • Iteration — Числа итерации от 0 до итоговой итерации.

  • Objective — Значение целевой функции в каждой соответствующей итерации. Итерация 0 соответствует начальным значениям перед любым подбором кривой.

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

Это свойство доступно только для чтения.

Начальные веса преобразования функции, возвращенные как p- q матрица, где p количество предикторов, переданных в X и q количество функций, которые вы хотите. Эти веса являются начальными весами, переданными функции создания. Тип данных является одним когда обучающие данные X является одним.

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

Это свойство доступно только для чтения.

Параметры использовали в обучении модель, возвращенную как структура. Структура содержит подмножество полей, которое соответствует sparsefilt пары "имя-значение", которые были в действительности во время создания модели:

  • IterationLimit

  • VerbosityLevel

  • Lambda

  • Standardize

  • GradientTolerance

  • StepTolerance

Для получения дополнительной информации смотрите sparsefilt пары "имя-значение" в документации.

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

Это свойство доступно только для чтения.

Средние значения предиктора при стандартизации, возвратились как p- 1 вектор. Это свойство непусто когда Standardize парой "имя-значение" является true при создании модели. Значение является вектором средних значений предиктора в обучающих данных. Тип данных является одним когда обучающие данные X является одним.

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

Это свойство доступно только для чтения.

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

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

Это свойство доступно только для чтения.

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

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

Это свойство доступно только для чтения.

Стандартные отклонения предиктора при стандартизации, возвратились как p- 1 вектор. Это свойство непусто когда Standardize парой "имя-значение" является true при создании модели. Значение является вектором стандартных отклонений предиктора в обучающих данных. Тип данных является одним когда обучающие данные X является одним.

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

Это свойство доступно только для чтения.

Покажите веса преобразования, возвращенные как p- q матрица, где p количество предикторов, переданных в X и q количество функций, которые вы хотите. Тип данных является одним когда обучающие данные X является одним.

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

Функции объекта

transformПреобразуйте предикторы в извлеченные функции

Примеры

свернуть все

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

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

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

        5000         363

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

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

rng default % For reproducibility
Q = 100;
obj = sparsefilt(data.X,Q,'IterationLimit',100)
Warning: Solver LBFGS was not able to converge to a solution.
obj = 
  SparseFiltering
            ModelParameters: [1x1 struct]
              NumPredictors: 363
         NumLearnedFeatures: 100
                         Mu: []
                      Sigma: []
                    FitInfo: [1x1 struct]
           TransformWeights: [363x100 double]
    InitialTransformWeights: []


  Properties, Methods

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

Введенный в R2017a