І PCA, і autoencoder можуть зменшити деменсію, тож у чому різниця між ними? У якій ситуації я повинен використовувати один над іншим?
І PCA, і autoencoder можуть зменшити деменсію, тож у чому різниця між ними? У якій ситуації я повинен використовувати один над іншим?
Відповіді:
PCA обмежений лінійною картою, тоді як автоматичні кодери можуть мати нелінійний ендер / декодер.
Одношаровий автоматичний кодер з лінійною функцією передачі майже еквівалентний PCA, де майже означає, що знайдений AE та PCA, не буде однаковим - але підпростір, що охоплюється відповідною волею
Як вказує bayerj, PCA - це метод, який передбачає лінійні системи, де як Autoencoder (AE) цього немає. Якщо в AE не використовується нелінійна функція, а кількість нейронів у прихованому шарі має менші розміри, то вхідне, тоді PCA та AE можуть дати однаковий результат. В іншому випадку AE може знайти інший підпростір.
Варто зазначити, що прихований шар в AE може мати більшу розмірність, ніж у вхідного. У таких випадках АЕ можуть не зменшувати розмірність. У цьому випадку ми сприймаємо їх як перетворення з одного простір функцій в інший, де дані в новому просторі функцій роз'єднують фактори зміни.
Що стосується вашого запитання про те, чи означає кілька шарів дуже складний нелінійний у вашій відповіді на bayerj. Залежно від того, що ви маєте на увазі під "дуже складним нелінійним", це може бути правдою. Однак глибина дійсно пропонує кращі узагальнення. Багато методів вимагають рівного числа зразків, рівного кількості регіонів. Однак виявляється, що "дуже велика кількість регіонів, наприклад, , може бути визначена прикладами " за даними Bengio et al . Це результат складності представлення, яка виникає при складанні нижчих можливостей з нижчих шарів мережі.
Це краще підходить як коментар, але оскільки мені не вистачає репутації за це, він буде даватися як відповідь.
Я дещо плутав поняття майже у відповіді байер: Читання нейронних мереж та аналіз основних компонентів: навчання на прикладах без локальних мінімумів, де наводиться доказ.
'' В автоасоціативному випадку ... і, отже, унікальна локально та глобально оптимальна карта W є ортогональною проекцією на простір, що охоплюється першими власними векторами ''
Чи то це не той самий кореспондентський простір, як охоплений PCA?
На даний момент прийнята відповідь @bayerj зазначає, що ваги лінійного автокодера охоплюють той самий підпростір, що і основні компоненти, знайдені PCA, але вони не є тими ж векторами. Зокрема, вони не є ортогональною основою. Це правда, проте ми можемо легко відновити основні компоненти векторів завантаження компонентів з ваг автокодера. Трохи позначень: нехай - це набір мірних векторів, для яких ми хочемо обчислити PCA, і нехай - матриця, стовпці якої . Тоді давайте визначимо лінійний автокодер як односховану нейронну мережу шару, визначену такими рівняннями:
де - вихід (лінійного) автокодера, позначений шапкою, щоб наголосити на тому, що вихід автокодера є "реконструкцією" вводу. Зауважте, що, як це найбільш часто зустрічається з автокодерами, прихований шар має менше одиниць, ніж вхідний шар, тобто та з .
Тепер, тренувавши свій лінійний автокодер, обчисліть перші сингулярних векторів . Можна довести, що ці особливі вектори насправді є першими основними компонентами , а доказ - у Плаута, Е., від головних підрядів до головних компонентів за допомогою лінійних автокодер , Arxiv.org:1804.10253.
Так як SVD фактично алгоритм , що часто використовується для обчислення PCA, це може здатися безглуздим перший поїзд лінійний автоассоціатор , а потім застосувати СВД для , щоб відновити те перші векторів завантаження, а не безпосереднього застосування СВД до . Справа в тому, що - матриця , а - . Тепер часова складність SVD для дорівнює , тоді як для - з, таким чином, деяка економія може бути досягнута (навіть якщо вона не така велика, як заявляє автор статті, на яку я посилаюсь). Звичайно, є й інші більш корисні підходи до обчислення великої кількості даних PCA (приходить до уваги рандомізований онлайн-PCA), але головна суть цієї еквівалентності між лінійними автокодерами та PCA - не знайти практичного способу обчислення PCA для величезних даних набори: мова йде більше про інтуїцію щодо зв’язків між автокодерами та іншими статистичними підходами до зменшення розмірів.