Guida Introduttiva all'Apprendimento Non Supervisionato

Guida Introduttiva all’Apprendimento Non Supervisionato

Sommario

SCRIVIMI SU TELEGRAM

Per informazioni, suggerimenti, collaborazioni...

Se è la prima volta che atterri su DataTrading, BENVENUTO!

Lascia che mi presenti. Sono Gianluca, ingegnere, trekker e appassionato di coding, finanza e trading. Leggi la mia storia.

Ho creato DataTrading per aiutare le altre persone ad utilizzare nuovi approcci e nuovi strumenti, ed applicarli correttamente al mondo del trading.

DataTrading vuole essere un punto di ritrovo per scambiare esperienze, opinioni ed idee.

TUTORIAL

In questo articolo introduciamo i concetti dell’apprendimento non supervisionato, una  delle più complesse metodologie del machine learning.

L’apprendimento supervisionato prevede l’assunzione di una serie di osservazioni di dati, ognuna delle quali contiene una caratteristica (feature), o predittore, vettore, nonché  un output o una risposta associati. L’obiettivo dell’apprendimento supervisionato è cercare di prevedere l’output/risposta a partire caratteristiche/predittori associati. È “supervisionato” perché nella fase di addestramento, o supervisione, del processo di apprendimento l’algoritmo ha accesso alla “verità di base” tramite risposte note a determinati input. Li usa per regolare i parametri del suo modello. In questo modo può tentare di fare una stima della risposta quando è esposto a nuove feature.

Nell’apprendimento non supervisionato abbiamo ancora accesso alle  feature ma non abbiamo una risposta associata. In questo caso siamo interessati esclusivamente agli attributi delle caratteristiche stesse. Gli attributi possono  descrivere se le feature formano cluster o sottogruppi specifici nello spazio delle caratteristiche. Potrebbero anche descrivere se possiamo lavorare con dati di dimensioni molto elevate in un ambiente di dimensioni molto inferiori.

Le tecniche di apprendimento non supervisionato sono usate nei casi dove può essere proibitivo, in termini di tempo e/o denaro , “etichettare” i dati delle caratteristiche, il che consentirebbe di analizzarli utilizzando tecniche supervisionate. Un’ulteriore motivazione è dovuta al fatto che immagini, video, documenti in linguaggio naturale e dati di ricerca scientifica (come le espressioni geniche), una volta quantificati, hanno una dimensione molto elevata. Tale dimensione elevata richiede tecniche di apprendimento supervisionate con molti gradi di libertà, che potenzialmente portano a un overfitting e quindi a scarse prestazioni del test. Le tecniche di apprendimento non supervisionato sono una  parziale soluzione a questi problemi.

Sfortunatamente, la mancanza di “verità di base” o “supervisione” per le tecniche non supervisionate causa spesso a una valutazione soggettiva delle loro prestazioni. Non ci sono approcci ampiamente accettati per quantificare il rendimento degli algoritmi non supervisionati. Le prestazioni sono in gran parte determinate caso per caso utilizzando approcci euristici. Tali valutazioni “basate sul giudizio” potrebbero sembrare non scientifiche ai trader  quantitativi, ma le tecniche non supervisionate si sono rivelate estremamente utili in molte aree di ricerca.

Le tecniche di apprendimento non supervisionato sono spesso impiegate nei domini del rilevamento delle anomalie, dell’analisi delle abitudini di acquisto, dei sistemi di raccomandazione e dell’elaborazione del linguaggio naturale. Nella finanza quantitativa trovano impiego nei set di dati di de-noising, nel raggruppamento di portafogli/asset, nel rilevamento del regime di mercato e nella generazione di segnali di trading con l’elaborazione del linguaggio naturale.

Dati di grandi dimensioni

La finanza quantitativa e il trading algoritmico vanno ben oltre l’analisi delle serie temporali dei prezzi degli asset. L’elevata concorrenza causata dalla proliferazione di fondi quantitativi ha costretto le nuove e le vecchie imprese a prendere in considerazione fonti di dati alternative. Molte di queste fonti sono disomogenee, non numeriche e formano database estremamente grandi. Quando quantificati, spesso mediante un processo noto come vettorizzazione, molti di questi dati sono di grandissime dimensioni. Gli esempi includono immagini satellitari, video ad alta risoluzione, corpora di documenti di testo e i dati dei sensori.

Per fornire un esempio relativo alle dimensioni elevate di alcuni set di dati, si consideri un monitor standard 1080p, che ha una risoluzione di 1920 X 1080 = 2073600 pixel. Se limitiamo ciascuno di questi pixel solo a essere nero o bianco (cioè “off” o “on”), allora ci sono \(2^{2073600}\) potenziali immagini che possono essere visualizzate. Questo è un numero enorme (prova a inserirlo nel tuo terminale Python!). Diventa significativamente peggiore se consideriamo che ogni pixel ha spesso \(2^{24}\) potenziali colori (tre canali a 8 bit, rispettivamente per Rosso, Verde e Blu).

Quindi è particolarmente importante cercare di ridurre la dimensione dei set di dati a un livello più gestibile cercando di trovare sottospazi dimensionali inferiori che catturino ancora l’essenza dei dati. Un’ulteriore criticità è anche l’enorme numero di campioni, “non ci si può aspettare che i dati di addestramento popolino lo spazio” [3] . Se n è il numero di campioni disponibili e p è la dimensione dello spazio, allora siamo in una situazione in cui \(p \gg n\). In sostanza, ci sono grandi sottoinsiemi dello spazio di cui si sa molto poco. Questo problema è spesso indicato come Curse of Dimensionality.

Gran parte dell’apprendimento non supervisionato si concentra quindi nei metodi per ridurre le dimensioni dei dataset a un livello gestibile pur mantenendo la  “significatività” dei dati. Matematicamente, vogliamo descrivere le variazioni chiave nei dati utilizzando una inferiore varietà dimensionale di dimensione \(q < p\), che è incluso nel più grande spazio p-dimensionale. Per questo compito sono stati sviluppati algoritmi di riduzione della dimensionalità come l’Analisi dei Componenti Principali (PCA) lineare e il PCA del kernel non lineare.

Basi matematiche dell’apprendimento non supervisionato

Nell’apprendimento supervisionato abbiamo accesso a un set di training composto da n coppie di vettori di feature, o predittori, \({\bf x}_i \in \mathbb{R}^p\), e uscite o risposte associate, \(y_i \in \mathbb{R}\). Quindi il nostro set di dati \(({\bf x}_1, y_1), \ldots, ({\bf x}_n, y_n)\) è composto da  n tuple. Le risposte \(y_i\),possono essere considerate come “etichette” per l’insieme delle feature e servono a guidare l’algoritmo di apprendimento supervisionato nella sua fase di addestramento. Per addestrare il modello dobbiamo usare una funzione di collegamento tra il valore reale della risposta \(y\) e la sua stima dal modello \(\hat{y}\), dato da \(L(y, \hat{y})\).

L’apprendimento non supervisionato è diverso dato che abbiamo accesso solo ai predittori \({\bf x}_i\). Cioè, non abbiamo le rispettive risposte etichettate \(y_i\), per ogni punto dati. Quindi per questo tipo di tecniche non esiste il concetto di addestramento o supervisione poiché non c’è nulla che l’algoritmo possa utilizzare come verità base. Siamo invece interessati esclusivamente alla struttura delle stesse feature \({\bf x}_i\).

Un approccio prevede la formulazione probabilistica delle attività tramite un concetto noto come stima della densità [2], [4].

Nel caso di apprendimento supervisionato vogliamo costruire modelli nella forma \(p(y_i \mid {\bf x}_i, \theta)\), cioè siamo particolarmente interessati alla distribuzione delle risposte \(y_i\), che dipendono dai vettori delle feature \({\bf x}_i\) e dai parametri del modello, \(\theta\). Questo è noto come stima condizionata della densità.

Al contrario, nell’apprendimento non supervisionato, poiché non abbiamo accesso alle risposte\(y_i\), siamo interessati ai modelli probabilistici nella forma \(p({\bf x}_i \mid \theta)\), cioè  la distribuzione dei vettori delle feature \({\bf x}_i\) è condizionata ai parametri del modello, \(\theta\). Questo è noto come stima incondizionata della densità. .

Come accennato in precedenza, una delle sfide principali nei problemi di apprendimento non supervisionato è che spesso \(p \gg n\), cioè la dimensione dello spazio delle feature, p, supera di gran lunga il numero di osservazioni, n. Ciò significa che lo spazio non è molto ben popolato dai dati delle feature e bisogna prestare molta attenzione alle tecniche di riduzione della dimensione.

Algoritmi di apprendimento senza supervisione

Ci sono due aree principali dell’apprendimento non supervisionato che ci interessano nella finanza quantitativa: la riduzione della dimensione e il clustering.

Riduzione della dimensione

Il meccanismo più comune nell’apprendimento non supervisionato per ridurre la dimensione dei dataset consiste nell’analisi delle principali componenti (PCA) (lineare).

Nel machine learning e nei problemi di finanza quantitativa spesso abbiamo un ampio insieme di variabili correlate in uno spazio di elevate dimensioni. Il PCA ci consente di sintetizzare i dataset utilizzando un numero ridotto di dimensioni. Per raggiungere tale scopo si effettua una trasformazione ortogonale delle coordinate dello spazio originale, formando un nuovo insieme di variabili linearmente non correlate, chiamate componenti principali.

Le componenti principali corrispondono agli autovettori della matrice di covarianza dei dati. Ciascuna componente principale è ortogonale l’una all’altra (per costruzione) e “spiegano” (o “esprimono”) l’ammontare della variabilità totale osservata sulle variabili originarie. Di solito le prime componenti principali sono in grado di spiegare una grande frazione della variabilità dell’insieme originale, portando a un’inferiore dimensione della rappresentazione in questo nuovo spazio.

In altri termini, si può pensare la PCA come un cambio di base. La trasformazione produce un insieme di vettori di base, un sottoinsieme dei quali è in grado di coprire un sottospazio lineare all’interno dello spazio originale che rappresenta quasi totalmente il raggruppamento dei dati.

Tuttavia, non tutti i dati sono facilmente riassunti in un sottospazio lineare. Nei problemi di classificazione, ad esempio, ci sono molte fonti di dati che non sono separabili linearmente. In questo caso è possibile invocare il “trucco del kernel”, come descritto nell’articolo sulla Support Vector Machines, per separare linearmente uno spazio in uno spazio dimensionale molto più elevato e quindi effettuare PCA nello spazio trasformato. Questo permette di applicare la PCA a set di dati non lineari.

Nella finanza quantitativa la PCA è spesso usata per l’analisi di fattori. Un esempio potrebbe essere l’osservazione di un gran numero di titoli correlati e il tentativo di ridurne la dimensione osservando un insieme più piccolo di variabili latenti non osservate e non correlate . Si prende in considerazione l’analisi delle componenti principali e l’analisi dei fattori nei successivi articoli.

Clustering

Un’altra importante tecnica di apprendimento non supervisionato è nota come analisi dei cluster. Questa tecnica ha l’obiettivo di assegnare un’etichetta agli elementi di uno spazio delle feature in modo da divederli in raggruppamenti o cluster. In alcuni casi, se i sottogruppi all’interno dello spazio delle feature sono chiaramente distinti e facilmente separabili, i cluster sono individuati senza ambiguità. In altri casi i cluster si possono “sovrapporre”, rendendo difficile l’individuazione di un confine di divisione.

Il classico algoritmo per l’analisi dei cluster è il K-Means Clustering. L’idea di base consiste nell’assegnare tutti gli n elementi di uno spazio funzionale in K cluster separati e non sovrapposti.

Questo obbiettivo viene raggiunto tramite un semplice algoritmo iterativo. A tutti gli elementi dello spazio delle funzionalità viene inizialmente assegnato un cluster \(k \in \{1, \ldots, K \}\) in modo casuale. A questo punto l’algoritmo itera e per ogni passo dell’iterazione calcola il vettore medio – il centroide – di ogni cluster, k, quindi assegna ogni elemento al cluster che possiede il centriode più vicino, utilizzando una metrica di distanza euclidea. L’algoritmo viene ripetuto fino a quando le posizioni dei centroidi rimangono fisse entro una certa distanza di tolleranza pre-specificata.

Nella finanza quantitativa il clustering è comunemente usato per identificare asset con caratteristiche simili, utile nella costruzione di portafogli diversificati. Può anche essere utilizzato per rilevare i regimi di mercato e quindi potenzialmente fungere da strumento di gestione del rischio. Descriviamo questo tecniche di clustering in articoli futuri.

Nota bibliografica

Un’introduzione all’apprendimento non supervisionato e alle sue difficoltà può essere trovata in[1] . È accessibile a coloro che non hanno un forte background matematico o a coloro che provengono da altre aree della scienza. Una discussione matematica significativamente più avanzata, a livello accademico, può essere trovata in [2]. Il libro discute molte tecniche non supervisionate sebbene si tratti principalmente di metodi supervisionati. [3] discute le grandi dimensioni e i problemi che provocano ad un ragionevole livello matematico, concentrandosi principalmente su PCA e clustering, mentre [4] considera l’apprendimento non supervisionato attraverso l’approccio di stima probabilistica della densità ad un inferiore livello di rigore matematico.
Torna su