Glossario

Estrazione delle caratteristiche

Scopri la potenza dell'estrazione di caratteristiche nell'apprendimento automatico con Ultralytics YOLO11 . Impara le tecniche per un rilevamento e un'analisi efficienti.

Addestra i modelli YOLO semplicemente
con Ultralytics HUB

Per saperne di più

L'estrazione delle caratteristiche è un processo vitale nell'apprendimento automatico (ML) e nella computer vision (CV), in quanto rappresenta un passaggio fondamentale per convertire dati grezzi e spesso complessi in un formato che gli algoritmi possono elaborare in modo efficace. Si tratta di trasformare dati non strutturati o ad alta dimensionalità, come immagini, audio o testi, in un insieme strutturato di caratteristiche numeriche, tipicamente rappresentate come un vettore di caratteristiche. Queste caratteristiche mirano a catturare le caratteristiche essenziali dei dati originali scartando il rumore e la ridondanza. Gli obiettivi principali sono la riduzione della complessità dei dati attraverso la riduzione della dimensionalità, l'evidenziazione di modelli rilevanti e l'adattamento dei dati ai modelli di ML. Questo spesso porta a una maggiore accuratezza del modello, a un addestramento più rapido del modello e a una migliore generalizzazione ai dati non visti.

Come funziona l'estrazione delle caratteristiche

Le tecniche specifiche per l'estrazione delle caratteristiche dipendono molto dal tipo di dati da elaborare.

  • Dati immagine: Nella computer vision tradizionale, i metodi prevedevano la progettazione manuale di algoritmi per rilevare caratteristiche specifiche come bordi, angoli, texture (utilizzando tecniche come i filtri Gabor) o istogrammi di colore. Librerie come OpenCV forniscono strumenti per implementare molte di queste tecniche classiche(sito ufficiale di OpenCV). Tuttavia, nel moderno deep learning (DL), in particolare con le reti neurali convoluzionali (CNN) utilizzate in modelli come Ultralytics YOLOl'estrazione delle caratteristiche viene spesso appresa automaticamente. Gli strati di convoluzione della rete applicano dei filtri all'immagine di ingresso, generando mappe di caratteristiche che catturano schemi sempre più complessi in modo gerarchico, da semplici linee e texture nei primi strati a parti di oggetti e interi oggetti negli strati più profondi. Puoi esplorare le varie attività di computer vision in cui viene applicato questo metodo.

  • Dati di testo: Per le attività di elaborazione del linguaggio naturale (NLP), l'estrazione delle caratteristiche può comportare metodi come il calcolo della frequenza dei termini (Term Frequency-Inverse Document FrequencyTF) per rappresentare l'importanza delle parole o la generazione di incorporazioni di parole utilizzando modelli come Word2Vec o GloVe. Questi embeddings sono vettori densi che catturano le relazioni semantiche tra le parole. Modelli più avanzati come BERT e Transformers apprendono le rappresentazioni contestuali direttamente dal testo.

  • Tecniche generali: Metodi come la Principal Component Analysis (PCA) e la t-distributed Stochastic Neighbor Embedding (t-SNE) sono tecniche generali di riduzione della dimensionalità applicabili a vari tipi di dati. Trasformano i dati ad alta densità in uno spazio a bassa densità con l'obiettivo di preservare le strutture importanti della varianza o del vicinato, il che può essere considerato una forma di estrazione di caratteristiche. Scikit-learn fornisce implementazioni per queste tecniche.

Estrazione delle caratteristiche vs. Ingegneria delle caratteristiche

L'estrazione delle caratteristiche viene spesso confusa con l'ingegneria delle caratteristiche, ma si tratta di concetti distinti.

  • Estrazione di caratteristiche: Si concentra in particolare sulla trasformazione dei dati grezzi in un insieme di caratteristiche derivate, spesso utilizzando algoritmi automatizzati (come i livelli CNN) o tecniche matematiche consolidate (come le trasformate PCA o Fourier). L'obiettivo è tipicamente la riduzione della dimensionalità e la creazione di una rappresentazione più maneggevole.
  • Ingegneria delle caratteristiche: È una pratica più ampia che include l'estrazione di caratteristiche, ma comporta anche la creazione di nuove caratteristiche da quelle esistenti (ad esempio, il calcolo del rapporto tra due misure), la selezione delle caratteristiche più rilevanti per un modello, la gestione dei valori mancanti e la trasformazione delle caratteristiche in base alla conoscenza del dominio e ai requisiti specifici del modello(come la preelaborazione dei dati). Spesso richiede un maggiore impegno manuale e competenze.

Sebbene i modelli di deep learning automatizzino gran parte del processo di estrazione delle caratteristiche per compiti come il riconoscimento di immagini e il rilevamento di oggetti, i principi di ingegneria delle caratteristiche, come l'aumento appropriato dei dati o la normalizzazione degli input, rimangono fondamentali per ottenere prestazioni ottimali.

Applicazioni del mondo reale

L'estrazione delle caratteristiche è fondamentale per innumerevoli applicazioni di AI e ML:

  1. Analisi delle immagini mediche: Nell'analisi di scansioni mediche come radiografie, TAC o risonanze magnetiche per individuare malattie come il cancro, vengono estratte dalle immagini caratteristiche specifiche. Queste potrebbero includere modelli di texture all'interno dei tessuti, la forma e le dimensioni di potenziali anomalie (come i tumori trovati nel dataset Brain Tumor) o variazioni di intensità. Queste caratteristiche estratte vengono poi inserite in un classificatore (come un SVM o una rete neurale) per prevedere la presenza o lo stadio di una malattia. Questo aiuta i radiologi a fare diagnosi, come si legge in pubblicazioni come Radiology: Artificial Intelligence. I sistemi moderni possono utilizzare Ultralytics YOLO11 che estrae implicitamente le caratteristiche per compiti come l'analisi delle immagini mediche.

  2. Analisi del sentimento: Per determinare il sentiment (positivo, negativo, neutro) espresso nei dati testuali come le recensioni dei clienti o i post sui social media, è necessario estrarre le caratteristiche dal testo grezzo. Ciò può comportare il conteggio della frequenza delle parole positive rispetto a quelle negative(Bag-of-Words), l'utilizzo dei punteggi TF o la generazione di sofisticati embeddings di frasi utilizzando modelli linguistici pre-addestrati, come quelli disponibili via Hugging Face. Queste caratteristiche quantificano il tono emotivo del testo, consentendo a un modello ML di classificare il sentiment generale, fondamentale per comprendere il feedback dei clienti.

Estrazione delle caratteristiche nei modelliYOLO Ultralytics

Modelli di rilevamento degli oggetti all'avanguardia come Ultralytics YOLOv8 e YOLO11 eseguono l'estrazione di caratteristiche implicitamente all'interno della loro architettura di rete neurale (NN). Gli strati iniziali (spesso parte della struttura portante) agiscono come potenti estrattori di caratteristiche apprese. Man mano che i dati di input passano attraverso questi strati, le caratteristiche gerarchiche vengono identificate e rappresentate automaticamente nelle mappe di caratteristiche. Sebbene il processo sia in gran parte automatizzato, la comprensione dell'estrazione delle caratteristiche aiuta a progettare fasi efficaci di pre-elaborazione dei dati, a eseguire la regolazione degli iperparametri e a interpretare il comportamento del modello, potenzialmente utilizzando gli strumenti disponibili nella documentazione diUltralytics o piattaforme come Ultralytics HUB per la gestione di dataset ed esperimenti. Le tecniche sono utilizzate anche in attività a valle come il tracciamento degli oggetti, dove le caratteristiche dell'aspetto possono essere estratte per mantenere l'identità degli oggetti nei vari fotogrammi. Framework come PyTorch e TensorFlow forniscono l'infrastruttura di base per costruire e addestrare questi modelli.

Leggi tutto