Saya belajar tentang faktorisasi matriks untuk sistem yang merekomendasikan dan saya melihat istilah yang latent features
terjadi terlalu sering tetapi saya tidak dapat memahami apa artinya. Saya tahu apa fitur itu tetapi saya tidak mengerti ide fitur laten. Bisakah tolong jelaskan? Atau setidaknya mengarahkan saya ke kertas / tempat di mana saya bisa membacanya?
machine-learning
data-mining
recommender-system
Jack Twain
sumber
sumber
Jawaban:
Dengan mengorbankan penyederhanaan berlebihan, fitur laten adalah fitur 'tersembunyi' untuk membedakannya dari fitur yang diamati. Fitur laten dihitung dari fitur yang diamati menggunakan faktorisasi matriks. Contohnya adalah analisis dokumen teks. 'kata-kata' yang diekstrak dari dokumen adalah fitur. Jika Anda memfaktisasi data kata, Anda dapat menemukan 'topik', di mana 'topik' adalah sekelompok kata dengan relevansi semantik. Matriks peringkat rendah memetakan beberapa baris (fitur yang diamati) ke satu set baris yang lebih kecil (fitur laten). Singkatnya, dokumen itu bisa mengamati fitur (kata-kata) seperti [perahu layar, sekunar, kapal pesiar, kapal uap, kapal penjelajah] yang akan 'memfaktorkan' ke fitur laten (topik) seperti 'kapal' dan 'kapal'.
[kapal layar, sekunar, kapal penangkap ikan, kapal uap, kapal penjelajah, ...] -> [kapal, kapal]
Gagasan yang mendasarinya adalah bahwa fitur laten 'agregat' semantik yang relevan dari fitur yang diamati. Saat Anda memiliki fitur yang diamati secara besar-besaran, berdimensi tinggi, dan berisik, masuk akal untuk membuat classifier Anda pada fitur laten.
Ini tentu saja deskripsi yang disederhanakan untuk menjelaskan konsep. Anda dapat membaca detail tentang Latent Dirichlet Allocation (LDA) atau probabilistic Latantic Semantic Analysis (pLSA) model untuk deskripsi yang akurat.
sumber
(MxN)
M
N
Kemudian matriks Anda dapat "difaktorkanisasi", dengan memperkenalkan
K
"faktor laten", sehingga alih-alih satu matriks Anda memiliki dua: - untuk(MxK)
pengguna, dan(KxN)
- untuk item, penggandaan matriks yang menghasilkan matriks asli.Akhirnya, untuk pertanyaan Anda: apa fitur laten dalam faktorisasi matriks? Mereka adalah fitur yang tidak diketahui (
K
) dalam selera pengguna dan item yang disarankan, sehingga ketika dua matriks ini berlipat ganda, mereka menghasilkan matriks rekomendasi yang diketahui. Bobot tertentu (preferensi pengguna terhadap fitur tertentu dan jumlah fitur dalam item tertentu) didefinisikan melalui apa yang disebut Alternating Least Squares algo, lebih banyak tentang yang dapat Anda baca di sinisumber
Tampak bagi saya bahwa fitur laten adalah istilah yang digunakan untuk menggambarkan kriteria untuk mengklasifikasikan entitas berdasarkan strukturnya, dengan kata lain, dengan fitur (ciri) yang dikandungnya, alih-alih kelas yang dimiliki. Arti kata "laten" di sini kemungkinan besar mirip dengan maknanya dalam ilmu sosial, di mana variabel laten istilah yang sangat populer ( http://en.wikipedia.org/wiki/Latent_variable ) berarti variabel yang tidak dapat diamati (konsep).
Bagian "Pendahuluan" dalam makalah berikut memberikan penjelasan yang baik tentang makna fitur laten dan penggunaannya dalam pemodelan fenomena ilmu sosial: http://papers.nips.cc/paper/3846-nonparametric-latent-feature-models-for- tautan-prediksi.pdf .
sumber
Contoh lain, pertimbangkan kasus pengguna ke matriks peringkat film seperti pengaturan Netflix. Ini akan menjadi matriks jarang besar yang sulit untuk diproses.
Perhatikan bahwa setiap pengguna akan memiliki preferensi tertentu seperti film fiksi ilmiah atau film roman dll. Jadi, alih-alih menyimpan semua peringkat film, kita dapat menyimpan fitur laten tunggal seperti kategori film yang termasuk dalam Genre yang berbeda misalnya: sci-fi atau romansa, mana yang mengukur seleranya untuk setiap kategori. Ini disebut Fitur Laten , yang menangkap esensi seleranya daripada menyimpan seluruh daftar film.
Tentu saja ini akan menjadi perkiraan, tetapi di sisi lain, Anda memiliki sangat sedikit untuk disimpan.
sumber