Ultralytics YOLO27: Iscriviti alla lista d'attesa.
Licenza YOLO
Torna al glossario di Ultralytics

LightGBM

LightGBM è un framework di gradient boosting che costruisce alberi decisionali in modalità leaf-wise a partire da istogrammi delle caratteristiche, per addestrarsi rapidamente su grandi dataset tabellari.

LightGBM (macchina di boosting del gradiente leggero) è un framework open source di gradient boosting che addestra insiemi di alberi decisionali su dati tabellari, progettato per essere rapido e usare poca memoria con dataset di grandi dimensioni. Microsoft lo ha rilasciato nel 2016 e ne ha descritto gli algoritmi nell'articolo NeurIPS 2017 LightGBM: un albero decisionale di gradient boosting altamente efficiente. Nel marzo 2026, il repository ufficiale è passato all'organizzazione GitHub lightgbm-org, sotto la guida degli stessi responsabili. LightGBM gestisce classificazione, regressione e ranking da Python, R, C++ e riga di comando, ed è presente in molte soluzioni vincitrici di competizioni di apprendimento automatico. Su tabelle di medie dimensioni, con circa 10.000 righe, gli insiemi di alberi come questo spesso superano ancora il deep learning.

Come funziona LightGBM#

Il gradient boosting costruisce gli alberi uno alla volta. Ogni nuovo albero viene adattato ai gradienti della funzione di perdita rispetto alle predizioni dell'insieme corrente; nel caso dell'errore quadratico, questi corrispondono semplicemente ai residui, quindi l'albero corregge gli errori lasciati dai precedenti. La predizione del modello è la somma dei risultati di tutti gli alberi, ciascuno scalato da un tasso di apprendimento. La fase più costosa consiste nel trovare la divisione migliore per ciascun nodo; LightGBM la accelera con quattro tecniche:

  • Divisioni basate su istogrammi: prima dell'addestramento, LightGBM raggruppa ciascuna caratteristica continua in un massimo di 255 bin (max_bin). La ricerca delle divisioni esamina i confini dei bin anziché ogni valore ordinato; dopo una divisione, l'istogramma del figlio più piccolo viene costruito dai dati, perché quello del figlio più grande equivale all'istogramma del genitore meno quello del figlio più piccolo.
  • Crescita foglia per foglia: LightGBM divide sempre la foglia la cui divisione migliore riduce maggiormente la perdita, finché l'albero non raggiunge num_leaves foglie (31 per impostazione predefinita), invece di dividere ogni nodo a una certa profondità prima di passare a quella successiva. A parità di numero di foglie, questo approccio raggiunge una perdita inferiore rispetto alla crescita livello per livello e produce alberi profondi e sbilanciati, che possono adattarsi eccessivamente a dataset di piccole dimensioni.
  • Campionamento unilaterale basato sul gradiente (GOSS): le righe con gradienti elevati sono quelle che il modello continua a predire male. Con data_sample_strategy="goss", LightGBM mantiene il 20% delle righe con i gradienti più elevati, campiona casualmente un ulteriore 10% dalle restanti e assegna a questo campione pesi maggiori, così che la distribuzione dei dati resti simile a quella originale.
  • Raggruppamento esclusivo delle caratteristiche (EFB): le caratteristiche sparse che raramente sono diverse da zero nello stesso momento, come le colonne one-hot, vengono accorpate in un'unica caratteristica, riducendo il numero di istogrammi da creare.

Ogni albero cresce ripetendo la ricerca delle divisioni finché non esaurisce il budget di foglie o nessuna divisione risulta utile; il boosting ripete questa procedura a ogni iterazione:

LightGBM suddivide direttamente anche le caratteristiche categoriche codificate come interi quando sono elencate in categorical_feature, raggruppando le categorie a ogni divisione senza codifica one-hot, e gestisce per impostazione predefinita i valori mancanti. L'addestramento viene eseguito su CPU, su GPU (device_type="gpu" o "cuda") e su più macchine con i suoi learner distribuiti.

Addestramento e ottimizzazione di LightGBM#

Le classi LGBMClassifier, LGBMRegressor e LGBMRanker, con uno stile simile a scikit-learn, coprono la maggior parte dei casi d'uso. Poiché gli alberi con crescita foglia per foglia possono diventare molto profondi, i principali controlli per contrastare l'overfitting sono num_leaves, min_child_samples (20 righe per foglia per impostazione predefinita) e max_depth, insieme al tasso di apprendimento e al numero di alberi; di solito questi valori si definiscono con l'ottimizzazione degli iperparametri o interrompendo anticipatamente l'addestramento su un insieme di validazione. I vantaggi degli istogrammi e della crescita foglia per foglia emergono rispetto al classico gradient boosting con divisioni esatte di scikit-learn su una tabella sintetica di 20.000 righe e 40 caratteristiche:

import time

import lightgbm as lgb
from sklearn.datasets import make_classification
from sklearn.ensemble import GradientBoostingClassifier
from sklearn.model_selection import train_test_split

X, y = make_classification(n_samples=20_000, n_features=40, n_informative=15, random_state=0)
X_train, X_test, y_train, y_test = train_test_split(X, y, test_size=0.2, random_state=0)

# 200 trees each: exact split search vs. LightGBM's histograms and leaf-wise growth
for model in (GradientBoostingClassifier(n_estimators=200), lgb.LGBMClassifier(n_estimators=200, verbose=-1)):
    start = time.perf_counter()
    model.fit(X_train, y_train)
    seconds = time.perf_counter() - start
    print(f"{type(model).__name__}: {seconds:.1f} s, accuracy {model.score(X_test, y_test):.3f}")

Su una CPU Apple M5 Pro, LightGBM crea i suoi 200 alberi, con un massimo di 31 foglie ciascuno, in meno di un secondo, mentre scikit-learn impiega circa 20 secondi per creare 200 alberi con divisioni esatte e profondità 3; inoltre, gli alberi più grandi di LightGBM raggiungono un'accuratezza di test di 0.956, contro 0.901. I modelli addestrati vengono salvati in formato testo o JSON e onnxmltools li converte in ONNX per la distribuzione in produzione al di fuori di Python.

  • XGBoost: la libreria di gradient boosting che ha reso popolare nel 2014 il boosting regolarizzato del secondo ordine. Per impostazione predefinita crea alberi con profondità limitata (max_depth=6), offre la crescita foglia per foglia con grow_policy="lossguide" e, dalla versione 2.0, usa per impostazione predefinita la ricerca delle divisioni basata su istogrammi; oggi le due librerie condividono quindi la maggior parte delle tecniche.
  • CatBoost: la libreria di boosting di Yandex, rilasciata nel 2017, che costruisce alberi simmetrici e codifica le caratteristiche categoriche con statistiche target ordinate per limitare la perdita di informazioni sul target.
  • Foresta casuale: addestra alberi profondi in modo indipendente su campioni bootstrap e ne calcola la media delle predizioni, riducendo così la varianza.
  • HistGradientBoosting: HistGradientBoostingClassifier e HistGradientBoostingRegressor di scikit-learn sono implementazioni ispirate a LightGBM, che suddividono le caratteristiche in istogrammi nello stesso modo.
  • Modelli fondazionali per dati tabellari: i Transformer preaddestrati, come TabPFN, eseguono predizioni su tabelle di piccole dimensioni in un unico passaggio in avanti, senza addestramento specifico per ciascun dataset.

Applicazioni nel mondo reale#

  • Frodi e rischio di credito: le banche assegnano un punteggio alle transazioni e alle richieste di prestito in base alla cronologia del conto e a caratteristiche quali esercente, importo e orario; l'inferenza rapida di LightGBM è adatta alle decisioni sulle singole transazioni.
  • Previsione della domanda: i rivenditori prevedono le vendite per prodotto e punto vendita usando vendite passate, prezzi, promozioni e caratteristiche del calendario. L'affluenza è un input comune: Ultralytics YOLO26 conta gli oggetti e traccia le persone che attraversano una linea nei video dei negozi, riportando i conteggi di ingressi e uscite per classe; i conteggi sommati per ora diventano caratteristiche per una previsione dei turni del personale con LightGBM.
  • Ranking per ricerca e raccomandazione: LGBMRanker viene addestrato per impostazione predefinita con l'obiettivo LambdaRank, ordinando documenti o prodotti all'interno di ciascun gruppo di query per ottimizzare il guadagno cumulativo scontato normalizzato (NDCG).

Esplora le soluzioni

La visione artificiale nello sport

La visione artificiale nello sport

Scopri come Ultralytics YOLO alimenta la computer vision nello sport con il tracciamento di giocatori e palloni, l'analisi delle prestazioni, gli approfondimenti per gli allenatori e la riabilitazione degli atleti.
Scopri di più
Computer vision per immagini aeree

Computer vision per immagini aeree

Trasforma immagini aeree e riprese da drone in informazioni utili in tempo reale per agricoltura, acquacoltura, conservazione e analisi geospaziale con Ultralytics YOLO.
Scopri di più
Computer vision nel settore aerospaziale

Computer vision nel settore aerospaziale

Applica la visione artificiale nel settore aerospaziale con Ultralytics YOLO per l'ispezione degli aeromobili, il rilevamento di FOD sulle piste, le operazioni di terra aeroportuali e il rilevamento di difetti nei materiali compositi.
Scopri di più
Visione artificiale nella sicurezza

Visione artificiale nella sicurezza

Proteggi ogni sito con i modelli Ultralytics YOLO. L'IA visiva alimenta il monitoraggio perimetrale, il rilevamento delle minacce, il riconoscimento delle targhe e la sicurezza sul lavoro.
Scopri di più
Visione artificiale nella robotica

Visione artificiale nella robotica

Dai più potenza alle macchine intelligenti con i modelli Ultralytics YOLO. Nell'ambito della robotica, l'IA visiva alimenta la navigazione autonoma, la percezione, il tracciamento degli oggetti e il controllo in tempo reale.
Scopri di più
Visione artificiale nella logistica

Visione artificiale nella logistica

Semplifica la logistica con i modelli Ultralytics YOLO. L'IA per la visione consente l'ispezione dei pacchi, la selezione, il tracciamento dei veicoli e il monitoraggio della sicurezza nei magazzini in tempo reale.
Scopri di più
Visione artificiale nel commercio al dettaglio

Visione artificiale nel commercio al dettaglio

Ripensa il commercio al dettaglio con i modelli Ultralytics YOLO. L'IA per la visione consente di tracciare le scorte, monitorare gli scaffali, gestire le code e ottenere informazioni più approfondite sui clienti.
Scopri di più
Visione artificiale in ambito sanitario

Visione artificiale in ambito sanitario

Crea soluzioni sanitarie con i modelli Ultralytics YOLO. In ambito sanitario, l'IA per la visione consente di elaborare più rapidamente le immagini mediche, migliorare la diagnostica e monitorare i pazienti.
Scopri di più
Computer vision nella produzione

Computer vision nella produzione

Ottimizza la produzione con i modelli Ultralytics YOLO. La visione basata sull'IA migliora il controllo qualità, il rilevamento dei difetti, la conformità ai requisiti sui DPI e l'automazione delle linee di assemblaggio.
Scopri di più
Computer vision nel settore automobilistico

Computer vision nel settore automobilistico

Applica la computer vision al settore automobilistico con i modelli Ultralytics YOLO. La visione basata sull'IA migliora la sicurezza stradale, i sistemi di assistenza alla guida e l'automazione dei veicoli, per strade più intelligenti.
Scopri di più
Visione artificiale in agricoltura

Visione artificiale in agricoltura

Porta l'IA visiva nell'agricoltura intelligente con i modelli Ultralytics YOLO. Gestisci il monitoraggio delle colture, il tracciamento del bestiame e l'agricoltura di precisione per ottenere raccolti più abbondanti e intelligenti.
Scopri di più

Costruiamo insieme il futuro dell'IA!

Inizia il tuo percorso verso il futuro del machine learning