Video: What is Data Analytics - 5 Concepts of Data Analytics [2019] 2024
Il supporto macchina vettoriale (SVM) è un algoritmo di classificazione dei dati di analisi predittiva che assegna nuovo elementi di dati in una delle categorie etichettate. SVM è, nella maggior parte dei casi, un classificatore binario ; presume che i dati in questione contengano due possibili valori obiettivo.
Un'altra versione dell'algoritmo SVM, multiclass SVM, consente di utilizzare SVM come classificatore su un set di dati che contiene più di una classe (raggruppamento o categoria). SVM è stato utilizzato con successo in molte applicazioni come il riconoscimento di immagini, la diagnosi medica e l'analisi del testo.
Supponiamo che stiate progettando un modello di analisi predittiva in grado di riconoscere e prevedere automaticamente il nome di un oggetto in un'immagine. Questo è essenzialmente il problema del riconoscimento dell'immagine - o, più specificamente, del riconoscimento facciale: si desidera che il classificatore riconosca il nome di una persona in una foto.
Bene, prima di affrontare questo livello di complessità, prendi in considerazione una versione più semplice dello stesso problema: Supponi di avere immagini di singoli pezzi di frutta e desideri che il tuo classificatore preveda quale tipo di frutto appare nell'immagine. Supponi di avere solo due tipi di frutta: mele e pere, una per immagine.
Data una nuova immagine, ti piacerebbe pronosticare se il frutto è una mela o una pera - senza guardare l'immagine. Vuoi che SVM classifichi ogni immagine come mela o pera. Come per tutti gli altri algoritmi, il primo passo è quello di addestrare il classificatore.
Supponiamo di avere 200 foto di mele diverse e 200 immagini di pere. La fase di apprendimento consiste nel dare queste immagini al classificatore, in modo che impari come appare una mela e come appare una pera. Prima di entrare in questo primo passaggio, è necessario trasformare ciascuna immagine in una matrice di dati, usando (diciamo) il pacchetto statistico R.
Un modo semplice per rappresentare un'immagine come numeri in una matrice è cercare forme geometriche all'interno dell'immagine (come cerchi, linee, quadrati o rettangoli) e anche le posizioni di ogni istanza di ogni forma geometrica. Questi numeri possono anche rappresentare le coordinate di quegli oggetti all'interno dell'immagine, come tracciati in un sistema di coordinate.
Come puoi immaginare, rappresentare un'immagine come una matrice di numeri non è esattamente un compito semplice. Un'intera area distinta di ricerca è dedicata alla rappresentazione dell'immagine.
Quanto segue mostra come una macchina vettoriale di supporto può prevedere la classe di un frutto (etichettandola matematicamente come mela o pera ), in base a ciò che l'algoritmo ha appreso in passato.
Supponi di aver convertito tutte le immagini in matrici di dati. Quindi la macchina vettoriale di supporto prende due input principali:
-
Dati precedenti (allenamento): questo insieme di matrici corrisponde a immagini di mele e pere precedentemente viste.
-
I nuovi dati (non visibili) sono costituiti da un'immagine convertita in una matrice. Lo scopo è quello di prevedere automaticamente ciò che è nella foto: una mela o una pera.
Il vettore di supporto usa una funzione matematica, spesso chiamata una funzione del kernel che è una funzione matematica che abbina i nuovi dati all'immagine migliore dai dati di allenamento per prevedere l'etichetta dell'immagine sconosciuta (mela o pera).
Rispetto ad altri classificatori, le macchine di supporto vettoriale producono previsioni accurate e robuste, sono meno influenzate da dati rumorosi e sono meno soggette a overfitting. Tenere presente, tuttavia, che le macchine vettoriali di supporto sono più adatte per la classificazione binaria, quando si hanno solo due categorie (come mela o pera).