Maybaygiare.org

Blog Network

Una semplice introduzione al filtro collaborativo

In questi giorni se si guarda un video su YouTube, un film su Netflix o un prodotto su Amazon, si sta andando a ottenere consigli per più cose da visualizzare, come o acquistare. Puoi ringraziare l’avvento di algoritmi di apprendimento automatico e sistemi di raccomandazione per questo sviluppo.

I sistemi di raccomandazione sono di vasta portata, quindi stiamo andando a zero in un approccio importante chiamato collaborative filtering, che filtra le informazioni utilizzando le interazioni e i dati raccolti dal sistema da altri utenti. Si basa sull’idea che le persone che hanno accettato nella loro valutazione di determinati elementi sono suscettibili di essere d’accordo di nuovo in futuro.

A Quick Primer On Recommender Systems

Un sistema di recommender è una sottoclasse di filtraggio delle informazioni che cerca di prevedere la “valutazione” o “preferenza” un utente darà un elemento, come un prodotto, film, canzone, ecc.

I sistemi Recommender forniscono informazioni personalizzate imparando gli interessi dell’utente attraverso tracce di interazione con quell’utente. Proprio come gli algoritmi di apprendimento automatico, un sistema di raccomandazione fa una previsione basata sui comportamenti passati di un utente. In particolare, è progettato per prevedere la preferenza dell’utente per un insieme di elementi in base all’esperienza.

Matematicamente, un’attività di raccomandazione è impostata su:

  • Set di utenti (U)
  • Set di elementi (I) che devono essere raccomandati a U
  • Impara una funzione basata sui dati di interazione passati dell’utente che predice la probabilità dell’elemento I a U

I sistemi di raccomandazione sono classificati in due tipi in base ai dati utilizzati per fare inferenze:

  1. Filtro basato sul contenuto, che utilizza gli attributi dell’elemento.
  2. Filtro collaborativo, che utilizza il comportamento dell’utente (interazioni) oltre agli attributi dell’elemento.

Alcuni esempi chiave di sistemi di raccomandazione sul lavoro includono:

  • Raccomandazioni di prodotti su Amazon e altri siti di shopping
  • Raccomandazioni di film e programmi TV su Netflix
  • Raccomandazioni di articoli su siti di notizie

Cos’è il filtro collaborativo?

Il filtro collaborativo filtra le informazioni utilizzando le interazioni e i dati raccolti dal sistema da altri utenti. Si basa sull’idea che le persone che hanno accettato nella loro valutazione di determinati elementi sono suscettibili di essere d’accordo di nuovo in futuro.

Il concetto è semplice: quando vogliamo trovare un nuovo film da guardare spesso chiediamo ai nostri amici consigli. Naturalmente, abbiamo maggiore fiducia nelle raccomandazioni degli amici che condividono gusti simili ai nostri.

La maggior parte dei sistemi di filtraggio collaborativo applica la cosiddetta tecnica basata sull’indice di similarità. Nell’approccio basato sul vicinato, un numero di utenti viene selezionato in base alla loro somiglianza con l’utente attivo. L’inferenza per l’utente attivo viene effettuata calcolando una media ponderata delle valutazioni degli utenti selezionati.

I sistemi di filtraggio collaborativo si concentrano sulla relazione tra utenti e articoli. La somiglianza degli elementi è determinata dalla somiglianza delle valutazioni di tali elementi da parte degli utenti che hanno valutato entrambi gli elementi.

Esistono due classi di filtro collaborativo:

  • Basato sull’utente, che misura la somiglianza tra utenti target e altri utenti.
  • Basato su elementi, che misura la somiglianza tra gli elementi con cui gli utenti target valutano o interagiscono e altri elementi.

Il filtraggio collaborativo con Python

I metodi collaborativi vengono in genere elaborati utilizzando una matrice di utilità. Il compito del modello recommender è quello di imparare una funzione che predice l’utilità di adattamento o somiglianza a ciascun utente. La matrice di utilità è in genere molto scarsa, enorme e ha rimosso i valori.

Nelle seguenti matrici, ogni riga rappresenta un utente, mentre le colonne corrispondono a diversi film di Pixar. La somiglianza del coseno è l’algoritmo più semplice necessario per trovare la somiglianza dei vettori. L’ultimo, che è la matrice di utilità che segue la prima matrice, contiene solo dati parziali, necessari per prevedere la probabilità della valutazione prevista dalla “radice” che potrebbe essere fornita dall’utente.

Nelle seguenti matrici, ogni riga rappresenta un utente, mentre le colonne corrispondono a film diversi, tranne l’ultimo che registra la somiglianza tra quell’utente e l’utente di destinazione. Ogni cella rappresenta la valutazione che l’utente dà a quel film.

cosine_similarity (p, q) = p. q

|p|.|q|

filtraggio collaborativo tabella

cosine_similarity(joe, beck) =

filtraggio collaborativo con python

Quando un nuovo utente si unisce alla piattaforma, si applica il più semplice algoritmo che calcola il coseno o di correlazione di somiglianza di righe (utenti) o colonne (film) e consiglia di elementi che sono k-nearest neighbors.

CF tabella 2

Queste sono molte equazioni che possono affrontare la questione delle misure di somiglianza, alcune includono:

  • Pearson similarity
  • Jaccard similarity
  • Spearman rank correlation
  • Mean squared differences
  • Proximity–impact–popularity similarity

Relatedleggi tutto su Data Science

Lascia un commento

Il tuo indirizzo email non sarà pubblicato.