Negatif olmayan matris çarpanlarına ayırmada optimum sayıda gizli faktör nasıl seçilir?


16

Bir matris verilen Vm×n , negatif olmayan matris çarpanlara (NMF), iki negatif olmayan matrisleri bulur Wm×k ve Hk×n (yani, tüm elemanları ile 0 ) halinde dekompoze olmuş matrisi temsil etmek:

VWH,

WH

VWH2.

NMF'de k sayısını tahmin etmek için yaygın uygulamalar var kmı? Örneğin, çapraz doğrulama bu amaç için nasıl kullanılabilir?


Herhangi bir alıntı yapmadım (ve aslında google bilgininde hızlı bir arama yaptım ve bulamadım), ancak çapraz doğrulamanın mümkün olması gerektiğine inanıyorum.
amoeba, Reinstate Monica

2
NMF için çapraz doğrulamanın nasıl yapılacağı hakkında daha fazla bilgi verebilir misiniz? Frobenius Normu için K değerleri, K sayısı arttıkça her zaman azalacaktır.
Steve Sailer

Ne için NMF yapıyorsun? Daha düşük boyut uzayında (denetimsiz) temsil ediyor mu yoksa öneri sağlıyor mu (denetimli). Senin ne kadar büyük ? Varyansın belirli bir yüzdesini açıklamanız gerekiyor mu? Nesnel metriğinizi tanımladıktan sonra CV uygulayabilirsiniz. Uygulamayı düşünmenizi ve anlamlı bir metrik bulmanızı öneririm. VVV
cahil

Yanıtlar:


10

Negatif olmayan matris çarpanlarına ayırmada optimum sayıda gizli faktör seçmek için çapraz doğrulamayı kullanın.

Yazdığınız gibi, NMF'nin amacı düşük boyutlu ve yeniden oluşturma hatasını en aza indiren negatif olmayan elemanlarla . bir elemanını , örneğin dışında bıraktığımızı ve ortaya çıkan matrisin bir eksik hücresiyle NMF gerçekleştirdiğimizi düşünün . Bu, ve bulunması, eksik olmayan tüm hücrelerde yeniden yapılandırma hatasını en aza indirgemek anlamına gelir :WHVWH2VVabWH

ijab(Vij[WH]ij)2.

Bu yapıldıktan sonra, sol dışarı eleman tahmin edebilirsiniz hesaplanmasıyla ve tahmin hatası hesaplanır öğelerini tek tek bırakarak bu prosedürü tekrarlayabilir ve tüm ve üzerindeki tahmin hatalarını toplayabiliriz . Bu (rezidüel kareler toplamı öngörülen) genel PRES değeri ile sonuçlanacaktır bağlıdır . Umarım fonksiyonu 'optimal' olarak kullanılabilecek bir minimum sahip olacaktır .Vab[WH]ab

eab=(Vab[WH]ab)2.
VababE(k)=abeabkE(k)k

NMF'nin her bırakılan değer için tekrarlanması gerektiğinden ve ayrıca programlamak için zor olabileceğinden (hesaplamada NMF'nin eksik değerlerle gerçekleştirilmesinin ne kadar kolay olduğuna bağlı olarak) bunun hesaplama açısından maliyetli olabileceğini unutmayın. PCA'da bu, tam satırlarını (hesaplamaları çok hızlandıran) dışarıda bırakarak çözebilir , temel bileşenlerin sayısını belirlemek için PCA için çapraz doğrulama nasıl yapılır? , ama bu burada mümkün değil.V

Tabii ki çapraz geçerliliğin tüm genel prensipleri burada geçerlidir, böylece bir seferde çok sayıda hücre bırakılabilir (tek bir hücre yerine) ve / veya tüm hücreler üzerinde döngü yapmak yerine sadece bazı rastgele hücreler için prosedür tekrarlanabilir. Her iki yaklaşım da sürecin hızlandırılmasına yardımcı olabilir.

Edit (Mar 2019): @AlexWilliams'ın bu çok güzel resimli yazısına bakın : http://alexhwilliams.info/itsneuronalblog/2018/02/26/crossval . Alex, eksik değerleri olan NMF için https://github.com/kimjingu/nonnegfac-python kullanır .


4

Bildiğim kadarıyla iki iyi kriter var: 1) kojenetik korelasyon katsayısı ve 2) bir dizi rütbe için rasgele verilere karşı kalan kareler toplamını karşılaştırma (belki bunun için bir isim var, ama hatırlamıyorum)

  1. Kopenetik korelasyon katsayısı: NMF'yi sıralama başına birkaç kez tekrarlarsınız ve sonuçların ne kadar benzer olduğunu hesaplarsınız. Başka bir deyişle, ilk tohumun rastgele olduğu göz önüne alındığında, tanımlanan kümelerin ne kadar kararlı olduğu. Kojenetik katsayı düşmeden önce en yüksek K değerini seçin.

  2. Rastgele verilere karşı RSS Herhangi bir boyut küçültme yaklaşımı için, orijinal verilerinizle karşılaştırıldığında her zaman bilgi kaybı olur (RSS ile tahmin edilir). Şimdi K'yi artırmak için NMF yapın ve RSS'yi hem orijinal veri kümeniz hem de rastgele bir veri kümesiyle hesaplayın. RSS'yi K işlevinde karşılaştırırken, RSS orijinal veri kümesinde artan K ile azalır, ancak bu rastgele veri kümesi için daha azdır. Her iki eğimi karşılaştırarak geçtikleri yerde bir K olmalıdır. Diğer bir deyişle, gürültünün içinde olmadan önce ne kadar bilgiyi kaybetmeyi (= en yüksek K) göze alabiliyordunuz.

Umarım yeterince açıktım.

Düzenleme: Bu makaleleri buldum.

1.Jean-P. Brunet, Pablo Tamayo, Todd R. Golub ve Jill P. Mesirov. Matris çarpanlarına ayırma yöntemi kullanılarak metagenler ve moleküler patern keşfi. ABD Ulusal Bilimler Akademisi Bildiriler Kitabı, 101 (12): 4164-4169, 2004.

Attila Frigyesi ve Mattias Hoglund. Kompleks gen ekspresyon verilerinin analizi için negatif olmayan matris çarpanlarına ayırma: klinik olarak anlamlı tümör alt tiplerinin tanımlanması. Kanser Bilişimi, 6: 275-292, 2008.


K küçükken rastgele verilerin RSS'sinin neden orijinal verilerle hesaplanan RSS'den daha düşük olması gerektiği açık değil mi? Geri kalanı için rastgele RSS'nin orijinal Verilerden daha yavaş düşmesi gerektiğini anlıyorum.
Malik Koné

1

NMF çarpanlarına ayırma işleminde, parametresi ( çoğu literatürde olarak belirtilmiştir ) yaklaştırma ve şekilde seçilir . Parametrenin seçimi, verilerinizin sütunlarından oluşan tam bir temsili olarak temsilini belirler ; . Sonuçlar, ve matrislerinin sıralarının üst sınırına sahip olduğu ve ürününün düşük sıralı bir yaklaşım olduğu ; ayrıca en fazla . Bu nedenler V k < min ( m , n ) V W w i  ,  i = 1 , 2 , , k W H k W H V k k < min ( m , n ) VkrVk<min(m,n)VWwi , i=1,2,,kWHkWHVkk<min(m,n) , yukarıda belirtilen temel vektörlerden üretilebildiği / yayılabileceği bir boyutsal azalma olmalıdır .V

Daha fazla ayrıntı bu kitabın 6. bölümünde S. Theodoridis ve K. Koutroumbas tarafından bulunabilir.

İçin en aza indirilmesi sonra seçilen göre maliyet fonksiyonunun ve , optimal seçimi , ( ampirik olarak seçilebilirler vermelidir farklı özellik alt-alanlar ile birlikte çalışarak) , yaklaşık bir başlangıç verileri temsil özellikleri ile, matris . Y k V V VWHkVVV

, Anlamında farklı özellik alt-alanlar ile çalışma sütun sayısı , bir NMF alt boşlukta taban vektörlerinin sayısı. Ve ampirik olarak farklı değerleri ile çalışmak, farklı boyutsallık azaltılmış özellik alanlarıyla çalışmakla eşdeğerdir.W kkWk


4
Ama soru en iyi nasıl seçileceği ile ilgiliydi ! Bununla ilgili herhangi bir fikir verebilir misiniz? k
amoeba, Reinstate Monica

@amoeba İlk soruyu yanlış okumadığım sürece, "NMF'de sayısını tahmin etmek için yaygın uygulamalar var mı?" Optimal ampirik olarak seçilir . Cevabımı genişlettim. kkk
Gilles

2
NMF çarpanlarına ayırma açıklamanız tam anlamıyla mantıklıdır, ancak ilk soru özellikle k'yi tahmin etmek için kullanılan yaygın uygulamalarla ilgilidir. Şimdi farklı özellik alt uzaylarıyla çalışarak k'ın "ampirik olarak" (tamam) "seçilebileceğini yazdınız. "Farklı özellik alt alanlarıyla çalışmak" ın ne anlama geldiğini anladığımdan emin değilim, bunu genişletebilir misiniz? Onlarla nasıl çalışmalı ?? K'yi seçmenin tarifi nedir? Sorunun konusu budur (en azından anladığım kadarıyla). Benim oyumu geri dönmek için mutlu olacak!
amoeba, Reinstate Monica

2
Yaptığınız düzenlemeleri takdir ediyorum ve bu kadar aptal olduğum için çok üzgünüm. Ama diyelim ki verilerim var ve [ampirik olarak] 1 ile 50 arasında çeşitli değerleri deniyorum . En iyi çalışanı nasıl seçmeliyim ??? Orijinal soruyu bu şekilde anlıyorum ve cevabınızda bu konuda hiçbir şey bulamıyorum . Lütfen kaçırdıysam veya orijinal sorunun farklı olduğunu düşünüyorsanız bana bildirin. k
amoeba, Reinstate Monica

1
@amoeba Bu, uygulamanıza, verilerinize ve neyi başarmak istediğinize bağlı olacaktır. Bu sadece boyut azalması mı, yoksa kaynak ayrımı mı? Örneğin, ses ayırma gibi ses uygulamalarında, en uygun , ayrılmış ses kaynaklarını dinlerken size en iyi kaliteyi veren olacaktır. Örneğin görüntülerle çalışıyorsanız, buradaki seçim için motivasyon elbette farklı olacaktır. k
Gilles
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.