Извлечение признаков

Что такое извлечение признаков?

Извлечение признаков является набором методов, которые сопоставляют входные функции с новыми выходными функциями. Много методов извлечения признаков используют безнадзорное обучение извлечь функции. В отличие от некоторых методов извлечения признаков, таких как PCA и NNMF, методы, описанные в этом разделе, могут увеличить размерность (и уменьшить размерность). Внутренне, методы включают оптимизирующие нелинейные целевые функции. Для получения дополнительной информации см. Разреженный Алгоритм ICA Алгоритма фильтрации или Реконструкции.

Одно типичное использование извлечения признаков находит функции в изображениях. Использование этих функций может привести к улучшенной точности классификации. Для примера смотрите Рабочий процесс Извлечения признаков. Другое типичное использование извлекает отдельные сигналы из суперпозиций, который часто называют слепым исходным разделением. Для примера см. Извлечение Смешанные Сигналы.

Существует две функции извлечения признаков: rica и sparsefilt. Сопоставленный с этими функциями объекты, которые они создают: ReconstructionICA и SparseFiltering.

Разреженный алгоритм фильтрации

Разреженный алгоритм фильтрации начинается с матрицы данных X это имеет n строки и p столбцы. Каждая строка представляет одно наблюдение, и каждый столбец представляет одно измерение. Столбцы также называются функциями или предикторами. Алгоритм затем берет любого начальный случайный p- q матрица веса W или использует матрицу веса, переданную в InitialTransformWeights пара "имя-значение". q требуемое количество функций что sparsefilt вычисляет.

Алгоритм пытается минимизировать Разреженную Целевую функцию Фильтрации при помощи стандартной ограниченной памяти Бройден Флетчер Голдфарб Шэнно (LBFGS) оптимизатор квазиньютона. Смотрите Носедэла и Райта [2]. Этот оптимизатор берет до IterationLimit итерации. Это прекращает выполнять итерации ранее, когда это получает шаг, чья норма меньше StepTolerance, или когда это вычисляет это, норма градиента в текущей точке меньше GradientTolerance времена скалярный τ, где

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

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

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

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

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

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

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

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

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

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

  3. Нормируйте строки F˜(i,j) аппроксимированным L 2 нормы. Другими словами, задайте нормированную матрицу 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 является jth столбцом матричного W и λ является значением Lambda. Эффект этого термина состоит в том, чтобы уменьшить веса W. Если вы строите столбцы W как изображения, с положительным Lambda эти изображения кажутся сглаженными по сравнению с теми же изображениями с нулевым Lambda.

Алгоритм ICA реконструкции

Алгоритм Реконструкции независимого анализа компонента (RICA) основан на минимизации целевой функции. Алгоритм сопоставляет входные данные, чтобы вывести функции.

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

x=μ+As.

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

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

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

  • A является смесительной матрицей размера p- q.

Можно использовать эту модель в rica оценить A от наблюдений за x. См. Извлечение Смешанные Сигналы.

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

X=[x1Tx2TxnT].

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

W=[w1w2wq].

Алгоритм пытается минимизировать Целевую функцию ICA Реконструкции при помощи стандартной ограниченной памяти Бройден Флетчер Голдфарб Шэнно (LBFGS) оптимизатор квазиньютона. Смотрите Носедэла и Райта [2]. Этот оптимизатор берет до IterationLimit итерации. Это прекращает выполнять итерации, когда это получает шаг, чья норма меньше StepTolerance, или когда это вычисляет это, норма градиента в текущей точке меньше GradientTolerance времена скалярный τ, где

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

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

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

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

Целевая функция ICA реконструкции

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

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

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

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

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

wj=vjvjTvj+108.

rica минимизирует по vj. Получившийся минимальный матричный W обеспечивает преобразование от входных данных X выводить показывает XW.

Ссылки

[1] Ngiam, Jiquan, Зэнгэо Чен, Соня А. Бхэскэр, Пан В. Ко и Эндрю И. Ын. “Разреженная Фильтрация”. Усовершенствования в Нейронных Системах обработки информации. Издание 24, 2011, стр 1125–1133. https://papers.nips.cc/paper/4334-sparse-filtering.pdf.

[2] Nocedal, J. и С. Дж. Райт. Числовая оптимизация, второй выпуск. Ряд Спрингера в исследовании операций, Springer Verlag, 2006.

[3] Le, Quoc V., Александр Карпанко, Джикуэн Нджиэм и Эндрю И. Ын. “ICA со Стоимостью Реконструкции для Эффективного Сверхполного Изучения Функции”. Усовершенствования в Нейронных Системах обработки информации. Издание 24, 2011, стр 1017–1025. https://papers.nips.cc/paper/4467-ica-with-reconstruction-cost-for-efficient-overcomplete-feature-learning.pdf.

Смотрите также

| | |

Похожие темы