Редукция данных является набором методов, которые сопоставляют входные функции с новыми выходными функциями. Многие методы редукции данных используют неконтролируемое обучение для извлечения функций. В отличие от некоторых методов редукции данных, таких как PCA и NNMF, методы, описанные в этом разделе, могут увеличить размерность (и уменьшить размерность). Внутренне методы включают оптимизацию нелинейных целевых функций. Для получения дополнительной информации смотрите Разреженный Алгоритм фильтрации или Алгоритм Реконструкции ICA.
Одним из типичных способов редукции данных является нахождение функций в изображениях. Использование этих функций может привести к повышению точности классификации. Для получения примера смотрите Редукцию данных Workflow. Другим типичным применением является извлечение отдельных сигналов из суперпозиций, которые часто называют слепым разделением источников. Для получения примера смотрите Извлечение смешанных сигналов.
Существует две функции редукции данных: rica
и sparsefilt
. С этими функциями связаны объекты, которые они создают: ReconstructionICA
и SparseFiltering
.
Разреженный алгоритм фильтрации начинается с матрицы данных X
который имеет n
строки и p
столбцы. Каждая строка представляет одно наблюдение, а каждый столбец представляет одно измерение. Столбцы также называются функциями или предикторами. Затем алгоритм принимает либо начальный случайный p
-by- q
матрица весов W
или использует матрицу веса, переданную в InitialTransformWeights
Пара "имя-значение". q
- запрашиваемое количество функций, которые sparsefilt
вычисляет.
Алгоритм пытается минимизировать Разреженную Целевую Функцию Фильтрации с помощью стандартной ограниченной памяти Broyden-Fletcher-Goldfarb-Shanno (LBFGS) quasi-Newton optimizer. См. Nocedal и Wright [2]. Этот оптимизатор занимает до IterationLimit
итераций. Он останавливает итерацию раньше, когда делает шаг, чья норма меньше StepTolerance
, или когда вычисляет, что норма градиента в текущей точке меньше GradientTolerance
умножает на скалярное τ, где
|<reservedrangesplaceholder0>| является нормой целевой функции, и - норма по бесконечности начального градиента.
Целевая функция пытается одновременно получить несколько ненулевые функции для каждой точки данных и для каждой получившейся характеристики, чтобы иметь почти равный вес. Чтобы понять, как целевая функция пытается достичь этих целей, смотрите Ngiam, Koh, Chen, Bhaskar и Ng [1].
Часто, вы получаете хорошие функции, задавая относительно небольшое значение IterationLimit
, от низких до 5 до нескольких сотен. Разрешение оптимизатору продолжать, может привести к переобучению, где извлеченные функции плохо обобщаются к новым данным.
После построения SparseFiltering
объект, использовать transform
метод для сопоставления входных данных с новыми выходными функциями.
Чтобы вычислить целевую функцию, алгоритм разреженной фильтрации использует следующие шаги. Целевая функция зависит от n
-by- p
матрица данных X
и весовую матрицу W
что оптимизатор изменяется. Матрица весов W
имеет размерности p
-by- q
, где p
количество оригинальных функций и q
количество запрошенных функций.
Вычислите n
-by- q
матрица X*W
. Примените приблизительную абсолютную функцию ценности каждому элементу X*W
для получения матрицы F
. ϕ является гладкой неотрицательной симметричной функцией, которая близко аппроксимирует абсолютную функцию ценности.
Нормализуйте столбцы F
по аппроксимации L2 норма. Другими словами, задайте нормированную матрицу около
Нормализуйте строки из по аппроксимации L2 норма. Другими словами, задайте нормированную матрицу около
Матрица - матрица преобразованных функций в X
. Однажды sparsefilt
находит веса W
которые минимизируют h целевой функции (см. ниже), которую функция сохраняет в выходном объекте Mdl
в Mdl.TransformWeights
свойство, transform
функция может следовать тем же шагам преобразования, чтобы преобразовать новые данные в выходные функции.
Вычислите целевую функцию h (W
) как 1-норма матрицы , что означает сумму всех элементов матрицы (которые по конструкции неотрицательны):
Если вы задаете Lambda
Пара "имя-значение" к строго положительному значению, sparsefilt
использует следующую измененную целевую функцию:
Здесь wj является j-м столбцом матрицы W
и λ является значением Lambda
. Эффект этого термина заключается в сокращении весов W
. Если вы строите график столбцов W
как изображения, с положительными Lambda
эти изображения выглядят гладкими по сравнению с теми же изображениями с нулем Lambda
.
Алгоритм Reconstruction Independent Component Analysis (RICA) основан на минимизации целевой функции. Алгоритм преобразует входные данные в выходные функции.
Исходная модель ICA следующая. Каждый x наблюдения сгенерирован случайным вектором s согласно
x является вектором-столбцом длины p
.
μ является вектором-столбцом длины p
представление постоянного члена.
s является вектором-столбцом длины q
элементы которых являются случайными переменными с нулевым средним, единичным отклонением, которые статистически независимы друг от друга.
A является смешивающей матрицей размера p
-by- q
.
Вы можете использовать эту модель в rica
для оценки A от наблюдений x. См. Раздел «Извлечение смешанных сигналов»
Алгоритм RICA начинается с матрицы данных X
который имеет n
строки и p
столбцы, состоящие из xi наблюдений:
Каждая строка представляет одно наблюдение, а каждый столбец представляет одно измерение. Столбцы также называются функциями или предикторами. Затем алгоритм принимает либо начальный случайный p
-by- q
матрица весов W
или использует матрицу веса, переданную в InitialTransformWeights
Пара "имя-значение". q
- запрашиваемое количество функций, которые rica
вычисляет. Матрица весов W
состоит из столбцов wi размера p
-by-1:
Алгоритм пытается минимизировать Восстановительную Целевую Функцию ICA с помощью стандартной ограниченной памяти Broyden-Fletcher-Goldfarb-Shanno (LBFGS) quasi-Newton optimizer. См. Nocedal и Wright [2]. Этот оптимизатор занимает до IterationLimit
итераций. Он останавливает итерацию, когда делает шаг, чья норма меньше StepTolerance
, или когда вычисляет, что норма градиента в текущей точке меньше GradientTolerance
умножает на скалярное τ, где
|<reservedrangesplaceholder0>| является нормой целевой функции, и - норма по бесконечности начального градиента.
Целевая функция пытается получить почти ортонормальную матрицу веса, которая минимизирует сумму элементов g (XW
), где g является функцией (описанной ниже), которая применяется элементарно к XW
. Чтобы понять, как целевая функция пытается достичь этих целей, см. Ле, Карпенко, Нгиам и Нг [3].
После построения ReconstructionICA
объект, использовать transform
метод для сопоставления входных данных с новыми выходными функциями.
Целевая функция использует контрастную функцию, которую вы задаете при помощи ContrastFcn
Пара "имя-значение". Контрастная функция является сглаженной выпуклой функцией, которая подобна абсолютному значению. По умолчанию контрастная функция является . Для других доступных контрастных функций смотрите ContrastFcn
.
Для n
-by- p
матрица данных X
и q
выходные функции с параметром регуляризации λ как значение Lambda
Пара "имя-значение", целевая функция с точки зрения p
-by- q
матрица W
является
Эти σj являются известными константами, которые ± 1. Когда σj = + 1, минимизация целевой функции h поощряет гистограмму быть резко доведенным до 0 (супер Гауссов). Когда σj = -1, минимизация целевой функции h поощряет гистограмму быть более плоским около 0 (sub Gaussian). Задайте значения σj используя rica
NonGaussianityIndicator
Пара "имя-значение".
Целевая функция h может иметь ложный минимум нуля, когда λ равен нулю. Поэтому, rica
минимизирует h по W, которые нормированы к 1. Другими словами, каждый wj столбцов W определяется в терминах вектора-столбца, vj
rica
минимизирует по vj. Получившаяся минимальная матрица W
обеспечивает преобразование из входных данных X
для вывода функций XW
.
[1] Ngiam, Jiquan, Zhenghao Chen, Sonia A. Bhaskar, Pang W. Koh, and Andrew Y. Ng. «Разреженная фильтрация». Усовершенствования в системах нейронной обработки информации. Том 24, 2011, стр. 1125-1133. https://papers.nips.cc/paper/4334-sparse-filtering.pdf
.
[2] Nocedal, J. and S. J. Wright. Численная оптимизация, второе издание. Springer Series in Operations Research, Springer Verlag, 2006.
[3] Le, Quoc V., Alexandre Karpenko, Jiquan Ngiam, and Andrew Y. Ng. «ICA с затратами на реконструкцию для эффективного избыточного обучения функциям». Усовершенствования в системах нейронной обработки информации. Том 24, 2011, стр. 1017-1025. https://papers.nips.cc/paper/4467-ica-with-reconstruction-cost-for-efficient-overcomplete-feature-learning.pdf
.
ReconstructionICA
| rica
| sparsefilt
| SparseFiltering