Dengan matriks , Factorisasi Matriks Non-negatif (NMF) menemukan dua matriks non-negatif dan ( yaitu dengan semua elemen ) untuk mewakili matriks yang diuraikan sebagai:
misalnya dengan mensyaratkan bahwa dan yang non-negatif meminimalkan kesalahan rekonstruksi
Adakah praktik umum untuk memperkirakan angka dalam NMF? Bagaimana, misalnya, validasi silang dapat digunakan untuk tujuan itu?
cross-validation
unsupervised-learning
latent-variable
matrix-decomposition
nnmf
Steve Sailer
sumber
sumber
Jawaban:
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:W H ∥V−WH∥2 V Vab W H ∑ij≠ab(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. Vab a b E(k)=∑abeab k E(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.
sumber
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)
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.
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.
sumber
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 atask r V k<min(m,n) V W wi , i=1,2,⋯,k W H 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.k WH V k k<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 .W H k V∗ V V
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.k W k
sumber