Anteprima
Vedrai una selezione di 12 pagine su 55
Trattamento dei dati non strutturati Pag. 1 Trattamento dei dati non strutturati Pag. 2
Anteprima di 12 pagg. su 55.
Scarica il documento per vederlo tutto.
Trattamento dei dati non strutturati Pag. 6
Anteprima di 12 pagg. su 55.
Scarica il documento per vederlo tutto.
Trattamento dei dati non strutturati Pag. 11
Anteprima di 12 pagg. su 55.
Scarica il documento per vederlo tutto.
Trattamento dei dati non strutturati Pag. 16
Anteprima di 12 pagg. su 55.
Scarica il documento per vederlo tutto.
Trattamento dei dati non strutturati Pag. 21
Anteprima di 12 pagg. su 55.
Scarica il documento per vederlo tutto.
Trattamento dei dati non strutturati Pag. 26
Anteprima di 12 pagg. su 55.
Scarica il documento per vederlo tutto.
Trattamento dei dati non strutturati Pag. 31
Anteprima di 12 pagg. su 55.
Scarica il documento per vederlo tutto.
Trattamento dei dati non strutturati Pag. 36
Anteprima di 12 pagg. su 55.
Scarica il documento per vederlo tutto.
Trattamento dei dati non strutturati Pag. 41
Anteprima di 12 pagg. su 55.
Scarica il documento per vederlo tutto.
Trattamento dei dati non strutturati Pag. 46
Anteprima di 12 pagg. su 55.
Scarica il documento per vederlo tutto.
Trattamento dei dati non strutturati Pag. 51
1 su 55
D/illustrazione/soddisfatti o rimborsati
Disdici quando
vuoi
Acquista con carta
o PayPal
Scarica i documenti
tutte le volte che vuoi
Estratto del documento

WP=w2 vettore w da W a W1 (contenuto in W).→ℝ ?w 1 w 1

Fino ad ora abbiamo usato la SVD come metodo di approssimazione. Un’altra possibilità,però, sarebbe quello di fare delle proiezioni: proietto sullo spazio Vp ogni riga di x_i.Ovviamente fare le due cose è uguale. Vediamo, però, matematicamente perché èimportante vedere anche questo aspetto. Lo scopo è quello di trasformare l’operatore Pcon una matrice. Dobbiamo scegliere una base, scegliamo V.Questo oggetto prende un oggetto in Rk elo proietta su Rp.Lavorando per righe, dobbiamo applicare il proiettore a destra perché deve lavorare,appunto, sulle righe. Al posto di fare riga per riga, facciamo un’operazione matriciale.Abbiamo dimostrato che i due approcci funzionano. Ma perché? Questo era perdimostrare due cose: 1) quando si lavora con dati euclidei per approssimare andiamo aproiettare sul sottospazio che ci serve -> la SVD ci fornisce il

sottospazio fondamentale(V); 2) tutto è collegato, vera natura delle cose che affrontiamo (regredire e proiettare sono la stessa cosa)

• Problema concreto

L'SVD è valida fino a che non aggiungo nuove righe su X. Ma se io confronto due SVD fatte su due X diverse (in termini di righe), cosa succede alle SVD che ottengo? Ovviamente le matrici ottenute dalla SVD saranno diverse (input diverso, output diverso). Immaginiamo però di dover classificare in base alla SVD un totale di clienti. La classificazione è la stessa nelle due situazioni? L'interpretazione dipende da V. Dobbiamo scegliere se essere ottimali in senso stretto o in un senso più ampio: fare la SVD ogni giorno ci porta ad essere precisi nella classificazione ma poco con i nuovi clienti; facciamo la SVD dopo un anno di dati e proietto il vettore nuovo su un vecchio sottospazio. Per noi, la proiezione è un occhio elettronico che ci porta l'osservazione nuova nel sottospazio

migliore che ho scelto suivecchi dati. Ovviamente sappiamo che, proiettando i dati nuovi sul sottospazio vecchio,non facciamo più una cosa ottimale e commettiamo un errore. Dobbiamo, dunque,accorgerci quando l’errore che commettiamo è troppo (la situazione cambia) e cambiareinterpretazione. Quindi, mi costruisco ogni volta dei sottospazi ottimali e vedo di quantodifferiscono. Finché sono abbastanza simili posso continuare, se no devo cambiaresottospazio. Per fare ciò proietto i vari sottospazi uno sull’altro: se l’approssimazione èbuona allora i sottospazi sono simili. Il cambiamento del sottospazio non dipende soltantodall’orientamento ma anche dal bisogno di avere un sottospazio con un p maggiore.Quando p cresce, il dato è ‘poco correlato’ -> il dato/comportamento è molto piùdifferenziato.Ricordiamo che la SVD ci piace perché possiamo applicare il teorema di Young che cigarantisce

la minimizzazione totale: questo, infatti, non ci garantisce che ogni riga sia approssimata bene. Dobbiamo, dunque, verificare la bontà di approssimazione delle singole unità. Dal punto di vista teorico ciò è molto interessante perché significa che l'unità non è ben colta e quindi il fenomeno non è banale. Lo scopo sarà identificare una forma conveniente per decomporre le matrici.

Settimana 3

Lezione 4 – 13/12

Ricordiamo che l'oggetto fondamentale è la solita mappa con Fi e Psi. L'oggetto più importante è Fi (j) perché Psi dipende dalla base che scelgo, che nella SVD mi è data implicitamente (V). La SVD è uno dei modi per ottenere Fi. Abbiamo visto che fare la SVD equivale a fare delle proiezioni. Diciamo che la SVD è più facile da implementare; le proiezioni sono più eleganti come concetto.

Ora cerchiamo delle alternative alla SVD. Quando applicarla?

Che vantaggi ne traiamo? Quando costruire le mappe in modo diverso? Usiamo la SVD con la norma di Frobenius perché abbiamo il teorema di Young. Perché, dunque, cambiare metodo se lo strumento è già ottimo (come dice il teorema)? Perché a volte essere ottimali non serve.

  • Non-negative Matrix Factorization (NMF)- Da cosa nasce l'esigenza della NMF

Si parte da un aspetto tecnico delle SVD: molto spesso il dato di partenza è una tabella di numeri non negativi (tutte le entrate sono >= 0). Questo avviene molto spesso: pensiamo, ad esempio, ai dati demografici. Ciò comporta, rispetto alla SVD, nulla di nuovo dal punto di vista matematico.

Ciò che cambia è che il primo autovettore (prima riga di Vt o prima colonna di U) è tutto a entrate non negative, tutti gli altri no. Esiste un teorema di Perron-Frobenius che afferma: il primo autovettore (v1) è a tutte ad entrate non negative; gli altri, hanno una parte

dicomponenti non negative e altre negative. Dal punto di vista matematico non comporta nulla alla SVD (nel senso che funziona). Perché, allora, questa cosa non ci piace? Perché crea problemi dal punto di vista interpretativo. Abbiamo, infatti: t(V) = Dt(U)X -> le righe di V sono combinazione lineare di X. V_1 avrà pesi solo positivi; gli altri v_i avranno pesi misti. Combino le righe di X in modo complesso: alcune hanno pesi positivi e negativi. Quello che succede è che è difficile interpretare coefficienti misti (ad esempio nei comportamenti dei clienti). Questo succede sempre nelle PC. - Funzionamento NMF L'idea, dunque, è quella di abbandonare le SVD per fare un'operazione diversa: vogliamo decomporre X (di rango k) in due matrici (che si moltiplicano) chiamate W e H. La decomposizione avviene sempre con lo scopo di approssimare X con una matrice X^ di rango p < k. W e H hanno rango p (rango pieno date le loro dimensioni). Inoltre,

Poniamo una condizione: W e H devono essere ad entrate non negative. Le righe di X sono costruite come righe di H con pesi contenuti nella matrice W (stesso concetto SVD). Ovviamente vogliamo ottenere un'approssimazione tale che:

In generale, l'errore di approssimazione dato dall'utilizzo di NMF sarà maggiore di quello se utilizzassimo le SVD (come sappiamo dal teorema di Young). Quando p vale 1, teoricamente, non perdiamo nulla perché il vettore v_1 della SVD ha entrate positive come nella NMF, quindi la soluzione è uguale.

Il problema è che non c'è un modo matematico ed elegante per trovare W e H: bisogna provare a 'mano', senza nessuna garanzia matematica.

NMF e mappa: Vp è generato dalle righe di H, le coordinate sono date da W.

Limiti e vantaggi di questo metodo:

  1. Supponiamo che la scelta di p si riveli poco approssimante (commettiamo errore troppo elevato). Dobbiamo ampliare p.
Nella SVD bastava mantenere un sigma in più(o più di uno). Qui, invece, dobbiamo calcolare W e H da capo;
2. La SVD è unica, come effetto del teorema della proiezione. La NMF non è unica:possiamo trovare più coppie di W e H che mi danno la stessa identicaapprossimazione. Ad esempio, in modo banale:L’esempio dimostra una non-unicità non-essenziale perché non provoca alcun dannodal punto di vista interpretativo. Questo succede anche se permutiamo righe ecolonne (contemporaneamente) di W e H. Nell’SVD ciò non succede perché abbiamobloccato in modo decrescente gli autovalori nella matrice D. Non ci sono, nemmeno,teoremi comodi che dimostrino dei casi di unicità. C’è sono una condizione necessariache però non mi garantisce nulla.
3. Quando faccio la NMF occupo solo un pezzo di sottospazio vettoriale perché uso deipesi w_i solo positivi. Questo provoca un ‘problema’ dal

punto di vista interpretativo. Nella SVD abbiamo già visto cosa succede quando vogliamo interpretare nuovi dati su un sottospazio precedentemente scelto. Ciò che succede con la NMF è che non creiamo un sottospazio ma un sottoinsieme di tale sottospazio (nell'esempio del piano cartesiano andiamo a descrivere solo il primo quadrante). Immaginiamo che arrivi un nuovo soggetto e lo proiettiamo su H. Questa operazione di proiezione non mi darà necessariamente tutte componenti positive. Quindi proiettare una nuova osservazione non ci permette di stare necessariamente nel caso non negativo: non ci permette di usare una realtà 'vecchia' per classificare nuovi dati. Pragmaticamente, se la componente negativa è piccola si può eliminare (approssimo l'approssimazione), se invece è molto grande questo non si può fare e semplicemente non riusciamo ad approssimare il vettore. Ciò che dobbiamo capire è che

questo problema ci elimina la possibilità di utilizzare risultati precedenti.

4. Le righe di H non possono essere ortogonali perché sono tutte negative (almeno che una riga è uguale a zero). Cosa comporta? Quando sono ortonormali, guardare la norma dei vettori è uguale a guardare la norma delle coordinate. Con H ciò non accade: fare la cluster su x^ o su i w_i non è uguale perché la base non è ortonormale. La mappa preserva le distanze nella SVD ma non nella NMF. Nella NMF, dunque, dobbiamo decidere dove lavorare perché le cose non sono uguali.

Vediamo i vantaggi:

  1. La riga x_1 è costruita in questo modo: Ciò per dire che saliamo di componenti: ogni vettore può solo aggiungere (siccome ho componenti non negative) o, al massimo, rimanere costante se ho uno 0. Le componenti del primo vettore non possono essere 'cancellate': non possono diminuire ma aumentare. Nella SVD, invece, posso anche

‘cancellare’ delle componenti. Qui, invece, si è costretti a prendere la prima riga come punto di partenza e salire (approssima dal basso). La conseguenza interessante di questo fatto è che con la SVD posso salire per poi scendere, nella NMF non si può fare -> una volta che superiamo una componente è possibile scendere. Quindi la NMF creerà dei vettori ‘complementari’ (1,0 e 0,1 nel nostro esempio). La NMF va a cercare delle basi convenienti che tendenzialmente sono fatte così: alcune componenti sono alte e altre molto basse (idealmente 0), tra di loro disgiunte. Questo comporta una clusterizzazione delle variabili: ogni riga rappresenta uno specifico comportamento (negli esempi dei clienti). Questa tendenza della NMF di avere delle componenti che insistono su alcune variabili viene chiamata ‘learning by parts’, catturano le parti del fenomeno, compongo il vettore finale a pezzi. La SVD, invece, è

‘learning by layers’. Quindi, diciamo, che la
Dettagli
Publisher
A.A. 2022-2023
55 pagine
SSD Scienze economiche e statistiche SECS-P/01 Economia politica

I contenuti di questa pagina costituiscono rielaborazioni personali del Publisher saratitani di informazioni apprese con la frequenza delle lezioni di Data science e modelli statistici per il trattamento di dati non strutturati e studio autonomo di eventuali libri di riferimento in preparazione dell'esame finale o della tesi. Non devono intendersi come materiale ufficiale dell'università Università degli Studi di Milano - Bicocca o del prof Fattore Marco.