L'algebra lineare è un sottocampo della matematica che si occupa di vettori, matrici e trasformate lineari.
È una base chiave nel campo dell'apprendimento automatico, dalle notazioni utilizzate per descrivere il funzionamento degli algoritmi all'implementazione di algoritmi nel codice.
Sebbene l'algebra lineare sia parte integrante del campo dell'apprendimento automatico, la stretta relazione viene spesso lasciata inspiegata o spiegata utilizzando concetti astratti come spazi vettoriali o specifiche operazioni di matrice.
In questo post scoprirai diversi esempi comuni di apprendimento automatico che potresti avere familiarità con quell'uso, richiedere e comprendere meglio usando l'algebra lineare.
Dopo aver letto questo post, saprai:
L'uso di strutture di algebra lineare quando si lavora con i dati, come set di dati tabulari e immagini.
Concetti di algebra lineare quando si lavora con la preparazione dei dati, come la codifica a caldo e la riduzione della dimensionalità.
L'uso radicato della notazione e dei metodi dell'algebra lineare in sottocampi come il deep learning, l'elaborazione del linguaggio naturale e i sistemi di raccomandazione.
INDICE
In questo post, esamineremo vari esempi concreti di algebra lineare nell'apprendimento automatico. Abbiamo provato a scegliere esempi con cui potresti avere familiarità o con cui hai già lavorato. Sono:
Esempi di algebra lineare nell'apprendimento automatico o Machine Learning :
Hai un tuo esempio preferito di algebra lineare nell'apprendimento automatico? Facci sapere nei commenti sotto al post.
1. Set di dati e file di dati
Nell'apprendimento automatico si adatta un modello a un set di dati.
Questo è l'insieme di numeri simile a una tabella in cui ogni riga rappresenta un'osservazione e ogni colonna rappresenta una caratteristica dell'osservazione.
Ad esempio, di seguito è riportato uno snippet del set di dati Iris flowers :
5.1,3.5,1.4,0.2,Iris-setosa
4.9,3.0,1.4,0.2,Iris-setosa
4.7,3.2,1.3,0.2,Iris-setosa
4.6,3.1,1.5,0.2,Iris-setosa
5.0,3.6,1.4,0.2,Iris-setosa
Questi dati sono in effetti una matrice: una struttura dati chiave nell'algebra lineare.
Inoltre, quando dividi i dati in input e output per adattarli a un modello di apprendimento automatico supervisionato, come le misurazioni e le specie di fiori, hai una matrice (X) e un vettore (y). Il vettore è un'altra struttura dati chiave nell'algebra lineare.
Ogni riga ha la stessa lunghezza, cioè lo stesso numero di colonne, quindi possiamo dire che i dati sono vettorializzati dove le righe possono essere fornite ad un modello una alla volta o in batch e il modello può essere preconfigurato per aspettarsi righe di larghezza fissa.
2. Immagini e Fotografie
Forse sei più abituato a lavorare con immagini o fotografie in applicazioni di visione artificiale.
Ogni immagine con cui lavori è essa stessa una struttura di tabella con una larghezza e un'altezza e un valore di pixel in ciascuna cella per le immagini in bianco e nero o valori di 3 pixel in ciascuna cella per un'immagine a colori.
Una foto è ancora un altro esempio di una matrice dall'algebra lineare.
Le operazioni sull'immagine, come ritaglio, ridimensionamento, taglio e così via, sono tutte descritte utilizzando la notazione e le operazioni dell'algebra lineare.
3. Una codifica a caldo
A volte lavori con dati categoriali nell'apprendimento automatico.
Forse le etichette di classe per problemi di classificazione, o forse variabili di input categoriali.
È comune codificare variabili categoriali per semplificarne l'utilizzo e l'apprendimento mediante alcune tecniche. Una codifica popolare per le variabili categoriali è quella a caldo.
Una codifica a caldo è il punto in cui viene creata una tabella per rappresentare la variabile con una colonna per ogni categoria e una riga per ogni esempio nel set di dati. Viene aggiunto un controllo, o un valore, nella colonna per il valore categoriale per una determinata riga e un valore zero viene aggiunto a tutte le altre colonne.
Ad esempio, la variabile color con le 3 righe:
red
green
blue
...
Potrebbe essere codificato come:
red, green, blue
1, 0, 0
0, 1, 0
0, 0, 1
...
Ogni riga è codificata come un vettore binario, un vettore con zero o uno valore e questo è un esempio di rappresentazione sparsa, un intero sottocampo dell'algebra lineare.
4. Regressione lineare
La regressione lineare è un vecchio metodo di statistica per descrivere le relazioni tra variabili.
Viene spesso utilizzato nell'apprendimento automatico per prevedere valori numerici in problemi di regressione più semplici.
Esistono molti modi per descrivere e risolvere il problema della regressione lineare, ovvero trovare un insieme di coefficienti che, moltiplicati per ciascuna delle variabili di input e sommati, danno come risultato la migliore previsione della variabile di output.
Se hai utilizzato uno strumento o una libreria di machine learning, il modo più comune per risolvere la regressione lineare è tramite un'ottimizzazione dei minimi quadrati che viene risolta utilizzando i metodi di fattorizzazione della matrice dalla regressione lineare, come una scomposizione LU o una scomposizione di valore singolare o SVD .
Anche il modo comune di riassumere l'equazione di regressione lineare utilizza la notazione di algebra lineare:
y = x*b + e
Dove "y" è la variabile di output "x" è il set di dati, "b" è i coefficienti del modello e "e" l'errore.
5. Regolarizzazione
Nell'apprendimento automatico applicato, spesso cerchiamo i modelli più semplici possibili che raggiungano le migliori competenze sul nostro problema.
I modelli più semplici sono spesso più bravi a generalizzare da esempi specifici a dati invisibili.
In molti metodi che coinvolgono coefficienti, come i metodi di regressione e le reti neurali artificiali, i modelli più semplici sono spesso caratterizzati da modelli che hanno valori di coefficienti inferiori.
Una tecnica che viene spesso utilizzata per incoraggiare un modello a ridurre al minimo la dimensione dei coefficienti mentre si adatta ai dati è chiamata regolarizzazione. Le implementazioni comuni includono le forme di regolarizzazione L2 e L1.
Entrambe queste forme di regolarizzazione sono infatti una misura della grandezza o lunghezza dei coefficienti come vettore e sono metodi tratti direttamente dall'algebra lineare chiamata norma vettoriale.
6. Analisi delle componenti principali
Spesso un set di dati ha molte colonne, forse decine, centinaia, migliaia o più.
La modellazione di dati con molte funzionalità è impegnativa e i modelli creati da dati che includono funzionalità irrilevanti sono spesso meno abili dei modelli addestrati dai dati più rilevanti.
È difficile sapere quali caratteristiche dei dati sono rilevanti e quali no.
I metodi per ridurre automaticamente il numero di colonne di un set di dati sono chiamati riduzione della dimensionalità e forse il metodo più popolare è chiamato analisi dei componenti principali, o PCA in breve.
Questo metodo viene utilizzato nell'apprendimento automatico per creare proiezioni di dati ad alta dimensione sia per la visualizzazione che per i modelli di addestramento.
Il nucleo del metodo PCA è un metodo di fattorizzazione di matrici dall'algebra lineare. È possibile utilizzare l' eigendecomposizione e implementazioni più robuste possono utilizzare la scomposizione a valore singolare o SVD.
7. Scomposizione a valore singolare
Un altro metodo popolare di riduzione della dimensionalità è il metodo di scomposizione del valore singolare, o SVD in breve.
Come accennato, e come suggerisce il nome del metodo, si tratta di un metodo di fattorizzazione di matrici dal campo dell'algebra lineare.
Ha un ampio utilizzo nell'algebra lineare e può essere utilizzato direttamente in applicazioni come la selezione di funzioni, la visualizzazione, la riduzione del rumore e altro ancora.
Vedremo di seguito altri due casi di utilizzo dell'SVD nell'apprendimento automatico.
8. Analisi semantica latente
Nel sottocampo dell'apprendimento automatico per lavorare con dati di testo chiamato elaborazione del linguaggio naturale, è comune rappresentare i documenti come grandi matrici di occorrenze di parole.
Ad esempio, le colonne della matrice possono essere le parole conosciute nel vocabolario e le righe possono essere frasi, paragrafi, pagine o documenti di testo con celle nella matrice contrassegnate come conteggio o frequenza del numero di volte in cui la parola si è verificata.
Questa è una rappresentazione a matrice sparsa del testo. I metodi di fattorizzazione della matrice, come la scomposizione del valore singolare, possono essere applicati a questa matrice sparsa, che ha l'effetto di distillare la rappresentazione fino alla sua essenza più rilevante. I documenti elaborati in questo modo sono molto più facili da confrontare, interrogare e utilizzare come base per un modello di apprendimento automatico supervisionato.
Questa forma di preparazione dei dati è chiamata Analisi semantica latente, o LSA in breve, ed è anche conosciuta con il nome di indicizzazione semantica latente, o LSI.
9. Sistemi di raccomandazione
I problemi di modellazione predittiva che implicano la raccomandazione di prodotti sono chiamati sistemi di raccomandazione, un sottocampo dell'apprendimento automatico.
Gli esempi includono la raccomandazione di libri basati su acquisti precedenti e acquisti da parte di clienti come te su Amazon e la raccomandazione di film e programmi TV da guardare in base alla cronologia visualizzazioni e alla cronologia visualizzazioni di abbonati come te su Netflix.
Lo sviluppo di sistemi di raccomandazione riguarda principalmente i metodi di algebra lineare. Un semplice esempio è nel calcolo della somiglianza tra vettori di comportamento dei clienti sparsi utilizzando misure di distanza come la distanza euclidea o i prodotti a punti.
I metodi di fattorizzazione della matrice come la scomposizione del valore singolare sono ampiamente utilizzati nei sistemi di raccomandazione per distillare i dati di elementi e utenti nella loro essenza per l'interrogazione, la ricerca e il confronto.
BOUNUS. Apprendimento profondo
Le reti neurali artificiali sono algoritmi di apprendimento automatico non lineari che si ispirano a elementi dell'elaborazione delle informazioni nel cervello e si sono dimostrati efficaci in una serie di problemi, non ultimo dei quali è la modellazione predittiva.
Il deep learning è la recente rinascita nell'uso di reti neurali artificiali con metodi più recenti e hardware più veloce che consentono lo sviluppo e l'addestramento di reti (più strati) più grandi e più profonde su set di dati molto grandi. I metodi di deep learning ottengono regolarmente risultati all'avanguardia su una serie di problemi complessi come la traduzione automatica, i sottotitoli di foto, il riconoscimento vocale e molto altro.
Al centro, l'esecuzione di reti neurali coinvolge strutture di dati di algebra lineare moltiplicate e sommate. Ridimensionati a più dimensioni, i metodi di deep learning funzionano con vettori, matrici e persino tensori di input e coefficienti, dove un tensore è una matrice con più di due dimensioni.
L'algebra lineare è fondamentale per la descrizione dei metodi di deep learning tramite la notazione a matrice per l'implementazione di metodi di deep learning come la libreria Python TensorFlow di Google che ha la parola "tensore" nel nome.
Sommario
In questo post, hai scoperto 10 esempi comuni di apprendimento automatico di cui potresti avere familiarità con quell'uso e che richiedono l'algebra lineare.
Nello specifico hai imparato:
L'uso di strutture di algebra lineare quando si lavora con dati come insiemi di dati tabulari e immagini.
Concetti di algebra lineare quando si lavora con la preparazione dei dati, come la codifica a caldo e la riduzione della dimensionalità.
L'uso radicato della notazione e dei metodi dell'algebra lineare in sottocampi come il deep learning, l'elaborazione del linguaggio naturale e i sistemi di raccomandazione.
Comments