• 🏡 Home
  • 🚨 GDPR Compliant
  • ⚡️ Data Science
  • 📌 Machine Learning
  • 🔒 Privacy Preserving
  • 🏡 Home
  • 🚨 GDPR Compliant
  • ⚡️ Data Science
  • 📌 Machine Learning
  • 🔒 Privacy Preserving
AI, machine-learning

Alternating Least Square | ALS Recommender System

Alternating Least Square | ALS Recommender System

Il Alternating Least Square, abbreviato in ALS, è un algoritmo di fattorizzazione di matrice (Matrix Factorization algorithm) per il calcolo distribuito e parallelo.

E’ la soluzione stato dell’arte per problemi di Collaborative Filtering, nell’ambito dei sistemi di raccomandazione (Recommender System).

Procediamo con ordine.

Hai ripassato i termini tecnici per comprendere meglio i sistemi di raccomandazione?

Ottimo.

Devi sapere che nell’ultimo post abbiamo compreso e analizzato il Matrix Factorization, un algoritmo per la risoluzione di data scarsity problem.

Sono sicuro che ti ricorderai il problema in chiusura: la necessità di avere un framework per il calcolo distribuito.

Ecco qui per te, Alternating Least Square

ALS: Alternating Least Square

Questo algoritmo risolve i problemi che emergono dalla gestione di matrici sparse, molto comuni nel campo dei sistemi di raccomandazione in cui i dataset hanno spesso parecchi valori mancanti.

Esaminiamo ora alcune caratteristiche generali di Aternating Least Square.

In contrapposizione al Funk SVD (descritto nel post precedente), facente uso della regolarizzazione L1, ALS ricorre a quella L2.

Per non farsi mancare nulla, ALS minimizza poi due loss function alternativamente:

  • Prima, blocca la matrice user e usa la Discesa del Gradiente sulla quella item
  • Poi, blocca la matrice item e calcola la Discesa del Gradiente sulla matrice user

Concludendo, ALS esegue l’algoritmo di Gradient Descent in parallelo su partizioni multiple del training dataset da un cluster di macchine connesse.

Niente più problemi di scalabilità.

Ottimo risultato.

Così come ogni altro algoritmo di machine learning, anche l’ALS ha il suo set d’iperparametri da ottimizzare, sfruttando tecniche quali hold-out validation o cross-validation.

I più importanti sono tre:

  • maxIter: il numero massimo d’iterazioni da eseguire (default a 10)
  • rank: il numero di fattori latenti del modello (defautl a 10)
  • regParam: il parametro di regolarizzazione per ALS (default a 1.0 => L2 regularization)

Qualora fossi interessato ad approfondire le idee di fondo, ti rimando alla pubblicazione ufficiale.

Qui invece puoi trovare un’implementazione dell’algoritmo sfruttando la libreria di Apache Spark ML

Per il momento è tutto.

Un caldo abbraccio, Andrea.

Written by Andrea Provino - Marzo 26, 2020
Tags | machine learning

You Might Also Like

tensorflow-developer-certificate-deep-learning-italia-course

TensorFlow Developer Certificate

Maggio 7, 2020
airbnb-data-scientist-job-interview-questions-data-science-machine-learning-colloquio-di-lavoro-domande-airbnb-data-science

Airbnb: il profilo del Data Scientist | Domande colloquio di lavoro

Novembre 27, 2019
resnet-architecture-diagram-deep-learning-eningeer-italia-skip-connection-guida-italiano-blog-machine-learning-deep-learning-data-science

ResNet CNN Networks | Deep Learning Engineer Italia

Marzo 1, 2020
Next Post
Previous Post

Una pubblicità che non vedi se usi AdBlock

EXPAND YOUR KNOWLEDGE

  • machine-learning

    Un nuovo inizio

    Settembre 4, 2021
  • Zero Knwoledge Proof Article Privacy Preserving

    Zero Knowledge Proof: zk-SNARK e zk-STARK | Prova a conoscenza zero

    Luglio 8, 2021
  • oblivious-transfer-spiegazione-italiano-ot-explanation Privacy Preserving

    Oblivious Transfer (OT)

    Luglio 6, 2021
  • Aleo Studio Website Preview machine-learning

    Aleo Studio: un IDE per Zero-Knowledge Proofs Applications

    Luglio 1, 2021
  • privacy-enhancing-technologies-data-machine-learning-data-science Privacy Preserving

    Perché il Privacy Tech è un vantaggio competitivo micidiale

    Giugno 17, 2021
  • bloom-filter-spiegazione-italian Privacy Preserving

    Bloom Filter

    Giugno 3, 2021
  • trusted-execution-environment-tee-data-science-come-fuziona Data Science, Privacy Preserving

    Trusted Execution Environment | Cos’è un TEE?

    Giugno 2, 2021
  • Crypto Custody services machine-learning

    Crypto Custody: Guida alla custodia delle criptomonete

    Maggio 26, 2021
  • deep-q-learning-q-learning-reinforcement-learning machine-learning

    Deep Q-Learning

    Aprile 27, 2021
  • storytelling-data-science-presentations-power-point-ideas-idee-power-point-guida-italiano Data Science

    Storytelling efficace: l’unico concetto che ti serve per diventare master

    Aprile 6, 2021

Quello che Google pensa ti possa piacere

Prodotti che i Cookie dicono potresti trovare interessanti

AI Blog - © 2019-2021 Andrea Provino