Які відмінності між PCA та autoencoder?


Відповіді:


52

PCA обмежений лінійною картою, тоді як автоматичні кодери можуть мати нелінійний ендер / декодер.

Одношаровий автоматичний кодер з лінійною функцією передачі майже еквівалентний PCA, де майже означає, що знайдений AE та PCA, не буде однаковим - але підпростір, що охоплюється відповідною волеюWW


Я бачу! Тому мені потрібно мати два шари для нелінійного перетворення. Так що багатошаровий означає дуже складний нелінійний?
RockTheStar

7
@RockTheStar: важлива не кількість шарів, а функція активації [функція передачі]. З функцією лінійного перенесення жодна кількість шарів не призведе до нелінійного автокодера.
амеба каже: Відновити Моніку

Отже, при нелінійному перетворенні навіть існує лише 1 шар прихованої одиниці. Рішення все ще нелінійне?
RockTheStar

Так. (Також у деяких випадках це все ще може бути лінійним, наприклад, коли активовані приховані одиниці в майже лінійних регіонах.)
bayerj

"коли приховані одиниці активуються в найближчих лінійних областях", ви маєте на увазі лінійну частину в сигмоподібній функції, правда?
RockTheStar

17

Як вказує bayerj, PCA - це метод, який передбачає лінійні системи, де як Autoencoder (AE) цього немає. Якщо в AE не використовується нелінійна функція, а кількість нейронів у прихованому шарі має менші розміри, то вхідне, тоді PCA та AE можуть дати однаковий результат. В іншому випадку AE може знайти інший підпростір.

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

Що стосується вашого запитання про те, чи означає кілька шарів дуже складний нелінійний у вашій відповіді на bayerj. Залежно від того, що ви маєте на увазі під "дуже складним нелінійним", це може бути правдою. Однак глибина дійсно пропонує кращі узагальнення. Багато методів вимагають рівного числа зразків, рівного кількості регіонів. Однак виявляється, що "дуже велика кількість регіонів, наприклад, , може бути визначена прикладами " за даними Bengio et al . Це результат складності представлення, яка виникає при складанні нижчих можливостей з нижчих шарів мережі.O(2N)O(N)


2
THX для ваших анс!
RockTheStar

6

Це краще підходить як коментар, але оскільки мені не вистачає репутації за це, він буде даватися як відповідь.

Я дещо плутав поняття майже у відповіді байер: Читання нейронних мереж та аналіз основних компонентів: навчання на прикладах без локальних мінімумів, де наводиться доказ.

'' В автоасоціативному випадку ... і, отже, унікальна локально та глобально оптимальна карта W є ортогональною проекцією на простір, що охоплюється першими власними векторами '' pΣXX

Чи то це не той самий кореспондентський простір, як охоплений PCA?


1
Папір, яку ви цитуєте, використовує лінійний автокодер, тобто відсутність нелінійної функції активації. Ось чому його ваги охоплюють той самий підпростір, що охоплюється PCA.
elliotp

6

На даний момент прийнята відповідь @bayerj зазначає, що ваги лінійного автокодера охоплюють той самий підпростір, що і основні компоненти, знайдені PCA, але вони не є тими ж векторами. Зокрема, вони не є ортогональною основою. Це правда, проте ми можемо легко відновити основні компоненти векторів завантаження компонентів з ваг автокодера. Трохи позначень: нехай - це набір мірних векторів, для яких ми хочемо обчислити PCA, і нехай - матриця, стовпці якої . Тоді давайте визначимо лінійний автокодер як односховану нейронну мережу шару, визначену такими рівняннями:{xiRn}i=1NN nXx1,,xN

h1=W1x+b1x^=W2h1+b2

де - вихід (лінійного) автокодера, позначений шапкою, щоб наголосити на тому, що вихід автокодера є "реконструкцією" вводу. Зауважте, що, як це найбільш часто зустрічається з автокодерами, прихований шар має менше одиниць, ніж вхідний шар, тобто та з .x^W1Rn×mW2Rm×nm<n

Тепер, тренувавши свій лінійний автокодер, обчисліть перші сингулярних векторів . Можна довести, що ці особливі вектори насправді є першими основними компонентами , а доказ - у Плаута, Е., від головних підрядів до головних компонентів за допомогою лінійних автокодер , Arxiv.org:1804.10253.mW2mX

Так як SVD фактично алгоритм , що часто використовується для обчислення PCA, це може здатися безглуздим перший поїзд лінійний автоассоціатор , а потім застосувати СВД для , щоб відновити те перші векторів завантаження, а не безпосереднього застосування СВД до . Справа в тому, що - матриця , а - . Тепер часова складність SVD для дорівнює , тоді як для - зW2mXXn×NW2m×nW2O(m2n)XO(n2N)m<n, таким чином, деяка економія може бути досягнута (навіть якщо вона не така велика, як заявляє автор статті, на яку я посилаюсь). Звичайно, є й інші більш корисні підходи до обчислення великої кількості даних PCA (приходить до уваги рандомізований онлайн-PCA), але головна суть цієї еквівалентності між лінійними автокодерами та PCA - не знайти практичного способу обчислення PCA для величезних даних набори: мова йде більше про інтуїцію щодо зв’язків між автокодерами та іншими статистичними підходами до зменшення розмірів.

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.