Glossario

Ingegneria delle funzioni

Aumenta l'accuratezza dell'apprendimento automatico con l'ingegneria delle caratteristiche. Impara le tecniche per creare, trasformare e selezionare caratteristiche di grande impatto.

Addestra i modelli YOLO semplicemente
con Ultralytics HUB

Per saperne di più

L'ingegneria delle caratteristiche è il processo critico di selezione, trasformazione e creazione di caratteristiche (variabili di input) dai dati grezzi per migliorare le prestazioni dei modelli di apprendimento automatico (ML). È considerata più un'arte che una scienza vera e propria e spesso richiede esperienza nel settore, intuizione e sperimentazione. La qualità delle caratteristiche inserite in un modello influisce direttamente sulla sua capacità di apprendere modelli e fare previsioni accurate, rendendo l'ingegneria delle caratteristiche una pietra miliare dei progetti di ML di successo. Le caratteristiche migliori possono portare a modelli più semplici, a tempi di formazione più rapidi e a una maggiore precisione.

Che cos'è il Feature Engineering?

L'ingegneria delle caratteristiche traduce i dati grezzi, spesso disordinati, in un formato strutturato che gli algoritmi possono comprendere e imparare in modo efficace. Ciò implica la comprensione dei dati, del contesto del problema e del modello di ML scelto. L'obiettivo è creare caratteristiche di input che siano informative, discriminanti e indipendenti, evidenziando i modelli sottostanti rilevanti per il compito di previsione. Questo processo colma il divario tra la raccolta dei dati grezzi e l'addestramento del modello, influenzando in modo significativo il risultato della pipeline di apprendimento automatico.

Tecniche chiave

Nell'ingegneria delle caratteristiche vengono impiegate diverse tecniche, spesso utilizzate in combinazione tra loro:

  • Creazione di funzionalità: Generare nuove caratteristiche combinando o trasformando quelle esistenti. Gli esempi includono la creazione di termini di interazione (ad esempio, la moltiplicazione di due variabili), di caratteristiche polinomiali o la derivazione di metriche specifiche del dominio (come il rapporto debito/reddito nella finanza).
  • Trasformazione delle caratteristiche: Modifica delle caratteristiche esistenti per soddisfare i presupposti del modello o migliorare le prestazioni. I metodi più comuni includono il ridimensionamento (come la normalizzazione), la trasformazione in log per i dati distorti o il binning delle variabili continue in categorie. Nella computer vision (CV), anche tecniche come il Data Augmentation possono essere viste come una forma di trasformazione delle caratteristiche applicata ai dati delle immagini.
  • Estrazione di caratteristiche: Creazione di un insieme più piccolo di nuove caratteristiche più informative dall'insieme originale, spesso utilizzato per ridurre la dimensionalità. Tecniche come l'analisi delle componenti principali (PCA) rientrano in questa categoria. Sebbene sia correlata alla selezione delle caratteristiche, l'estrazione crea nuove caratteristiche, mentre la selezione seleziona un sottoinsieme di caratteristiche esistenti.
  • Selezione delle caratteristiche: Identificare e selezionare le caratteristiche più rilevanti dal dataset originale, scartando quelle irrilevanti o ridondanti. Questo aiuta a ridurre la complessità del modello, a prevenire l'overfitting e a migliorare l'efficienza computazionale. I metodi vanno dalla semplice analisi di correlazione ai più complessi metodi wrapper e embedded.

Esempi del mondo reale

L'ingegneria delle caratteristiche è onnipresente in diverse applicazioni di IA:

  1. Manutenzione predittiva: Per prevedere i guasti delle apparecchiature, i dati grezzi dei sensori (temperatura, vibrazioni, pressione) potrebbero essere rumorosi e altamente dimensionali. L'ingegnerizzazione delle caratteristiche potrebbe comportare la creazione di caratteristiche come le medie mobili, le deviazioni standard su finestre temporali, le componenti di frequenza dei dati di vibrazione (utilizzando la trasformata di Fourier) o il tempo trascorso dall'ultimo evento di manutenzione. Queste caratteristiche ingegnerizzate forniscono segnali più chiari ai modelli di previsione dei guasti. Si tratta di un aspetto cruciale per l'IA nel settore manifatturiero.
  2. Elaborazione del linguaggio naturale (NLP): Per compiti come l'analisi del sentiment, il testo grezzo deve essere trasformato. L'ingegnerizzazione delle caratteristiche può comportare la creazione di vettori TF(Term Frequency-Inverse Document Frequency), conteggi di parole, n-grammi (sequenze di parole), punteggi di leggibilità o l'estrazione di caratteristiche linguistiche specifiche (ad esempio, l'uso di parole positive/negative). Sebbene i moderni modelli di trasformatori apprendano le rappresentazioni in modo automatico, l'ingegnerizzazione esplicita delle caratteristiche può ancora migliorare le prestazioni, soprattutto in caso di insiemi di dati più piccoli o di compiti specializzati.

Ingegneria delle caratteristiche e concetti correlati

  • Preelaborazione dei dati: Una categoria più ampia che comprende l'ingegneria delle caratteristiche, la pulizia dei dati, la gestione dei valori mancanti e la formattazione iniziale dei dati. L'ingegneria delle caratteristiche si concentra in particolare sull'ottimizzazione delle variabili di input per il modello. Consulta la guida di Ultralytics sulla pre-elaborazione dei dati annotati.
  • Estrazione di caratteristiche nel Deep Learning: I modelli di Deep Learning (DL), in particolare le CNN, apprendono automaticamente caratteristiche gerarchiche dai dati grezzi (come i pixel). Questo riduce la necessità di un'ingegnerizzazione manuale delle caratteristiche, ma non la elimina del tutto: la pre-elaborazione degli input o l'ingegnerizzazione delle caratteristiche per i metadati accanto ai dati primari possono ancora essere utili.
  • Automated Machine Learning (AutoML): Strumenti come Google Cloud AutoML mirano ad automatizzare varie fasi del ML, tra cui l'ingegnerizzazione delle caratteristiche. Tuttavia, l'intuizione umana e la conoscenza del dominio spesso portano a una progettazione delle caratteristiche più efficace rispetto agli approcci puramente automatizzati.

Ingegneria delle caratteristiche e Ultralytics

Sebbene i modelli avanzati come Ultralytics YOLO eccellano in compiti come il rilevamento di oggetti e la segmentazione di immagini grazie all'apprendimento automatico di caratteristiche visive rilevanti attraverso le loro architetture di rete neurale profonda(spina dorsale, collo, testa), i principi dell'ingegneria delle caratteristiche rimangono rilevanti. Ad esempio, la pre-elaborazione delle immagini in ingresso (ad esempio, l'equalizzazione dell'istogramma per variare l'illuminazione, la riduzione del rumore) prima di inserirle in un modello YOLO è una forma di ingegneria delle caratteristiche che può migliorare la robustezza. Inoltre, i risultati di YOLO (come le coordinate dei riquadri di delimitazione, le classi di oggetti, i conteggi) possono essere ingegnerizzati in caratteristiche per attività a valle o combinati con altre fonti di dati per analisi più complesse, magari gestite all'interno di piattaforme come Ultralytics HUB che aiutano a organizzare i set di dati e i modelli. Esplora la documentazione di Ultralytics per saperne di più sull'uso e la personalizzazione dei modelli.

Leggi tutto