UNIVERSITÀ DEGLI STU DI DI BARI “A. MORO”
Metodi numerici per l’informatica Appunti Cappelluti Vincenzo 2013/2014
Appunti del corso di Informatica Magistrale: Metodi numerici per l’informatica
Metodi numerici per l’informatica 2013/2014
1
Metodi numerici per l’informatica 2013/2014
Sommario Sommario ............................................................... ........................................................................................................................................ ..............................................................................................2 .....................2
ALGEBRA LINEARE..................................... .................................................. .......................... .......................... ........................... ........................... .................... ....... 6 Alfabeto greco ............................................................................................................................. .....................................................................................................................................................6 ........................6 Matrici: definizioni definizioni fondamentali fondamentali ...................................................................................................................6 ...................................................................................................................6 Matrici particolari ....................................................................................................................... ...............................................................................................................................................7 ........................7
Matrice diagonale ................................................................................................................................................... 7 Matrice di permutazione........................................................................................................................................ 7 Matrice triangolare ................................................................................................................................................. 7 Matrice nulla............................................................................................................................................................ 8 Matrice opposta....................................................................................................................................................... 8 Matrice trasposta e H-trasposta ............................................................................................................................ 8 Matrice simmetrica ed hermitiana ........................................................................................................................ 9 Matrice riducibile e irriducibile ............................................................................................................................ 9 Matrice stocastica .................................................................................................................................................... 9 Funzione lineare ......................................................................................................................... .................................................................................................................................................9 ........................9
Funzione composta ............................................................................................................................................... 10 Operazioni su matrici ......................................................................................................................................10 ......................................................................................................................................10
Somma tra matrici................................................................................................................................................. 10 Prodotto per scalare .............................................................................................................................................. 10 Prodotto tra vettore riga e vettore colonna ....................................................................................................... 11 Prodotto tra matrici righe per colonne............................................................................................................... 11 Osservazione .............................................................................................................................................................. 12
Matrice identità (o identica) ................................................................................................................................ 12 Matrice inversa ...................................................................................................................................................... 12 Sistemi lineari .................................................................................................................. ...................................................................................................................................................13 .................................13
Eliminazione di Gauss per sistemi si stemi di equazioni lineari .................................................................................. 14 Forma di Echelon per righe ................................................................................................................................. 15 Determinante ......................................................................................................................................................... 16 Significato geometrico del determinante ............................................................. ................................................................................................................ ................................................... 16
Singolarità e non singolarità di una matrice ..................................................................................................... 17 Rank di una matrice .............................................................................................................................................. 17 Consistenza di un sistema lineare ...................................................................................................................... 17 Sottomatrice ........................................................................................................................................................... 18 Norme .......................................................... ................................................................................................................................ .......................................................................................................18 .................................18
Norma di vettore ................................................................................................................................................... 18 Norma di matrice .................................................................................................................................................. 18 Prodotto scalare in uno spazio vettoriale ve ttoriale .......................................................................................................... 20 Disuguaglianza di Cauchy–Schwarz ...................................................................................................................... 20 Spazio vettoriale .............................................................................................................. ...............................................................................................................................................20 .................................20
Sottospazio vettoriale ........................................................................................................................................... 21 2
Metodi numerici per l’informatica 2013/2014
Spazio span ............................................................................................................................................................ 21 Spazio Range ......................................................................................................................................................... 22 Spazio nullo ........................................................................................................................................................... 22 Base ......................................................................................................................................................................... 22 Dimensione di un sottospazio ............................................................................................................................. 23 Relazioni tra sottospazi-dimensioni-basi........................................................................................................... sottospazi-dimensioni-basi........................................................................................................... 23 Indipendenza lineare ............................................................................................................................................ 23 Matrice di Vandermonde ....................................................... ........................................................................................................................ ................................................................................... .................. 24 Ortogonalità.............................................................. .................................................................................................................................... .........................................................................................24 ...................24
Legge del coseno ................................................................................................................................................... 24 Correlazione lineare e standardizzazione ......................................................................................................... 25 Ortonormalità di vettori....................................................................................................................................... 26 Ortonormalità di matrici ...................................................................................................................................... 27 Metodo di ortonormalizzazione ortonormalizzazione di Gram-Schmidt Gram-Schmidt .............................................................. ....................................................................................27 ......................27 Fattorizzazione Fattorizzazione QR ...........................................................................................................................................27 ...........................................................................................................................................27 Autovalori Autovalori e autovettori autovettori ............................................................... ..................................................................................................................................28 ...................................................................28
Autocoppie per potenze p otenze di matrici..................................................................................................................... 29 Molteplicità algebrica e geometrica di un autovalore ..................................................................................... 29 Similarità ................................................................... ...................................................................................................................................... .........................................................................................30 ......................30 Matrice diagonalizzabile diagonalizzabile.................................................................................................................................30 .................................................................................................................................30 Metodo delle potenze ......................................................................................................................................31 ......................................................................................................................................31
Successione dei coefficienti di Rayleigh ............................................................................................................ 32 Autovalori della matrice inversa ........................................................................................................................ 32 Applicazione del metodo delle potenze per approssimare un autovalore e un autovettore generico ..... 33 Teorema di Schur .................................................................................................................................................. 33 Metodo QR per il calcolo degli autovalori e autovettori dominanti .............................................................. 33 Teorema di convergenza del metodo QR .......................................................................................................... 34 Decomposizioni a blocchi bl occhi .................................................................................................................................... 34 SVD (Decomposizione a valori singolari) ...................................................................................................34 ...................................................................................................34
Proprietà sulla decomposizione SVD ................................................................................................................. 35 Teorema di Eckart-Young Eckart-Young (SVD troncata)......................................................................................................... 36 SVD per il filtraggio dei dati ............................................................................................................................... 37 SNR (rapporto segnale/rumore) .............................................................................................................................. 38
Interpretazione geometrica della SVD ............................................................................................................... 38 Richiami su alcuni concetti di analisi matematica ............................................................... .....................................................................................39 ......................39
Funzione univariata.............................................................................................................................................. 39 Funzione multivariata .......................................................................................................................................... 40 Funzione vettoriale ............................................................................................................................................... 41 Polinomio di Taylor .............................................................................................................................................. 41
Per una funzione scalare ........................................................................................................................................... 41 Per una funzione vettoriale ......................................................................................................................... ............................................................ ............................................................. 42 Per una funzione vettoriale ..................................................................................................................... 42
Metodo delle bisezioni ......................................................................................................................................... 42 Metodo delle tangenti di Newton-Raphson Newton-Raphson ............................................................... ................................................................................................42 .................................42
3
Metodi numerici per l’informatica 2013/2014
Per le funzioni scalari ........................................................................................................................................... 42 Per le funzioni vettoriali ...................................................................................................................................... 43 Definizione di derivata prima ............................................................................................................................. 43 Metodi di ottimizzazione ottimizzazione non vincolata ......................................................................................................43
Per una funzione scalare ...................................................................................................................................... 43 Per una funzione vettoriale ................................................................................................................................. 44 Curve di livello .................................................................................................................................................44 .................................................................................................................................................44 ....................................................................................44 ......................44 Metodo di Newton per l’ottimizzazione vincolata ..............................................................
Metodi di discesa .................................................................................................................................................. 45 Steepest descent (massima discesa)......................................................................................................................... 46 Metodo di Newton usato come metodo di discesa ............................................................................................... 46 Ottimizzazione vincolata ................................................................................................................................46 ................................................................................................................................46
Condizioni KKT per le lagrangiane.................................................................................................................... 47 Metodi per la penalizzazione penalizzazione ...................................................................................................... .........................................................................................................................47 ...................47 Problema dei minimi quadrati............................................................... .......................................................................................................................48 ........................................................48
Applicazioni del problema dei minimi quadrati.............................................................................................. 48 Data fitting .................................................................................................................................................................. 48 Curve fitting (approssimazione ai minimi quadrati nel discreto) ...................................................................... 54
ARTICOLI E DISPENSE ......................... ...................................... ........................... ........................... .......................... .......................... ....................... .......... 58 Pseudo-inversa ...................................................................................................................................................... 58 Matrice simmetrica ............................................................................................................................................... 58 Matrice definita positiva ...................................................................................................................................... 58 PCA (Analisi delle componenti componenti principali) ................................................................ .................................................................................................58 .................................58
BSS (Blind Signal Separation) .............................................................................................................................. 60 Derivazione della PCA in modo analitico ......................................................................................................... 61 Ottimizzazione vincolata ..................................................................................................................................... 62 Scree plot ................................................................................................................................................................ 63 Criterio di Kaiser ................................................................................................................................................... 64 Criteri più complessi ............................................................................................................................................ 64 Scelta dell’unità di misura ................................................................................................................................... 64 Interpretazione delle componenti principali..................................................................................................... 64 PCA per analisi di microarray del DNA............................................................................................................ 65 Eigenfaces for recognition [1] .................................................................... ...........................................................................................................................66 .......................................................66 [2] ....................................................................................68 ......................68 Vector Space Model per l’Information Retrieval Retrieval ..............................................................
Metodo QR nel query matching ......................................................................................................................... 68 Precisione e recupero............................................................................................................................................ 69 Metodo SVD nel query matching ....................................................................................................................... 69 Confronto termine-termine ................................................................................................................................. 70 Relevance feedback............................................................................................................................................... 70 A survey of eigenvector Methods for Web Information Retrieval [3] ......................................................72
HITS-IR (Hypertext Induced Topic Search for Information Retrieval) ......................................................... 72 Implementazione dell’algoritmo HITS ................................................................................................................... 72
4
Metodi numerici per l’informatica 2013/2014 Vantaggi e svantaggi di HITS .................................................................................................................................. 73
PageRank................................................................................................................................................................ 73 Implementazione dell’algoritmo di PageRank .............................................................. ...................................................................................................... ........................................ 74
Vantaggi e svantaggi di PageRank ............................................................. .......................................................................................................................... ............................................................. 74 KDD (Knowledge (Knowledge Discovery in Databases) ............................................................... ................................................................................................75 .................................75
DM (Data mining)................................................................................................................................................. 75 I dati ........................................................................................................................................................................ 75 Feature (caratteristiche) ............................................................................................................................................ 75
Trasformazioni di dati .......................................................................................................................................... 76 Normalizzazione.......................................................... ........................................................................................................................... .............................................................................................. ............................. 76 Data smoothing ............................................................ ............................................................................................................................. .............................................................................................. ............................. 76 Missing data ............................................................................................................................................................... 76 Outliers ................................................................ ................................................................................................................................ ........................................................................................................ ........................................ 77
Visualizzazione grafica di variabili .................................................................................................................... 77 Bibliografia ............................................................... ..................................................................................................................................... .........................................................................................78 ...................78
5
Metodi numerici per l’informatica 2013/2014
ALGEBRA LINEARE Alfabeto greco Maiuscola Minuscola Α α Β β Γ γ Δ δ Ε ε , Ζ ζ Η η Θ θ , Ι ι Κ κ Λ λ Μ μ Ν ν Ξ ξ Ο ο Π π , Ρ ρ σ, ς Σ τ Τ υ Υ φ , Φ χ Χ ψ Ψ ω
Nome italiano
alfa beta gamma delta epsilon zeta eta theta iota kappa lambda mi, mu ni, nu xi omicron pi rho sigma tau upsilon phi chi psi omega
Matrici: definizioni fondamentali
( )
Una matrice è una tabella di elementi reali o complessi disposti su righe e colonne. I numeri che compaiono nella tabella si dicono elementi della matrice e vengono individuati attraverso la loro posizione di riga e colonna. è un generico elemento della matrice che si trova sulla riga e e sulla colonna . In generale una matrice di righe ed colonne si denota così:
In generale le matrici sono denotate con lettere maiuscole dell ’alfabeto, mentre i loro elementi con la corrispondente lettera minuscola abbinata al doppio indice, il primo per le righe e il secondo per le 6
Metodi numerici per l’informatica 2013/2014
-
colonne. Se allora si dice che è una matrice quadrata di ordine (o equivalentemente). In queste matrici si può parlare di diagonale principale della matrice, costituita dai coefficienti di posto che che sono detti appunto coefficienti diagonali. Un vettore colonna , , con è una matrice che consiste di una sola colonna. Si ha quindi:
L’insieme di tutti i vettori colonna a componenti reali (rispettivamente complessi) costituisce lo spazio euclideo (rispettivamente lo spazio ). Un vettore può essere identificato con un punto dello spazio a dimensioni, assumendo le componenti come come coordinate del punto. D’ora in avanti, con la parola “vettore” si considereranno i vettori colonna, se non diversamente specificato. Data una matrice dove
è talvolta utile scrivere le colonne della matrice come vettori colonna:
rappresenta la -esima -esima colonna.
Matrici particolari Matrice diagonale Una matrice diagonale è una matrice quadrata che ha tutti i coefficienti al di fuori della diagonale principale uguali a 0, quindi del tipo:
,
Se , , la matrice è detta scalare. In particolare, la matrice unità , o matrice identità , , , o semplicemente è è definita da . Possiamo definire la proprietà di commutazione per le matrici identiche: .
Matrice di permutazione
Una matrice di permutazione è una matrice che si ottiene dalla matrice identità con con scambi di righe (o di colonne); pertanto, in ogni riga e in ogni colonna, ha un solo elemento diverso da zero e uguale a 1.
Matrice triangolare
Una matrice triangolare inferiore è una matrice quadrata i cui coefficienti al di sopra della diagonale principale sono nulli. Una tale matrice è pertanto definita dalle relazioni: per Una matrice di questo tipo si presenta nella forma seguente:
7
Metodi numerici per l’informatica 2013/2014
, ,
Una matrice triangolare superiore è una matrice quadrata in cui i coefficienti al di sotto della diagonale principale sono nulli. Una tale matrice è pertanto definita dalle relazioni: per Una matrice di questo tipo si presenta nella seguente forma:
Matrice nulla
Una matrice nulla .
è una matrice in cui tutti i coefficienti sono uguali a 0 ed è denotata col simbolo
Matrice opposta
- ̅ In generale, data una matrice
, , si pone:
si chiama matrice opposta di (detta anche inversa additiva). Per ogni matrice esiste sempre la matrice opposta . Inoltre la somma tra la matrice e la matrice opposta , , è una matrice i cui elementi sono tutti uguali a 0. Si ha quindi che:
Matrice trasposta e H-trasposta
Data una matrice ,, si definisce trasposta matrice per scambio delle righe con le l e colonne.
di una matrice la matrice che si ottiene dalla
Gli elementi della matrice sono, pertanto, dati dagli elementi di per e . Se la matrice è ad elementi complessi, si definisce la matrice trasposta coniugata i cui elementi , dove è il coniugato del numero complesso complesso1 . Effettuando prima l’operazione di trasposizione e poi quella di coniugazione sulla matrice si ottiene la medesima matrice invertendo l’ordine delle operazioni; tale matrice si denota con e si chiama matrice -trasposta di . Si ha pertanto: Elenchiamo di seguito le principali proprietà di cui godono le matrici trasposte e -trasposte. Siano e uno scalare, allora:
1
Il coniugato di un numero complesso è il numero ottenuto cambiando il segno della parte immaginaria. Pensando il
̅
numero complesso come punto del piano complesso, il suo complesso coniugato è il punto riflesso rispetto all’asse reale. Se
è un numero complesso, complesso, il suo coniugato si indica con .
8
Metodi numerici per l’informatica 2013/2014
Matrice simmetrica ed hermitiana
Tra tutte le matrici quadrate, quelle che coincidono con la loro trasposta rivestono un particolare interesse; esse vengono chiamate matrici simmetriche . Una matrice è simmetrica se , , mentre una matrice viene detta hermitiana quando coincide con la sua -trasposta, cioè . Diremo che una matrice è anti-simmetrica se , , diremo invece che è anti-hermitiana se . Segue immediatamente dalla definizione che gli elementi diagonali di una matrice anti-simmetrica sono nulli, mentre gli elementi diagonali di una matrice anti-hermitiana sono tutti immaginari, cioè del tipo , , con . Le matrici e sono matrici simmetriche. Dimostrazione:
Matrice riducibile e irriducibile Una matrice
è riducibile se e solo se esiste una matrice di permutazione
tale che:
è in forma triangolare superiore. Il grado di adiacenza ad essa associato non è fortemente connesso, nel senso che se, presi a caso due nodi e , , non posso raggiungere raggiungere a a partire da .
Figura 1 - Grafo non fortemente connesso in quanto non posso arrivare al nodo 1, partendo dal nodo 2
Al contrario, una matrice associato, è fortemente connesso.
Matrice stocastica
si dice irriducibile se e solo se il suo grafo di adiacenza ad essa
Una matrice stocastica è una matrice ad elementi non negativi nella quale la somma degli elementi su ogni riga (o su ogni colonna) è uguale ad 1.
Funzione lineare2
Una funzione lineare è una funzione Inoltre:
tale che
con
e
Se abbiamo un punto in un sistema di assi cartesiani di coordinate , , il i l suo riflesso rispetto all’asse orizzontale avrà coordinate mentre mentre quello rispetto all’asse verticale avrà coordinate . Infine se vogliamo determinare il punto riflesso rispetto all ’origine, avremo un punto di di coordinate 2
Ad ogni funzione lineare si può associare una sua rappresentazione matriciale.
9
Metodi numerici per l’informatica 2013/2014
.
Funzione composta
Vediamo come la funzione composta di due funzioni lineari qualsiasi compatibili, dia come risultato il prodotto delle matrici ad esse associate. Date due funzioni lineari dove:
./ * ./ * * * * * . / . / . / . / . . / e
Componendo le due funzioni precedenti abbiamo:
Se rappresentiamo le due funzioni e in versione matriciale con due matrici e tali che: e e chiamiamo il loro prodotto abbiamo che:
Notiamo che la matrice corrisponde esattamente alla matrice dei coefficienti di
.
Operazioni su matrici
Due matrici e .
si dicono uguali se hanno la stessa dimensione e se
per ogni
Somma tra matrici
La somma di due matrici è la matrice di elementi , , per e . L ’elemento neutro rispetto alla somma in è dato dalla matrice i cui elementi sono tutti uguali a zero (matrice nulla). L’operazione di somma gode di numerose proprietà che elenchiamo di seguito. Se e e sono due scalari, allora: (associatività della somma) (commutatività della somma) (esistenza dell’elemento neutro) (esistenza dell’elemento inverso) È importante notare che non si può eseguire la somma tra matrici di dimensioni diverse.
Prodotto per scalare
Il prodotto per scalare di una matrice per uno scalare (oppure a ) è la matrice di elementi . Si può definire analogamente il prodotto di per lo scalare come la matrice ; tale matrice evidentemente coincide con ,, attesa la commutatività del prodotto tra scalari, pertanto . L’operazione di prodotto per scalare gode delle seguenti proprietà, la cui verifica è del tutto evidente: (esistenza dell’elemento neutro) (esistenza dell’elemento zero)
10
Metodi numerici per l’informatica 2013/2014
(distributività) (distributività) Si osservi che la matrice prodotto di una data matrice per uno scalare, produce una matrice delle stesse dimensioni della matrice data.
Prodotto tra vettore riga e vettore colonna
,
Dati un vettore riga e un vettore v ettore colonna , , si chiama prodotto scalare interno standard tra i due vettori e si indica con , , lo scalare (o la matrice ):
Le seguenti proprietà del prodotto di un vettore riga per un vettore colonna sono del tutto evidenti:
Per indicare il prodotto interno scalare si usa anche la notazione Se e modo seguente:
.
,, si chiama prodotto esterno tra i due vettori, la matrice
Osserviamo che ogni colonna di analoga si definisce per e
è un multiplo di e ogni riga è un multiplo di il prodotto esterno .
definita nel
. In maniera
Prodotto tra matrici righe per colonne Il prodotto righe per colonne di due matrici
e
è la matrice
con elementi:
Il prodotto righe per colonne è definito solo se il numero delle colonne di (fattore di sinistra) è uguale al numero delle righe di (fattore di destra). Due matrici che soddisfano questa condizione riguardo le dimensioni si dicono conformi per il prodotto . Diamo qui di seguito le più importanti proprietà cui soddisfa il prodotto tra matrici, anche in relazione alle due operazioni di somma e di prodotto per scalari. Se , , e allora vale la associatività:
Se
allora:
Se
e
allora vale la distributività a sinistra:
Se
e
allora vale la distributività a destra:
Il prodotto fra matrici è distributivo rispetto alla somma Se e e è uno scalare, allora:
In generale si ha che
dalla quale si può affermare che la moltiplicazione tra matrici non è una 11
Metodi numerici per l’informatica 2013/2014
operazione commutativa.
Date due matrici
non vale la legge di annullamento del prodotto.
La pre-moltiplicazione di per una matrice diagonale ha l’effetto di moltiplicare ogni riga di per il corrispondente elemento diagonale di , mentre la post-moltiplicazione di per una matrice diagonale ha l’effetto di moltiplicare ogni colonna di per il corrispondente elemento diagonale di . Osservazione
Se
e
(vettore colonna), il prodotto:
definisce una trasformazione da coppia di scalari e , , si ha:
in i n
. Dal momento che per ogni coppia di vettori
e ogni
la trasformazione è lineare. Viceversa, si può mostrare che ogni trasformazione lineare da in può essere rappresentata da una matrice . Il prodotto tra due matrici corrisponde alla matrice associata alla trasformazione che risulta dalla composizione di due trasformazioni lineari. Osserviamo ancora che ha interesse la seguente interpretazione del prodotto di una matrice per un vettore :
Il vettore
risulta dalla combinazione lineare delle colonne
della matrice .
Matrice identità (o identica)
Una matrice con indice
si dice identità se le componenti con indice hanno valore uno, mentre quelle hanno hanno valore zero. Per ogni matrice hanno vale che:
Ogni vettore colonna o vettore riga di una matrice identica rappresenta un particolare vettore detto base canonica , caratterizzato dall’avere un 1 in -esima -esima posizione. Per estrarre la -esima -esima colonna della matrice mi basta moltiplicare questa per la -esima -esima colonna della matrice identica: mentre per estrarre la -esima -esima riga calcolo: essendo
l’ -esima -esima riga della matrice identica.
Matrice inversa
Una matrice
è detta inversa di
se:
In tal caso si scrive e la matrice si dice invertibile. Il determinante fornisce un test per l’invertibilità della matrice; si ha, infatti, il seguente importante risultato: una matrice quadrata è invertibile se e solo se essa è non singolare. Proprietà della matrice inversa:
Se è ortonormale allora Se e sono due matrici non singolari, il prodotto è non singolare e Dimostriamo (per assurdo) l ’unicità della inversa di una matrice .
12
Metodi numerici per l’informatica 2013/2014
Siano inverse di
⇔ . / ,
La seguente formula consente di calcolare l ’inversa di una matrice
non singolare (
).
Sistemi lineari
, -
Si pensi ad un sistema di equazioni (righe) in incognite (colonne):
Il sistema si può rappresentare semplicemente tramite l’uguaglianza del vettore dei termini noti:
con il vettore che ha come coordinate i primi membri delle equazioni:
Quest’ultimo vettore non è altro che il risultato del prodotto righe per colonne della matrice dei coefficienti:
per il vettore delle incognite:
Pertanto il sistema di equazioni si può scrivere in forma compatta, detta forma matriciale del sistema:
Se il il sistema è detto omogeneo e ammette sempre almeno la soluzione nulla. Se , , il sistema omogeneo ammetterà soluzioni linearmente indipendenti. soluzioni Indicando con la -esima -esima colonna della matrice , , il sistema può essere riscritto riscritto nella seguente forma: forma:
che esprime il vettore termine noto come combinazione lineare dei vettori colonna di . 13
Metodi numerici per l’informatica 2013/2014
Dalla rappresentazione sopra si nota che la l a condizione di risolubilità (o, equivalentemente, di consistenza) del sistema è la seguente:
-
dove è è lo spazio generato dalle colonne di . In altra forma, si dice che il sistema è risolubile quando il , , dove con si si indica la cosiddetta matrice aumentata (o completa), ottenuta aggiungendo alle colonne di il vettore colonna dei termini noti .
Eliminazione di Gauss per sistemi di equazioni lineari L’idea alla base dell’algoritmo è molto semplice: eliminare progressivamente (da qui il nome di “eliminazione”) sempre più incognite nelle equazioni successive del sistema, ottenendo un sistema equivalente a quello di partenza (cioè con le medesime soluzioni), ma che si può risolvere molto facilmente con un metodo di “sostituzione all’indietro”.
Un modo di presentare la tecnica di eliminazione di Gauss consiste nell ’operare direttamente sulla matrice dei coefficienti del sistema, cui si aggiunge come ultima colonna, la colonna dei termini noti, cioè quella che si chiama matrice aumentata (o ampliata) del sistema. La matrice del sistema semplificato, cui si perviene al termine della eliminazione di Gauss, si chiama forma ridotta (di Gauss) della matrice aumentata del sistema. Un sistema in equazioni ed incognite, nella sua forma generale, è il seguente:
che in forma matriciale si scrive:
La matrice aumentata del sistema è la matrice a blocchi:
Si ottiene un sistema equivalente a a quello dato (cioè con esattamente le stesse soluzioni) se si opera sulle sue equazioni in uno dei tre seguenti modi: I operazione elementare: una equazione viene moltiplicata per uno scalare non nullo:
con
II operazione elementare: una equazione viene sostituita con la somma di se stessa con un ’altra equazione del sistema, eventualmente moltiplicata per uno scalare non nullo:
con
III operazione elementare: si scambiano tra di loro due equazioni (si effettua un semplice scambio di righe): 14
Metodi numerici per l’informatica 2013/2014
Applicando ripetutamente queste tre operazioni elementari, si possono eliminare progressivamente le incognite nelle equazioni successive. Osserviamo inoltre che per p er ciascuna operazione elementare ne esiste un’altra che riporta la matrice ottenuta nella sua configurazione originale; pertanto le operazioni elementari sono reversibili.
Forma di Echelon per righe Se una matrice ha un configurazione tale per cui ogni riga a partire dalla seconda ha un numero di zeri iniziali superiore alla riga precedente allora viene detta forma di Echelon per righe (o anche scala per righe). Formalizziamo il concetto di forma di Echelon per righe. Data una matrice , , avente colonne e righe , , è detta essere in forma di Echelon per righe se valgono le seguenti condizioni: Se consiste di tutti zeri, allora anche le righe sotto devono avere componenti tutte uguali a zero Se la prima componente non nulla in giace sulla -esima -esima colonna, allora tutte le entrate sotto la -esima -esima riga nelle colonne sono nulle Queste due condizioni affermano che le componenti non nulle in forma di Echelon devono trovarsi al di sopra di una linea a gradini che parte dell’angolo in alto a sinistra e scende in basso a destra. I pivot sono i primi elementi non nulli in ogni riga. È da osservare che a causa della flessibilità con cui si scelgono le operazioni sulle righe nell ’algoritmo di eliminazione di Gauss per ridurre la matrice di partenza in una in forma di Echelon , , non si ha in generale l’univocità nella determinazione della forma suddetta.
Per un sistema che ha la matrice aumentata in forma di Echelon per righe, è chiaro che le soluzioni si trovano facilmente con la sostituzione all ’indietro, dando possibilmente valori arbitrari a certe variabili libere. In una matrice in forma di Echelon per righe, una colonna si dice dominante se contiene il primo coefficiente non nullo (pivot) di qualche riga. Le variabili corrispondenti alle colonne dominanti sono chiamate variabili dominanti. Possiamo allora dire che per la forma ridotta della della matrice aumentata di di un generico sistema lineare , , accade uno e uno uno solo dei tre seguenti seguenti casi: Tutte le colonne sono dominanti tranne l ’ultima (corrispondente alla colonna dei termini Tutte te rmini noti); in tal caso il sistema ammette una e una sola soluzione, rappresentata dallo 0 L L’ultima colonna non è dominante ed esiste almeno una colonna non dominante; in tal caso il sistema ammette infinite soluzioni, che dipendono da tanti parametri quante sono le colonne non dominanti. Le variabili del sistema corrispondenti alle colonne non dominanti della forma ridotta si chiamano variabili libere L L’ultima colonna è dominante; in tal caso il sistema non ammette soluzioni. Abbiamo cioè una variabile uguale a 0 con valore diverso da 0 Se , , il caso può può accadere solo se (ho almeno tante equazioni quante sono le incognite), il caso solo solo se , , mentre il caso può può accadere qualunque qualunque siano ed .
- - -
-
-
-
15
Metodi numerici per l’informatica 2013/2014
Determinante Sia
. Il determinante di è definito da:
dove è il numero di inversioni nella permutazione e varia su tutte le permutazioni degli interi . La formula sopra è l ’estensione al caso di generico delle formule note per matrici di ordine e : Osserviamo che il calcolo del determinante mediante la definizione richiede la formazione di prodotti, prodotti, ognuno dei quali richiede moltiplicazioni. Il segno della permutazione permutazione dipende dal numero di permutazioni. In particolare:
Proprietà del determinante: Il valore del determinante rimane immutato se si aggiunge a una riga (o colonna) un ’altra riga (o colonna), eventualmente moltiplicata per uno scalare (II operazione elementare) Il determinante di una matrice triangolare è uguale al prodotto degli elementi sulla diagonale principale:
∏
Se si scambiano due righe (o colonne), il determinante cambia di segno Moltiplicando una riga per per , , il determinante viene moltiplicato per quell’
Date due matrici
Si osservi che se
è invertibile se ha
.
Il determinante di una matrice può essere espresso in maniera ricorsiva mediante la regola di Laplace. Infatti, indicata con la sottomatrice quadrata di ordine ottenuta dalla matrice eliminando la esima riga e la -esima -esima colonna, per un qualunque indice di riga si si ha:
dove il termine è detto cofattore dell’elemento . Si chiamano, inoltre, minori i determinanti delle sottomatrici quadrate che si ottengono fissando in maniera qualunque uno stesso numero di righe e di colonne. Il determinante di una matrice rettangolare non è definito. Significato geometrico del determinante
Il significato geometrico del determinante di una matrice 16
sta nel coincidere con il volume del
Metodi numerici per l’informatica 2013/2014
parallelepipedo -dimensionale, i cui spigoli corrispondono alle colonne della matrice . Il segno di indica indica l’orientamento dell’insieme delle coordinate.
Singolarità e non singolarità di una matrice
Una matrice è detta non singolare quando per essa si ha . D’altra parte una matrice si dice singolare , con , , se non ammette inversa. i nversa. In questo caso il sistema non ammetterà un’unica soluzione. Viceversa, la matrice è invertibile se e solo se è non singolare.
Rank di una matrice
Il rank di una matrice può essere definito come l’ordine massimo dei minori non nulli della matrice. Esso viene denotato usualmente con la notazione . Il rank può essere anche definito come il numero massimo delle colonne, e quindi anche delle righe, della matrice che sono linearmente indipendenti. Data una matrice ridotta dalle operazioni di riga nella forma di Echelon , , il possiamo possiamo definirlo alternativamente come: il numero di elementi pivotali in il numero di righe non nulle in il numero di colonne di base di (cioè il numero delle colonne linearmente indipendenti che contengono un elemento pivotale). Si presti particolare attenzione al fatto che le colonne di base sono estratte da e non dalla forma di Echelon per righe
- -
Sia e consideriamo le matrici simmetriche e . Queste matrici assumono una particolare importanza perché compaiono in diverse applicazioni. Per esse e sse valgono le seguenti proprietà:
Un esempio legato alle matrici e è la loro applicazione alla risoluzione del sistema lineare Infatti, moltiplicando a sinistra per si produce il seguente sistema:
.
chiamato sistema associato delle equazioni normali che possiede delle proprietà estremamente importanti: Il sistema delle equazioni normali è sempre consistente perché Se è consistente allora e hanno lo stesso insieme di soluzioni Se è consistente ed ha una unica soluzione, lo stesso accade per e risulta:
Consistenza di un sistema lineare
Dati una matrice qualsiasi e due vettori , , il i l sistema lineare si dice consistente se ammette soluzione. Le seguenti affermazioni sono equivalenti nell’affermare che un sistema è consistente:
Se nella forma di Echelon
non appare mai una riga del tipo: non
Se non è colonna di base della matrice completa Se è combinazione lineare delle colonne di base di Se è combinazione lineare delle colonne di 17
Metodi numerici per l’informatica 2013/2014
Se il numero delle colonne di base di
Sottomatrice
è uguale al numero delle colonne di base b ase di
-
, , se ne possono considerare delle sue “porzioni”. Per esempio, se scegliamo ad Data una matrice arbitrio alcune righe e alcune colonne di i coefficienti che stanno nella intersezione di queste righe e colonne formano quella che si chiama una sottomatrice di . La matrice è naturalmente una sottomatrice di se stessa; le sottomatrici diverse da sono dette sottomatrici proprie. Tra le sottomatrici di una matrice quadrata risultano particolarmente utili e usate le sottomatrici principali , , che si ottengono scegliendo righe e colonne (la cui intersezione produce la sottomatrice) con gli stessi indici. È facile convincersi che in questo caso i coefficienti diagonali di una sottomatrice principale sono coefficienti diagonali anche nella matrice originaria. In certi casi si considerano considerano solo le sottomatrici principali ottenute intersecando le prime righe e colonne, dove varia da 1 all’ordine della matrice; esse vengono chiamate sottomatrici principali -esime. Naturalmente la matrice è sottomatrice principale -esima di se stessa.
Norme Norma di vettore
‖‖ ‖ ‖ ‖ ‖ ‖ ‖ ‖ ‖ ‖ ‖ ‖ ‖ ‖ ‖ ‖ ‖ ‖ ‖ ‖ ‖ ⁄ ‖‖ + ‖‖ ‖ ‖ ‖ ‖ ⁄ ⁄ ⁄ + + + ‖‖ ‖‖ ‖ ‖ ‖ ‖ ‖ ‖
Dato uno spazio vettoriale ,, una applicazione ap plicazione è chiamata norma , indicata usualmente con , , quando verifica le seguenti seguenti proprietà: 1. 2. 3. , 4. (questa proprietà è detta disuguaglianza triangolare) Il numero definisce una distanza tra i punti e . Un esempio di norma in è fornito dalla cosiddetta norma , , supponendo , , nel modo seguente: seguente:
Per si ha la cosiddetta norma euclidea. In particolare, per vettori colonna euclidea è definita come:
La norma Nel caso Se
la norma
è reale anche nel caso di si ha la norma del massimo definita da:
la disuguaglianz di suguaglianzaa triangolare diventa:
Osserviamo che una norma di vettore è una funzione continua in vettori, e , , esistono due costanti costanti positive ed tali che: In altre parole, in
e che per ogni coppia di norme di
, , per fissato, le norme sono tra loro equivalenti. e quivalenti.
Norma di matrice
Una matrice quadrata
può essere considerata un vettore in uno spazio di dimensioni 18
. In
Metodi numerici per l’informatica 2013/2014
‖ ‖ ‖ ‖ ‖ ‖ ‖ ‖ ‖‖‖ ‖‖ ‖‖‖ ‖‖ ‖ ‖‖ ‖ ‖‖‖‖‖ ‖‖ ‖ ‖ ‖ ‖ ‖ ‖ ‖ ‖‖ ‖‖ ‖ ‖ ‖ ‖ ‖ ‖ ‖ ‖ ‖ ‖ ‖ ‖ ‖‖ ‖ ‖ ‖‖‖‖‖ ‖‖ ‖ ‖‖ ‖ ‖‖‖‖‖
particolare, date due matrici quadrate ,, possiamo chiamare norma di una matrice, un’applicazione ,, che verifica condizioni analoghe alle quattro condizioni date nella definizione di norma di vettore, con l ’aggiunta dell’ultima condizione 5.: 1. 2. 3. , , 4. (anche in questo caso, questa proprietà è detta disuguaglianza triangolare) 5. Sia una forma fissata di vettore. Definiamo norma naturale (o norma indotta dalla norma di vettore) dalla matrice la quantità: Poiché per ogni seguente:
si può definire
, , sicché
, , la definizione precedente è equivalente alla
Per definizione se è è la matrice identità e è una norma naturale, allora . Osserviamo che, per una norma definita de finita come , si ha il seguente risultato: risultato: In generale, quando una norma di matrice verifica la condizione precedente, si dice che essa è consistente (o compatibile) con la corrispondente norma di vettore. La norma naturale è, in sostanza, la più piccola norma consistente per una assegnata norma di vettore. Vediamo ora quali sono le norme naturali di matrice che corrispondono alle norme di vettore per . Indichiamo con , , gli elementi della matrice : Per La norma di matrice indotta dalla norma del massimo ( ) è la seguente:
‖ ‖ ‖ ‖
‖ ‖ | | ‖ ‖ | |
cioè la massima tra le somme dei moduli delle componenti sulle righe. Per Si dimostra che:
cioè Per La norma 2, corrispondente alla norma euclidea di vettore, può essere calcolata nel modo seguente:
‖ ‖ ‖ ‖ ‖ ‖
Una norma di matrice che non è subordinata ad una norma di vettore è la norma di Frobenius, definita per una matrice nel modo seguente:
La norma di Frobenius è essenzialmente la norma euclidea della matrice considerata come un vettore di componenti. È interessante osservare che la norma di Frobenius è compatibile con la norma euclidea 19
Metodi numerici per l’informatica 2013/2014
‖ ‖ ‖ ‖‖‖ 〈 〉
di vettore. Si ha, infatti:
Prodotto scalare in uno spazio vettoriale
〈〈〉〉 〈 〉 〈 〈 〉 〈 〉 〈 〉 〉 〈〉〉 〈〉 〈〉 ‖‖〈〉 √ ‖〈‖‖‖‖〉‖ 〈〈〉〈〉〉 〈〉 〈〉 ‖‖ 〈 〉 ‖ ‖ ‖ ‖ 〈〉 ‖‖ ‖‖ 〈〉 ‖‖
Dato uno spazio vettoriale
, , definiamo prodotto scalare la funzione:
dotata delle seguenti proprietà:
Diremo che
e viene detta norma indotta.
Dati due vettori
diversi da 0, possiamo calcolare l’angolo tra di essi:
Se prendiamo due vettori
dove
e e
, , il loro prodotto vettoriale vettoriale sarà dato da:
mentre per il prodotto scalare abbiamo:
Disuguaglianza Disuguaglia nza di Cauchy–Schwarz
Dati due vettori
possiamo scrivere:
L’uguaglianza
vale se e solo se:
L’importanza della disuguaglianza di Cauchy–Schwarz è quella di aiutare a definire una geometria negli spazi multidimensionali che sia consistente con gli spazi visuali di ed .
Spazio vettoriale
La tripla si si dice spazio vettoriale su se la somma vettoriale e il prodotto vettoriale soddisfano le seguenti proprietà: Per la somma : (proprietà di chiusura per la somma vettoriale)
o
o
o
(proprietà (proprietà associativa)
(proprietà commutativa) 20
Metodi numerici per l’informatica 2013/2014 o o
(esistenza dell’elemento neutro) (esistenza dell’elemento inverso)
Per il prodotto : o
o
(proprietà di chiusura per il prodotto vettoriale) (proprietà associativa)
(proprietà distributiva a sinistra) (esistenza dell’elemento neutro) (proprietà distributiva a destra) La cardinalità di uno spazio vettoriale è il numero di vettori che servono per generare tutto lo spazio stesso. Viene detta anche dimensione dello spazio vettoriale. o
o
o
,
Sottospazio vettoriale
- - - -
Uno spazio si dice sottospazio vettoriale di uno spazio vettoriale , con , se soddisfa anche le sole proprietà di chiusura rispetto alla somma e al prodotto: (proprietà di chiusura per la somma vettoriale) (proprietà di chiusura per il prodotto vettoriale) Potremo dire allora che , con è è ancora spazio vettoriale. Tali proprietà implicano che ogni sottospazio deve contenere almeno il vettore zero.
Spazio span
Per un insieme di vettori
, , il sottospazio:
generato da tutte le possibili combinazioni lineari dei vettori di viene chiamato spazio span di . Esempi. Il sottospazio di è l’insieme di tutte e sole le rette passanti per l’origine. Oltre questo non ci sono sottospazi in . In altre parole ogni retta passante per l’origine è del tipo al al variare di e in generale si scrive . Le rette che non passano per l’origine non sono sottospazi perché un sottospazio deve contenere il vettore nullo (ovvero l’origine del riferimento cartesiano). Nemmeno una curva passante per l’origine può essere considerata un sottospazio di perché la proprietà di chiusura per la somma non può essere soddisfatta, in quanto esistono punti sulla curva per cui la loro somma non è più elemento della curva I sottospazi di sono formati sia dalle rette che dai piani passanti per l ’origine. Prendendo tre vettori qualsiasi posso creare: . Lo spazio generato dai tre vettori è tutto se e solo se abbiamo che ,, quindi massimo, si deduce che , , e sono linearmente indipendenti. In altre parole il sistema lineare è consistente con . Possiamo aggiungere ancora:
o
con
o
come
e . Prendiamo una generica componente . Scriviamo allora la combinazione lineare di :
21
Metodi numerici per l’informatica 2013/2014
∑ - o
Essa rappresenta un piano passante per l ’origine e e , , se i due vettori sono linearmente indipendenti. Questo significa che con con . Lo spazio generato da un unico vettore in è una retta passante per l’origine e per il punto individuato dalle coordinate del vettore . Le coordinate della retta sono del tipo , con . L ’angolo formato dagli elementi che appartengono allo spazio generato dal vettore è è 0 poiché sono tutti vettori paralleli, a meno del coefficiente
Linee e superfici in
Anche per lo spazio vettoriale:
L’insieme
che hanno una curvatura non sono sottospazi di
.
,, essendo un sottospazio di , vale la proprietà di chiusura della somma
dove
,, genera lo spazio
.
L’insieme genera genera quando Se ci troviamo nello spazio tridimensionale generato ha dimensione 3.
. il rank di una matrice
è uguale a 3, perciò lo spazio
Spazio Range
L’insieme di tutti i vettori che sono combinazioni lineari delle colonne di una matrice è chiamato spazio colonna , o spazio immagine di . Lo spazio immagine può essere espresso nella seguente forma: In altre parole, possiamo definire spazio Range di il sottospazio generato dalle colonne di analogamente il sottospazio generato dalle righe di , , quindi:
o
oppure:
Spazio nullo
Data una matrice ,, si chiama insieme nullo l’insieme parole è è un sottospazio di ed è generato da tutte le soluzioni del sistema omogeneo Verifichiamo la chiusura di rispetto rispetto alla somma e al prodotto: Somma:
. In altre .
Ammetterà almeno la soluzione nulla Prodotto:
Quando le colonne di una matrice sono linearmente indipendenti e il suo rank è massimo, allora lo spazio nullo è ridotto al solo vettore nullo.
Base
Dato un sottospazio di , vettori , , costituiscono una base di se ogni altro vettore può essere espresso solo come combinazione lineare dei vettori della base: 22
Metodi numerici per l’informatica 2013/2014
-
Una base è, quindi, un insieme di vettori linearmente indipendenti che genera tutto lo spazio . Sia sottospazio e . Le seguenti proprietà sono equivalenti: è una base di ( ) è l’insieme minimo di vettori linearmente indipendenti che possono generare è il più grande insieme di vettori linearmente indipendenti di Una base di particolarmente importante è la base canonica , formata dai vettori: vettori:
che sono le colonne della matrice identità di ordine e aventi 1 in -esima -esima posizione.
Dimensione di un sottospazio
Tutte le basi di un sottospazio hanno lo stesso numero di elementi; tale numero, indicato con , , è detto dimensione del sottospazio ed esprime il numero di gradi di libertà del sottospazio. Ad esempio, lo spazio ha dimensione e ogni insieme di vettori linearmente indipendenti di costituisce una base di questo sottospazio. sottospazio. In un sottospazio di dimensione nessun insieme di più di vettori può essere linearmente indipendente e nessun insieme di meno di vettori può generare lo spazio. Siano e due sottospazi di . La somma:
e l’intersezione
è ancora uno sottospazio. Per la sua dimensione vale la seguente relazione:
Relazioni tra sottospazi-dimensioni-basi Per una qualsiasi matrice
vale il seguente teorema:
Considerando la trasposta di vale che:
Dalle precedenti uguaglianze deduciamo che:
Indipendenza lineare I vettori
, con
indipendenti se dalla condizione: si dicono linearmente indipendenti
segue che , , per . In caso contrario, i vettori assegnati si dicono linearmente dipendenti. Quando i vettori sono sono le colonne di una matrice , , si deduce che la dipendenza lineare delle colonne di è equivalente alla condizione: per un vettore e che la indipendenza i ndipendenza lineare delle colonne di è equivalente alla condizione: In altre parole, vettori linearmente indipendenti sono quelli che non contengono relazioni di dipendenza, e vettori linearmente dipendenti sono quelli in cui almeno un vettore è una combinazione lineare degli altri. Accettiamo il fatto che l’insieme vuoto è sempre linearmente indipendente. Data una matrice qualsiasi
,, ognuna delle seguenti proprietà è equivalente all’altra 23
Metodi numerici per l’informatica 2013/2014
nell’affermare la lineare indipendenza delle colonne della matrice : Le colonne di ( ) costituiscono un insieme di vettori linearmente indipendenti
cioè il numero delle colonne linearmente indipendenti indipendenti di Se invece ragioniamo in termini di righe della trasposta di potremo dire che le righe sono linearmente indipendenti se: Le righe di ( ) costituiscono un insieme di vettori linearmente indipendenti
, 〈〉
cioè il numero delle colonne linearmente indipendenti di (righe di ) Quando trattiamo una matrice quadrata ,, abbiamo una ulteriore proprietà che afferma che è formata da colonne tutte linearmente indipendenti se è invertibile, quindi se ha . In questo caso il .
Matrice di Vandermo Vandermonde nde
La matrice di Vandermonde è una matrice
della forma:
dove con . Se , le colonne di sono vettori linearmente indipendenti Alla matrice precedente possiamo associare un polinomio del tipo:
che ha grado minore o al più uguale di e radici distinte. Il sistema associato quindi possiamo scriverlo come: con
.
Si dimostra che
con
.
Ortogonalità
Due vettori si diranno perpendicolari e si scrive se Se due vettori sono ortogonali significa che formano un angolo di 90°, cioè .
Legge del coseno
La legge del coseno è una generalizzazione del teorema di Pitagora, perché applicabile a tutti i triangoli, non solo a quelli rettangoli.
24
Metodi numerici per l’informatica 2013/2014
Figura 2 - Legge del coseno considerando le norme dei lati di un triangolo rettangolo
‖ ‖ ‖ ‖ ‖ ‖ ‖‖‖‖‖‖ ‖‖‖‖‖‖ 〈〉 ‖‖‖‖‖‖ ‖‖‖‖‖‖ ‖‖‖‖‖‖ ‖‖‖‖‖‖ ‖ ‖ ‖‖ ‖‖ ‖ ‖‖‖‖‖‖ ‖ ‖ ‖ ‖ ‖ ‖ ‖ ‖‖‖ ‖‖ 〈〉
Dati due vettori e , , la legge del coseno afferma afferma che:
Il teorema di Pitagora può essere riscritto nel seguente modo: ma poiché nel caso di triangolo rettangolo
, , allora avremo soltanto:
Dimostrazione di ortogonalità in . Supponiamo che e siano due vettori ortogonali (perpendicolari) in
Quindi i due vettori sono ortogonali in due vettori è 0, cioè .
se e solo se
:
, , quindi se e solo se il prodotto scalare tra i
Correlazione lineare e standardizzazione
Supponiamo di condurre un esperimento e di registrare le osservazioni risultanti in due vettori di dati.
e poniamo un vettore di , , cioè se
dati in . Abbiamo che:
e e
. Determiniamo in quale misura le componenti di sono correlate con quelle . Per far questo calcoliamo la media
∑ ∑ ‖ √ √ ‖
e la deviazione standard
dei
La media è una misura di tendenza centrale e la deviazione standard è un indice di dispersione delle misure sperimentali, vale a dire una stima della variabilità di una popolazione di dati o di una variabile 25
Metodi numerici per l’informatica 2013/2014
casuale. Spesso, i dati grezzi provenienti da fonti diverse sono difficili da confrontare perché le unità di misura sono diverse, ad esempio, un ricercatore può utilizzare il sistema metrico decimale, mentre un altro usa unità americane. Per compensare, i dati sono quasi sempre prima "standardizzati" in quantità adimensionali.
Il teorema centrale del limite afferma che la media e la deviazione standard di un grande numero di variabili aleatorie indipendenti e dotate della stessa distribuzione è approssimativamente normale ( e ), indipendentemente dalla distribuzione soggiacente. Questo significa che la distribuzione di alcune statistiche, ad esempio la media, diventa nota, anche se non sappiamo niente a proposito della forma di distribuzione della popolazione da cui i campioni sono stati tratti. La standardizzazione di un vettore per il quale è definita come:
‖‖ √ √ ‖‖ ‖‖ ||
Le componenti di sono dette -score , aventi per definizione e Presi due vettori qualsiasi e standardizzati rispettivamente in possiamo scrivere che: con
.
e
tali che
e
, ,
con
In altre parole per alcune costanti e se e solo se , , in tal caso diremo che i due vettori di partenza e sono perfettamente correlati linearmente. Dato che varia in relazione ad ,, l’esistenza di una relazione “quasi” lineare tra e è equivalente a quella che in un certo senso potrebbe esserci tra e . Il fatto che significa che e differiscono solo per l’orientamento, così una misura di quanto sono vicini i due vettori standardizzati è il dove è l’angolo tra e . Chiameremo coefficiente di correlazione lineare il : Valgono le seguenti proprietà: se e solo se e sono ortogonali (perpendicolari), in tal caso i due vettori sono completamente non correlati se e solo se è perfettamente correlato ad , , cioè se e solo se esiste una relazione lineare che: quando allora potremo dire che è correlato positivamente con ( ) quando diremo che è correlato negativamente con ( )
o o
Figura 3 - Coefficienti lineari al variare della disposizione dei dati
Ortonormalità di vettori 26
Metodi numerici per l’informatica 2013/2014
Due vettori si dicono ortogonali se . L’insieme è composto da vettori ortonormali se e solo se presi a 2 a 2 sono ortogonali e hanno norma unitaria: Proprietà: vettori ortonormali sono linearmente indipendenti Ogni insieme ortonormale di vettori di uno spazio -dimensionale costituisce una base per
Ortonormalità di matrici Data una matrice invertibile
, , si dice ortonormale se:
Ovvero la sua trasposta coincide con la sua inversa.
Metodo di ortonormalizzazione di Gram-Schmidt Siano
‖‖ ‖‖ ‖‖ ∑ ‖‖ vettori ortonormali che per definizione equivale a scrivere:
Costruiamo ora una matrice le cui colonne considerazione e sappiamo che:
sono i vettori ortonormali presi in
costituisce il vettore proiezione di su su . Il metodo di Gram-Schmidt Gram-Schmidt costruisce vettori Passo 1 Poniamo
ortonormali.
o
Passo 2 o
infatti
Passo 3 o
<
-esimo passo o
Si prova che
In sintesi, partendo da una matrice di partenza , , calcoliamo una matrice ortonormalizzata di nome , , tralasciando una quantità quantità che chiamiamo chiamiamo . Allora .
Fattorizzazione QR 27
Metodi numerici per l’informatica 2013/2014
, , ( )
Data una matrice quadrata possiamo sempre trovare una fattorizzazione tale che , , dove ed hanno le stesse dimensioni di , , ammette inversa ( ) ed è triangolare superiore del tipo:
In generale per una matrice qualsiasi potremo sempre trovare una decomposizione questo caso e avrà le stesse dimensioni di . Se
ma in
Se
Un elemento qualsiasi di fattorizzata con questo metodo, nel caso che scriverlo nel seguente modo:
, , è possibile
Autovalori e autovettori
Data un matrice quadrata sistema omogeneo:
, , viene detto autovalore di uno scalare
per il quale, il seguente
ammette soluzioni . Tali soluzioni sono dette autovettori di , , corrispondenti corrispondenti all’autovalore . In sostanza, un vettore non nullo è un autovettore quando nella trasformazione lineare esso viene trasformato in un multiplo di . Ogni coppia del tipo è è chiamata autocoppia di . L’insieme degli autovalori distinti, denotato con , , è chiamato spettro di . Tipicamente la cardinalità dello spettro è minore o uguale al grado del polinomio. È possibile definire anche un raggio spettrale definito dalla quantità: Il calcolo degli autovalori è un problema di tipo non lineare, in quanto esso equivale al ricercare le radici della seguente equazione algebrica in , , detta equazione caratteristica: caratteristica:
Le soluzioni (o radici) del polinomio caratteristico che effettivamente andremo a calcolare, rappresentano gli autovalori . è è singolare L’insieme contiene tutti gli autovettori associati a . Chiameremo contiene autospazio di Dal punto di vista geometrico, l’equazione afferma che sotto trasformazione di , , gli autovettori apportano solo un cambiamento in lunghezza o segno (l’orientamento di in è lo stesso di ). L’autovalore è semplicemente la quantità di “allungamento” o “accorciamento” alla quale l’autovettore è soggetto quando trasformato da .
28
Metodi numerici per l’informatica 2013/2014
Figura 4 - Autovettore sotto trasformazione di una matrice
̅ ∏
Sotto elenchiamo alcune proprietà generali valide per il polinomio caratteristico: Il polinomio caratteristico di è . Il grado di è è e il coefficiente di grado massimo nel polinomio è L’equazione caratteristica di è Gli autovalori di sono le soluzioni dell ’equazione caratteristica o, equivalentemente, le radici del polinomio caratteristico In generale ha autovalori, ma a volte possono essere numeri complessi (anche se le componenti di sono numeri reali), e alcuni autovalori possono essere ripetuti Se contiene solo numeri reali, allora i suoi autovalori complessi devono apparire in coppie coniugate, cioè se allora allora
Un importante risultato si raggiunge considerando l’insieme di autovalori distinti matrice . Se è è l’insieme delle autocoppie per , , allora l’insieme è linearmente indipendente. Conoscendo gli autovalori di una matrice quadrata come:
di una
possiamo calcolare il suo determinante
e il suo trace come:
Nota. Non posso calcolare gli autovalori di una matrice rettangolare considerare la matrice o che sarà sicuramente quadrata.
, , ma al massimo posso
Autocoppie per potenze di matrici
Se consideriamo un’autocoppia di di una matrice quadrata , , allora possiamo dire che è è un’autocoppia della potenza -esima di , , . Anche per una matrice potenza possiamo considerare il suo sistema associato. Se prendiamo un autovettore possiamo scrivere allora:
Molteplicità algebrica e geometrica di un autovalore
Per molteplicità algebrica di un autovalore, si intende il numero di volte in cui quell ’autovalore 29
Metodi numerici per l’informatica 2013/2014
compare come radice del polinomio caratteristico Quando , , è detto autovalore semplice.
. Si indica con
.
La molteplicità geometrica di un autovalore è la dimensione dell’autospazio associato a . In altre parole la molteplicità geometrica è il numero massimo di autovettori linearmente indipendenti associati a . Si indica con e e sarà quindi uguale a:
Quando gli autovalori hanno stesse molteplicità algebriche e geometriche, cioè , , sono chiamati autovalori semisemplici di . Possiamo dire che un autovalore semplice è sempre semisemplice, ma non viceversa. In generale per una matrice e per ogni , , vale la seguente disuguaglianza: disuguaglianza:
Similarità
Date due matrici quadrate ,, si dicono simili , per definizione, se invertibile (non trasformazione di similarità su . singolare con ) . Il prodotto è detto trasformazione Proprietà di due matrici simili: Due matrici simili hanno gli stessi autovalori con le stesse molteplicità algebriche e le stesse molteplicità geometriche. Formalmente: sono simili Se due matrici sono simili, hanno lo stesso trace e lo stesso determinante. Dimostriamo l’uguaglianza del determinante. Sia :
-
Per cui le due matrici hanno lo stesso polinomio caratteristico e quindi hanno gli stessi autovalori con le stesse molteplicità algebriche. Se è autovettore di corrispondente all’autovalore , , risulta: Perciò il vettore
è autovettore di corrispondente a .
Le riduzioni di riga non conservano gli autovalori. Tuttavia, matrici simili hanno lo stesso polinomio caratteristico, quindi hanno gli stessi autovalori con le stesse molteplicità. Attenzione! Matrici simili non hanno gli stessi autovettori.
Matrice diagonalizzabile
,
Data una matrice quadrata con autovalori tutti distinti , , possiamo dire che è diagonalizzabile se e solo se è simile ad una matrice diagonale. In questo caso gli autovalori della matrice sono tutti linearmente indipendenti. Viceversa se tutti gli autovalori di sono distinti la matrice è diagonalizzabile. Formalmente possiamo scrivere:
⇔ si dice diagonalizzabile
invertibile
Le colonne della matrice costituiscono un insieme completo di autovettori linearmente indipendenti associati ai di di , , cioè ogni coppia è è autocoppia di . 30
Metodi numerici per l’informatica 2013/2014
Se una matrice non ha tutti gli autovalori distinti, può non essere diagonalizzabile e questo accade se per almeno un autovalore di la molteplicità geometrica è minore della corrispondente molteplicità algebrica. Si noti che una matrice simmetrica è diagonalizzabile.
Metodo delle potenze Il metodo delle potenze permette di ottenere una stima dell’autovalore dominante di una matrice e dell’autovettore ad esso associato. Si consideri una matrice quadrata con autovalori . L ’autovalore si dice autovalore dominante se e solo se il suo modulo è più grande del modulo dei restanti autovalori:
* ̅ ∑ * ̅ ̅ ∑ * * [ ] ̅ ̅
Si supponga, per semplicità, che ammetta autovettori linearmente indipendenti che quindi formeranno una base di . Denotiamo con gli autovettori di associati agli autovalori . Possiamo scrivere allora: Consideriamo ora un vettore iniziale degli autovettori :
scelto arbitrariamente in
e rappresentiamolo lungo la base
L’unico vincolo che imporremo su è che non sia ortogonale ad , , cioè A partire dal vettore iniziale , , generiamo la successione: successione:
.
Si ottiene facilmente che:
Considerando la componente di indice
, , componente di massimo massimo modulo di di , , segue che:
Per molto grande:
cioè si allinea all’autovettore dominante . La successione degli scalari generata dal metodo delle potenze converge all’autovalore dominante , , cioè:
31
Metodi numerici per l’informatica 2013/2014
̅ ̅ ‖‖ ‖‖ → ‖‖
La velocità di convergenza dipende dal rapporto : tanto più è piccolo, tanto più rapidamente converge. Quando la convergenza può risultare eccessivamente lenta. In questa situazione il metodo viene usato per ottenere solo una stima iniziale da migliorare successivamente con un metodo più veloce, ad esempio il metodo delle potenze inverse. Assegnata una approssimazione di di un autovalore , , l’algoritmo del metodo delle potenze inverse permette di calcolare una autocoppia di una matrice diagonalizzabile di , , applicando il metodo delle potenze alla matrice . Se allora allora è l’autovalore dominante di , , infatti: Il metodo delle potenze inverse è: dove con
scalare tale che
.
Se è reale e ha molteplicità la convergenza è molto lenta. Andando a costruire una successione normalizzata in norma infinito, per all’autovettore normalizzato nella stessa norma, cioè:
, questa si va ad allineare
Successione dei coefficienti di Rayleigh
La successione di Rayleigh è una successione numerica computazionalmente più stabile rispetto alla successione dei rapporti tra due componenti fissate di due vettori successivi . Serve ad approssimare l’autovalore dominante. Il quoziente di Rayleigh di un autovettore è l ’autovalore associato. Data una matrice e un autovettore , , il quoziente di Rayleigh associato associato equivale a:
‖‖ **
In altre parole la proiezione del vettore norma del vettore , , tende a .
sulla retta di azione del vettore
, , normalizzata rispetto alla
Autovalori della matrice inversa
Si può dimostrare che, data una matrice quadrata invertibile con autocoppie autovalori sono tutti diversi da zero, le autocoppie della matrice inversa sono del tipo: Se gli autovalori sono in relazione d ’ordine del tipo autovalori della matrice inversa come:
e i cui
, , posso determinare gli
Anche in questo caso posso applicare il metodo delle potenze per approssimare l ’autovalore dominante che risulta però essere l ’autovalore più piccolo (perché reciproco) della matrice di partenza . Per la matrice inversa
possiamo scrivere la seguente equazione per il sistema omogeneo associato: 32
Metodi numerici per l’informatica 2013/2014
⇔
Applicazione del metodo delle potenze per approssimare un autovalore e un autovettore generico
Data una matrice con autovalori ,, ipotizziamo di avere a disposizione un numero , , con che è una approssimazione di un autovalore di ( ). Considero una matrice , , allora possiamo scrivere scrivere per definizione che : Posso anche scrivere: La nuova quantità La matrice inversa
rappresenta l’autovalore della matrice avrà autovalore approssimato:
.
Se non ho informazioni a priori sull ’esistenza dell’autovalore dominante, posso effettuare il cosiddetto shift, cioè posso sottrarre ad ogni autovalore dello spetto della matrice un certo numero fissato , , per avere la possibilità di riordinare gli autovalori e determinarne in questo modo il dominante (o il più piccolo).
̅ ̅
Per verificare che il metodo delle potenze converge, calcolo lo scarto tra due iterate successive. Se questa differenza è più piccola di una certa tolleranza prefissata , , allora sto convergendo: convergendo:
Teorema di Schur
Data una matrice con autovalori ,, la matrice è simile ad una matrice triangolare superiore a blocchi in cui gli elementi diagonali convergono verso gli autovalori di , , cioè . Cioè invertibile dove ,, cioè ogni elemento diagonale in approssima gli autovalori della matrice . Il teorema di Schur mi dice anche che ortonormale .
Metodo QR per il calcolo degli autovalori e autovettori dominanti
Data una matrice , , si costruisce una successione di matrici simili a quelle di partenza, di cui simili voglio approssimare gli autovalori, che convergeranno ad una triangolare superiore, sotto opportune ipotesi, mediante trasformazioni ortonormali. 1° passo: pongo e costruisco la fattorizzazione di , , cioè decompongo dove è ortonormale e è triangolare superiore. è tale che . Costruisco ora la matrice successiva nella successione, come scambio dei fattori di , , cioè:
A questo punto verifico se : Combinando la relazione
è effettivamente simile ad
, , cioè se hanno lo stesso spettro
con il risultato appena ottenuto posso scrivere:
Ho appena dimostrato che la matrice ad per ipotesi 2° passo: calcolo la fattorizzazione
è simile alla matrice , , che a sua volta, è proprio uguale . Costruisco come prima la matrice successiva nella
33
Metodi numerici per l’informatica 2013/2014
successione, cioè
come scambio dei fattori di
:
Similmente a quanto fatto per il passo precedente avremo quindi che: e combinando i due risultati appena ottenuti avrò:
<
-esimo passo: avrò costruito la matrice
simile ad , , fatta nel seguente modo: modo:
dove
Un corollario del teorema di Schur afferma che quanto detto nel campo complesso, vale anche per il reale.
Teorema di convergenza del metodo QR
| |
Data una matrice ,, sotto opportune ipotesi si dimostra che la successione delle matrici converge verso una matrice triangolare superiore a blocchi, nella quale gli elementi diagonali convergono verso gli autovalori , , con . Di conseguenza il prodotto mentre . Per un si dimostra che sarà formata da colonne che sono esattamente gli autovettori di . Per fermare il processo di fattorizzazione devo verificare che la differenza tra un elemento diagonale e quello sotto tende a 0 o comunque rimane sotto una certa soglia , , cioè:
Decomposizioni a blocchi
Un’altra maniera di considerare “porzioni” di matrici è quella di decomporre a blocchi una matrice; questa operazione si esegue tracciando delle righe orizzontali e verticali che “tagliano” la matrice in sottomatrici, ciascuna delle quali è formata dalla intersezione di righe e colonne consecutive consecutive ed è chiamata blocco. Si ottengono così delle righe e delle colonne di blocchi, e si parla di dimensioni a blocchi della matrice.
SVD (Decomposizione a valori singolari)
1 0 ,
Sia data una matrice rettangolare , , con . La decomposizione (spettrale) a valori singolari impone la costruzione di tre matrici , e , , tali che: è ortonormale, cioè vale la seguente uguaglianza: è ortonormale, quindi vale che è matrice triangolare a blocchi fatta nel seguente modo:
dove
è diagonale del tipo:
con in modo tale che la matrice di partenza si possa riscrivere come: 34
Metodi numerici per l’informatica 2013/2014
- - . / . / -- . / -. . / [] - -
Si chiameranno vettori singolari sinistri le colonne della matrice , , vettori singolari destri le colonne della della matrice e e valori singolari di i numeri (saranno (saranno sempre reali anche se parto da una matrice complessa. Questo perché non posso stabilire una relazione d’ordine tra numeri complessi). Posso scrivere che:
In particolare, considerando il prodotto ottenendo la matrice seguente:
,, sto moltiplicando le righe di
Questa decomposizione mi restituisce matrici, ognuna con diversi da 0.
con i valori diagonali di , ,
, , tante quanti sono i valori singolari
Per definizione di prodotto righe-colonne, le colonne di sono combinazioni lineari delle prime colonne di attraverso le generiche colonne della matrice di destra. costituisce una base dello spazio colonne perché ha colonne tutte ortonormali ortonormali (per definizione). Anche per la matrice trasposta t rasposta
possiamo determinarne la sua decomposizione a valori singolari:
Lo spazio generato dalle colonne di è lo spazio generato dalle colonne di , , o anche lo spazio generato dalle righe di . costituisce quindi una base dello spazio righe di .
Proprietà sulla decomposizione SVD Sia data una matrice rettangolare singolari dove Valgono le seguenti proprietà: 1. Dimostrazione.
, , con , ,
e e
, , la sua decomposizione in valori .
Prendo un
Osserviamo che dove
e e
posso posso riscriverla come matrice a blocchi , , quindi continuo continuo a scrivere:
Questa proprietà ci dice che è ortogonale alle prime colonne di . Poiché è unitaria allora deve essere generato come combinazione lineare delle restanti colonne di 2. . Dimostrazione. Ricordando che , , prendo un , , che posso scrivere come . Osserviamo che posso riscriverla come matrice a blocchi dove e e , , quindi continuo a scrivere:
35
Metodi numerici per l’informatica 2013/2014
- . / ⇔ * ./ * . / * ( ) ‖ ‖ ∑ ‖ ‖ ∑ ‖ ‖ ‖ ‖
3. 4. 5. 6. I
dove dove
sono gli autovalori di
Premettendo che della forma:
con autovettori
perché diagonali quindi simmetriche, osserviamo che il prodotto
sarà
Per il teorema di Schur, possiamo affermare quindi che la matrice è simile alla matrice , , attraverso la trasformazione trasformazione unitaria . Da quello appena affermato, diciamo che gli autovalori non nulli di sono i quadrati dei valori singolari di , , mentre gli autovettori di di sono 7. I sono gli autovalori di con autovettori Allo stesso modo di prima, applicando Schur possiamo dire che la matrice matrice , , attraverso una trasformazione trasformazione unitaria unitaria . Le colonne di sono gli autovettori di
è simile alla
8. 9. La norma-2 della matrice rettangolare, decomposta in SVD, è uguale a: dove
è è il raggio spettrale della matrice quadrata
. In generale:
Data una matrice quadrata , , posso calcolarne la norma-2, che non sarà la norma euclidea perché non stiamo nello spazio vettoriale . Mi ci troverei se vettorizzassi la matrice, creando un’unica colonna con tutte le colonne della matrice stessa. Sarebbe in questo caso la norma di Frobenius (vedi punto 8.)
Teorema di Eckart-Young (SVD troncata)
Sia data una matrice
con
, , posso decomporre decomporre la matrice in SVD:
Ipotizziamo di non volere l’intero potere informativo tirato fuori dalla decomposizione, ma di essere soddisfatti da una sua buona b uona approssimazione. Prendiamo per questo un numero e mi chiedo quale potrebbe essere la migliore approssimazione con . Scegliamo allora una matrice , , quindi delle stesse dimensioni di partenza, con 36
Metodi numerici per l’informatica 2013/2014
‖‖ ‖‖ ‖ ‖ ‖ ‖
tale che le differenze
Il teorema mi dice che anche con
siano le più piccole possibili.
posso decomporre la matrice di partenza in SVD:
Si dimostra che, equivalentemente per la norma-2 o la norma di Frobenius: La migliore approssimazione di una matrice con rank fissato è la SVD troncata (posso utilizzare il metodo delle potenze). Chiaramente con questo metodo stiamo buttando via una parte del potere informativo di , , costituita dall’informazione associata agli autovalori troncati. Per quantificare questo scarto calcoliamo:
} ‖ ‖
In norma di Frobenius abbiamo:
SVD per il filtraggio dei dati
La SVD può essere utilizzata nelle applicazioni per effettuare un ordinamento di dati rumorosi ed estrarre informazioni rilevanti. Sia data una matrice con di dati reali. In quanto tale è stata costruita registrando dati probabilmente perturbati da una certa quantità di rumore “bianco” (cioè sparso uniformemente e casualmente in tutti i dati). Costruisco la SVD con rank massimo della matrice :
〈 〉⇔ 〈 〉 〈 〉
Chiamo
con Le matrici scalare
di dimensioni
. Posso allora scrivere che è stata decomposta de composta come:
. Le sono sono le approssimazioni migliori a rank 1 di . costituiscono un insieme di matrici ortonormali rispetto al seguente prodotto .
Si prova che:
I valori singolari li posso reinterpretare come la proiezione della matrice dei dati su una delle basi , , quindi mi dicono quanto è grande la proiezione sugli assi cartesiani. Ciascuna matrice rappresenta rappresenta un asse nel mio riferimento di assi cartesiani su cui proietto i , , quindi i valori singolari mi dicono quanto è grande la proiezione delle informazioni direzionali della matrice sugli assi.
37
Metodi numerici per l’informatica 2013/2014 SNR (rapporto segnale/rumore)
Vale la seguente disuguaglianza: di suguaglianza:
poiché moltiplico le per per i valori singolari che che hanno peso decrescente perché ordinati dal più grande al più piccolo. In altre parole la quantità di segnale presente nella prima componente sarà maggiore di quella contenuta nella seconda, che a sua volta sarà maggiore di quella contenuta nella terza componente, e così via. Per diminuire il rumore all’interno della matrice dei dati, il teorema di Eckart-Young mi permette di tagliare alle prime componenti utili, approssimando con . Eliminando alcuni termini, sebbene perdiamo una piccola parte del segnale complessivo, rimuoviamo un’ampia parte delle componenti del rumore totale in . Per determinare il migliore valore di ,, di solito si applicano delle procedure empiriche che variano da applicazione ad applicazione. Un meccanismo iniziale per scegliere potrebbe essere basato sull’osservazione del gap tra il più grande e il più piccolo valore singolare. Non riuscirò ad eliminare del tutto il rumore che affligge i miei dati, poiché è adimensionale e non conosco a priori la sua natura. Inoltre, come detto, è uniformemente distribuito nella matrice delle informazioni . In molti casi la T-SVD permette di filtrare il rumore in senza una perdita significativa di informazione.
‖ ‖ , ( ) ‖‖ ‖‖ ‖ ‖ ‖‖ ‖‖ Interpretazione geometrica della SVD
Sia data una matrice e prendiamo un vettore sulla sfera euclidea che avrà per definizione . Cerchiamo di capire che tipo di deformazione apporta una decomposizione SVD sulla sfera unitaria. Supponiamo che sia invertibile con , , quindi massimo, e calcoliamo la SVD di di : dove
e
.
Per quanto riguarda l’inversa della matrice (esiste poiché è non singolare dal momento che è invertibile con e ricordando che l’inversa di una matrice ortonormale è la matrice stessa), abbiamo che la sua SVD sarà uguale a: dove:
Prendo un vettore sulla sfera euclidea:
L’ultimo passaggio si spiega col fatto che le trasformazioni ortogonali mantengono invariata la norma
38
Metodi numerici per l’informatica 2013/2014
euclidea3. Posto
‖ ‖ ‖ ‖ [] ( ) ‖ ‖ ‖‖ * * * ‖‖ , , posso continuare continuare a scrivere:
Osservando che il vettore
allora la norma
sarà del tipo:
sarà uguale a:
Ho ottenuto l’equazione di un ellissoide in . I valori singolari di una matrice forniscono informazioni sulla quantità di distorsione che si ha utilizzando la trasformazione lineare definita da . Possiamo vedere ciò analizzando come distorce una sfera. Sia una matrice non singolare e sia la sfera di raggio unitario in . La natura la dell’immagine si può ottenere considerando la SVD di : si
Possiamo affermare che è l’ellissoide il cui -esimo semiasse ha lunghezza . Poiché è una matrice ortogonale (quindi conserva la lunghezza), influisce solo sull’orientazione di . Segue che è è un ellissoide il cui -esimo semiasse è . Il grado di distorsione di una sfera unitaria sotto la trasformazione lineare è misurato da: che rappresenta il rapporto tra il più grande valore singolare e quello più piccolo.
La geometria della SVD quindi mi dice che, prendendo una matrice di dati, possiamo riguardare questi dati andando a posizionarci in un sistema di riferimento cartesiano tale da poterli guardare nella direzione massima entro cui questi dati si dispongono. Questa particolare direzione verrà chiamata direzione di massima varianza dei dati.
Richiami su alcuni concetti di analisi matematica Funzione univariata Sia
3
Sia
una funzione univariata, posso dire che: è continua se il suo grafico non ha salti (per ogni punto esiste il suo limite sinistro e limite destro) è derivabile se per ogni punto esiste il limite del rapporto incrementale destro e sinistro (non deve avere cuspidi o comportamenti asintotici). Inoltre, devo poter calcolare la retta tangente in ogni punto alla funzione Gli zeri di sono quelle in cui il grafico di interseca l’ascissa, cioè quando Un minimo di è definito come: , , mentre un massimo di è definito
un vettore e
‖‖ ‖‖ ortogonale tale che
. Allora:
39
Metodi numerici per l’informatica 2013/2014
come: , , I punti di minimo e di massimo si determinano calcolando la derivata prima di e ponendola uguale a 0, cioè:
La concavità del grafico si determina studiando il segno della derivata seconda di , , cioè: che sarà maggiore di zero se la funzione presenta una concavità verso l ’alto, minore di zero altrimenti
Funzione multivariata
Sia una funzione multivariata, che prende un vettore e restituisce un numero . Il grafico di questa funzione multivariata è contenuto in un iperspazio di dimensioni e sarà una superficie -dimensionale. Preso un punto su questa superficie -dimensionale, posso definire il suo spostamento nelle varie direzioni calcolando le derivate prime rispetto ad ogni variabile della funzione. Partendo da definita come:
,
determino il movimento lungo un asse ,, calcolando, come detto, la derivata parziale prima lungo quell’asse, tenendo fisse le altre derivate parziali prime lungo gli altri assi. Sto costruisco il cosiddetto vettore gradiente formato dalle derivate parziali prime di ogni componente della della funzione :
[]
perciò L’equazione che mi permette di determinare i punti di minimo e massimo è:
Una volta risolta, ottengo delle soluzioni in che, però, non mi dicono quali sono minimi e quali sono massimi. A questo ci pensa la derivata parziale p arziale prima di ogni elemento del gradiente. Quindi possiamo immaginare di definire una funzione di derivata parziale prima come: per poi applicare questa funzione agli elementi di
, , ottenendo quindi: quindi:
che è la derivata parziale seconda della funzione rispetto a e e . Si tenga presente che, in generale, vale la seguente proprietà:
cioè l’ordine di derivazione parziale è ininfluente. Poiché otterrò derivate parziali prime da ogni derivata parziale prima contenuta nel gradiente (facendo di nuovo variare tutte le ),), alla fine avrò una matrice di derivate parziali seconde, che chiamo matrice Hessiana , così fatta:
40
Metodi numerici per l’informatica 2013/2014
( ) 0 1 ( )
Per la proprietà vista prima possiamo dire che l ’Hessiano è simmetrico rispetto alla diagonale principale ed è definito positivo . Per determinare la concavità impongo che:
Funzione vettoriale
Sia
una funzione vettoriale in cui dato un generico vettore . La funzione sarà formata nel seguente modo:
dove ogni
possiamo calcolare la sua
, perciò il valore che la funzione funzione assume in un vettore sarà del tipo:
Inoltre per ogni possiamo possiamo definire le derivate parziali cioè: e di conseguenza il gradiente delle :
La matrice Jacobiana della funzione di partenza
è la matrice così fatta:
Polinomio di Taylor Per una funzione scalare
Sia una funzione scalare sufficientemente regolare4. Preso un posso scrivere il polinomio di Taylor di secondo grado come: 4
cioè continua con derivate continue di un ordine sufficientemente alto.
41
, per ogni in un intorno di
Metodi numerici per l’informatica 2013/2014
‖ ‖ ‖ ‖ ‖ ‖ - -
dove il punto è interno all’intervallo definito dai punti e . Per una funzione vettoriale
Considero ora una funzione sufficientemente regolare; preso un intorno di posso scrivere il polinomio di Taylor come:
, per ogni in un
dove il punto è in un intorno i ntorno di . Per una funzione vettoriale
Infine, se avessi una funzione vettoriale definita come sufficientemente regolare, preso sempre un elemento , per ogni nell’intorno di potrei scrivere il polinomio di Taylor come: dove
sono gli ordini superiori del polinomio. sono
Metodo delle bisezioni
Ci poniamo il problema di calcolare gli zeri di una certa funzione scalare , cioè trovare quegli tali che , , con punti di intersezione del grafico della funzione con l’asse ( ). Teorema degli zeri. Data una funzione continua e allora
Metodo delle tangenti di Newton-Raphson Per le funzioni scalari Sia
una funzione scalare. Preso un in un intorno di costruisco il polinomio di Taylor:
dove è la retta tangente al grafico di rappresenta gli ordini superiori del polinomio.
nel punto
Figura 5 - Metodo delle tangenti di Newton
Approssimiamo il polinomio di Taylor al primo ordine e poniamolo uguale a 0: In generale, la formula della retta tangente è del tipo:
42
e
Metodi numerici per l’informatica 2013/2014
‖ ‖ ‖ ‖ . / ipotizzando che passi per il punto di coordinate . Il coefficiente angolare è trattasi di retta tangente, di conseguenza l’equazione generale scritta prima diventa:
, , poiché
tenendo strettamente presente . Iterando il procedimento, il generico -esimo punto di approssimazione lo ottengo dal precedente -esimo -esimo, fino a giungere ad una buona approssimazione di :
Per le funzioni vettoriali
Sia una funzione vettoriale sufficientemente regolare. Preso un generico vettore , posso scrivere il polinomio di Taylor per l’approssimazione della funzione in un certo punto, in questo modo: dove è un iperpiano passante per il punto e tangente alla superficie generata dal grafico di e sono sono gli ordini superiori. Procedendo come abbiamo fatto per le funzioni scalari, considero il polinomio di Taylor approssimato al primo ordine, e lo pongo uguale a 0:
La nuova approssimazione del metodo di Newton-Raphson sarà del tipo:
con soluzione del precedente sistema lineare
.
Nel caso in cui ho una funzione che lavora nello stesso spazio, cioè e lo Jacobiano ha rank massimo con colonne linearmente indipendenti, posso scrivere la soluzione del sistema come: A questo punto per calcolare il passo
-esimo -esimo del metodo di Newton-Raphson posso scrivere:
Definizione di derivata prima
oppure si può anche scrivere come:
Metodi di ottimizzazione non vincolata Per una funzione scalare
Sia una funzione obiettivo sufficientemente regolare. Vogliamo conoscere il . Teorema. Affinché un elemento sia un punto di minimo di , , devono dev ono essere soddisfatte contemporaneamente
43
Metodi numerici per l’informatica 2013/2014
le seguenti condizioni:
La ricerca del punto di minimo quindi non coinvolge più la funzione di partenza ma le sue derivate e . Chiamo con la funzione derivata prima di e applico il metodo di Newton-Raphson costruendo, a partire da un punto sufficientemente vicino alla radice di ( ), la successione di approssimazioni:
‖‖ ./
con . Tornando alla funzione
con
, , possiamo scrivere scrivere che:
.
Per una funzione vettoriale Sia
una funzione. Il problema del minimo di traduce nel trovare:
Se il problema della ricerca del minimo sarà non vincolato , invece se Le condizioni che ci assicurano l’esistenza del punto di minimo sono: si dice di minimo assoluto o globale di se si dice di minimo relativo o locale di se
sarà vincolato.
Teorema. Il punto , , interno a , , è punto di minimo relativo relativo per una funzione funzione se risulta che: 1. 2. è definito positivo ( . Essendo la matrice Hessiana simmetrica significa che lo spettro positivi)
,, cioè tutti gli autovalori devono essere strettamente
Curve di livello
Se ho una funzione e prendo un qualsiasi punto di coordinate e , , calcolando il valore di in quel punto, ho definito un piano che taglia il paraboloide in tanti cerchi concentrici, parallelo al piano di coordinate .
‖ ‖
Metodo di Newton per l ’ottimizzazione vincolata
Sia una funzione vettoriale. Partiamo dal polinomio di Taylor della funzione, ipotizzando di considerare un punto iniziale e decidendo di muoverci nel suo intorno: Per lo scopo dell’ottimizzazione, considero il polinomio di Taylor scritto sopra, arrestato al secondo ordine: e supponiamo che abbia un punto di minimo in secondo odine deve essere posto uguale a zero, cioè: 44
. Allora il gradiente del polinomio arrestato al
Metodi numerici per l’informatica 2013/2014
. / . /
Possiamo scrivere allora che:
Per risolvere questa equazione ragioniamo in generale. Consideriamo: riscriviamo:
. Poniamo
e
in cui la -esima -esima componente la calcoliamo nel seguente modo:
Ritornando al polinomio di Taylor scritto qualche rigo fa e impostandolo uguale a 0, ottengo:
Supponendo che
, , quindi massimo, la nuova nuova approssimazione approssimazione è:
con soluzione del sistema lineare:
da cui ottengo che la soluzione di questo sistema è:
Sia
una funzione di cui si vuole calcolare il minimo:
Inoltre sia
un vettore. Esso si dice direzione di discesa per un elemento
se accade che:
In altre parole, il prodotto scalare tra un vettore direzione e il vettore gradiente di una funzione si definisce in analisi derivata direzionale della funzione e valuta il cambiamento della funzione in una particolare direzione.
Metodi di discesa
Un metodo numerico di discesa è un metodo basato sull ’idea che, fissato un punto iniziale e una certa direzione di discesa ,, la funzione possa crescere o decrescere a seconda che la derivata direzionale: sia negativa o positiva, ossia a seconda che l’angolo tra e è maggiore o minore di . Per questo motivo tali metodi sono anche noti con il termine di metodi del gradiente e differiscono tra loro per le diverse scelte della direzione . Sia una funzione sufficientemente regolare, ovvero dotata delle derivate che di volta in volta vengono richieste. Un metodo di discesa procede nel seguente modo: Sia il punto di minimo, supponiamo di essere al passo -esimo e di aver costruito l’approssimazione Si sceglie un vettore direzione di decrescita per la funzione (cioè tale che )e si determina il punto che minimizza la sulla semiretta passante per e di direzione , , cioè
45
Metodi numerici per l’informatica 2013/2014
Il passo di discesa che mi porta dopo un certo numero di iterate al minimo (locale) della funzione, devo sceglierlo in modo tale che decrementi la funzione di cui voglio trovare il minimo, quindi devo considerare:
‖ ‖
Poiché è una funzione univariata in , , la posso scrivere come con . La direzione di massima discesa la ottengo quando l ’angolo formato dal gradiente e la direzione in cui voglio scendere sono opposti, cioè quando: Il metodo di discesa si ferma quando le quantità tolleranza prestabilita. Steepest descent (massima discesa)
oppure
sono minori di una certa
È un metodo iterativo che, a partire da una stima iniziale del punto di minimo, genera una successione di approssimazioni , ognuno delle quali ottenuta ottenuta mediante la soluzione di un problema di minimo unidimensionale. La convergenza è, in generale, di tipo lineare e in alcuni casi estremamente lenta. Il motivo di tale comportamento è da ricercare nel fatto che il metodo non tiene conto delle derivate seconde di (ovvero la curvatura) che determinano il comportamento della funzione in un intorno del punto di minimo. Se considero come approssimazione del minimo al passo -esimo e quale direzione di discesa scelgo , , il metodo dello steepest descent mi dice che l ’approssimazione successiva del minimo la ottengo in questo modo:
-
Infatti la direzione del gradiente negativo è quella lungo la quale la funzione decresce più rapidamente per i primi passi, cioè per piccolo. Ci sono tre tipi di steepest descent: Passo costante allora:
./ ./ *
Passo ottimale:
con Passo costante
, , allora come prima:
Metodo di Newton usato come metodo di discesa
Il metodo di Newton costituisce un metodo di discesa perché rispetta la condizione della direzione di discesa: oppure
In particolare, ricordando che il metodo di Newton ammette soluzione per
, , avrò:
Siamo sicuri che la quantità in parentesi è positiva perché l ’hessiano della funzione è definito positivo. Il metodo di Newton è un metodo di discesa che rispetta l ’ipotesi di convergenza quando si prende un di partenza sufficientemente vicino a , , minimo della funzione. funzione.
Ottimizzazione vincolata 46
Metodi numerici per l’informatica 2013/2014
{ 01 ( )
Sia una funzione vettoriale. Vogliamo cercare il minimo di questa funzione, non in tutto il suo dominio ma in un suo sottoinsieme , , definito come insieme dei vincoli : Se è espresso sotto forma di relazioni funzionali (che mi dicono come è fatto il vincolo) del tipo:
con ogni
, allora la funzione lagrangiana lagrangiana associata associata
definita come
sarà:
alla quale possiamo aggiungere altre funzioni vincolanti. A questo punto calcolo il minimo di questa funzione lagrangiana:
Nel caso in cui avessi un certo numero di vincoli che devo soddisfare nella minimizzazione, dovrò ricercare tanti coefficienti quanti sono i vincoli. Perciò troverò in . Il gradiente per una funzione lagrangiana è: dove
sarà uguale a:
Condizioni KKT per le lagrangiane
Sono condizioni che mi assicurano l ’esistenza di un minimo per una funzione lagrangiana. Possiamo dire che è minimo per
è definito positivo Affinché questo punto di minimo della funzione lagrangiana sia anche il punto di minimo della funzione vincolata dovrò avere che
Metodi per la penalizzazione I metodi di penalizzazione e di barriera sono metodi per approssimare problemi vincolati, mediante una successione di problemi non vincolati. Nel caso di metodi di penalizzazione, l’approssimazione si ottiene aggiungendo alla funzione obiettivo del problema originario, un termine che richiede un alto costo nel caso di violazione dei vincoli. Nel caso dei metodi di barriera, l’approssimazione si ottiene aggiungendo alla funzione obiettivo del problema originario, una funzione di barriera che favorisce i punti interni alla regione di ammissibilità rispetto ai punti di frontiera. Il grado con cui il problema non vincolato approssima il problema vincolato originario è controllato da un 47
Metodi numerici per l’informatica 2013/2014
parametro che per genera approssimazioni molto accurate. Le problematiche associate ai metodi di barriera o di penalizzazione sono: Problema di convergenza: ovvero stimare quanto il problema non vincolato approssima quello vincolato al crescere del parametro Problema pratico: risoluzione del problema non vincolato he approssima il problema originario. Infatti, in generale, all’aumentare del parametro , , si osserva un rallentamento della convergenza di molti algoritmi. Necessita quindi di procedure di accelerazione
Sia una funzione sufficientemente regolare, un sottoinsieme proprio di sotto forma di equazioni e quazioni e disequazioni. Vogliamo risolvere il problema seguente:
contenente vincoli
dove è una funzione di penalizzazione che rende sconveniente allontanarsi dal vincolo che ho prefissato. La funzione la la scelgo in maniera tale che soddisfi le seguenti ipotesi: 1. , , 2. è continua in 3. quando (quando sono sul vincolo non devo essere penalizzato) Scegliendo una successione di coefficienti (detti anche parametri di penalizzazione) con ogni tali che , allora risolvo il problema problema di penalizzazione calcolando calcolando : Prendendo valori di opportuni, il metodo di penalizzazione converge a minimo di su . Detta la successione di punti di minimo ottenuta risolvendo i problemi seguente risultato:
, , vale il
Nelle comuni applicazioni che utilizzano il metodo di penalizzazione pe nalizzazione si sceglie un solo , , accontentandosi quindi di un minimo locale, anche se potrebbe essere molto lontano dal minimo globale della funzione obiettivo. La penalizzazione converge solo al limite.
Problema dei minimi quadrati
‖ ‖
Data una matrice di dati reali minimizzi la differenza , , cioè:
ed un vettore
Se , , è non singolare e equazioni che incognite) allora abbiamo
,, quindi massimo, allora soluzioni.
, ricerchiamo un vettore ; se, invece,
che
(ho più
Applicazioni del problema dei minimi quadrati
Prima di descrivere i metodi di risoluzione del problema ai minimi quadrati lineare, analizziamo alcune delle applicazioni in cui questo problema si presenta. Data fitting
Supponiamo che in certi istanti di misurazione ,, rileviamo il valore misurato su un certo fenomeno fisico, con . Ipotizziamo che ci siano errori esclusivamente sui valori misurati del fenomeno e non sugli istanti temporali e che questi dati siano racchiusi in un insieme di coppie ordinate:
Vogliamo capire l’andamento dei dati per poi predirli in un istante temporale successivo. Andiamo perciò a determinare una funzione che fornisca una stima dell’andamento delle osservazioni, cioè: 48
Metodi numerici per l’informatica 2013/2014
La funzione più semplice che possiamo pensare per approssimare i dati è la retta, che prenderà il nome di retta di approssimazione approssimazione. In ogni istante il valore v alore della funzione la possiamo scrivere nel seguente modo:
Figura 6 - Retta di approssimazione nel metodo dei minimi quadrati
| | { { {
Calcoliamo i coefficienti e della retta in modo che i valori approssimino approssimino i punti senso di minimizzare la somma dei quadrati degli scarti (errori) verticali. L’errore che commettiamo in un certo istante nell nell’approssimazione, corrisponde alla quantità:
nel nel
La somma di questi scarti costituisce una particolare funzione, detta funzione errore , così fatta:
Rendendo minima quella funzione abbiamo una buona approssimazione dell’andamento della funzione obiettivo, cioè:
Risolviamo il problema di minimo calcolando le derivate parziali della funzione errore prima rispetto ad e poi rispetto a ,, ponendole infine uguale a zero. In altre parole risolviamo il seguente sistema lineare:
49
Metodi numerici per l’informatica 2013/2014
+ + + + { { 01 ( ) [ ] , 0 1 * , ( ) ( ) * [ ] [ ] ̅
La scrittura matriciale del sistema precedente è la seguente:
Indichiamo con
la matrice così fatta:
in cui la prima colonna rappresenta la potenza zeresima degli istanti temporali, con degli osservabili:
Infine con chiamo il vettore delle incognite: Calcoliamo ora
mentre
:
sarà:
Dalle ultime due equazioni, possiamo notare che
è il tempo medio di misurazione e:
è la misurazione media del fenomeno fisico. Sto ipotizzando che le osservazioni negli istanti temporali siano distribuite normalmente.
Calcoliamo inoltre la varianza di : 50
il vettore
Metodi numerici per l’informatica 2013/2014
̅ ̅ ̅ ̅ ̅ ̅ ̅ ̅ ̅ ̅ ̅ ̅ ̅ ̅
e di allo stesso modo:
Possiamo inoltre determinare il coefficiente statistico di covarianza lineare dei dati, che coincide col coefficiente di correlazione dei dati standardizzati:
̅ ̅ ̅ ̅ ̅ ̅ ̅ ̅ ̅ ̅ ̅ ̅ 01 + ( ) ( + + )
Il sistema prende il nome di sistema delle equazioni normali ed è associato al sistema . Se gli istanti sono sono tutti distinti, allora . Questo significa che sarà 2 anche , , perciò esisterà l’inversa di ed il sistema delle equazioni normali ammetterà un’unica soluzione. La soluzione del sistema la scriverò, quindi, nella forma:
Calcoliamo la soluzione , , che equivale al trovare le soluzioni al vettore di incognite metodo di Gauss:
51
. Applichiamo il
Metodi numerici per l’informatica 2013/2014
+ ( ) + + ∑ ∑ ∑ { + + { ∑ ∑ + ∑ ∑ ∑ ∑ ∑ ∑ { ∑ ∑ ∑ ∑ ∑ ∑ ∑ ∑ ∑ ∑ ∑∑ { ∑ ∑ ∑ ∑∑ ∑∑∑ ∑ ∑ ∑∑ ∑∑∑ ∑ ∑ ∑ ∑ ∑ ∑ ∑ { ∑ ∑ ∑ ∑ ∑∑∑ ∑ ∑ ∑ ∑ ∑ ∑ ∑ { ∑ ∑ ∑ ∑∑∑∑∑ ∑ ∑ ∑ ∑ ∑ ∑ ∑ {
Passiamo al sistema associato e otteniamo che:
52
Metodi numerici per l’informatica 2013/2014
∑ ∑ ∑ ∑∑∑∑∑ ∑ ∑ ∑ ∑ ∑ { ∑ ∑ ∑ ∑∑∑∑∑ ∑ ∑ ∑ ∑ ∑ ∑ ∑ ∑ ∑ ∑ ∑ {
∑ ∑ ∑ ∑ ∑ ∑ ∑ ∑ ̅ ̅ ∑ ∑ ∑ ̅ ∑ ̅ ..∑∑ ̅ ∑ ̅// ∑ ̅ ∑ ∑ ̅ ∑ ∑ ̅ ̅ ∑ ∑ . / ̅ ̅ ∑ ∑ ∑ ∑ ̅ ∑ ∑ ∑ ̅ . ∑ ̅/ ∑ ̅
Potremmo anche riscrivere i coefficienti e della retta di approssimazione in funzione delle varianze:
Quando il coefficiente trascurabile.
approssima l’unità, i dati sono relazionati linearmente, commettendo un errore
01 ( ) ( )
Ritornando alla funzione obiettivo di partenza, possiamo dire che:
Notiamo che la quantità
è è il risultato della -esima -esima componente di , , cioè:
Continuando a scrivere l’equazione precedente riguardo la funzione obiettivo, ottengo:
Ritornando alla matrice scritta prima e raccogliendo :
Il problema dei minimi quadrati rientra nel contesto più ampio di “regressione lineare”, cioè stiamo
53
Metodi numerici per l’informatica 2013/2014
supponendo di esprimere una o più variabili come combinazione lineare di osservazioni, attraverso delle costanti , , cioè:
̃ . / ⏞
dove è una funzione che rappresenta il rumore contenuto nelle osservazioni (rumore che assumiamo avere media 0 e varianza ). Supponiamo che i dati siano generati dalle seguenti funzioni: . In questo caso i punti non sono correlati linearmente. Posso però scoprire non una relazione lineare tra ascisse e ordinate considerando i dati trasformati in questo modo: . L’equazione della retta allora sarà: con . Per rimandare tutto ad una correlazione lineare passo al logaritmo di ambo i membri ottenendo: . Sostituendo con e con ottengo l’equazione della retta in questa forma: . Le coordinate della funzione saranno del tipo: con . Mediante un opportuno cambio di variabili posso scoprire l’esistenza di una relazione lineare tra e . Infatti passando al logaritmo naturale di entrambi i membri, ottengo:
. Si avranno coppie del tipo
con
. Sostituiamo
ottenendo:
.
Le coordinate dei punti della funzione saranno: La regressione lineare è un ottimo metodo di approssimazione, anche in quei casi in cui, ad una prima vista, non sembra esserci una relazione lineare nella funzione. Curve fitting (approssimazione ai minimi quadrati nel discreto)
Abbiamo visto nel paragrafo precedente come approssimare dei punti tramite una retta, detta retta di approssimazione. Se invece volessimo approssimare l’andamento di questi punti tramite una curva, approssimazione. dovremmo pensare ad un polinomio di approssimazione Infatti avendo a disposizione un insieme di punti:
,
vogliamo costruire un polinomio di grado con . La relazione mi consente di avere un polinomio poco oscillante, che però costituisce una buona approssimazione dell’andamento dei dati. Questa approssimazione la possiamo valutare tramite la differenza tra il valore che assume il polinomio in un certo punto e il valore reale di , , cioè: Con questi scarti possiamo costruire la funzione errore
Il polinomio approssimante
e la rendo minima:
, , in generale, lo posso scrivere scrivere così:
È da notare che il polinomio ha necessità di coefficienti per essere e ssere univocamente determinato. Riscrivo la funzione errore alla luce delle ultime equazioni:
Avendo appena dimostrato che la funzione errore dipende dai coefficienti del polinomio, minimizzare questa funzione sul polinomio significa minimizzarla sui coefficienti, cioè: 54
Metodi numerici per l’informatica 2013/2014
[] ,
Calcoliamo il gradiente di e poniamolo uguale a 0:
La generica -esima componente del vettore gradiente precedente è la seguente:
In generale, quindi:
[] , ∑
Riscriviamo il sistema precedente sotto forma matriciale:
Costruendo la matrice data dai vettori colonna al variare di ottengo:
L’elemento
è il generico -esimo elemento di
55
, , cioè:
Metodi numerici per l’informatica 2013/2014
[ ] , ( ) ( ) ∑‖ ‖‖
In conclusione il sistema che andrò a risolvere per ottenere i coefficienti da porre all’interno del polinomio approssimante, sarà del tipo:
Se
è invertibile ( ,, quindi massimo) allora esiste ed è unica la soluzione , , inoltre esiste ed è unico il polinomio di migliore approssimazione. È importante notare che è simmetrica per costruzione costruzione e non singolare:
Scriviamo il generico elemento della matrice
per
Dimostriamo che Se per assurdo nullo, cioè:
vista prima:
.
è non singolare. allora il sistema
avrebbe una sola soluzione diversa dal vettore
Ipotizziamo per assurdo che tale che Questo significa che tutti gli elementi di quel vettore sono tutti zeri, cioè . Considero il polinomio avente quali coefficienti gli elementi , , cioè:
. con
Poiché un polinomio di grado ammette zeri distinti, con , , allora polinomio nullo, cosa assurda perché dalle ipotesi avevamo detto che .
deve coincidere con il
56
Metodi numerici per l’informatica 2013/2014
‖ ‖‖
L’assurdo è derivato dall’aver supposto che
fosse singolare.
è anche definita positiva perché . Richiedere che è definita positiva equivale ad affermare che il punto stazionario è un punto di minimo. Infatti è la matrice hessiana associata alla funzione obiettivo nel problema del minimo.
57
Metodi numerici per l’informatica 2013/2014
ARTICOLI E DISPENSE Pseudo-inversa
Data una matrice rettangolare chiama pseudoinversa la matrice proprietà:
⏞ ⏞ ⏞ ⏞
ed una sua scomposizione in valori singolari , , si (anche indicata col simbolo ) che soddisfa queste quattro
1. 2. 3. 4. Si dimostra che è simmetrica, come anche . Il concetto di pseudoinversa generalizza il concetto di matrice inversa.
‖ ‖ ‖ ‖ ‖‖
Avendo decomposto in SVD si prova che la matrice inversa generalizzata di si scrive:
dove è la pseudo-inversa della matrice . Dimostriamo le prime due proprietà di una matrice pseudo-inversa scritta sotto forma di SVD: 1.
2. Si verifica facilmente che la matrice
è la matrice diagonale
ad elementi
, , con
con
In altre parole
può essere scritta come:
Matrice simmetrica
Sia una matrice quadrata. Si dirà simmetrica per definizione se: che i suoi autovalori sono tutti reali, quindi:
. Possiamo dire allora
Gli autovalori di una matrice simmetrica si troveranno, di conseguenza, tutti sull’asse reale. Inoltre possiamo dire che le matrici e sono reali.
Matrice definita positiva
Sia una matrice quadrata. Si dirà definita positiva se e solo se Nel caso in cui è autovettore e è definita positiva allora posso dire che:
e
allora
Nel caso in cui la matrice si dice semi definita positiva . Per ogni ho:
L’uguaglianza la ottengo nel caso in cui il vettore appartiene allo spazio nullo della matrice .
PCA (Analisi delle componenti principali) 58
.
Metodi numerici per l’informatica 2013/2014
Per lo studio di un fenomeno fisico, costruisco un dataset in cui le colonne rappresentano lo spazio dimensionale delle feature del fenomeno che voglio studiare e le righe rappresentano lo spazio dimensionale degli esperimenti (o campioni) effettuati. Poiché ogni feature ha una sua distribuzione di probabilità (PDF), l’intero dataset avrà una distribuzione di probabilità multivariata perché fatta da tutte le PDF delle colonne. Nello studio del dataset mi aspetto di trovare una situazione tale per cui alcuni campioni simili abbiano le stesse caratteristiche, mostrando così una certa dipendenza. Ogni colonna nel nostro dataset costituirà una variabile aleatoria ed avrà una sua media e una sua varianza. Il coefficiente di correlazione dirà quanto due vettori (feature) sono vicini. Sia
-
la matrice dei dati (dataset) in cui ogni colonna è una variabile aleatoria. La matrice di covarianza permette di scrivere le covarianze tra ciascuna delle coppie di variabili e in forma compatta: 5
, ̅ ̅ ̅ ̅
dove e BIAS del numero dei campioni. La matrice di covarianza avrà dimensione
. Si noti che si divide per
per svincolarsi dal
e il suo trace sarà uguale a:
che rappresenta la varianza totale del dataset. Inoltre la matrice è simmetrica perché
ed è semi definita positiva. ed
correlazione6 è fatta dai coefficienti di correlazione così definiti: La matrice di correlazione
Un valore vicino ad 1 significherà che i due vettori presi in considerazione sono paralleli tra di loro e quindi forniscono informazioni pressoché ripetitive, mentre un valore vicino a 0 significherà che quella coppia di vettori sono ortogonali e quindi non sono correlati linearmente. li nearmente. La matrice di correlazione sarà quindi del tipo:
,
Anche questa matrice è simmetrica perché ed è semi definita positiva. Sulla diagonale ho tutti 1 perché la correlazione di un vettore con se stesso è proprio 1.
Partendo dalla matrice dei dati , , costruisco una matrice centrata sulla media che chiamo , , in cui ogni Matrice che rappresenta la variazione di ogni variabile rispetto alle altre (inclusa se stessa). 6 Per correlazione si intende una relazione tra due variabili statistiche tale che a ciascun valore della prima variabile, corrisponda con una "certa regolarità" un valore della seconda. 5
59
Metodi numerici per l’informatica 2013/2014
colonna è un vettore di scarti dalla media ed è fatta nel seguente modo: 7
Anche per la matrice centrata sulla media correlazione, che saranno rispettivamente: e:
posso calcolare la matrice di covarianza e quella di
Dato un dataset e le sue matrici di covarianza e di correlazione, la PCA cerca di diagonalizzare diagonalizzare queste due matrici in modo da metterci nella posizione di massima scorrelazione dei dati. Questa operazione avviene tramite delle trasformazioni lineari. La diagonalizzazione della matrice di covarianza dei dati rende le feature scorrelate e la PDF multivariata risultato del prodotto delle PDF univariate. Queste nuove feature non saranno più degli osservabili fisici ma combinazioni lineari di queste. Chiameremo queste variabili componenti principali.
BSS (Blind Signal Separation) La PCA offre anche un meccanismo, detto BSS , per la suddivisione di un segnale originale nella somma dei segnali sorgenti indipendenti (ortogonali) e scorrelati. Quindi dato un dataset formato da feature , ipotizzo che siano combinazioni lineari di sorgenti indipendenti :
dove conterrà i coefficienti della correlazione lineare. Le nuove feature sono ordinate in modo decrescente rispetto agli autovalori della matrice di covarianza dei dati. In particolare rappresenta la direzione lungo cui si ha la massima dispersione, mentre è la direzione lungo cui la dispersione è più bassa. La PCA per la BSS fornisce intrinsecamente un ordinamento (ranking) delle sorgenti estratte. Una assunzione fondamentale che facciamo quando applichiamo la PCA è quella che il potere informativo di una feature è strettamente legato alla sua varianza: più è alta la varianza, più sarà alto il potere informativo di quei dati. Per ricostruire la funzione di distribuzione dei dati, conoscendo solo la loro media e la loro varianza, posso utilizzare la distribuzione normale (gaussiana, ipotizzando di ragionare al limite). Di conseguenza, se le sorgenti sono gaussiane, allora la PCA fornisce una stima di massima verosimiglianza delle sorgenti. Se le variabili di un fenomeno multivariato hanno un certo grado di correlazione, allora i vettori rappresentativi del fenomeno tenderanno a occupare solo una porzione dello spazio degli osservabili. Lo scopo della PCA è quello di rappresentare un insieme di dati con una matrice di covarianza non diagonale e di dimensione in uno spazio di dimensione minore di , in cui gli stessi dati siano rappresentati da una matrice di covarianza diagonale. La diagonalizzazione si ottiene con una rotazione delle coordinate nella base degli autovettori (componenti principali): ad ogni autovettore è associato un autovalore a cui corrisponde la varianza della componente principale la correlazione parziale tra le feature originarie si riflette in autovalori con valori trascurabili gli autovettori corrispondenti ad autovalori piccoli possono essere trascurati e si limita la rappresentazione solo agli autovettori con gli autovalori più grandi Poiché la matrice di covarianza nella nuova base delle componenti principali è diagonale, la varianza
7
Prodotto puntuale (o di Kroneker).
60
Metodi numerici per l’informatica 2013/2014
totale è la somma delle varianze delle singole componenti principali. Una volta creata la diagonalizzazione, la PCA consente la riduzione della dimensionalità. Ricordando Ricordando che i dati con bassa varianza godono di basso potere informativo, posso approssimare alle prime componenti principali con . In questo modo elimino il rumore che affligge i dati, anche se non completamente.
Derivazione della PCA in modo analitico
⏞ ⏞ ⏞ - ⏞ ⏞ ⏞ ‖‖
Sia data una matrice , consideriamo la l a sua corrispondente matrice centrata sulla media , , la sua matrice di covarianza e la sua matrice di correlazione . L’analisi delle componenti principali va ad estrarre una decomposizione spettrale della matrice di covarianza (o della matrice di correlazione) dei dati, rendendole simili ad una matrice diagonale, nella quale gli elementi diagonali sono gli autovalori di (o di ). Operativamente, andremo a trasformare la matrice dei dati in una nuova matrice , in modo tale che ogni colonna risulti essere combinazione lineare delle colonne della nuova matrice di dati trasformati:
Vogliamo che rappresenti la maggior parte della varianza di in una specifica direzione, esprima la varianza di in un’altra direzione, ecc. In pratica vogliamo creare un ordinamento delle colonne della matrice trasformata, in base alla varianza che esprime ciascuna colonna. Voglio ottenere: cioè trasformo in un dataset ,, senza perdere potere informativo, con una combinazione lineare delle sorgenti. sono le sorgenti e . Il calcolo di non è semplice perché posso avere infinite soluzioni, dipendentemente dalla che ipotizzo. Posso anche scrivere il problema dal punto di vista opposto, cioè voglio conoscere le sorgenti partendo dalla matrice dei dati e quindi scrivo: dove ogni colonna è è fatta nel modo seguente:
Scriviamo il primo vettore colonna della nuova matrice:
e sarà tale che la sua varianza sia massima tra tutte le combinazioni lineari. Calcoliamo la varianza di :
dove è la matrice di covarianza. Il criterio per scegliere gli è è quello di far diventare il valore il più grande possibile in modo che il la prima colonna di abbia il maggior potere informativo (varianza maggiore). Proprietà: se prendo un vettore e uno scalare , , allora la . La suddetta proprietà ci dice che mi basta trovare un più grande possibile per poter soddisfare la condizione che mi sono prefisso per la ,, ma questo ovviamente mi porta a fare un’analisi totalmente inutile. Per risolvere questo problema fisso la norma di tutti gli uguale uguale ad 1, cioè: In altre parole, per fare in modo che il vettore non si allunghi arbitrariamente con un positivo, mantenendo anche direzione e lunghezza fissata, imposto che gli della della combinazione lineare devono essere tali che la loro lunghezza è fissata. 61
Metodi numerici per l’informatica 2013/2014
‖‖
La prima componente principale si determina risolvendo un problema di massimo vincolato: ma mantenendo
.
Per trovare il massimo in una funzione (in una variabile) mi basta calcolare la derivata prima della stessa e porla uguale a 0, trovando così i punti stazionari: In generale però, per funzioni in più variabili, devo calcolare la derivata parziale rispetto ad ogni variabile. La seconda componente principale, i cui pesi sono contenuti nel vettore , , massimizza la varianza residua sotto il vincolo di ortonormalità, cioè: con e . Anche in questo caso posso trovare i minimi e i massimi della funzione, uguagliando a 0 le derivate parziali prime.
Ottimizzazione vincolata
. . ‖‖‖ // ‖‖ ,
Trovare il massimo della varianza di si traduce in:
La funzione prende il nome di funzione lagrangiana e si indica con Sceglierò molto piccolo così da ritornare sul vincolo nel caso mi ci allontani. Calcoliamo la derivata parziale della funzione lagrangiana rispetto ad e poniamola uguale a 0:
.
dove è soluzione del sistema lineare . Osserviamo che il primo asse principale che mi da la prima colonna trasformata mediante combinazione lineare delle colonne di , , è il primo autovettore corrispondente all’autovalore . Continuo a scrivere: L’informazione spettrale dominante della matrice di covarianza dei dati (autovettore e autovalore dominanti) rappresenta l’asse principale, che è una combinazione lineare per ottenere il primo vettore principale . La matrice di covarianza ha dimensione . Avrò, quindi, autovettori e autovalori. Gli autovalori saranno tutti distinti. Possiamo anche calcolare il secondo asse principale. la cui varianza è:
con e . Con questo procedimento sto diagonalizzando la matrice di covarianza , , attraverso una trasformazione ortogonale, e riordinando le colonne. Quindi sarà del tipo:
dove ogni
. Si ricorda che:
62
Metodi numerici per l’informatica 2013/2014
Ho costruito un nuovo dataset da quello di partenza, le cui colonne sono state ordinate in termini di varianza decrescente.
‖ ‖ ∑
La varianza totale del dataset rappresenta il trace della matrice di covarianza . Data la decomposizione con , , gli sono sono fatti in modo tale che e sono ortogonali tra di loro ( ),), la ( ( è è autovalore di ), la varianza totale la scriviamo nel seguente modo: Per determinare la varianza parziale racchiusa in una certa direzione principale calcoliamo calcoliamo il rapporto:
La somma dei primi autovalori rappresenta un indice di bontà, cioè la varianza cumulativa nelle prime direzioni principali: con . In altre parole, è la quantità di informazione che conservo se vado ad approssimare il mio dataset con il dataset trasformato ,, troncato alla -esima colonna. Chiaramente il rank di questa nuova matrice sarà ridotto. Per scegliere opportunamente opportunamente si usano dei metodi euristici. Di solito si sceglie di tagliare ad un valore di cut-off tra il 70 e il 90% scegliendo le prime componenti principali dominanti. Tipicamente bastano i primi due assi principali per effettuare una buona PCA, di conseguenza l ’indice della bontà statistica sui primi due assi principali è definito dal seguente rapporto cumulativo: La differenza:
misura la profondità dei dati. A profondità maggiore corrisponde un rischio maggiore che punti vicini nella proiezione sul piano, siano invece lontani nella realtà.
Scree plot Lo scree plot è un grafico degli autovalori della matrice di covarianza rispetto al numero d ’ordine della componente. È caratterizzato da una ripida pendenza per le prime componenti e comportamento asintotico per le restanti. Sull’ascissa si hanno gli autovalori ordinati e sull’ordinata le varianze. Si sceglie di tagliare al valore in corrispondenza del punto in cui il grafico presenta un gomito. Nell’esempio sotto, si taglia dopo la terza componente, trascurando quindi dalla quarta componente in poi.
63
Metodi numerici per l’informatica 2013/2014 Figura 7 - Esempio di scree plot
Una variante allo scree plot è il diagramma LEV (Log-EigenValue) che considera i logaritmi degli autovalori della matrice di covarianza, rispetto al numero d ’ordine della componente. In questo caso la scelta del valore è fatta in corrispondenza del punto in cui il grafico diventa approssimativamente una linea retta. Si usa questo tipo di grafico quando gli autovalori decrescono con molta lentezza, mi aspetto quindi che passando ai logaritmi, la pendenza di accentui maggiormente, ma non sempre succede.
Criterio di Kaiser Un altro criterio per tagliare le componenti principali è il criterio di Kaiser. Consiste nel calcolare la media delle varianze (ovvero l’autovalore medio) e conservare gli autovalori che sono maggiori di quel valore medio.
Criteri più complessi Le tecniche più avanzate per la scelta del numero di componenti principali da conservare sono basate su: test delle ipotesi : si usa quando si hanno informazioni a priori di tipo probabilistico, ad esempio quando si sa che le sorgenti dei dati non sono ma sono , , con meccanismi di cross-validation cross-validation : la cross-validation è una tecnica statistica utilizzabile in presenza di una buona numerosità del campione osservato o training set. In particolare, la -fold crossvalidation consiste nella suddivisione del dataset totale in parti di uguale numerosità e, ad ogni passo, la parte -esima del dataset viene ad essere il validation dataset, mentre la restante parte costituisce il training dataset. Così, per ognuna delle parti si allena il modello, evitando quindi problemi di overfitting, ma anche di campionamento asimmetrico (e quindi affetto da BIAS), tipico della suddivisione del dataset in due sole parti (ovvero training e validation dataset). In altre parole, si suddivide il campione osservato in gruppi di uguale numerosità, poi si esclude iterativamente un gruppo alla volta e lo si cerca di predire con i gruppi non esclusi. Ciò al fine di verificare la bontà del modello di predizione utilizzato
Scelta dell’unità di misura I risultati della PCA dipendono dall’unità di misura adottata per le variabili. Ad esempio, cambiando la lunghezza da metri a centimetri si alterano le componenti principali. Gli autovalori di una matrice dipendono da fattori di scala. Per risolvere alcuni problemi di scaling si può: fare un pre-processing dei dati per omogeneizzare le unità di misura utilizzare la matrice di correlazione invece che la matrice di covarianza. In questo caso l ’analisi si conduce sulle variabili standardizzate con il vantaggio che la matrice di covarianza delle matrici standardizzate coincide con la matrice di correlazione. Lavorare con invece che con comporta una arbitraria decisione di rendere tutte le variabili ugualmente importanti, in quanto in le componenti diagonali hanno tutte varianza pari ad 1. Chiaramente le autocoppie di saranno diverse da quelle di
Interpretazione delle componenti principali
Una volta che l’approssimazione delle sorgenti (variabili latenti), non direttamente osservabili, è stata effettuata, c’è il problema di dare una etichetta semantica a queste variabili. Non c ’è un modo unico per attribuire un certo nome, ma dipende molto dall’esperienza del ricercatore. L’interpretazione può anche essere effettuata considerando i coefficienti (in generale presi in valore assoluto) della matrice . Ricordando che ,, i coefficienti possono pesare in maniera diversa le componenti di , , perciò coefficienti prossimi allo zero corrispondono corrispondono a variabili di che non
64
Metodi numerici per l’informatica 2013/2014
contribuiscono in maniera rilevante alla determinazione delle variabili in .
Rimanendo nell’ottica dell’interpretazione, posso effettuare il calcolo dei coefficienti di correlazione lineare ( ) tra le componenti principali e le variabili originarie ( ).). Se questo coefficiente è alto, allora quelle componenti sono fortemente correlate linearmente, linearmente, se invece è basso, non lo sono.
PCA per analisi di microarray del DNA In bioinformatica, i microarray di DNA vengono utilizzati per esaminare il profilo di espressione di un gene oppure per identificare la presenza di un gene o di una breve sequenza di geni all’interno del DNA. Per queste analisi si può applicare la PCA nella quale le feature (variabili) possono essere i geni (se vogliamo spiegare i risultati sperimentali ottenuti studiando le caratteristiche dei geni) o gli esperimenti (se, invece, vogliamo studiare gli effetti di un particolare gene sui risultati degli esperimenti). La tecnica algebrica più adottata in questo campo è la SVD per la visualizzazione dei dati riguardo l’espressività genica. La SVD produce una base per lo spazio colonne di (vettori singolari destri) che chiameremo spazio degli eigengenes e una base per lo spazio colonne di (vettori singolari sinistri) che sarà lo spazio degli eigenassays.
65
Metodi numerici per l’informatica 2013/2014
Eigenfaces for recognition [1]
Avendo a disposizione un dataset di immagini, posso costruire un “volto fantasma”. Siano , immagini di volti in bianco e nero, con ciascuna in cui gli elementi rappresentano le intensità di grigio del -esimo -esimo pixel. prima di creare l’eigenface, mi assicurerò, mediante pre-processing, di aver centrato ogni volto rispetto alla fotocamera che scatta la foto e che l ’illuminazione sia la stessa in tutte le foto. Chiamiamo con il volto medio ottenuto dagli del dataset:
∑ - ⏞
Posso pensare che le immagini di volti siano classificate in classi di individui diversi e per ogni individuo ipotizzo di avere immagini. Una volta costruito il volto medio costruisco delle nuove immagini centrate centrate su in questo modo: Vettorizzo ogni creando creando così un lungo vettore colonna di righe. Questi vettori li chiamo . Organizzo tutte queste immagini vettorizzate in un’unica matrice che sarà formata da tante colonne quante sono le immagini e tante righe quant’è la risoluzione delle immagini ( pixel): In generale . L’analisi delle componenti principali cerca un insieme di vettori ortonormali che che meglio descrivono la distribuzione dei dati. Il -esimo vettore è scelto tale che:
è massimo. I vettori e gli scalari covarianza dei dati:
sono, rispettivamente, gli autovettori e gli autovalori della matrice di
Se immagino di rappresentare tutti i volti in un certo spazio, potrò chiamare questo spazio “spazio delle facce” che rappresenterà lo spazio delle osservabili nel mio esperimento.
Costruisco la matrice questa matrice. Allora posso scrivere che:
. Avrà autovalori e chiamiamo con
una una autocoppia di
Quella scritta sopra è la relazione che intercorre tra gli autovettori e e gli autovalori della della matrice , , con gli autovettori e gli autovalori della della matrice di covarianza dei dati . La varianza delle immagini sarà raccolta nei primi autovettori. Poiché il concetto di variabilità è legato alla varianza dei dati nella PCA, vuol dire che sono interessato ai primi autovalori tralasciando quelli nulli. Posto ,, lo chiameremo eigenface e rappresenterà uno degli assi principali (o autovettore) della matrice di covarianza dei dati, calcolati attraverso una PCA. Gli autovalori associati ci permettono di ordinare gli autovettori secondo la loro utilità nel caratterizzare la variazione tra le immagini. Ogni sarà sarà una base dello spazio delle facce. Continuiamo a scrivere:
Gli eigenface sono ottenuti tramite combinazione lineare delle facce originarie. Proietto ogni faccia 66
Metodi numerici per l’informatica 2013/2014
centrata sul volto medio sullo spazio degli eigenface. Le varie proiezioni le calcolo così: Ogni nuova immagine la ricostruisco come combinazione lineare degli eigenface, quindi:
Non mi servono tutti gli eigenface per riconoscere un volto ma approssimo lo spazio delle facce con i primi autovettori, autovettori, cioè: Gli
autovettori sono scelti tra quelli che hanno i più autovettori pi ù grandi autovalori associati. associati.
Nel momento in cui mi giunge una nuova immagine , , la vettorizzo in e la centro rispetto alla media, la proietto poi nello spazio delle immagini ridotto calcolando la proiezione: con
. Costruisco poi un vettore di pesi:
le cui componenti sono le proiezioni ortogonali della nuova immagine centrata sul volto medio sullo spazio delle facce ridotto. Per poter confrontare la mia nuova immagine con quelle del dataset devo proiettare le vecchie immagini sullo spazio dimensionale. Per ricostruire le immagini mi servono solo i vettori , , quindi per ogni immagine del training:
‖ ‖
calcolerò rispettivamente: dove ogni
è è del tipo:
Geometricamente, calcolare quanto due immagini sono simili, significa calcolare la distanza in norma euclidea di un certo volto, ad esempio quello nella mia nuova immagine, con quelli già presenti nel dataset oppure con quelli del training set usato per addestrare il sistema. Avrò così: Il valore più piccolo di mi dirà quale volto del dataset è più vicino all’immagine di input. Per calcolare questa distanza considero la mia nuova immagine , , costruisco una nuova immagine fatta da centrata sulla media, quindi: e calcolo il vettore proiezione ortogonale di nello spazio delle facce ridotto, quindi:
e valuto il vettore differenza per vedere se è un volto e calcolo anche per vedere se appartiene ad una immagine che ho già nel dataset.
67
‖ ‖
Metodi numerici per l’informatica 2013/2014
Vector Space Model per l ’Information Retrieval [2]
Supponiamo di avere documenti testuali e un vocabolario di termini (token) avente cardinalità
. Con la parola “termine” non intendo solo le singole parole, ma anche locuzioni di parole, radici, ecc. Per
descrivere i documenti in funzione dei termini che contengono, costruisco una funzione frequenza che mi restituisce il numero di occorrenze del termine nel nel documento . In particolare sarà fatto nel seguente modo:
dove è il numero di occorrenze della parola all all ’interno del documento , , è è il numero di occorrenze all’interno di tutto il vocabolario e è un coefficiente di normalizzazione che permetterà di normalizzare la frequenza rispetto alla lunghezza del documento. Andando ad iterare il processo per il calcolo delle frequenze con cui un certo termine compare in un certo documento, posso costruire una matrice formata in questa maniera:
,
(spazio colonne) viene detto “spazio semantico” o “spazio dei documenti” dove ogni Il documento rappresenta una dimensione di questo spazio, mentre il (spazio righe di ) è detto “spazio dei termini”. La dimensionalità della matrice termini-documenti indica la grandezza dello spazio semantico, cioè i
concetti latenti presenti nei documenti. La dimensionalità dello spazio semantico (legato al concetto di ) sarà inferiore o al massimo uguale al numero di documenti. Da non confondere con il concetto di dimensione di che è il prodotto tra il numero di termini ed il numero di documenti. Ipotizzo di interrogare lo spazio termini/documenti termini/documenti con un vettore così fatto:
[ ] ‖‖‖‖
Per misurare quanto due documenti sono simili dal punto di vista semantico, utilizzo la similarità del coseno: Il coseno è tanto più grande (fino ad arrivare ad 1), quanto un certo documento soddisfa soddisfa la query. Il Latent Semantic Indexing (LSI) è una variante del VSM nel quale è impiegata una approssimazione a rank ridotto per la rappresentazione dello spazio vettoriale del database. In pratica, si sostituisce la matrice originale con un’altra matrice il più vicina possibile a quella originale, ma il cui spazio colonne è solo un sottospazio di quello della matrice originale. La riduzione del rank della matrice è un modo per rimuovere informazioni estranee (rumore) dal database.
Metodo QR nel query matching
01
Una volta costruita la matrice termini-documenti , , in cui racchiudiamo la frequenza di ogni termine in in ogni documento , , utilizziamo la fattorizzazione per identificare ide ntificare e rimuovere informazione ridondante nella matrice del database. Per la teoria della fattorizzazione sappiamo che è ortonormale ( ) e è una matrice triangolare superiore del tipo:
68
Metodi numerici per l’informatica 2013/2014
se
- 0 1 , , oppure:
invece se . Indichiamo con dove dove ; con cioè la dimensione dello spazio semantico e ipotizziamo che sia massimo (minimo tra e ). Poiché non tutte le colonne di contribuiscono allo spazio colonne della matrice , , possiamo partizionarla partizionarla in questo modo: modo:
dove è fatta dalle prime colonne, dalle restanti. Il contenuto semantico della collezione di documenti sarà dato esclusivamente dalle sole colonne della sottomatrice di . Possiamo riscrivere la fattorizzazione in questo modo:
È da notare che è il vettore proiezione ortogonale di una query nello spazio semantico generato da , , mentre rappresenta il vettore le cui componenti sono le proiezioni ortogonali di sulle colonne di (spazio semantico di ).
Precisione e recupero
Gli approcci per l’indicizzazione sono tipicamente giudicati in termini di precisione e recupero. La precisione (precision) è la porzione di documenti pertinenti fra quelli recuperati, cioè:
La precisione può anche essere valutata rispetto ad un certo valore soglia, piuttosto che relativamente a tutti i documenti recuperati: in questo modo, si può valutare quanti fra i primi documenti recuperati sono rilevanti per la query. Mentre il recupero (recall) è il rapporto fra il numero di documenti rilevanti recuperati e il numero di tutti i documenti rilevanti disponibili nella collezione considerata:
Sia la precision che la recall sono numeri compresi tra 0 e 1 e sono interdipendenti tra loro. Se aumenta uno, diminuisce l’altro e viceversa. Bisogna precisare che un documento è combinazione lineare della base dei concetti, ma non è detto che ogni combinazione lineare della base costituisce un documento fisico dello spazio dei documenti. Questo metodo non prende in considerazione la possibilità che i concetti si possano in qualche modo sovrapporre. Cioè il significato semantico di un concetto deve avere una intersezione vuota con ogni altro concetto.
Metodo SVD nel query matching
Il metodo numerico che mi permette di eliminare il rumore da una matrice di dati strutturati è l’ troncata. Utilizziamo questo metodo, anche se computazionalmente più pesante della , , perché vogliamo avere informazioni sia sullo spazio delle colonne (spazio dei documenti), sia sullo spazio righe (spazio dei termini). Il metodo mi da solo informazion i nformazionii sullo spazio colonne. Studiando anche lo spazio dei termini, supporto l ’utente che formula una query, ad ottenere dei risultati che tengano conto anche dei sinonimi e dei polisemi dei termini che ha inserito nella stringa di interrogazione.
69
Metodi numerici per l’informatica 2013/2014
Quindi se l’utente ha inserito pochi termini, il sistema la completa con altri termini sinonimi che non cambiano significato semantico all’interrogazione. Questa operazione è completamente trasparente all’utente che ottiene così un set migliore di documenti restituiti. La decomposizione della matrice termini documenti è fatta così:
‖‖ ‖‖ ‖‖ ‖‖ ‖‖
nella quale il fattore di sinistra è base dello spazio colonna, il fattore di destra è base dello spazio righe e il fattore centrale è la matrice dei pesi ordinati in maniera decrescente. Quando opero con la considero la matrice che è una riduzione della matrice originale e in cui ogni documento è una approssimazione approssimazione del documento e ogni termine è una approssimazione del termine . Se definiamo con la -esima -esima colonna della matrice identica , , la -esima -esima colonna della matrice sarà data dal prodotto . Come fatto per il metodo , , possiamo pensare di utilizzare il metodo della similarità del coseno per fare query matching tra la query inserita da un utente e lo spazio semantico ridotto dei documenti nella matrice . Matematicamente possiamo scrivere:
con . Dalla formula precedente possiamo osservare che i elementi del vettore sono le coordinate della -esima -esima colonna di nelle basi definite dalle colonne di , , mentre i elementi del vettore sono le coordinate nelle basi della proiezione del vettore query nello spazio colonne di .
Confronto termine-termine
Si costruisce una matrice termini-documenti che chiamiamo ottenuta dai vettori documenti ritornati dalla query dell’utente. Il confronto termine-termine è tirato fuori dal calcolo del coseno degli angoli tra un certo termine e tutti gli altri:
dove denota denota la -esima -esima colonna della matrice identica . Se il termine e e il termine formano formano un angolo vicino ad 1 vuol dire che sono fortemente correlati. In questo caso, i termini sono utilizzati in modo simile attraverso la raccolta di documenti e quindi hanno funzioni simili nel descrivere la semantica di tali documenti. Geometricamente, i vettori occupano posizioni vicine nello spazio riga della matrice termine-documento.
Il processo di raggruppamento dei termini secondo il loro contenuto è detto clustering ed è utile per affrontare problemi di polisemia. Si ricordi che le colonne formano una base nello spazio colonne di , , così queste colonne possono essere usate al posto di quelle di per il query matching. Similmente le righe di costituiscono una base dello spazio righe di e possono rimpiazzare le di righe di sempre nel query matching. D’altra parte se il coseno formato da due termini è vicino a 0 significa che i vettori sono quasi ortogonali e i termini non sono per nulla correlati.
Relevance feedback Un sistema ideale di IR dovrebbe raggiungere alti livelli di precision per alti livelli di recall. Sfortunatamente Sfortunatamente a causa di problemi come la polisemia e la sinonimia, la lista l ista dei documenti restituiti per una data query non è quasi mai perfetta. Per superare questo problema, la precision può essere migliorata usando il relevance feedback , 70
Metodi numerici per l’informatica 2013/2014
specificando quali documenti di un certo insieme restituito, sono son o rilevanti per le richieste di informazione e usando quei documenti per migliorare la l a query originale. L’idea che sta alla base del concetto di relevance feedback è di coinvolgere l’utente nel processo di reperimento dell’informazione in modo tale da migliorare i risultati della ricerca. In questo caso è previsto che l’utente fornisca dei giudizi di rilevanza per quanto riguarda i documenti inizialmente reperiti, in seguito, alcuni algoritmi utilizzano questi giudizi per costruire una query migliore. I passi principali del processo sono: l’utente inserisce una query iniziale (semplice e corta nella maggior parte dei casi) il sistema reperisce un insieme di risultati l’utente seleziona alcuni dei risultati come rilevanti il sistema cerca di rappresentare in maniera più chiara l ’esigenza informativa dell’utente, basandosi sul feedback ricevuto il sistema fornisce un nuovo insieme di risultati
71
Metodi numerici per l’informatica 2013/2014
A survey of eigenvector Methods for Web Information Retrieval [3] Ogni pagina/documento del Web è rappresentato da un nodo in un grafo molto ampio. Gli archi che congiungono questi questi nodi rappresentano gli hyperlink tra i documenti.
HITS-IR (Hypertext Induced Topic Search for Information Retrieval) Il metodo HITS-IR definisce le cosiddette autority e i cosiddetti hub. Un’autority è un documento con tanti inlink (link entranti), mentre un hub è un documento con tanti outlink (link uscenti).
Figura 8 - Authority (molti inlink) e hub (molti outlink)
Questo metodo si basa sulla seguente tesi fondamentale: “ buoni hub puntano a buone authority e buone authority sono puntate da buoni hub ”. HITS assegna ad ogni pagina sia un punteggio di authority che uno di hub. Sia il grafo del Web e la connessione tra il nodo e e il nodo . In ogni istante è possibile conoscere entrambi i punteggi calcolando:
rispettivamente per i punteggi di authority e di hub all’istante
.
Queste equazioni possono essere scritte in forma matriciale con l’aiuto della matrice di adiacenza , , i cui
elementi sono del tipo:
Nel modello HITS-IR, una riduzione dei costi computazionali legati al metodo delle potenze per il calcolo degli autovettori dominanti delle matrici (matrice di authority) e (matrice di hub) si ottiene calcolando uno solo degli autovettori dominanti. Infatti: è l’autovettore dominante di authority e
è l’autovettore dominante di hub.
e sono matrici simmetriche, semi definite positive e non negative, con gli autovettori ordinati e diversi da 0. Implementazione dell’algoritmo HITS
L’implementazione di HITS consiste di due passi principali:
si costruisce un grafo di vicinanza relativo ai termini t ermini della query 72
Metodi numerici per l’informatica 2013/2014
si calcolano i punteggi di authority e di hub per ogni documento del grafo, costruendo così due liste ordinate dei documenti con i punteggi più alti Una volta che il grafo è costruito, si determina la matrice di adiacenza corrispondente ai nodi in . L’ordine di grandezza di è molto più piccolo del numero totale di documenti del Web, per questo calcolare i punteggi di authority e di hub usando gli autovettori dominanti di e comporta un piccolo costo. Il metodo HITS con la normalizzazione converge sempre.
Vantaggi e svantaggi di HITS
Un vantaggio dell’algoritmo HITS è il suo doppio ranking , di modo che un utente è libero di decidere se
essere interessato ad un buon documento authority o ad un buon documento hub. Inoltre, la dimensione delle matrici è molto piccola in confronto alla grandezza dell’intero Web. D’altra parte ci sono molti svantaggi. HITS è dipendente dalla query . Ogni volta che si formula una query, query, si deve costruire un grafo di vicinanza e risolvere almeno un problema di ricerca degli autovettori dominanti. Questo deve essere fatto per ogni query. Per di più HITS è naturalmente predisposto allo spam, cioè aggiungendo un link da o verso una pagina, un utente può influenzare i punteggi di authority e di hub della sua pagina. Infine, c’è il problema del topic drift. Facendo riferimento a pagine molto autorevoli ma off topic rispetto all’argomento del proprio documen to, questo assume di conseguenza un punteggio molto alto, deviando così il risultato all’utente.
PageRank Dopo che le pagine Web ritrovate dai robot sono indicizzate e catalogate, viene assegnato a ciascuna di esse un valore di PageRank secondo l’importanz a percepita, prima che la query sia eseguita, di modo che al momento della query venga presentata quasi istantaneamente la lista dei risultati relativi a quella query. L’idea base su cui si fonda questo metodo è la seguente: “ i voti (link) da siti importanti dovrebbero avere un peso maggiore dei voti da siti meno importanti e l’importanza di un voto da una certa sorgente dovrebbe essere attenuato dal numero dei siti che la sorgente vota”.
̿
Questa idea è incapsulata nella seguente formula:
dove contiene tutte le pagine che puntano a (inlink) e è è il numero degli outlink da . In altre parole il rank (importanza) di una pagina è data dalla somma dei pesi delle pagine che hanno un outlink verso quella pagina, normalizzata col numero di outlink di . L’uso dell’importanza, piuttosto che della rilevanza è la chiave del successo di Google. L’iterazione di PageRank relativa alla ma trice di Google converge all’autovettore sinistro normalizzato
, , normalizzato in norma norma 1, che soddisfa soddisfa la relazione:
con
∑
e è la matrice i cui elementi sono così definiti:
dove rappresenta rappresenta il numero di outlink dalla pagina . Se il limite esiste, e siste, il metodo delle potenze permette di definire il vettore di PageRank in questo modo: La matrice di Google per righe è una matrice non negativa avente la somma degli elementi di ogni riga uguale a 0 o ad 1. Le righe a somma 0 corrispondono ai nodi dangling, cioè nodi che non hanno outlink, ma solo inlink.
73
Metodi numerici per l’informatica 2013/2014
Questi nodi creano parecchi problemi perché rendono la matrice riducibile, in quanto il grafo associato non è fortemente connesso. In pratica, dai nodi dangling non sarà possibile raggiungere altre pagine poiché un qualsiasi cammino si interromperebbe su di essi. Sostituendo a tutte le righe nulle il valore , , mi assicuro la irriducibilità della matrice . Allo stesso tempo mi garantisco che la somma su queste righe faccia sempre 1. Sto quindi ipotizzando che sia la probabilità di avere un link uscente da un certo nodo dangling. La modifica alla matrice di Google per righe porta alla creazione della matrice che è una matrice stocastica ma quasi certamente riducibile. Si forza la irriducibilità rendendo ogni stato direttamente raggiungibile da ogni altro. Per fare questo, si ricorre ad una matrice di perturbazione applicata alla matrice stocastica in modo tale che si crei la matrice di Google:
̿
dove e è uno scalare compreso tra 0 e 1. Successivamente Google adottò una matrice più realistica ma meno democratica utilizzando una matrice di perturbazione così fatta: dove
è un vettore di personalizzazione, modificato modificato a pagamento.
Implementazione dell’algoritmo di PageRank
Un sistema di PageRank richiede due step principali: una scansione completa dei documenti determina un sottoinsieme di nodi contenenti i termini della query. Questo sotto insieme è chiamato insieme di rilevanza per la query l’insieme di rilevanza è ordinato secondo i punteggi di PageRank di ogni documento nell’insieme. In questo modo, il PageRank non dipende dalla query. Infatti, ogni documento ha un punteggio di PageRank che è indipendente da tutte le query
Vantaggi e svantaggi di PageRank
Un vantaggio è la sua impenetrabilità virtuale allo spamming, mentre un suo svantaggio è che, dal momento che è indipendente dalla query, non riesce a distinguere tra pagine autorevoli in generali e pagine autorevoli in base all’argomento della query.
74
Metodi numerici per l’informatica 2013/2014
KDD (Knowledge Discovery in Databases) Il KDD (Knowledge Discovery in Databases) è un processo automatico di esplorazione dei dati che ha lo scopo di identificare pattern validi in un insieme di dati di grandi dimensioni ed elevata complessità. I passi principali di questo processo sono: Comprensione del dominio applicativo: si definiscono gli obiettivi e scelte successive 1. Comprensione 2. Esplorazione iniziale dei dati: si effettua una pulitura dei dati (per esempio per identificare e rimuovere dati codificati in modo errato) e una loro successiva trasformazione Selezione dei dati: dati disponibili, di sponibili, dati addizionali, dati da integrare Pre-processing: gestione di missing values, rumore, outliers Trasformazione dei dati: feature selection, discretizzazione, ecc. 3. Selezione dei compiti: classificazione, regressione, clustering 4. Selezione dell’algoritmo di DM 5. Impiego dell’algoritmo di DM 6. Valutazione e interpretazione dei risultati (rispetto agli obiettivi definiti al passo 1) 7. Utilizzo della conoscenza scoperta : incorporare la conoscenza in un altro sistema per ulteriori operazioni o o o
DM (Data mining) Il DM consiste nell’uso di tecniche statistiche da utilizzare con i databases aziendali azi endali per scoprire modelli e relazioni che possono essere impiegati in un contesto di business. Il DM consiste nell’esplorazione e nell’analisi, attraverso mezzi automatici e semiautomatici, di grosse quantità di dati allo scopo di scoprire modelli e regole significative. Ci sono due categorie di metodi per il DM: m. verification-oriented verification-oriented: valutano le ipotesi generate da un esperto umano m. discovery-oriented discovery-oriented: identificano automaticamente pattern nei dati. Si suddividono in: m. descrittivi: orientati all’interpretazione dei dati (clustering, visualizzazione) m. predittivi: costruiscono modelli di comportamento comportamento per previsioni su nuovi esempi
o o
I dati I dati alla base di un processo di data mining si classificano in: dati strutturati: sono rappresentati in forma tabellare in cui le colonne sono le feature (caratteristiche) degli oggetti, mentre le righe sono i valori delle feature per ogni entità (esempio) dati semi-strutturati: nonostante non vi siano limiti strutturali all’inserimento dei dati, le informazioni vengono, comunque, organizzate secondo logiche strutturate e interoperabili dati non strutturati: registrazioni video e multimediali di eventi e processi
Feature (caratteristi (caratteristiche) che)
Le feature caratterizzano le variabili o gli attributi associati ai dati. Ci sono molti tipi di feature, tra le quali le più comuni sono: f. numeriche: includono valori reali o interi f. categoriche (o simboliche) : non sono misurabili e non soddisfano relazioni d ’ordine o di distanza f. discrete: sono dette variabili qualitative e sono misurate con: scale nominali: senza relazioni d’ordine e usano simboli o numeri. I numeri indicano solo diversi valori dell’attributo scale ordinali: consistono in un ordinamento (elenco) ordinato. Una feature discreta in scala ordinale è una variabile categorica per cui vale la relazione d’ordine (anche se non ordinale), ma non di distanza
o
o
75
Metodi numerici per l’informatica 2013/2014
f. continue: sono dette variabili quantitative e misurate con:
scale di intervallo: zero posizionato arbitrariamente (non indica assenza di ciò che è misurato) scale di rapporto: zero posizionato in modo assoluto Gli smoother possono essere utilizzati per discretizzare variabili continue, trasformandole in variabili discrete o
o
Trasformazioni di dati La trasformazione dei dati può migliorare i risultati delle tecniche te cniche di DM e alleviare alcune problematiche quali: dati con errori o incompleti, mal distribuiti, afflitti da forte asimmetria, con numerosi picchi.
Normalizzazione
La normalizzazione dei dati è utile quando è necessario calcolare le distanze tra punti in uno spazio dimensionale. Una tecnica largamente utilizzata consiste nel cambiamento dei valori numerici in modo che essi siano scalati in uno specifico intervallo. Esempi: scaling decimale : sposta il punto decimale dividendo ogni valore numerico per la stessa potenza di 10, in modo da scalarli nell’intervallo [-1,1] min-max: tecnica appropriata quando sono noti i valori minimo e massimo di una variabile. Siano il vettore delle feature, la la -esima -esima componente, la formula da applicare è la seguente:
̅ ̅
z-score normalization normalization: è una trasformazione appropriata per essere utilizzata con algoritmi di DM
basati su misure di distanza. È particolarmente utile quando il massimo e il minimo non sono noti ma ha lo svantaggio di trasformare i dati in modo da renderli non riconoscibili. Siano il vettore delle feature, la -esima -esima componente, e la media e la deviazione standard del vettore. La formula da applicare è la l a seguente:
Data smoothing
Il data smoothing consiste nell’applicazione di una funzione di filtro il cui scopo è attenuare il rumore generato da fenomeni di disturbo legati a fattori di scala molto piccoli o molto lenti, prestando poca attenzione ad una stretta corrispondenza dei valori dei dati. Missing data
Esistono diverse cause che producono dataset incompleti, ovvero dataset in cui sono presenti valori mancanti, come ad esempio la difficoltà nel calcolare il valore per uno specifico campione, la mancanza di conoscenza, oppure ci sono dati considerati irrilevanti o dimenticati. In generale, i metodi per il trattamento dei dati mancanti si possono suddividere in: metodi sequenziali: il dataset incompleto è convertito in un dataset completo e successivamente si applica una tecnica di DM eliminazione degli esempi con valori mancanti. È un metodo utilizzato quando la dimensione del dataset è grande e/o la percentuale dei missing value è bassa, ma produce una perdita di informazione informazione sostituzione dei missing value con valori costanti: si sceglie il valore più comune della feature oppure il suo valor v alor medio corrispondente global closest fit: si sostituisce il valore mancante con il valore dell’attributo più somigliante. In pratica si confrontano due vettori di feature alla volta (quello contenente il
o
o
o
76
Metodi numerici per l’informatica 2013/2014
missing value e il candidato ad essere il closest fit) e si calcola la distanza tra questi: il vettore con la minima distanza viene usato per determinare il valore mancante metodi paralleli: in cui i valori mancanti sono considerati all ’interno del processo di acquisizione di conoscenza
Outliers
Gli outliers sono dati inusuali, non consistenti o significativamente diversi dal resto degli esempi. Formalmente il processo di individuazione ed eliminazione degli outlier può essere descritto come il processo di selezione di degli esempi che sono dissimili, eccezionali o inconsistenti con il resto del dataset.
Visualizzazione grafica di variabili Per una efficace comprensione delle variabili studiate, si può far ricorso a numerose rappresentazioni grafiche a seconda che si tratti di dati univariati o di dati multivariati. Per rappresentare la prima categoria di dati si ricorre spesso all’uso di istogrammi , dei grafici compatti che suddividono il range di dati in intervalli di uguale larghezza, per aumentare l’informazione visiva. Una significativa variazione dell’istogramma è il diagramma di Pareto che è un istogramma con celle ordinate in senso decrescente, affiancato dal grafico delle frequenze cumulate (detto curva di Lorenz): le categorie sono ordinate in modo tale che quella con maggior frequenza si trovi sulla sinistra del grafico, seguita da quelle di frequenza via via minore permette di stabilire quali sono i maggiori fattori che hanno influenza su un dato fenomeno Lo scatter plot o diagramma di dispersione è un grafico cartesiano formato dai punti ottenuti dalla rilevazione di due variabili numeriche: una variabile descrittiva (explanatory variable) sulle ascisse e una variabile suscettibile (response variable) sulle ordinate.
Infine per rappresentare dati multivariati si ricorre a due principali categorie di grafici: il Co-Plot e i diagrammi di Trellis. I Co-Plot sono una successione di scatter-plot di tipo “condizionato”, dato che ciascun diagramma corrisponde a un particolare intervallo di valori di una terza variabile o fattore di condizionamento. Costituiscono un metodo di visualizzazione che permette di evidenziare come una variabile di output dipende da una variabile di input, date altre variabili descrittive. I diagrammi (o grafici) di Trellis permettono di visualizzare l’esistenza di strutture nei dati mediante l’utilizzo di grafici 1D, 2D o 3D.
77
Metodi numerici per l’informatica 2013/2014
Bibliografia [1] M. Turk e A. Pentland, «Eigenfaces for Recognition,» Journal of Cognitive Neuroscience, vol. 3, n. 1, pp. 71-86, 1991. [2] M. W. Berry, Z. Drmac e E. R. Jessup, «Matrices, Vector Spaces, and Information Retrieval,» vol. 41, n. 2, pp. 335-362, giugno 1999. [3] A. N. Langville e C. D. Meyer, «A Survey of Eigenvector Methods for Web Information Retrieval,» pp. 1-27, 12 ottobre 2004.
78