Significato delle caratteristiche latenti?


24

Sto imparando la fattorizzazione a matrice per i sistemi di raccomandazione e sto vedendo il termine latent featuresricorrere troppo frequentemente ma non riesco a capire cosa significhi. So cos'è una funzionalità ma non capisco l'idea di funzionalità latenti. Potresti spiegarlo, per favore? O almeno indicami un documento / un luogo in cui posso leggerlo?


Le variabili latenti consentono di rendere i modelli più potenti in termini di cosa può essere modellato. Spetta a dati e algoritmo per definire il loro valore. In altre parole, le variabili latenti sono come "passi" che colmano il divario tra le variabili osservate e la previsione desiderata. Più ampio è questo "gap", più utili sono le variabili latenti.
Vladislavs Dovgalecs,

Risposte:


25

A scapito della semplificazione eccessiva, le funzioni latenti sono funzioni "nascoste" per distinguerle dalle funzioni osservate. Le funzioni latenti vengono calcolate dalle funzioni osservate utilizzando la fattorizzazione a matrice. Un esempio potrebbe essere l'analisi del documento di testo. le "parole" estratte dai documenti sono caratteristiche. Se si fattorizzano i dati delle parole, è possibile trovare "argomenti", dove "argomento" è un gruppo di parole con rilevanza semantica. La fattorizzazione a matrice di basso rango mappa diverse righe (caratteristiche osservate) su un insieme più piccolo di righe (caratteristiche latenti). Per elaborare, il documento avrebbe potuto osservare caratteristiche (parole) come [barca a vela, goletta, yatch, piroscafo, incrociatore] che avrebbero "fattorizzato" un elemento latente (argomento) come "nave" e "barca".

[barca a vela, goletta, yatch, piroscafo, incrociatore, ...] -> [nave, barca]

L'idea alla base è che le caratteristiche latenti sono "aggregati" semanticamente rilevanti di caratteristiche osservate. Quando si dispone di funzionalità osservate su larga scala, ad alta dimensione e rumorose, ha senso costruire il proprio classificatore su funzionalità latenti.

Questa è ovviamente una descrizione semplificata per chiarire il concetto. È possibile leggere i dettagli sui modelli Latent Dirichlet Allocation (LDA) o probabilistic Latent Semantic Analysis (pLSA) per una descrizione accurata.


"Le caratteristiche latenti sono calcolate dalle caratteristiche osservate usando la fattorizzazione a matrice." Il calcolo utilizzando la fattorizzazione a matrice è una condizione necessaria affinché una quantità sia considerata latente?
flow2k

5

Supponiamo di avere (MxN)una matrice sparsa, dove M- indica il numero di utenti che hanno dato consigli ed Nè il numero di articoli consigliati. L' elemento della matrice è la raccomandazione fornita, con alcuni elementi mancanti, ovvero da prevedere.xij

Quindi la tua matrice può essere "fattorizzata", introducendo K"fattori latenti", così che invece di una matrice ne hai due: - (MxK)per gli utenti e (KxN)- per gli articoli, la moltiplicazione della matrice di cui produce la matrice originale.

Infine, alla tua domanda: quali sono le caratteristiche latenti nella fattorizzazione a matrice? Sono caratteristiche sconosciute ( K) nei gusti degli utenti e articoli consigliati, quindi quando queste due matrici si moltiplicano, producono una matrice di raccomandazioni note. Pesi particolari (delle preferenze dell'utente rispetto a una particolare funzione e quantità di una caratteristica in un particolare elemento) sono definiti tramite il cosiddetto algo dei minimi quadrati alternati, di cui puoi leggere di più qui


3

Mi sembra che le caratteristiche latenti siano un termine usato per descrivere i criteri per classificare le entità in base alla loro struttura, in altre parole, alle caratteristiche (tratti) che contengono, anziché alle classi a cui appartengono. Il significato della parola "latente" qui è molto probabilmente simile al suo significato nelle scienze sociali, dove il termine variabile latente molto popolare ( http://en.wikipedia.org/wiki/Latent_variable ) significa variabile non osservabile (concetto).

La sezione "Introduzione" nel seguente documento fornisce una buona spiegazione del significato e dell'uso delle caratteristiche latenti nella modellizzazione dei fenomeni delle scienze sociali: http://papers.nips.cc/paper/3846-nonparametric-latent-feature-models-for- link-prediction.pdf .


Ho letto l'introduzione nel documento a cui hai fatto riferimento ma non l'ho trovata molto utile per comprendere il concetto di funzionalità latenti.
Sarà il

@Will Sentiti libero di suggerire le fonti con una spiegazione migliore.
Aleksandr Blekh,


@ Grazie. Sono d'accordo - è una buona introduzione / spiegazione (comunque, sono sicuro che ce ne sono molti altri buoni sparsi là fuori).
Aleksandr Blekh,

1

Un altro esempio, considera il caso degli utenti di una matrice di classificazione dei film come l'impostazione di Netflix. Questa sarà un'enorme matrice sparsa che è difficile da elaborare.

Si noti che ogni utente avrà una preferenza specifica come film di fantascienza o film romantici ecc. Quindi, invece di archiviare tutte le classificazioni dei film, potremmo memorizzare una singola funzione latente come la categoria del film che appartiene a generi diversi , ad esempio: fantascienza o romanticismo, qualunque quantifichi il suo gusto per ogni categoria. Questi sono chiamati Latent Features , che cattura l'essenza dei suoi gusti piuttosto che memorizzare l'intero elenco dei film.

Ovviamente questa sarà un'approssimazione, ma dall'altro lato, hai molto poco da conservare.

Questo di solito viene fatto usando tecniche di decomposizione della matrice, come SVD che interrompe un utente in una matrice di raccomandazioni articolo in una matrice di preferenze utente e matrice di preferenze articolo , il vantaggio aggiunto è che invece di memorizzare il numero abbiamo effettivamente conservare .N 1 1 N N 2 2 NNNN11NN22N

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.