Випадкові матриці з обмеженнями на довжину рядків і стовпців


25

Мені потрібно генерувати випадкові неквадратичні матриці з рядками та стовпцями, елементами, випадковим чином розподіленими із середнім = 0, та обмеженими таким чином, що довжина (норма L2) кожного рядка дорівнюєRC1 а довжина кожного стовпця - . Рівнозначно, значення квадратних значень дорівнює 1 для кожного рядка і для кожного стовпця.RCRC

Поки я знайшов один із способів досягти цього: просто ініціалізувати елементи матриці випадковим чином (наприклад, з рівномірного, нормального чи розподілу лапла з нульовою середньою та довільною дисперсією), а потім по черзі нормалізувати рядки та стовпці до , що закінчується нормалізацією рядків. Це, здається, досить швидко збігається до бажаного результату (наприклад, для і , відхилення довжини стовпців зазвичай становить ~ після ітерацій), але я не впевнений, чи можу я залежати від цієї швидкої швидкості конвергенції. в цілому (для різних розмірів матриці та розподілу початкових елементів).length=1R=40C=80 0,000012

Моє запитання таке: чи є спосіб досягти бажаного результату ( , ) безпосередньо без ітерації між нормалізація рядків / стовпців? Наприклад, щось на зразок алгоритму нормалізації випадкового вектора (ініціалізувати елементи випадковим чином, вимірювати суму квадратних значень, а потім масштабувати кожен елемент загальним скаляром). Якщо ні, чи є проста характеристика швидкості конвергенції (наприклад, ітерації чисел до помилки ) описаного вище ітеративного методу?roш ленгтгодс=1cолумн ленгтгодс=RС<ϵ


1
Це досить схоже на алгоритм Сінкхорна-Кноппа, також відомий як ітеративна пропорційна підгонка.
кардинал

6
Також слід визначити, що ви маєте на увазі під "випадковими" матрицями. Наприклад, описана вами процедура (майже безсумнівно) не створюватиме випадкові матриці рівномірно над потрібним простором.
кардинал

1
@cardinal Добре. Але зауважте, що ви можете принаймні домогтися однакових (граничних) розподілів для всіх компонентів шляхом помноження на пару випадкових матриць перестановки (для випадкового розташування обох рядків і стовпців).
whuber

1
@whuber: Так, хоча спільний розподіл все ще може бути досить дивним. Під "пост множенням" я припускаю, що ви маєте на увазі множення ліворуч і праворуч "постконвергенцію" (а не, наприклад, множення справа).
кардинал

9
Насправді, поміркувавши, я думаю, що алгоритм - це саме алгоритм Сінкхорна-Ноппа з дуже незначною модифікацією. Нехай - ваша початкова матриця, а Y - матриця такого ж розміру, що Y i j = X 2 i j . Потім, ваш алгоритм еквівалентно застосування Sinkhorn-Кноппена до Y , де на останній крок відновити потрібну форму, приймаючи Й я J = и г п ( Х я J ) XYYij=Xij2Y . Сінкхорн-Нопп гарантовано зближується, за винятком досить патологічних обставин. Читання на ньому має бути дуже корисним. X^ij=sgn(Xij)Yij
кардинал

Відповіді:


6

Як заявив @cardinal у коментарі:

Насправді, поміркувавши, я думаю, що алгоритм - це саме алгоритм Сінкхорна-Ноппа з дуже незначною модифікацією. Нехай - ваша початкова матриця, а Y - матриця такого ж розміру, що Y i j = X 2 i j . Потім, ваш алгоритм еквівалентно застосування Sinkhorn-Кноппена до Y , де на останній крок відновити потрібну форму, приймаючи Й я J = и г п ( Х я J ) XYYij=Xij2Y . Сінкхорн-Нопп гарантовано зближується, за винятком досить патологічних обставин. Читання на ньому має бути дуже корисним.X^ij=sgn(Xij)Yij

... здається, що ітераційний алгоритм, який я запропонував в оригінальному питанні, дуже схожий на алгоритм Сінкхорна-Ноппа. Цікаво, що вона також виглядає дуже схожою на ітераційну пропорційну підгонку (IPF), яка, як описано на сторінці вікіпедії IPF, пов'язана з методом Ньютона та максимізацією очікування (усі мають однакову межу).

Ці ітеративні методи часто застосовуються до проблем, яким не вистачає рішення закритої форми, тому я орієнтовно припускаю, що відповідь на питання негативна: немає способу досягти потрібного рішення без ітерації рядків / стовпців.


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