Редукция данных

Что такое редукция данных?

Редукция данных является набором методов, которые сопоставляют входные функции с новыми выходными функциями. Многие методы редукции данных используют неконтролируемое обучение для извлечения функций. В отличие от некоторых методов редукции данных, таких как 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 умножает на скалярное τ, где

τ=max(1,min(|f|,g0)).

|<reservedrangesplaceholder0>| является нормой целевой функции, иg0 - норма по бесконечности начального градиента.

Целевая функция пытается одновременно получить несколько ненулевые функции для каждой точки данных и для каждой получившейся характеристики, чтобы иметь почти равный вес. Чтобы понять, как целевая функция пытается достичь этих целей, смотрите Ngiam, Koh, Chen, Bhaskar и Ng [1].

Часто, вы получаете хорошие функции, задавая относительно небольшое значение IterationLimit, от низких до 5 до нескольких сотен. Разрешение оптимизатору продолжать, может привести к переобучению, где извлеченные функции плохо обобщаются к новым данным.

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

Разреженная целевая функция фильтрации

Чтобы вычислить целевую функцию, алгоритм разреженной фильтрации использует следующие шаги. Целевая функция зависит от n-by- p матрица данных X и весовую матрицу W что оптимизатор изменяется. Матрица весов W имеет размерности p-by- q, где p количество оригинальных функций и q количество запрошенных функций.

  1. Вычислите n-by- q матрица X*W. Примените приблизительную абсолютную функцию ценности ϕ(u)=u2+108 каждому элементу X*W для получения матрицы F. ϕ является гладкой неотрицательной симметричной функцией, которая близко аппроксимирует абсолютную функцию ценности.

  2. Нормализуйте столбцы F по аппроксимации L2 норма. Другими словами, задайте нормированную матрицу F˜(i,j) около

    F(j)=i=1n(F(i,j))2+108F˜(i,j)=F(i,j)/F(j).

  3. Нормализуйте строки из F˜(i,j) по аппроксимации L2 норма. Другими словами, задайте нормированную матрицу F^(i,j) около

    F˜(i)=j=1q(F˜(i,j))2+108F^(i,j)=F˜(i,j)/F˜(i).

    Матрица F^ - матрица преобразованных функций в X. Однажды sparsefilt находит веса W которые минимизируют h целевой функции (см. ниже), которую функция сохраняет в выходном объекте Mdl в Mdl.TransformWeights свойство, transform функция может следовать тем же шагам преобразования, чтобы преобразовать новые данные в выходные функции.

  4. Вычислите целевую функцию h (W) как 1-норма матрицы F^(i,j), что означает сумму всех элементов матрицы (которые по конструкции неотрицательны):

    h(W)=j=1qi=1nF^(i,j).

  5. Если вы задаете Lambda Пара "имя-значение" к строго положительному значению, sparsefilt использует следующую измененную целевую функцию:

    h(W)=j=1qi=1nF^(i,j)+λj=1qwjTwj.

    Здесь wj является j-м столбцом матрицы W и λ является значением Lambda. Эффект этого термина заключается в сокращении весов W. Если вы строите график столбцов W как изображения, с положительными Lambda эти изображения выглядят гладкими по сравнению с теми же изображениями с нулем Lambda.

Алгоритм восстановления ICA

Алгоритм Reconstruction Independent Component Analysis (RICA) основан на минимизации целевой функции. Алгоритм преобразует входные данные в выходные функции.

Исходная модель ICA следующая. Каждый x наблюдения сгенерирован случайным вектором s согласно

x=μ+As.

  • x является вектором-столбцом длины p.

  • μ является вектором-столбцом длины p представление постоянного члена.

  • s является вектором-столбцом длины q элементы которых являются случайными переменными с нулевым средним, единичным отклонением, которые статистически независимы друг от друга.

  • A является смешивающей матрицей размера p-by- q.

Вы можете использовать эту модель в rica для оценки A от наблюдений x. См. Раздел «Извлечение смешанных сигналов»

Алгоритм RICA начинается с матрицы данных X который имеет n строки и p столбцы, состоящие из xi наблюдений:

X=[x1Tx2TxnT].

Каждая строка представляет одно наблюдение, а каждый столбец представляет одно измерение. Столбцы также называются функциями или предикторами. Затем алгоритм принимает либо начальный случайный p-by- q матрица весов W или использует матрицу веса, переданную в InitialTransformWeights Пара "имя-значение". q - запрашиваемое количество функций, которые rica вычисляет. Матрица весов W состоит из столбцов wi размера p-by-1:

W=[w1w2wq].

Алгоритм пытается минимизировать Восстановительную Целевую Функцию ICA с помощью стандартной ограниченной памяти Broyden-Fletcher-Goldfarb-Shanno (LBFGS) quasi-Newton optimizer. См. Nocedal и Wright [2]. Этот оптимизатор занимает до IterationLimit итераций. Он останавливает итерацию, когда делает шаг, чья норма меньше StepTolerance, или когда вычисляет, что норма градиента в текущей точке меньше GradientTolerance умножает на скалярное τ, где

τ=max(1,min(|f|,g0)).

|<reservedrangesplaceholder0>| является нормой целевой функции, иg0 - норма по бесконечности начального градиента.

Целевая функция пытается получить почти ортонормальную матрицу веса, которая минимизирует сумму элементов g (XW), где g является функцией (описанной ниже), которая применяется элементарно к XW. Чтобы понять, как целевая функция пытается достичь этих целей, см. Ле, Карпенко, Нгиам и Нг [3].

После построения ReconstructionICA объект, использовать transform метод для сопоставления входных данных с новыми выходными функциями.

Реконструкция Целевой Функции ICA

Целевая функция использует контрастную функцию, которую вы задаете при помощи ContrastFcn Пара "имя-значение". Контрастная функция является сглаженной выпуклой функцией, которая подобна абсолютному значению. По умолчанию контрастная функция является g=12log(cosh(2x)). Для других доступных контрастных функций смотрите ContrastFcn.

Для n-by- p матрица данных X и q выходные функции с параметром регуляризации λ как значение Lambda Пара "имя-значение", целевая функция с точки зрения p-by- q матрица W является

h=λni=1nWWTxixi22+1ni=1nj=1qσjg(wjTxi)

Эти σj являются известными константами, которые ± 1. Когда σj  = + 1, минимизация целевой функции h поощряет гистограмму wjTxi быть резко доведенным до 0 (супер Гауссов). Когда σj = -1, минимизация целевой функции h поощряет гистограмму wjTxi быть более плоским около 0 (sub Gaussian). Задайте значения σj используя rica NonGaussianityIndicator Пара "имя-значение".

Целевая функция h может иметь ложный минимум нуля, когда λ равен нулю. Поэтому, rica минимизирует h по W, которые нормированы к 1. Другими словами, каждый wj столбцов W определяется в терминах вектора-столбца, vj

wj=vjvjTvj+108.

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.

См. также

| | |

Похожие темы