Всем доброго здоровья и хорошего настроения.
Есть еще один метод, посдвигать все на две размерности, получить тензор, и его тензорным разложением покромсать. Метод клевый, достаточно устойчивый, можно под тысячу экспонент вытаскивать, но вычислительная сложность получается очень не ахти. Я когда-то много в этой области наследил, могу и ссылок накидать, и порассказывать детали.
ilghiz пожалуйста расскажите с чего начать.
Ключевая идея тензорного или multillinear, three-way, multi-way decomposition в том, что представление в трех и более мерном пространстве вида
не требует ортогональности матриц
,
,
, как в сингулярном разложении, поэтому, такое разложение для такого сдвинутого тензора сразу дает правильное решение. Если решение не отрицательно по физике, оно и получается в виде матриц с неотрицательными числами. Первым это осознал в 1977 году Крускал doi: 10.1016/0024-3795(77)90069-6
Да, вычислительная сложность тензорного разложения обычно очень большая, но, ведь решает, поэтому им и пользуются.
Еще можно увеличивать размерности - например, если у вас сигнал в виде комплексной экспоненты на 1024 отсчетах, вы можете его представить в виде, например, пятимерного тензора
(или даже 10-ти мерного) и напустить на него такую тензорную аппроксимацию. Тогда ничего сдвигать не надо и тензор будет довольно маленький. Мы когда-то как раз это с соавторами и придумали 10.1038/nmeth900
Как это решать, надо всегда смотреть по обстоятельствам. Готового решателя на все случаи жизни нет.
Обычно более-менее хорошо сходится ALS, не я его придумал, кажется Харшман в 1970-м году, только он написал очень не понятно, поэтому, все Кирса или Бро цитируют, да и у меня тоже понятно написано в 10.1002/nla.297 . Сорсы топового решателя есть в приложении одного из наших патентов, с номером десять семь семь три ноль девяноста два, выданном пару лет назад в американском патентном ведомстве. Для многомерных разреженных данных я не знаю альтернатив, которые решают эту задачу устойчивее и быстрее.
По всей видимости мне нужно изучить тензор трейн?
хоть эта поделка Осцеледца и хорошо гуглится и цитируется, в конкретно этом случае она не сможет вам помочь. Кстати, реально не знаю вообще для чего ее придумали, разве только чтобы увековечить в названии буковку Т от руководителя оного (Тыртышникова) как по аналогии к Н-матрицам придуманным Хакбушем :)