Satır ve sütun uzunluğu üzerindeki kısıtlamaları olan rastgele matrisler


25

satırları ve sütunlarıyla rastgele kare olmayan matrisler oluşturmalı, rasgele ortalama = 0 ile dağıtılmış elemanlar oluşturmalı ve her satırın uzunluğu (L2 normu) ve her sütunun uzunluğu kısıtlanmalı. . Eşdeğer olarak, her satır için kare değerlerin toplamı 1 ve her sütun için .C 1 RC1 RRCRC

Şimdiye kadar bunu başarmanın bir yolunu buldum: basitçe matris elemanlarını rastgele başlat (örn. Sıfır ortalama ve rastgele değişkenlik ile tek tip, normal veya laplace dağılımından), sonra sırayla sıraları ve sütunları normalleştirin , satır normalleşmesi ile biten. Bu oldukça hızlı bir şekilde istenen sonuca yaklaşıyor gibi gözüküyor (örneğin, ve , sütun uzunluğundaki iterasyondan sonra tipik olarak ~ ), ancak bu hızlı yakınsama hızına bağlı olup olmadığımdan emin değilim. Genel olarak (çeşitli matris boyutları ve ilk eleman dağılımları için).R, = 40 ° C = 80 0.00001 2length=1R=40C=80 0.000012

Sorum şu: İstenilen sonucu elde etmenin bir yolu var ( , ) doğrudan arasında yineleme yapmadan satır / sütun normalleştirme? Örneğin, rastgele bir vektörü normalleştirmek için algoritma gibi bir şey (elemanları rasgele başlat, kare değerlerin toplamını ölç, sonra her elemanı ortak bir skalar ile ölçeklendir). Olmazsa, yukarıda açıklanan yinelemeli yöntemin yakınsama oranı (örneğin, hataya kadar olan ) için basit bir karakterizasyon var mı?c O l u m , n l , e n g t h s = rOw lengths=1 <ϵcOlumn lengths=R,C<ε


1
Bu, alternatif olarak yinelemeli orantılı uydurma olarak da bilinen Sinkhorn-Knopp algoritmasına oldukça benzer.
kardinal

6
Ayrıca, ne demek istediğinizi "rastgele" matrislerle tanımlamanız gerekir. Örneğin, tarif ettiğiniz prosedür (hiç şüphesiz) istenen alanın üzerinde düzgün bir şekilde rastgele matrisler üretmeyecektir.
kardinal

1
@ cardinal İyi nokta. Ancak, tüm bileşenler için en azından bir çift rastgele permütasyon matrisi ile çarparak (hem sıraları hem de sütunları rasgele düzenlemek için) çarparak tüm bileşenler için aynı (marjinal) dağılımlar elde edebileceğinizi unutmayın.
whuber

1
@whuber: Evet, ortak dağıtım hala oldukça garip olabilse de. "Post çarparak" derken, sol ve sağ "yakınsama" (yani sağda çarpma yerine) ile çarpmayı kastettiğinizi varsayıyorum.
kardinal

9
Biraz düşündükten sonra Aslında, senin algoritma olduğunu düşünüyorum tam olarak bir çok küçük değişikliklerle Sinkhorn-Knopp algoritması. Let orijinal matris olabilir ve izin Y, aynı boyutta olacağı şekilde bir matris Y i j = X 2 ı j . Daha sonra, algoritma Sinkhorn-Knopp uygulanması eşdeğerdir Y son adımda Eğer alarak istenen formu geri, X, i j = s gr N ( X ı j ) XYYbenj=Xbenj2Y . Sinkhorn-Knopp'un oldukça patolojik durumlar dışında bir araya gelmesi garanti edilir. Üzerine okumak çok yardımcı olmalı. X^benj=sgn(Xbenj)Ybenj
kardinal

Yanıtlar:


6

@Cardinal bir yorumda dediği gibi:

Biraz düşündükten sonra Aslında, senin algoritma olduğunu düşünüyorum tam olarak bir çok küçük değişikliklerle Sinkhorn-Knopp algoritması. Let orijinal matris olabilir ve izin Y, aynı boyutta olacağı şekilde bir matris Y i j = X 2 ı j . Daha sonra, algoritma Sinkhorn-Knopp uygulanması eşdeğerdir Y son adımda Eğer alarak istenen formu geri, X, i j = s gr N ( X ı j ) XYYbenj=Xbenj2Y . Sinkhorn-Knopp'un oldukça patolojik durumlar dışında bir araya gelmesi garanti edilir. Üzerine okumak çok yardımcı olmalı.X^benj=sgn(Xbenj)Ybenj

... görünüşe göre, asıl soruda önerdiğim yinelemeli algoritma, Sinkhorn-Knopp algoritmasına çok benziyor. İlginçtir ki, IPF wikipedia sayfasında açıklandığı gibi Newton'un metodu ve beklenti maksimizasyonu ile ilgili olan yinelemeli orantılı uydurma (IPF) ile de çok benzer görünüyor (hepsi aynı limite sahip).

Bu yinelemeli yöntemler genellikle kapalı formlu bir çözümü olmayan sorunlara uygulanır, bu nedenle sorunun cevabının olumsuz olduğunu geçici olarak kabul edeceğim: istenen çözümü satır / sütun yinelemesi olmadan elde etmenin bir yolu yoktur.


(+1) Bu soruya olan ilginiz ve bağımsız takipleriniz için. :-)
kardinal
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.