Скорочене зменшення розмірів


9

Враховуючи кількість функцій постійними, Barnes-Hut t-SNE має складністьO(nlog⁡n), випадкові прогнози та PCA мають складністьO(n) робить їх "доступними" для дуже великих наборів даних.

З іншого боку, методи, що спираються на багатовимірне масштабування, мають:O(n2) складність.

Чи існують інші прийоми зменшення розмірів (крім тривіальних, як дивитись на перший k колонки, звичайно), складність яких менша, ніж O(nlog⁡n) ?

Відповіді:


5

Цікавим варіантом було б вивчення зменшення розмірності на основі нейронів. Найпоширеніший тип мережі для зменшення розмірності, автокодер, може бути навчений ціноюO(i⋅n), де iявляє собою ітерації тренувань (гіперпараметр, незалежний від даних тренувань). Тому складність навчання спрощується доO(n).

Ви можете почати, ознайомившись з семінарською роботою Хінтона та Салахутдінова 2006 року [1]. З тих пір речі значно розвивалися. Зараз більшість домагань досягається Варіаційними автокодерами [2], але основна ідея (мережа, яка реконструює вхід на своєму вихідному шарі з проміжним шаром між ними) залишається тією ж. Зауважимо, що на відміну від PCA та RP, автокодери виконують нелінійне зменшення розмірності. Крім того, на відміну від t-SNE, автокодери можуть трансформувати невидимі зразки без необхідності перенавчати всю модель.

З практичної сторони я рекомендую ознайомитись із цією публікацією , де викладено детальну інформацію про те, як реалізувати різні типи автокодер з чудовою бібліотекою Keras.

[1] Хінтон, Дж. Е. та Салаххутдінов, RR (2006). Зменшення розмірності даних за допомогою нейронних мереж. науки, 313 (5786), 504-507.

[2] Кінгма, Д.П., і Веллінг, М. (2013). Автоматичне кодування варіативних місць. переддрук arXiv arXiv: 1312.6114.


1
технічно вам не доведеться перекваліфікувати модель для нових зразків із t-SNE, використовуючи цей конкретний підхід: lvdmaaten.github.io/publications/papers/AISTATS_2009.pdf
— бібліолітичний

Звичайно. Автор також запропонував навчити багатоваріантний регресор для прогнозування розташування карти у зразках вхідних даних як потенційного підходу. У роботі ви згадуєте, що автор тренує нейронну мережу, щоб безпосередньо мінімізувати втрати t-SNE. Однак в обох випадках вам потрібно визначити чітку модель або функцію для відображення точок даних у простір, що виникає, тому він повинен бути достатньо потужним (достатньо шарів / нейронів), щоб навчитися вбудовуванню, але не надто багато, щоб уникнути перенастроювання. ... Це свого роду жертвує деякою зручністю використання стандартного t-SNE.
— Даніель Лопес

Ніяких розбіжностей там немає, я просто думаю, що трохи неточно контрастувати автоенкодери та t-SNE, як ви це робите у своїй відповіді, оскільки t-SNE може використовуватися як втрата для зменшення розмірності
— бібліолітичний

Хоча зараз, коли я читаю ще раз, питання: чи можна насправді сказати, що нейронні мережі є O(n), бачачи, як вони не гарантують фактичного зближення? Нотація Big-O - це найгірші межі, правда?
— Бібліолітичний

Я не хотів включати це у відповідь, оскільки обчислював втрату t-SNE під час навчання мережі O(m2) час, де m- розмір міні-партії.
— Даніель Лопес

0

Крім уже згаданих автокодер, можна спробувати використовувати лему Джонсона-Лінденштраусса випадковими прогнозами або методами випадкового підпростору. Випадкові прогнози єO(kdN), с N кількість зразків розмірності d і k цільовий вимір, cf [1].

Трохи googling отримає кілька останніх результатів, зокрема для розріджених наборів даних.

[1] Випадкова проекція в зменшенні розмірності: програми для зображення та текстових даних .

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