В чем разница между PCA и автоэнкодером?

Ответы:

52

PCA ограничен линейной картой, в то время как авто кодеры могут иметь нелинейный кодер / декодер.

Однослойный автокодер с линейной передаточной функцией почти эквивалентен PCA, где почти означает, что найденный AE и PCA, не будет одинаковым - но подпространство, охватываемое волей соответствующихWWW

bayerj
источник
Понятно! Поэтому мне нужно иметь два слоя для нелинейного преобразования. Таким образом, несколько слоев означает очень сложный нелинейный?
RockTheStar
7
@RockTheStar: важно не количество слоев, а функция активации [передаточная функция]. С линейной передаточной функцией никакое количество слоев не приведет к нелинейному автоэнкодеру.
говорит амеба, восстанови Монику
Таким образом, с нелинейным преобразованием, даже есть только 1 слой скрытой единицы. Решение все еще нелинейно?
RockTheStar
Да. (Также в некоторых случаях он все еще может быть линейным, например, когда скрытые юниты активируются в почти линейных областях.)
bayerj
«когда скрытые единицы активируются в ближней линейной области», вы имеете в виду линейную часть в сигмовидной функции, верно?
RockTheStar
17

Как указывает Байердж, PCA - это метод, который предполагает линейные системы, в отличие от автоэнкодеров (AE). Если в AE не используется нелинейная функция и число нейронов в скрытом слое имеет меньшую размерность, чем у входного, то PCA и AE могут дать тот же результат. В противном случае AE может найти другое подпространство.

Стоит отметить, что скрытый слой в АЕ может иметь большую размерность, чем входной. В таких случаях AE не могут уменьшать размерность. В этом случае мы воспринимаем их как выполняющие преобразование из одного пространства признаков в другое, в котором данные в новом пространстве признаков разделяют факторы вариации.

Относительно вашего вопроса о том, много ли слоев означает очень сложную нелинейность в вашем ответе на bayerj. В зависимости от того, что вы подразумеваете под «очень сложной нелинейной», это может быть правдой. Однако глубина действительно предлагает лучшее обобщение. Многие методы требуют равного количества выборок, равного количеству регионов. Однако оказывается, что «с помощью примеров можно определить « очень большое количество областей, например », согласно Bengio et al . Это является результатом сложности представления, которая возникает из-за составления нижних элементов из нижних уровней в сети.O ( N )O(2N)O(N)

DaemonMaker
источник
2
спасибо за ваш ответ!
RockTheStar
6

Это лучше подходит в качестве комментария, но, поскольку мне не хватает репутации, он будет дан как ответ.

Меня несколько смутило понятие почти в ответе Байерджа. Чтение нейронных сетей и анализ главных компонентов: обучение на примерах без локальных минимумов, в которых приводятся доказательства.

«» В автоассоциативной случае ... и , следовательно , уникальный локально и глобально оптимальное отображение W является ортогональной проекцией на пространство , натянутое на первые собственных векторов «» Σ X XpΣXX

Разве это не совсем то же самое пространство, что и PCA?

johnblund
источник
1
В статье, которую вы цитируете, используется линейный автоэнкодер, то есть нет функции нелинейной активации. Вот почему его веса охватывают одно и то же подпространство, охватываемое PCA.
elliotp
6

{xiRn}i=1NN nXx1,,xN

h1=W1x+b1x^=W2h1+b2

x^W1Rn×mW2Rm×nm<n

mW2mX

W2mXXn×NW2m×nW2O(m2n)XO(n2N)m<n

DeltaIV
источник