Как PCA, так и autoencoder могут уменьшать размер, так в чем же разница? В какой ситуации я должен использовать один над другим?
machine-learning
pca
neural-networks
autoencoders
RockTheStar
источник
источник
Как указывает Байердж, PCA - это метод, который предполагает линейные системы, в отличие от автоэнкодеров (AE). Если в AE не используется нелинейная функция и число нейронов в скрытом слое имеет меньшую размерность, чем у входного, то PCA и AE могут дать тот же результат. В противном случае AE может найти другое подпространство.
Стоит отметить, что скрытый слой в АЕ может иметь большую размерность, чем входной. В таких случаях AE не могут уменьшать размерность. В этом случае мы воспринимаем их как выполняющие преобразование из одного пространства признаков в другое, в котором данные в новом пространстве признаков разделяют факторы вариации.
Относительно вашего вопроса о том, много ли слоев означает очень сложную нелинейность в вашем ответе на bayerj. В зависимости от того, что вы подразумеваете под «очень сложной нелинейной», это может быть правдой. Однако глубина действительно предлагает лучшее обобщение. Многие методы требуют равного количества выборок, равного количеству регионов. Однако оказывается, что «с помощью примеров можно определить « очень большое количество областей, например », согласно Bengio et al . Это является результатом сложности представления, которая возникает из-за составления нижних элементов из нижних уровней в сети.O ( N )O ( 2N) O ( N)
источник
Это лучше подходит в качестве комментария, но, поскольку мне не хватает репутации, он будет дан как ответ.
Меня несколько смутило понятие почти в ответе Байерджа. Чтение нейронных сетей и анализ главных компонентов: обучение на примерах без локальных минимумов, в которых приводятся доказательства.
Разве это не совсем то же самое пространство, что и PCA?
источник
источник