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


9

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

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

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

Відповіді:


5

Цікавим варіантом було б вивчення зменшення розмірності на основі нейронів. Найпоширеніший тип мережі для зменшення розмірності, автокодер, може бути навчений ціноюO(in), де 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.