Мне нужно сгенерировать случайные неквадратные матрицы с строками и столбцами , элементами, случайно распределенными со средним значением = 0, и ограниченными таким образом, чтобы длина (норма L2) каждой строки составляла а длина каждого столбца составляла . Эквивалентно, сумма квадратных значений равна 1 для каждой строки и для каждого столбца.
До сих пор я нашел один способ достичь этого: просто инициализировать матричные элементы случайным образом (например, из равномерного, нормального или распределения Лапласа с нулевым средним и произвольной дисперсией), а затем поочередно нормализовать строки и столбцы в , заканчивающийся нормализацией строки. Похоже, что это довольно быстро сходится к желаемому результату (например, для и дисперсия длины столбца обычно составляет ~ после итераций), но я не уверен, могу ли я зависеть от этой быстрой скорости сходимости в общем (для различных размеров матрицы и начальных распределений элементов).
Мой вопрос заключается в следующем: есть ли способ достичь желаемого результата ( , ) напрямую без итерации между нормализация строк / столбцов? Например, что-то вроде алгоритма нормализации случайного вектора (инициализируйте элементы случайным образом, измерьте сумму квадратов, затем масштабируйте каждый элемент с помощью общего скаляра). Если нет, существует ли простая характеристика скорости сходимости (например, num итераций до ошибки ) итерационного метода, описанного выше?
источник
Ответы:
Как сказал @cardinal в комментарии:
... кажется, что итерационный алгоритм, который я предложил в первоначальном вопросе, очень похож на алгоритм Синхорна-Кноппа. Интересно, что это также кажется очень похожим на итеративную пропорциональную подгонку (IPF), которая, как описано на странице Википедии IPF, связана с методом Ньютона и максимизацией ожиданий (у всех одинаковый предел).
Эти итерационные методы часто применяются к задачам, в которых отсутствует решение в закрытой форме, поэтому я предположу, что ответ на вопрос отрицательный: нет способа достичь желаемого решения без итерации строки / столбца.
источник