Bagaimana memilih jumlah optimal faktor laten dalam faktorisasi matriks non-negatif?

15

Dengan matriks , Factorisasi Matriks Non-negatif (NMF) menemukan dua matriks non-negatif dan ( yaitu dengan semua elemen ) untuk mewakili matriks yang diuraikan sebagai:Vm×nWm×kHk×n0

VWH,

misalnya dengan mensyaratkan bahwa dan yang non-negatif meminimalkan kesalahan rekonstruksiWH

VWH2.

Adakah praktik umum untuk memperkirakan angka k dalam NMF? Bagaimana, misalnya, validasi silang dapat digunakan untuk tujuan itu?

Steve Sailer
sumber
Saya tidak memiliki kutipan (dan sebenarnya saya melakukan pencarian cepat di google scholar dan gagal menemukannya), tetapi saya percaya bahwa validasi silang harus dimungkinkan.
Amuba kata Reinstate Monica
2
Bisakah Anda memberi tahu saya detail lebih lanjut tentang cara melakukan validasi silang untuk NMF? Nilai K untuk Norma Frobenius akan selalu menurun seiring dengan meningkatnya jumlah K.
Steve Sailer
Untuk apa Anda melakukan NMF? Apakah itu untuk mewakili di ruang dimensi yang lebih rendah (tanpa pengawasan) atau apakah akan memberikan rekomendasi (diawasi). Seberapa besar Anda ? Apakah Anda perlu menjelaskan persentase varian tertentu? Anda dapat menerapkan CV setelah Anda menentukan metrik tujuan Anda. Saya akan mendorong Anda untuk memikirkan aplikasi dan menemukan metrik yang masuk akal. VVV
bodoh

Jawaban:

10

Untuk memilih jumlah optimal faktor laten dalam faktorisasi matriks non-negatif, gunakan validasi silang.

Seperti yang Anda tulis, tujuan NMF adalah untuk menemukan dan dimensi rendah dengan semua elemen non-negatif yang meminimalkan kesalahan rekonstruksi . Bayangkan bahwa kita meninggalkan satu elemen , mis. , dan melakukan NMF dari matriks yang dihasilkan dengan satu sel yang hilang. Ini berarti menemukan dan meminimalkan kesalahan rekonstruksi atas semua sel yang tidak hilang:WHVWH2VVabWH

ijab(Vij[WH]ij)2.

Setelah ini selesai, kita dapat memprediksi elemen kiri dengan menghitung dan menghitung kesalahan prediksiSeseorang dapat mengulangi prosedur ini tanpa meninggalkan semua elemen satu per satu, dan meringkas kesalahan prediksi atas semua dan . Ini akan menghasilkan nilai PRESS keseluruhan (jumlah kuadrat residual yang diprediksi) yang akan bergantung pada . Semoga fungsi akan memiliki minimum yang dapat digunakan sebagai 'optimal' .Vab[WH]ab

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

Perhatikan bahwa ini bisa mahal secara komputasi, karena NMF harus diulang untuk setiap nilai yang ditinggalkan, dan mungkin juga rumit untuk diprogram (tergantung pada betapa mudahnya untuk melakukan NMF dengan nilai yang hilang). Dalam PCA seseorang dapat mengatasi ini dengan meninggalkan baris penuh (yang mempercepat komputasi), lihat jawaban saya di Cara melakukan validasi silang untuk PCA untuk menentukan jumlah komponen utama? , tapi ini tidak mungkin di sini.V

Tentu saja semua prinsip validasi silang berlaku di sini, sehingga seseorang dapat meninggalkan banyak sel pada satu waktu (bukan hanya satu), dan / atau mengulangi prosedur hanya untuk beberapa sel acak alih-alih menggilir semua sel. Kedua pendekatan dapat membantu mempercepat proses.

Sunting (Mar 2019): Lihat artikel bagus yang diilustrasikan oleh @AlexWilliams : http://alexhwilliams.info/itsneuronalblog/2018/02/26/crossval . Alex menggunakan https://github.com/kimjingu/nonnegfac-python untuk NMF dengan nilai yang hilang.

amuba kata Reinstate Monica
sumber
4

Sepengetahuan saya, ada dua kriteria yang baik: 1) koefisien korelasi cophenetic dan 2) membandingkan jumlah residu kuadrat terhadap data acak untuk satu set peringkat (mungkin ada nama untuk itu, tapi saya tidak ingat)

  1. Koefisien korelasi Cophenetic: Anda mengulangi NMF beberapa kali per peringkat dan Anda menghitung seberapa mirip hasilnya. Dengan kata lain, seberapa stabil kluster yang diidentifikasi, mengingat bahwa benih awal adalah acak. Pilih K tertinggi sebelum koefisien cophenetic turun.

  2. RSS terhadap data acak Untuk setiap pendekatan pengurangan dimensionalitas, selalu ada kehilangan informasi dibandingkan dengan data asli Anda (diperkirakan oleh RSS). Sekarang lakukan NMF untuk meningkatkan K dan menghitung RSS dengan dataset asli Anda dan dataset acak. Ketika membandingkan fungsi RSS dalam K, RSS berkurang dengan meningkatnya K dalam dataset asli, tetapi ini kurang terjadi untuk dataset acak. Dengan membandingkan kedua lereng, harus ada K di mana mereka menyeberang. Dengan kata lain, berapa banyak informasi yang Anda bisa kehilangan (= K tertinggi) sebelum berada dalam kebisingan.

Semoga aku cukup jelas.

Sunting: Saya telah menemukan artikel-artikel itu.

1.Jean-P. Brunet, Pablo Tamayo, Todd R. Golub dan Jill P. Mesirov. Metagen dan penemuan pola molekuler menggunakan faktorisasi matriks. Dalam Prosiding National Academy of Sciences Amerika Serikat, 101 (12): 4164-4169, 2004.

2. Attila Frigyesi dan Mattias Hoglund. Faktorisasi matriks non-negatif untuk analisis data ekspresi gen kompleks: identifikasi subtipe tumor yang relevan secara klinis. Cancer Informatics, 6: 275-292, 2008.

Jean-Paul Abbuehl
sumber
Tidak jelas mengapa RSS data acak harus lebih rendah dari RSS yang dihitung dengan data asli saat K kecil? Selebihnya saya mengerti bahwa RSS secara acak akan berkurang lebih lambat dari pada Data asli.
Malik Koné
1

Dalam faktorisasi NMF, parameter (dicatat r dalam kebanyakan literatur) adalah pangkat perkiraan V dan dipilih sedemikian rupa sehingga k < min ( m , n ) . Pilihan parameter menentukan representasi data Anda V dalam basis yang terlalu lengkap yang terdiri dari kolom W ; yang w i  ,  i = 1 , 2 , , k . Hasilnya adalah bahwa jajaran matriks W dan H memiliki batas ataskrVk<min(m,n)VWwi , i=1,2,,kWH dan produk W H adalah perkiraan peringkat rendah dari V ; juga k paling banyak. Oleh karena itu pilihan k < min ( m , n ) harus merupakan pengurangan dimensionalitas di mana V dapat dihasilkan / direntang dari vektor-vektor basis yang disebutkan di atas.kWHVkk<min(m,n)V

Rincian lebih lanjut dapat ditemukan di bab 6 buku ini oleh S. Theodoridis dan K. Koutroumbas.

Setelah meminimalkan fungsi biaya yang Anda pilih berkenaan dengan dan H , pilihan optimal k , ( dipilih secara empiris dengan bekerja dengan sub-spasi fitur yang berbeda) harus memberikan V , perkiraan V , dengan fitur yang mewakili matriks data awal Anda V . WHkVVV

Bekerja dengan sub-spasi fitur yang berbeda dalam arti bahwa, jumlah kolom dalam W , adalah jumlah vektor basis dalam sub-ruang NMF. Dan bekerja secara empiris dengan nilai k yang berbeda sama dengan bekerja dengan ruang fitur yang diperkecil dimensi yang berbeda.kWk

Gilles
sumber
4
Tetapi pertanyaannya adalah tentang bagaimana memilih optimal ! Bisakah Anda memberikan wawasan tentang hal itu? k
Amuba kata Reinstate Monica
@amoeba Kecuali jika saya salah membaca pertanyaan awal, itu adalah "Apakah ada praktik umum untuk memperkirakan angka di NMF?". K optimal dipilih secara empiris . Saya telah memperluas jawaban saya. kk
Gilles
2
Penjelasan Anda tentang faktorisasi NMF benar-benar masuk akal, tetapi pertanyaan awal secara khusus tentang praktik umum untuk memperkirakan k. Sekarang Anda menulis bahwa seseorang dapat memilih k "secara empiris" (oke) "dengan bekerja dengan sub-spasi fitur yang berbeda". Saya tidak yakin saya mengerti apa artinya "bekerja dengan sub-spasi fitur yang berbeda", dapatkah Anda mengembangkannya? Bagaimana seharusnya seseorang bekerja dengan mereka ?? Apa resep untuk memilih k? Inilah pertanyaannya (setidaknya seperti yang saya mengerti). Dengan senang hati akan mengembalikan downvote saya!
Amuba kata Reinstate Monica
2
Saya menghargai suntingan Anda, dan saya sangat menyesal karena sangat bodoh. Tetapi katakanlah saya memiliki data saya, dan saya [secara empiris] mencoba berbagai nilai antara 1 dan 50. Bagaimana saya bisa memilih salah satu yang paling berhasil ??? Beginilah cara saya memahami pertanyaan awal, dan saya tidak dapat menemukan apa pun dalam jawaban Anda tentang itu. Tolong beri tahu saya jika saya melewatkannya, atau jika Anda berpikir bahwa pertanyaan aslinya berbeda. k
Amuba mengatakan Reinstate Monica
1
@amoeba Itu tergantung pada aplikasi, data, dan apa yang ingin Anda capai. Apakah hanya pengurangan dimensi, atau pemisahan sumber, dll? Dalam aplikasi audio misalnya, katakanlah pemisahan sumber, optimal akan menjadi yang memberikan Anda kualitas terbaik saat mendengarkan sumber audio yang terpisah. Motivasi untuk pilihan di sini tentu saja akan berbeda jika Anda bekerja dengan gambar misalnya. k
Gilles