Недавно я прочитал книгу Скилликорна о разложении матриц, и был немного разочарован, поскольку она была нацелена на студенческую аудиторию. Я хотел бы составить (для себя и других) краткую библиографию основных работ (обзоров, но также прорывных работ) по разложению матриц. Я имею в виду, прежде всего, что-то о SVD / PCA (и надежных / разреженных вариантах) и NNMF, поскольку они, безусловно, наиболее часто используются. У всех вас есть какие-либо рекомендации / предложения? Я сдерживаю свой, чтобы не смещать ответы. Я бы попросил ограничить каждый ответ 2-3 работами.
PS: я называю эти два разложения наиболее используемыми при анализе данных . Конечно, QR, Cholesky, LU и Polar очень важны в численном анализе. Это не главное в моем вопросе.
Для NNMF Ли и Сын описывают итерационный алгоритм, который очень прост в реализации. На самом деле они дают два одинаковых алгоритма, один для минимизации невязки Фробениуса, другой для минимизации расхождения Кульбака-Лейблера в аппроксимации и исходной матрице.
источник
Может быть, вы можете найти интересное
Последние две ссылки показывают, как разрозненные матричные факторизации используются в совместной фильтрации. Тем не менее, я считаю, что SGD-подобные алгоритмы факторизации могут быть полезны где-то еще (по крайней мере, их чрезвычайно легко кодировать)
источник
Виттен, Тибширани - Пенализованная матричная декомпозиция
http://www.biostat.washington.edu/~dwitten/Papers/pmd.pdf
http://cran.r-project.org/web/packages/PMA/index.html
Мартинссон, Рохлин, Шлам, Тигерт - Рандомизированное СВД
http://cims.nyu.edu/~tygert/software.html
http://cims.nyu.edu/~tygert/blanczos.pdf
источник
В этом году на NIPS была краткая статья о распределенном очень крупномасштабном SVD, который работает за один проход по матрице потокового ввода .
Бумага более ориентирована на реализацию, но ставит вещи в перспективу с реальными часами и прочим. Таблица в начале тоже хороший обзор.
источник