108
UNIVERSITÀ DEGLI STUDI 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 - Appunti

Embed Size (px)

Citation preview

Page 1: Metodi Numerici Per l'Informatica - Appunti

UNIVERSITà DEGLI STUDI 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

Page 2: Metodi Numerici Per l'Informatica - Appunti

Metodi numerici per l’informatica 2013/2014

1

Page 3: Metodi Numerici Per l'Informatica - Appunti

Metodi numerici per l’informatica 2013/2014

Sommario

Sommario.............................................................................................................2

ALGEBRA LINEARE..........................................................................6

Alfabeto greco......................................................................................................6Matrici: definizioni fondamentali.........................................................................6Matrici particolari................................................................................................7

Matrice diagonale................................................................................................................7Matrice di permutazione......................................................................................................7Matrice triangolare..............................................................................................................7Matrice nulla........................................................................................................................8Matrice opposta...................................................................................................................8Matrice trasposta e H-trasposta...........................................................................................8Matrice simmetrica ed hermitiana.......................................................................................9Matrice riducibile e irriducibile...........................................................................................9Matrice stocastica................................................................................................................9

Funzione lineare...................................................................................................9Funzione composta.............................................................................................................10

Operazioni su matrici.........................................................................................10Somma tra matrici..............................................................................................................10Prodotto per scalare...........................................................................................................10Prodotto tra vettore riga e vettore colonna........................................................................11Prodotto tra matrici righe per colonne...............................................................................11

Osservazione..........................................................................................................................12Matrice identità (o identica)...............................................................................................12Matrice inversa..................................................................................................................12

Sistemi lineari....................................................................................................13Eliminazione di Gauss per sistemi di equazioni lineari......................................................14Forma di Echelon per righe...............................................................................................15Determinante.....................................................................................................................16

Significato geometrico del determinante...............................................................................16Singolarità e non singolarità di una matrice......................................................................17Rank di una matrice...........................................................................................................17Consistenza di un sistema lineare......................................................................................17Sottomatrice.......................................................................................................................18

Norme.................................................................................................................18Norma di vettore................................................................................................................18Norma di matrice...............................................................................................................18Prodotto scalare in uno spazio vettoriale...........................................................................20

Disuguaglianza di Cauchy–Schwarz.......................................................................................20

Spazio vettoriale.................................................................................................20Sottospazio vettoriale.........................................................................................................21Spazio span........................................................................................................................21Spazio Range......................................................................................................................22Spazio nullo........................................................................................................................22Base....................................................................................................................................22Dimensione di un sottospazio.............................................................................................23

2

Page 4: Metodi Numerici Per l'Informatica - Appunti

Metodi numerici per l’informatica 2013/2014

Relazioni tra sottospazi-dimensioni-basi............................................................................23Indipendenza lineare..........................................................................................................23

Matrice di Vandermonde.......................................................................................................24

Ortogonalità.......................................................................................................24Legge del coseno................................................................................................................24Correlazione lineare e standardizzazione..........................................................................25Ortonormalità di vettori.....................................................................................................26Ortonormalità di matrici.....................................................................................................27

Metodo di ortonormalizzazione di Gram-Schmidt.............................................27Fattorizzazione QR.............................................................................................27Autovalori e autovettori.....................................................................................28

Autocoppie per potenze di matrici.....................................................................................29Molteplicità algebrica e geometrica di un autovalore........................................................29

Similarità............................................................................................................30Matrice diagonalizzabile....................................................................................30Metodo delle potenze.........................................................................................31

Successione dei coefficienti di Rayleigh.............................................................................32Autovalori della matrice inversa........................................................................................32Applicazione del metodo delle potenze per approssimare un autovalore e un autovettore generico..............................................................................................................................33Teorema di Schur...............................................................................................................33Metodo QR per il calcolo degli autovalori e autovettori dominanti....................................33Teorema di convergenza del metodo QR............................................................................34Decomposizioni a blocchi...................................................................................................34

SVD (Decomposizione a valori singolari)...........................................................34Proprietà sulla decomposizione SVD..................................................................................35Teorema di Eckart-Young (SVD troncata)..........................................................................36SVD per il filtraggio dei dati...............................................................................................37

SNR (rapporto segnale/rumore).............................................................................................38Interpretazione geometrica della SVD...............................................................................38

Richiami su alcuni concetti di analisi matematica............................................39Funzione univariata............................................................................................................39Funzione multivariata........................................................................................................40Funzione vettoriale.............................................................................................................41Polinomio di Taylor.............................................................................................................41

Per una funzione scalare........................................................................................................41Per una funzione vettoriale Rn→R.......................................................................................42Per una funzione vettoriale Rm→Rn....................................................................................42

Metodo delle bisezioni........................................................................................................42

Metodo delle tangenti di Newton-Raphson........................................................42Per le funzioni scalari.........................................................................................................42Per le funzioni vettoriali.....................................................................................................43Definizione di derivata prima.............................................................................................43

Metodi di ottimizzazione non vincolata.............................................................43Per una funzione scalare....................................................................................................43Per una funzione vettoriale................................................................................................44

Curve di livello...................................................................................................44Metodo di Newton per l’ottimizzazione vincolata..............................................44

3

Page 5: Metodi Numerici Per l'Informatica - Appunti

Metodi numerici per l’informatica 2013/2014

Metodi di discesa................................................................................................................45Steepest descent (massima discesa)......................................................................................46Metodo di Newton usato come metodo di discesa.................................................................46

Ottimizzazione vincolata....................................................................................46Condizioni KKT per le lagrangiane.....................................................................................47

Metodi per la penalizzazione.............................................................................47Problema dei minimi quadrati...........................................................................48

Applicazioni del problema dei minimi quadrati..................................................................48Data fitting.............................................................................................................................48Curve fitting (approssimazione ai minimi quadrati nel discreto)...........................................54

ARTICOLI E DISPENSE..................................................................58Pseudo-inversa...................................................................................................................58Matrice simmetrica............................................................................................................58Matrice definita positiva.....................................................................................................58

PCA (Analisi delle componenti principali).........................................................58BSS (Blind Signal Separation)............................................................................................60Derivazione della PCA in modo analitico............................................................................61Ottimizzazione vincolata....................................................................................................62Scree plot...........................................................................................................................63Criterio di Kaiser................................................................................................................64Criteri più complessi..........................................................................................................64Scelta dell’unità di misura..................................................................................................64Interpretazione delle componenti principali......................................................................64PCA per analisi di microarray del DNA..............................................................................65

Eigenfaces for recognition [1]..............................................................................66Vector Space Model per l’Information Retrieval [2]............................................68

Metodo QR nel query matching..........................................................................................68Precisione e recupero.........................................................................................................69Metodo SVD nel query matching........................................................................................69Confronto termine-termine................................................................................................70Relevance feedback............................................................................................................70

A survey of eigenvector Methods for Web Information Retrieval [3]..................72HITS-IR (Hypertext Induced Topic Search for Information Retrieval)...............................72

Implementazione dell’algoritmo HITS...................................................................................72Vantaggi e svantaggi di HITS................................................................................................73

PageRank...........................................................................................................................73Implementazione dell’algoritmo di PageRank.......................................................................74Vantaggi e svantaggi di PageRank.........................................................................................74

KDD (Knowledge Discovery in Databases).........................................................75DM (Data mining)...............................................................................................................75I dati...................................................................................................................................75

Feature (caratteristiche)........................................................................................................75Trasformazioni di dati........................................................................................................76

Normalizzazione....................................................................................................................76Data smoothing......................................................................................................................76Missing data...........................................................................................................................76Outliers..................................................................................................................................77

Visualizzazione grafica di variabili.....................................................................................77

Bibliografia.........................................................................................................78

4

Page 6: Metodi Numerici Per l'Informatica - Appunti

Metodi numerici per l’informatica 2013/2014

5

Page 7: Metodi Numerici Per l'Informatica - Appunti

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 m×n elementi reali o complessi disposti su m righe e n colonne. I numeri che compaiono nella tabella si dicono elementi della matrice e vengono individuati attraverso la loro posizione di riga e colonna. a ij è un generico elemento della matrice A che si trova sulla riga i e sulla colonna j.In generale una matrice A di m righe ed n colonne si denota così:

A=(a11 a12 … a1 j … a1na21 a22 … a2 j … a2n… … … … … …ai1 ai2 … a ij … a¿

… … … … … …am1 am2 … amj … amn

)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 colonne.

6

Page 8: Metodi Numerici Per l'Informatica - Appunti

Metodi numerici per l’informatica 2013/2014

Se m=n allora si dice che A è una matrice quadrata di ordine n (o m equivalentemente). In queste matrici si può parlare di diagonale principale della matrice, costituita dai coefficienti di posto ( i ,i ) che sono detti appunto coefficienti diagonali.

Un vettore colonna x=[ x i ], con i=1,2 ,…,n è una matrice che consiste di una sola colonna. Si ha quindi:

x=[ x1x2…xn

]L’insieme di tutti i vettori colonna a n componenti reali (rispettivamente complessi) costituisce lo spazio euclideo Rn (rispettivamente lo spazio Cn).Un vettore x∈ Rn può essere identificato con un punto dello spazio a n dimensioni, assumendo le componenti x i come coordinate del punto.D’ora in avanti, con la parola “vettore” si considereranno i vettori colonna, se non diversamente specificato.

Data una matrice A∈Rm×n è talvolta utile scrivere le colonne della matrice come vettori colonna:

A=[a¿ 1∨a¿ 2∨…,a¿ j∨…∨a¿n ]dove a¿ j∈Rn× 1 rappresenta la j-esima colonna.

Matrici particolari

Matrice diagonaleUna matrice diagonale è una matrice quadrata che ha tutti i coefficienti al di fuori della diagonale principale uguali a 0, quindi del tipo:

D=(d1 0 … 00 d2 … 0⋮ ⋮ ⋱ ⋮0 0 … dn

)=diag (d1 , d2 ,…,dn )

Se d1=d2=…=dn, la matrice è detta scalare. In particolare, la matrice unità, o matrice identità, I n, o semplicemente I è definita da I=diag (1,1 ,…,1 ). Possiamo definire la proprietà di commutazione per le matrici identiche: AI=IA=A .

Matrice di permutazioneUna matrice di permutazione P è una matrice che si ottiene dalla matrice identità I con scambi di righe (o di colonne); pertanto, in ogni riga e in ogni colonna, P ha un solo elemento diverso da zero e uguale a 1.

Matrice triangolareUna matrice triangolare inferiore è una matrice quadrata i cui coefficienti al di sopra della diagonale principale sono nulli. Una tale matrice è pertanto definita dalle relazioni:

a ij=0 per i> jUna matrice di questo tipo si presenta nella forma seguente:

7

Page 9: Metodi Numerici Per l'Informatica - Appunti

Metodi numerici per l’informatica 2013/2014

L=(l11 0 … 0l21 l22 … 0⋮ ⋮ ⋱ ⋮ln1 ln2 … lnn

)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:

a ij=0 per i< jUna matrice di questo tipo si presenta nella seguente forma:

U=(u11 u21 … u1n0 u22 … u2n⋮ ⋮ ⋱ ⋮0 0 … unn

)Matrice nullaUna matrice nulla m×n è una matrice in cui tutti i coefficienti sono uguali a 0 ed è denotata col simbolo 0mn.

Matrice opposta

In generale, data una matrice A∈Rm×n, si pone:−A=[−aij ]

−A si chiama matrice opposta di A (detta anche inversa additiva).Per ogni matrice A∈Rm×n esiste sempre la matrice opposta −A.Inoltre la somma tra la matrice A e la matrice opposta −A, è una matrice i cui elementi sono tutti uguali a 0. Si ha quindi che:

A+(−A )=[a ij]+[−aij ]=[aij−aij ]=[0 ] ,∀ i=1 ,…,m∀ j=1 ,…,n

Matrice trasposta e H-trasposta

Data una matrice A∈Rm×n, si definisce trasposta AT di una matrice A la matrice che si ottiene dalla matrice A per scambio delle righe con le colonne.

AT :Rm×n→Rn×m

Gli elementi a ijT della matrice AT sono, pertanto, dati dagli elementi a ji di A per i=1,2 ,…,m

e j=1,2 ,…,n. Se la matrice A è ad elementi complessi, si definisce la matrice trasposta coniugata AH i cui elementi a ij

H=a ji, dove a ji è il coniugato del numero complesso1 a ji.Effettuando prima l’operazione di trasposizione e poi quella di coniugazione sulla matrice A si ottiene la medesima matrice invertendo l’ordine delle operazioni; tale matrice si denota con AH e si chiama matrice H -trasposta di A. Si ha pertanto:

AH=AT=AT

Elenchiamo di seguito le principali proprietà di cui godono le matrici trasposte e H -trasposte.Siano A ,B ,C∈ Rm×n e α uno scalare, allora:

α∈ R→ (αA )T=α AT

( A+B )T=AT+BT

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 z è un numero complesso, il suo coniugato si indica con z.

8

Page 10: Metodi Numerici Per l'Informatica - Appunti

Metodi numerici per l’informatica 2013/2014

( AT )T=A ( AC )T=CT AT

α∈C→ (αA )H=α AT

( A+B )H=AH+BH

( AH )H=A ( AC )H=CH AH

Matrice simmetrica ed hermitianaTra tutte le matrici quadrate, quelle che coincidono con la loro trasposta rivestono un particolare interesse; esse vengono chiamate matrici simmetriche. Una matrice A∈Rn×n è simmetrica se A=AT, mentre una matrice A∈Cn×n viene detta hermitiana quando coincide con la sua H -trasposta, cioè A=A H.Diremo che una matrice A è anti-simmetrica se A=−AT, diremo invece che è anti-hermitiana se A=−A H. 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 ir, con r∈R.Le matrici AT A e A AT sono matrici simmetriche. Dimostrazione:

AT A=( AT A )T=AT ( AT )T=AT A

A AT=( A AT )T=(AT )T AT=A AT

Matrice riducibile e irriducibile

Una matrice A∈Rn×n è riducibile se e solo se esiste una matrice di permutazione P∈Rn×n tale che:

P−1 APè in forma triangolare superiore.Il grado di adiacenza ad essa associato non è fortemente connesso, nel senso che se, presi a caso due nodi i e j, non posso raggiungere j a partire da i.

Figura 1 - Grafo non fortemente connesso in quanto non posso arrivare al nodo 1, partendo dal nodo 2

Al contrario, una matrice B∈ Rn×n si dice irriducibile se e solo se il suo grafo di adiacenza ad essa associato, è fortemente connesso.

Matrice stocastica

Una matrice stocastica A∈Rn×n è una matrice ad elementi non negativi nella quale la somma degli elementi su ogni riga (o su ogni colonna) è uguale ad 1.

Funzione lineare2

2 Ad ogni funzione lineare si può associare una sua rappresentazione matriciale.

9

Page 11: Metodi Numerici Per l'Informatica - Appunti

Metodi numerici per l’informatica 2013/2014

Una funzione lineare è una funzione f :D→R tale che f ( x )=ax+b con ab∈R e x∈ D

Inoltre:

∀ xy∈ D→ f ( x+ y )=f ( x )+ f ( y )

∀ x∈D→f (αx )=α f ( x )}⇒ ∀α

β∈R : f (αx+βy )=α f ( x )+β f ( y )

Se abbiamo un punto in un sistema di assi cartesiani di coordinate P ( x , y ), il suo riflesso rispetto all’asse orizzontale avrà coordinate P' ( x ,− y ) mentre quello rispetto all’asse

verticale avrà coordinate P' ' (−x , y ). Infine se vogliamo determinare il punto riflesso rispetto

all’origine, avremo un punto P' ' ' di coordinate (−x ,− y ).

Funzione compostaVediamo come la funzione composta di due funzioni lineari qualsiasi compatibili, dia come risultato il prodotto delle matrici ad esse associate.

Date due funzioni lineari fg:R2→R2 dove:

f ( x )=( x1x2)=(a x1+b x2c x1+d x2) e g( x )=(x1x2)=( A x1+B x2

D x1+Dx2)Componendo le due funzioni precedenti abbiamo:

h( x )=f ( x )∘g (x )=f (g (x ))=f ( A x1+Bx2D x1+D x2)=(a (A x1+B x2 )+b (C x1+D x2 )

c ( A x1+B x2 )+d (C x1+D x2 ))=¿

¿(aA x1+aB x2+bC x1+bDx2cA x1+cB x2+dC x1+dD x2)=((aA+bC ) x1+(aB+bD ) x2

(cA+dC ) x1+(cB+dD ) x2)Se rappresentiamo le due funzioni f e g in versione matriciale con due matrici F e G tali che:

F=(a bc d) e G=(A B

C D)e chiamiamo H il loro prodotto abbiamo che:

H=F ∙G=(a bc d )(A B

C D)=(aA+bC aB+bDcA+dC cB+dD)

Notiamo che la matrice H corrisponde esattamente alla matrice dei coefficienti di h( x ).

Operazioni su matrici

Due matrici AB

∈Rm×n si dicono uguali se hanno la stessa dimensione e se a ij=bij per ogni

i=1,2 ,…,m e j=1,2 ,…,n.

Somma tra matrici

La somma di due matrici AB

∈Rm×n è la matrice C∈ Rm×n di elementi c ij=a ij+b ij, per

i=1,2 ,…,m e j=1,2 ,…,n. L’elemento neutro rispetto alla somma in Rm×n è 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 A ,B ,C∈ Rm×n e α e β sono due scalari, allora:

A+(B+C )=( A+B )+C (associatività della somma)

10

Page 12: Metodi Numerici Per l'Informatica - Appunti

Metodi numerici per l’informatica 2013/2014

A+B=B+A (commutatività della somma) A+0mn=A (esistenza dell’elemento neutro)

A+(−A )=0mn (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 αA di una matrice A∈Rm×n per uno scalare α∈ R (oppure a C) è la

matrice di elementi [α aij ]. Si può definire analogamente il prodotto di A per lo scalare α

come la matrice Aα=[ aijα ]; tale matrice evidentemente coincide con αA , attesa la commutatività del prodotto tra scalari, pertanto αA=Aα .L’operazione di prodotto per scalare gode delle seguenti proprietà, la cuiverifica è del tutto evidente:

1 A=A (esistenza dell’elemento neutro) 0 A=0 (esistenza dell’elemento zero) (αβ ) A=α (βA ) ∀α∈R→α (A+B )=αA+αB (distributività)

∀αβ∈R→ (α+β ) A=αA+βA (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 vT∈ R1×n e un vettore colonna u∈Rn× 1, si chiama prodotto scalare interno standard tra i due vettori e si indica con vTu, lo scalare (o la matrice 1×1):

vTu=∑i=1

n

v iui=v1u1+v2u2+…+v nun

Le seguenti proprietà del prodotto di un vettore riga per un vettore colonna sono del tutto evidenti:

vT 0=0 vTu=uT v

Per indicare il prodotto interno scalare si usa anche la notazione ( x , y ).

Se x∈ Rm×1 e y∈Rn× 1, si chiama prodotto esterno tra i due vettori, la matrice x yT ∈ Rm×n definita nel modo seguente:

x yT=(x1 y1 x1 y2 … x1 yn

x2 y1 x2 y2 … x2 yn

⋮ ⋮ ⋱ ⋮xm y1 xm y2 … xm y n

)Osserviamo che ogni colonna di x yT è un multiplo di x e ogni riga è un multiplo di yT. In maniera analoga si definisce per x∈Cm e y∈Cn il prodotto esterno x y¿.

Prodotto tra matrici righe per colonne

Il prodotto righe per colonne di due matrici A∈Rm×p e B∈ Rp×n è la matrice C∈ Rm×n con elementi:

c ij=∑k=1

p

a ikbkji=1,2 ,…,m; j=1,2 ,…,n

11

Page 13: Metodi Numerici Per l'Informatica - Appunti

Metodi numerici per l’informatica 2013/2014

Il prodotto righe per colonne è definito solo se il numero delle colonne di A (fattore di sinistra) è uguale al numero delle righe di B (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 A∈Rm×n, B∈ Rn×p e C∈ Rp×q allora vale la associatività:A (BC )=( AB )C

Se A∈Rm×n allora:Im A=A=A I n

Se A∈Rm×n e BC

∈ Rn× p allora vale la distributività a sinistra:

A (B+C )=AB+AC

Se AB

∈Rm×n e C∈ Rn×p allora vale la distributività a destra:

( A+B )C=AC+BCIl prodotto fra matrici è distributivo rispetto alla somma

Se A∈Rm×p e B∈ Rp×n e α è uno scalare, allora:α (AB )= (αA )B=A (αB )

In generale si ha che AB≠ BA dalla quale si può affermare che la moltiplicazione tra matrici non è una operazione commutativa.

Date due matrici AB

∈Rn×n non vale la legge di annullamento del prodotto.

La pre-moltiplicazione di A per una matrice diagonale D ha l’effetto di moltiplicare ogni riga di A per il corrispondente elemento diagonale di D, mentre la post-moltiplicazione di A per una matrice diagonale D ha l’effetto di moltiplicare ogni colonna di A per il corrispondente elemento diagonale di D.

Osservazione

Se A∈Rm×n e x∈ Rn×1 (vettore colonna), il prodotto:y=Ax

definisce una trasformazione da Rn in Rm. Dal momento che per ogni coppia di vettori

x ,w∈Rn e ogni coppia di scalari α e β, si ha:A (αx+βw )=αAx+ βAw

la trasformazione x→ Ax è lineare. Viceversa, si può mostrare che ogni trasformazione lineare da Rn in Rm può essere rappresentata da una matrice A∈Rm×n. 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

A∈Rm×n per un vettore x∈ Rn×1:

y=Ax=∑j=1

n

a¿ j x j

Il vettore y∈Rm× 1 risulta dalla combinazione lineare delle colonne a¿ j della matrice A.

Matrice identità (o identica)

Una matrice I∈ Rn×n si dice identità se le componenti con indice i= j hanno valore uno, mentre quelle con indice i≠ j hanno valore zero. Per ogni matrice A∈Rn×n vale che:

AI=IA=AOgni vettore colonna o vettore riga di una matrice identica rappresenta un particolare

12

Page 14: Metodi Numerici Per l'Informatica - Appunti

Metodi numerici per l’informatica 2013/2014

vettore e i detto base canonica, caratterizzato dall’avere un 1 in i-esima posizione.Per estrarre la j-esima colonna della matrice A mi basta moltiplicare questa per la j-esima colonna della matrice identica:

( AI )¿ j=Ae j

mentre per estrarre la i-esima riga calcolo:( AI )i∗¿=ei

T A¿

essendo e iT l’i-esima riga della matrice identica.

Matrice inversa

Una matrice B∈ Rn×n è detta inversa di A∈Rn×n se:AB=BA=I

In tal caso B si scrive A−1 e la matrice A 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:

( A−1 )−1=A ( A−1 )T=( AT )−1

Se A è ortonormale allora A−1=AT

Se A e B sono due matrici non singolari, il prodotto AB è non singolare e

( AB )−1=B−1 A−1

Dimostriamo (per assurdo) l’unicità della inversa di una matrice A∈Rn×n.

Siano BC

inverse di A ¿⇔

AB=BA=IAC=CA=I

⇔ AB=AC⇔BAB=BAC⇔ (BA )⏞¿ I

B=(BA )⏞¿ I

C⇔ IB=IC⇔B=C

La seguente formula consente di calcolare l’inversa di una matrice A∈R2× 2 non singolare (det (A )≠0).

A=(a bc d)⇒ A−1=(

ddet (A )

−bdet ( A )

−cdet (A )

adet ( A )

)Sistemi lineari

Si pensi ad un sistema di m equazioni (righe) in n incognite (colonne):

{ a11 x1+a12 x2+…+a1n xn=b1a21 x1+a22 x2+…+a2n xn=b2

⋮am1 x1+am2 x2+…+amn xn=bm

Il sistema si può rappresentare semplicemente tramite l’uguaglianza del vettore dei termini noti:

13

Page 15: Metodi Numerici Per l'Informatica - Appunti

Metodi numerici per l’informatica 2013/2014

b=[ b1b2⋮bm

]con il vettore che ha come coordinate i primi membri delle m equazioni:

[ a11 x1+a12 x2+…+a1n xn

a21 x1+a22 x2+…+a2n xn⋮

am1 x1+am2 x2+…+amn xn]

Quest’ultimo vettore non è altro che il risultato del prodotto righe per colonne della matrice dei coefficienti:

(a11 a12 … a1na21 a22 … a2n⋮ ⋮ ⋱ ⋮am1 am2 … amn

)per il vettore delle incognite:

x=[x1x2⋮xn

]Pertanto il sistema di equazioni si può scrivere in forma compatta, detta forma matriciale del sistema:

Ax=bSe b=[0 ] il sistema è detto omogeneo e ammette sempre almeno la soluzione nulla. Se rank ( A )=r<n, il sistema omogeneo Ax=0 ammetterà (n−r ) soluzioni linearmente indipendenti.Indicando con a¿ j la j-esima colonna della matrice A, il sistema può essere riscritto nella seguente forma:

b=a¿1 x1+a¿ 2 x2+…+a¿n xn

che esprime il vettore termine noto b come combinazione lineare dei vettori colonna di A.Dalla rappresentazione sopra si nota che la condizione di risolubilità (o, equivalentemente, di consistenza) del sistema è la seguente:

b∈Range (A )dove Range (A ) è lo spazio generato dalle colonne di A.

In altra forma, si dice che il sistema è risolubile quando il rank ( [ A∨b ])=rank (A ), dove con

[ A∨b ] si indica la cosiddetta matrice aumentata (o completa), ottenuta aggiungendo alle colonne di A il vettore colonna dei termini noti b.

Eliminazione di Gauss per sistemi di equazioni lineariL’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

14

Page 16: Metodi Numerici Per l'Informatica - Appunti

Metodi numerici per l’informatica 2013/2014

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 S in m equazioni ed n incognite, nella sua forma generale, è il seguente:

S={ a11 x1+a12 x2+…+a1n xn=b1a21 x1+a22 x2+…+a2n xn=b2

⋮am1 x1+am2 x2+…+amn xn=bm

che in forma matriciale si scrive:Ax=b

La matrice aumentata del sistema è la matrice a blocchi:[ A∨b ]

Si ottiene un sistema equivalente S' a quello dato S (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:

S=[E1⋮Ei

⋮Em

]→S '=[E1⋮

αE i

⋮Em

] con α ≠0

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:

S=[E1⋮Ei

⋮E j

⋮Em

]→S '=[E1⋮E i

⋮α Ei+E j

⋮Em

] con α ≠0

III operazione elementare: si scambiano tra di loro due equazioni (si effettua un semplice scambio di righe):

15

Page 17: Metodi Numerici Per l'Informatica - Appunti

Metodi numerici per l’informatica 2013/2014

S=[E1⋮Ei

⋮E j

⋮Em

]→S '=[E1⋮E j

⋮E i

⋮Em

]Applicando ripetutamente queste tre operazioni elementari, si possono eliminare progressivamente le incognite nelle equazioni successive. Osserviamo inoltre che per 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 righeSe 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 E∈Rm×n, avente colonne E¿ j e righe Ei∗¿¿, è detta essere in forma di Echelon per righe se valgono le seguenti condizioni:

Se Ei∗¿¿ consiste di tutti zeri, allora anche le righe sotto devono avere componenti tutte uguali a zero

Se la prima componente non nulla in Ei∗¿¿ giace sulla j-esima colonna, allora tutte le entrate sotto la i-esima riga nelle colonne E¿ 1 , E¿ 2 ,…, E¿ j 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 A in una in forma di Echelon E, 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 [U∨c ] della matrice aumentata [ A∨b ] di un generico sistema lineare Ax=b, accade uno e uno solo dei tre seguenti casi:

[1 ] Tutte le colonne sono dominanti tranne l’ultima (corrispondente alla colonna dei termini noti); in tal caso il sistema ammette una e una sola soluzione, rappresentata dallo 0

[∞ ] 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

[0 ] 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 A∈Rm×n, il caso [1 ] può accadere solo se m≥n (ho almeno tante equazioni quante sono le incognite), il caso [∞ ] solo se n>1, mentre il caso [0 ] può accadere qualunque siano m ed n.

16

Page 18: Metodi Numerici Per l'Informatica - Appunti

Metodi numerici per l’informatica 2013/2014

Determinante

Sia A∈Rn×n. Il determinante di A è definito da:

det (A )=∑j

(−1 )t ( j) a1 j1a2 j2…an jn

dove t ( j ) è il numero di inversioni nella permutazione j=( j1 , j2 ,…, jn) e j varia su tutte le n ! permutazioni degli interi 1,2 ,…,n. La formula sopra è l’estensione al caso di n generico delle formule note per matrici di ordine n=2 e n=3:

n=2: det (A )=a11a22−a12a21n=3 : det (A )=a11a22a33+a12a23 a31+a13a21a32−a12 a21a33−a11a23a32−a13a22a31

Osserviamo che il calcolo del determinante mediante la definizione richiede la formazione di n ! prodotti, ognuno dei quali richiede n−1 moltiplicazioni.Il segno della permutazione dipende dal numero di permutazioni. In particolare:

σ (p )={+1 se p puòessere riportataall' ordinamentonaturale conunnumero pari di passi−1 se p puòessere rip ortataal l'ordinamento naturaleconunnumero disparidi passi

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 T ∈ Rn×n è uguale al prodotto degli elementi sulla diagonale principale:

det (T )=∏i=1

n

t ii

Se si scambiano due righe (o colonne), il determinante cambia di segno Moltiplicando una riga i per α , il determinante viene moltiplicato per quell’α det (A )=det ( AT ) det (A¿)=det (A ) det (I )=1

Date due matrici AB

∈Rn×n :det ( AB )=det (A )det (B )

Si osservi che se A∈Rn×n è invertibile se ha det (A )≠0.

Il determinante di una matrice può essere espresso in maniera ricorsiva mediante la regola di Laplace. Infatti, indicata con Aij la sottomatrice quadrata di ordine n−1 ottenuta dalla matrice A eliminando la i-esima riga e la j-esima colonna, per un qualunque indice di riga i si ha:

{ a11 se n=1

∑j=1

n

(−1 )i+ jaijdet ( Aij ) se n>1

dove il termine (−1 )i+ jdet ( A ij) è detto cofattore dell’elemento a ij. 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

17

Page 19: Metodi Numerici Per l'Informatica - Appunti

Metodi numerici per l’informatica 2013/2014

Il significato geometrico del determinante di una matrice A sta nel coincidere con il volume del parallelepipedo n-dimensionale, i cui spigoli corrispondono alle colonne della matrice A.Il segno di det (A ) indica l’orientamento dell’insieme delle coordinate.

Singolarità e non singolarità di una matrice

Una matrice A∈Rn×n è detta non singolare quando per essa si ha det (A )≠0.D’altra parte una matrice A∈Rn×n si dice singolare, con det (A )=0, se non ammette inversa. In questo caso il sistema non ammetterà un’unica soluzione. Viceversa, la matrice A è invertibile se e solo se è non singolare.

Rank di una matrice

Il rank di una matrice A∈Rm×n può essere definito come l’ordine massimo dei minori non nulli della matrice. Esso viene denotato usualmente con la notazione r=rank (A ).Il rank può essere anche definito come il numero massimo delle colonne, e quindi anche delle righe, della matrice A che sono linearmente indipendenti.Data una matrice A∈Rm×n ridotta dalle operazioni di riga nella forma di Echelon E, il rank ( A ) possiamo definirlo alternativamente come:

il numero di elementi pivotali in E il numero di righe non nulle in E il numero di colonne di base di A (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 A e non dalla forma di Echelon per righe E

Sia A∈Rm×n e consideriamo le matrici simmetriche AT A e A AT . Queste matrici assumono una particolare importanza perché compaiono in diverse applicazioni. Per esse valgono le seguenti proprietà:

rank ( A )=rank ( AT A )=rank ( A AT ) Range ( AT A )=Range ( AT ) Range ( A AT )=Range ( A ) N ( AT A )=N (A ) N ( A AT )=N ( AT )

Un esempio legato alle matrici AT A e A AT è la loro applicazione alla risoluzione del sistema lineare Ax=b. Infatti, moltiplicando a sinistra per AT si produce il seguente sistema:

AT Ax=AT bchiamato sistema associato delle equazioni normali che possiede delle proprietà estremamente importanti:

Il sistema delle equazioni normali è sempre consistente perché

AT b∈ Range (AT )=Range ( AT A ) Se Ax=b è consistente allora Ax=b e AT Ax=AT b hanno lo stesso insieme di soluzioni Se Ax=b è consistente ed ha una unica soluzione, lo stesso accade per AT Ax=AT b e

risulta:

x=( AT A )−1 AT b

Consistenza di un sistema lineare

Dati una matrice qualsiasi A∈Rm×n e due vettori xb∈ Rn

, il sistema lineare Ax=b si dice

18

Page 20: Metodi Numerici Per l'Informatica - Appunti

Metodi numerici per l’informatica 2013/2014

consistente se ammette soluzione. Le seguenti affermazioni sono equivalenti nell’affermare che un sistema è consistente:

rank ( [ A∨b ])=rank (A ) b∈Range (A ) Se nella forma di Echelon E[ A∨b ] non appare mai una riga del tipo:

[0 … 0∨α ] , α∈R−{0 } Se b non è colonna di base della matrice completa [ A∨b ] Se b è combinazione lineare delle colonne di base di A Se b è combinazione lineare delle colonne di E[ A∨b ]

Se il numero delle colonne di base di EA è uguale al numero delle colonne di base di E[ A∨b ]

Sottomatrice

Data una matrice A∈Rm×n, se ne possono considerare delle sue “porzioni”. Per esempio, se scegliamo ad arbitrio alcune righe e alcune colonne di A i coefficienti che stanno nella intersezione di queste righe e colonne formano quella che si chiama una sottomatrice di A. La matrice A è naturalmente una sottomatrice di se stessa; le sottomatrici diverse da A 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 solo le sottomatrici principali ottenute intersecando le prime k righe e colonne, dove k varia da 1 all’ordine n della matrice; esse vengono chiamate sottomatrici principali k -esime. Naturalmente la matrice A è sottomatrice principale n-esima di se stessa.

Norme

Norma di vettore

Dato uno spazio vettoriale (V ,+, ∙ ), una applicazione V →R è chiamata norma, indicata usualmente con ‖x‖, quando verifica le seguenti proprietà:

1. ∀ x∈V→‖x‖≥02. x∈V →‖x‖=0⇔x=03. ∀ x∈V , α∈ R→‖αx‖=|α|‖x‖

4. ∀ xy∈V →‖x+ y‖≤‖x‖+‖y‖ (questa proprietà è detta disuguaglianza triangolare)

Il numero ‖x+ y‖ definisce una distanza tra i punti x e y.Un esempio di norma in Rn è fornito dalla cosiddetta norma p, supponendo p≥1, nel modo seguente:

‖x‖p=(∑i=1

n

|x i|p)1p

Per p=2 si ha la cosiddetta norma euclidea. In particolare, per vettori colonna x∈ Rn×1 la norma euclidea è definita come:

‖x‖2=√∑i=1

n

xi2=√xT x

La norma ‖x‖2 è reale anche nel caso di x∈Cn

19

Page 21: Metodi Numerici Per l'Informatica - Appunti

Metodi numerici per l’informatica 2013/2014

Nel caso p=∞ si ha la norma del massimo definita da:‖x‖∞=max|x i|,1≤ i ≤n

Se 1< p<∞ la disuguaglianza triangolare diventa:

(∑i=1

n

|xi+ y i|p)1p ≤(∑

i=1

n

|x i|p)1p+(∑

i=1

n

|y i|p)1p

Osserviamo che una norma di vettore è una funzione continua in Rn e che per ogni coppia di

norme di vettori, ‖x‖ e ‖x‖', esistono due costanti positive m ed M tali che:

∀ x∈Rn→m‖x‖'≤‖x‖≤M‖x‖'

In altre parole, in Rn, per n fissato, le norme sono tra loro equivalenti.

Norma di matrice

Una matrice quadrata A∈Rn×n può essere considerata un vettore in uno spazio di

dimensioni n2. In particolare, date due matrici quadrate AB

∈Rn×n, possiamo chiamare

norma di una matrice, un’applicazione A→‖A‖, che verifica condizioni analoghe alle quattro condizioni date nella definizione di norma di vettore, con l’aggiunta dell’ultima condizione 5.:

1. ∀ A ∈Rn×n→‖A‖≥02. A∈Rn×n→‖A‖=0⇔A=03. ∀ A ∈Rn×n, α∈ R→‖αA‖=|α|‖A‖

4. ∀ AB

∈Rn× n→‖A+B‖≤‖A‖+‖B‖ (anche in questo caso, questa proprietà è detta

disuguaglianza triangolare)

5. ∀ AB

∈Rn× n→‖AB‖≤‖A‖‖B‖

Sia ‖∙‖ una forma fissata di vettore. Definiamo norma naturale (o norma indotta dalla norma di vettore) dalla matrice A la quantità:

‖A‖≡¿ x ≠0‖Ax‖‖x‖

Poiché per ogni x≠0 si può definire u=x

‖x‖, sicché ‖u‖=1, la definizione precedente è

equivalente alla seguente:‖A‖=max

‖u‖=1‖Au‖=‖Ay‖,‖y‖=1

Per definizione se I è la matrice identità e ‖∙‖ è una norma naturale, allora ‖I‖=1.

Osserviamo che, per una norma definita come ‖A‖≡¿ x ≠0‖Ax‖‖x‖

, si ha il seguente risultato:

‖Ax‖≤‖A‖‖x‖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 p di vettore per p=1,2 ,∞. Indichiamo con a ij, i , j=1,2 ,…,n gli elementi della matrice A:

Per p=∞La norma di matrice indotta dalla norma del massimo (p=∞) è la seguente:

‖A‖∞=maxi∑j=1

n

|a ij|

20

Page 22: Metodi Numerici Per l'Informatica - Appunti

Metodi numerici per l’informatica 2013/2014

cioè la massima tra le somme dei moduli delle componenti sulle righe. Per p=1

Si dimostra che:

‖A‖1=maxj∑i=1

n

|aij|cioè ‖A‖1=‖AT‖∞

Per p=2La norma 2, corrispondente alla norma euclidea di vettore, può essere calcolata nel modo seguente:

‖A‖2=√ρ ( AT A )Una norma di matrice che non è subordinata ad una norma di vettore è la norma di Frobenius, definita per una matrice A∈Rm×n nel modo seguente:

‖A‖F=√∑i=1

m

¿¿¿¿¿

La norma di Frobenius è essenzialmente la norma euclidea della matrice considerata come un vettore di mn componenti. È interessante osservare che la norma di Frobenius è compatibile con la norma euclidea di vettore. Si ha, infatti:

‖A‖2≤‖A‖F‖x‖2

Prodotto scalare in uno spazio vettoriale

Dato uno spazio vettoriale (V ,+, ∙ ), definiamo prodotto scalare la funzione:⟨ ∙∨∙ ⟩ :V ×V →R

dotata delle seguenti proprietà:

∀ xy∈V → ⟨ x∨ y ⟩ ∈R

∀ xy∈V → ⟨ x∨ y ⟩=⟨ y , x ⟩

∀ xy∈V ,∀α ∈R→ ⟨αx∨ y ⟩=⟨ x∨αy ⟩=α ⟨ x∨ y ⟩

∀xyz∈V → ⟨ x∨ y+z ⟩= ⟨ x∨ y ⟩+⟨ x∨z ⟩

Diremo che ‖x‖⟨∙∨∙ ⟩=√ xT x e viene detta norma indotta.

Dati due vettori xy∈V diversi da 0, possiamo calcolare l’angolo tra di essi:

cosθ=⟨ x∨ y ⟩‖x‖‖y‖

=⟨ x∨ y ⟩

√ ⟨ x∨x ⟩ ⟨ y∨ y ⟩

Se prendiamo due vettori xy∈Rn

dove x=[x1x2⋮xn

] e y=[ y1y2⋮yn

], il loro prodotto vettoriale sarà dato

da:

⟨ x∨ y ⟩=√xT y=√∑i=1

n

x i y i

mentre per il prodotto scalare abbiamo:

21

Page 23: Metodi Numerici Per l'Informatica - Appunti

Metodi numerici per l’informatica 2013/2014

⟨ x∨x ⟩=√xT x=∑i=1

n

x i2=‖x‖2

Disuguaglianza di Cauchy–Schwarz

Dati due vettori xy∈V possiamo scrivere:

|⟨ x∨ y ⟩|≤‖x‖⋅‖y‖L’uguaglianza |⟨ x∨ y ⟩|=‖x‖⋅‖y‖ vale se e solo se:

y=αx ,α=⟨ x∨x ⟩‖x‖2

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 R2 ed R3.

Spazio vettoriale

La tripla (V ,+, ∙ ) si dice spazio vettoriale su R se la somma vettoriale e il prodotto vettoriale soddisfano le seguenti proprietà:

Per la somma +¿:

o ∀ xy∈V →x+ y∈V (proprietà di chiusura per la somma vettoriale)

o ∀xyz∈V → ( x+ y )+z=x+( y+z ) (proprietà associativa)

o ∀ xy∈V →x+ y= y+x (proprietà commutativa)

o ∃0∈V ,∀ x∈V ∋' x+0=0 (esistenza dell’elemento neutro)

o ∀ x∈V→∃−x∈V ∋' x+(−x )=0 (esistenza dell’elemento inverso)

Per il prodotto ∙:o ∀ x∈V ,∀α∈ R→αx∈V (proprietà di chiusura per il prodotto vettoriale)

o ∀αβ∈R ,∀ x∈V →α (βx )=(αβ ) x=αβx (proprietà associativa)

o ∀α∈R,∀ xy∈V →α ( x+ y )=αx+αy (proprietà distributiva a sinistra)

o ∃1∈V , ∀ x∈V ∋' x ∙1=x (esistenza dell’elemento neutro)

o ∀αβ∈R ,∀ x∈V → (α+β ) x=αx+βx (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.

Sottospazio vettorialeUno spazio S si dice sottospazio vettoriale di uno spazio vettoriale V , con S≠V , se soddisfa anche le sole proprietà di chiusura rispetto alla somma e al prodotto:

∀ xy∈S⊂V→ x+ y∈S⊂V (proprietà di chiusura per la somma vettoriale)

∀ x∈S⊂V , ∀α∈R→αx∈S⊂V (proprietà di chiusura per il prodotto vettoriale)Potremo dire allora che S⊂V , con (S ,+, ∙ ) è ancora spazio vettoriale.Tali proprietà implicano che ogni sottospazio deve contenere almeno il vettore zero.

22

Page 24: Metodi Numerici Per l'Informatica - Appunti

Metodi numerici per l’informatica 2013/2014

Spazio span

Per un insieme di vettori S= {v1 , v2 ,…,vn }, il sottospazio:

span (S )={∑i=1

n

α i v i=α 1 v1+α2 v2+…+αn vn∨αi∈R}generato da tutte le possibili combinazioni lineari dei vettori di S viene chiamato spazio span di S.Esempi.

Il sottospazio di R2 è l’insieme di tutte e sole le rette passanti per l’origine. Oltre questo non ci sono sottospazi in R2. In altre parole ogni retta passante per l’origine è del tipo span {v } al variare di v∈R2 e in generale si scrive α v.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 R2 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 R3 sono formati sia dalle rette che dai piani passanti per l’origine.

Prendendo tre vettori qualsiasi v1 , v2 , v3∈R3 posso creare:

o span {v1 , v2 , v3 }. Lo spazio generato dai tre vettori è tutto R3 se e solo se

abbiamo che rank [ v1∨v2∨v3 ]=3, quindi massimo, si deduce che v1,v2 e v3 sono

linearmente indipendenti. In altre parole ∀b∈R3 il sistema lineare Ax=b è

consistente con A=[v1∨v2∨v3 ].Possiamo aggiungere ancora:

N (A )=N { [v1∨v2∨v3 ]}={0 }⇔dimRange ( [v1∨v2∨v3 ])=dim Range ( [v1T∨v2T∨v3

T ] )=3o span {v i , v j } con i≠ j e i , j=1,2,3. Prendiamo una generica componente

y∈ span {v i , v j } come y=α1 v i+α 2 v j. Scriviamo allora la combinazione lineare di y:

[ y1y2y3]=α1[v i(1 )

v i(2 )

v i(3 )]+α 2[v j(1)

v j(2)

v j(3)]=[α 1 vi(1)+α 2 v j(1 )

α 1v i(2)+α 2 v j(2 )

α1 v i(3)+α 2 v j(3 )]

Essa rappresenta un piano passante per l’origine e v i e v j, se i due vettori sono

linearmente indipendenti. Questo significa che rank [ v i∨v j ]=2o span {v i } con i=1,2,3. Lo spazio generato da un unico vettore in R3 è una retta

passante per l’origine e per il punto individuato dalle coordinate del vettore v i. Le coordinate della retta sono del tipo α v, con α∈ R. L’angolo formato dagli elementi che appartengono allo spazio generato dal vettore v i è 0 poiché sono tutti vettori paralleli, a meno del coefficiente α

Linee e superfici in R3 che hanno una curvatura non sono sottospazi di R3.

Anche per lo spazio span (S ), essendo un sottospazio di V , vale la proprietà di chiusura della somma vettoriale:

∀ xy∈ span (S )→x+ y=∑

i=1

n

α i x i+∑i=1

n

β i y i=∑i=1

n

(α i x i+β i y i )∈ span (S ) , αi

βi

∈R

L’insieme (a1|a2|…∨an ) dove a i∈Rm≠1, genera lo spazio

23

Page 25: Metodi Numerici Per l'Informatica - Appunti

Metodi numerici per l’informatica 2013/2014

V ⇔∀b∈V ∋' b=∑i=1

n

αiai⇔b=α1a1+α 2a2+…+α nan⇔ [a1|a2|…∨an ][α 1α 2…α n

]⇔b=x [α 1α 2…α n

]⇔Ax=b.

L’insieme (a1|a2|…∨an ) genera V quando rank ( A )=n.

Se ci troviamo nello spazio tridimensionale R3 il rank di una matrice A∈R3 è uguale a 3, perciò lo spazio generato ha dimensione 3.

Spazio RangeL’insieme di tutti i vettori che sono combinazioni lineari delle colonne di una matrice

A∈Rm×n è chiamato spazio colonna, o spazio immagine di A. Lo spazio immagine può essere espresso nella seguente forma:

Range (A )= {b∈Rm× 1∨∃ x∈Rn× 1∋' Ax=b}⊂Rm

In altre parole, possiamo definire spazio Range di A il sottospazio generato dalle colonne di A o analogamente il sottospazio generato dalle righe di AT , quindi:

Range (A )= {A ¿1 , A ¿2 ,…, A ¿n }⊂Rm

oppure:

Range ( AT )=¿

Spazio nullo

Data una matrice A∈Rm×n, si chiama insieme nullo l’insieme N (A )= {x∈Rn×1∨Ax=0}⊆Rn.

In altre parole N (A ) è un sottospazio di Rn ed è generato da tutte le soluzioni del sistema omogeneo Ax=0.Verifichiamo la chiusura di N (A ) rispetto alla somma e al prodotto:

Somma:

∀ xy∈ N (A )→ Ax=0

Ay=0 }⇒ A ( x+ y )=0

Ammetterà almeno la soluzione nulla x=0 Prodotto:

α ≠0→A (αx )=αAx=0Quando 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 S di Rm, m vettori {x i }, i=1 ,…,m costituiscono una base di S se ogni altro vettore z∈S può essere espresso solo come combinazione lineare dei vettori della base:

z=∑i=1

m

αi xi

Una base è, quindi, un insieme di vettori linearmente indipendenti che genera tutto lo spazio S.Sia V ⊆Rm sottospazio e B= {b1 ,b2,…,bn }⊆V . Le seguenti proprietà sono equivalenti:

B è una base di V (V=span {B }) B è l’insieme minimo di vettori linearmente indipendenti che possono generare V B è il più grande insieme di vettori linearmente indipendenti di V

Una base di Rm particolarmente importante è la base canonica, formata dai vettori:

e i=[0 ,…,0,1,0 ,…,0 ]T ,i=1,2,…,n

24

Page 26: Metodi Numerici Per l'Informatica - Appunti

Metodi numerici per l’informatica 2013/2014

che sono le colonne della matrice identità di ordine m e aventi 1 in i-esima posizione.

Dimensione di un sottospazioTutte le basi di un sottospazio hanno lo stesso numero di elementi; tale numero, indicato con dim (S ), è detto dimensione del sottospazio ed esprime il numero di gradi di libertà del sottospazio. Ad esempio, lo spazio Rm ha dimensione m e ogni insieme di m vettori linearmente indipendenti di Rm costituisce una base di questo sottospazio.In un sottospazio di dimensione k nessun insieme di più di k vettori può essere linearmente indipendente e nessun insieme di meno di k vettori può generare lo spazio.Siano S e T due sottospazi di Rm. La somma:

X=S+T={x=s+t∨s∈S , t∈T }e l’intersezione S⋂T è ancora uno sottospazio. Per la sua dimensione vale la seguente relazione:

dim (S+T )=dim (S )+dim (T )−dim (S⋂T )

Relazioni tra sottospazi-dimensioni-basi

Per una qualsiasi matrice A∈Rm×n vale il seguente teorema:dim Range ( A )+dim N ( A )=n

Considerando la trasposta di A vale che:

dim Range ( AT )+dim N (AT )=mDalle precedenti uguaglianze deduciamo che:

dim Range ( A )=r dim N (A )=n−r dim Range ( AT )=r dim N ( AT )=m−r

Indipendenza lineare

I vettori {x1 , x2 ,…,xn }∈Rm, con n≤m si dicono linearmente indipendenti se dalla condizione:

∑i=1

n

αi xi=0 , αi ∈R

segue che α i=0, per i=1 ,…,n. In caso contrario, i vettori assegnati si dicono linearmente dipendenti. Quando i vettori x i sono le colonne A¿ j di una matrice A∈Rm×n, si deduce che la dipendenza lineare delle colonne di A è equivalente alla condizione:

Az=0 per un vettore z≠0e che la indipendenza lineare delle colonne di A è equivalente alla condizione:

Az=0⇒ z=0In 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 A∈Rm×n, ognuna delle seguenti proprietà è equivalente all’altra nell’affermare la lineare indipendenza delle colonne della matrice A:

Le colonne di A (A¿ j) costituiscono un insieme di vettori linearmente indipendenti N (A )= {0 } rank ( A )=n cioè il numero delle colonne linearmente indipendenti di A

Se invece ragioniamo in termini di righe della trasposta di A potremo dire che le righe sono linearmente indipendenti se:

25

Page 27: Metodi Numerici Per l'Informatica - Appunti

Metodi numerici per l’informatica 2013/2014

Le righe di AT (Ai∗¿T ¿) costituiscono un insieme di vettori linearmente indipendenti

N ( AT )= {0 } rank ( AT )=m cioè il numero delle colonne linearmente indipendenti di AT (righe di A)

Quando trattiamo una matrice quadrata A∈Rn×n, abbiamo una ulteriore proprietà che afferma che A è formata da colonne tutte linearmente indipendenti se è invertibile, quindi se ha det (A )≠0. In questo caso il rank ( A )=rank ( AT ).

Matrice di Vandermonde

La matrice di Vandermonde è una matrice V ∈Rm×n della forma:

V=(1 x1

1 x12 … x1

n−1

1 x21 x2

2 ⋯ x2n−1

⋮ ⋮ ⋮ ⋱ ⋮1 xm

1 xm2 … xm

n−1)dove x i≠ x j con ∀ i≠ j. Se n≤m, le colonne di V sono vettori linearmente indipendentiAlla matrice precedente possiamo associare un polinomio del tipo:

Pn ( x )=∑i=1

n

α i xi

che ha grado minore o al più uguale di n−1 e m radici distinte.Il sistema associato quindi possiamo scriverlo come:

Vα=b

con α=[α1α2⋮αn

].Si dimostra che det (V )≠0⇔xi≠ x j con i≠ j.

Ortogonalità

Due vettori xy∈V si diranno perpendicolari e si scrive x⊥ y se ⟨ x∨ y ⟩=0

Se due vettori sono ortogonali significa che formano un angolo di 90°, cioè π2

.

Legge del cosenoLa legge del coseno è una generalizzazione del teorema di Pitagora, perché applicabile a tutti i triangoli, non solo a quelli rettangoli.

26

Page 28: Metodi Numerici Per l'Informatica - Appunti

Metodi numerici per l’informatica 2013/2014

Figura 2 - Legge del coseno considerando le norme dei lati di un triangolo rettangolo

Dati due vettori u e v, la legge del coseno afferma che:

cosθ=‖u‖2+‖v‖2−‖u−v‖2

2‖u‖‖v‖=

uT u+vT v−(u−v )T (u−v )2‖u‖‖v‖

=uT u+vT v−uT u+uT v+vT u−vT v2‖u‖‖v‖

=¿

¿ 2uT v2‖u‖‖v‖

= uT v‖u‖‖v‖

=⟨u∨v ⟩‖u‖‖v‖

Il teorema di Pitagora può essere riscritto nel seguente modo:

‖u−v‖2=‖u‖2+‖v‖2−2cos θ‖u‖‖v‖

ma poiché nel caso di triangolo rettangolo cosπ2=0, allora avremo soltanto:

‖u−v‖2=‖u‖2+‖v‖2

Dimostrazione di ortogonalità in R3.Supponiamo che u e v siano due vettori ortogonali (perpendicolari) in R3:

‖u−v‖2=‖u‖2+‖v‖2⇔ (u−v )T (u−v )=uT u+vT v⇔ (uT−vT ) (u−v )=uT u+vT v⇔uTu−uT v−vT u+vT v−uT u−vT v=0⇔2uT v=0⇔uT v=0

Quindi i due vettori sono ortogonali in R3 se e solo se uT v=0, quindi se e solo se il prodotto scalare tra i due vettori è 0, cioè ⟨u∨v ⟩=0.

Correlazione lineare e standardizzazioneSupponiamo di condurre un esperimento e di registrare le osservazioni risultanti in due vettori di dati.

x=[x1x2⋮xn

] e y=[ y1y2⋮yn

]e poniamo un vettore e=[11⋮

1]. Determiniamo in quale misura le componenti di x sono

correlate con quelle di y, cioè se ∃β0β1

∋' y=β0 e+ β1 x. Per far questo calcoliamo la media μx e

la deviazione standard σ x dei dati in x. Abbiamo che:

27

Page 29: Metodi Numerici Per l'Informatica - Appunti

Metodi numerici per l’informatica 2013/2014

μx=∑i

n

x i

n= eT x

n

σ x=√∑i

n

(x i−μx)2

n=

‖x−μx e‖2√n

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 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 (μ=0 e σ=1), 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 x per il quale σ x≠0 è definita come:

zx=x−μxe

σ x

Le componenti di zx sono dette z-score, aventi per definizione μ=0 e σ=1.Presi due vettori qualsiasi x e y standardizzati rispettivamente in zx e z y tali che σ x≠0 e σ y≠0, possiamo scrivere che:

zx=z y⇔∃β0β1

∋' y=β0e+β1 x con β1>0

zx=−z y⇔∃β0β1

∋' y=β0 e+β1 x con β1<0

In altre parole y=β0 e± β1 x per alcune costanti β0 e β1 se e solo se zx=± z y, in tal caso diremo che i due vettori di partenza x e y sono perfettamente correlati linearmente.Dato che zx varia in relazione ad x, l’esistenza di una relazione “quasi” lineare tra x e y è equivalente a quella che in un certo senso potrebbe esserci tra zx e ± z y. Il fatto che

‖z x‖=‖±z y‖=√n significa che zx e ± z y differiscono solo per l’orientamento, così una misura

di quanto sono vicini i due vettori standardizzati è il cosθ dove θ è l’angolo tra zx e z y.Chiameremo coefficiente di correlazione lineare il cosθ:

ρ xy=cos θ=z x

T z y

‖z x‖‖z y‖=

zxT z y

n=

( x−μx e )T ( y−μ ye )‖x−μx e‖‖y−μ ye‖

Valgono le seguenti proprietà: ρ xy=0 se e solo se x e y sono ortogonali (perpendicolari), in tal caso i due vettori

sono completamente non correlati |ρ xy|=1 se e solo se x è perfettamente correlato ad y, cioè se e solo se esiste una

relazione lineare y=β0 e+β1 x che:o quando β1>0 allora potremo dire che y è correlato positivamente con x (ρ xy≈1)o quando β1<0 diremo che y è correlato negativamente con x (ρ xy≈−1)

28

Page 30: Metodi Numerici Per l'Informatica - Appunti

Metodi numerici per l’informatica 2013/2014

Figura 3 - Coefficienti lineari al variare della disposizione dei dati

Ortonormalità di vettori

Due vettori xy∈Rn

si dicono ortogonali se xT y=0.

L’insieme B= {x1 , x2 ,…, xn∨x i∈Rn } è composto da vettori ortonormali se e solo se presi a 2 a

2 sono ortogonali e hanno norma unitaria:

x iT x j={1 se i= j

0 se i ≠ jProprietà:

vettori ortonormali sono linearmente indipendenti Ogni insieme ortonormale di n vettori di uno spazio n-dimensionale V costituisce una

base per V

Ortonormalità di matrici

Data una matrice invertibile A∈Rn×n, si dice ortonormale se:

AT A=A AT=I nOvvero la sua trasposta coincide con la sua inversa.

Metodo di ortonormalizzazione di Gram-Schmidt

Siano {x1 , x2 ,…,xn }∈Rn vettori ortonormali che per definizione equivale a scrivere:

x iT x j=δij={1 se i= j

0 se i≠ jCostruiamo ora una matrice A le cui colonne a1 , a2 ,…,an∈Rn sono i vettori ortonormali presi in considerazione e sappiamo che:

a iT a j

costituisce il vettore proiezione di a i su a j.Il metodo di Gram-Schmidt costruisce n vettori q1 , q2 ,…,qn ortonormali.

Passo 1o Poniamo ~q1=a1

q1=~q1

‖~q1‖2 Passo 2

o ~q2=a2−(a2T q1 )q1~q2⊥q1 infatti ~q2q1=a2

T q1−(a2T q1 )q1T q1=0

q2=~q2

‖~q2‖229

Page 31: Metodi Numerici Per l'Informatica - Appunti

Metodi numerici per l’informatica 2013/2014

Passo 3o q1 , q2 , a3 ,…,an

~q3=a3−(a3T q1 )q1−(a3T q2) q2~q3

T q1=(a3−(a3T q1) q1−(a3T q2 )q2 )Tq1=a3

T q1−(a3T q1 ) q1T q1−(a3T q2 )q2T q1=0

q3=~q3

‖~q3‖2 … k -esimo passo

o ~qk=ak−∑i=1

k−1

(akT q i )q i

Si prova che ~qkT q1=0

qk=~qk

‖~qk‖2In sintesi, partendo da una matrice di partenza A=[a1 , a2 ,…,an ], calcoliamo una matrice

ortonormalizzata di nome Q= [q1 , q2 ,…,qn ], tralasciando una quantità che chiamiamo R.Allora A=QR.

Fattorizzazione QR

Data una matrice quadrata A∈Rn×n possiamo sempre trovare una fattorizzazione tale che

A=QR, dove Q ed R hanno le stesse dimensioni di A, Q ammette inversa (QTQ=I ) ed R è triangolare superiore del tipo:

R=(r 11 r12 … r1n0 r22 … r2n⋮ ⋮ ⋱ ⋮0 0 … r nn

)In generale per una matrice qualsiasi A∈Rm×n potremo sempre trovare una decomposizione Q R ma in questo caso Q∈Rm×m e R∈Rm×n avrà le stesse dimensioni di A.

Se m<n

Rm=(r11 r12 … r1n 0 … 00 r 22 … r2n 0 … 0⋮ ⋮ ⋱ ⋮ ⋮ ⋱ ⋮0 0 … r nn 0 … 0

) Se m>n

Rn=(r 11 r12 … r1n0 r22 … r2n⋮ ⋮ ⋱ ⋮0 0 … rnn0 0 … 0⋮ ⋮ ⋱ ⋮0 0 … 0

)Un elemento qualsiasi di A fattorizzata con questo metodo, nel caso che m>n, è possibile scriverlo nel seguente modo:

30

Page 32: Metodi Numerici Per l'Informatica - Appunti

Metodi numerici per l’informatica 2013/2014

A=QRn⇒ aij=∑k=1

n

q ik r jk=∑k=1

j

qik rkj

Autovalori e autovettori

Data un matrice quadrata A∈Rn×n, viene detto autovalore di A uno scalare λ∈C per il quale, il seguente sistema omogeneo:

Ax=λxammette soluzioni x≠0. Tali soluzioni sono dette autovettori di A, corrispondenti all’autovalore λ. In sostanza, un vettore non nullo x è un autovettore quando nella trasformazione lineare x→ Ax esso viene trasformato in un multiplo di x. Ogni coppia del tipo ( λ , x ) è chiamata autocoppia di A.L’insieme degli autovalori distinti, denotato con σ ( A ), è chiamato spettro di A. Tipicamente la cardinalità dello spettro è minore o uguale al grado del polinomio.È possibile definire anche un raggio spettrale definito dalla quantità:

ρ ( A )= maxλ i∈σ (A )

|λi|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:

det (A−λI )=0Le soluzioni (o radici) del polinomio caratteristico che effettivamente andremo a calcolare, rappresentano gli autovalori λ.

λ∈σ (A )⇔A−λI è singolare ⇔det ( A−λI )=0 L’insieme {x ≠0∨x∈ N (A−λI ) } contiene tutti gli autovettori associati a λ. Chiameremo

N (A− λI ) autospazio di ADal punto di vista geometrico, l’equazione Ax=λx afferma che sotto trasformazione di A, gli autovettori apportano solo un cambiamento in lunghezza o segno (l’orientamento di Ax in

Rn è lo stesso di x). L’autovalore λ è semplicemente la quantità di “allungamento” o “accorciamento” alla quale l’autovettore x è soggetto quando trasformato da A.

Figura 4 - Autovettore x sotto trasformazione di una matrice A

Sotto elenchiamo alcune proprietà generali valide per il polinomio caratteristico: Il polinomio caratteristico di A∈Rn×n è p ( λ )=det ( A−λI ). Il grado di p ( λ ) è n e il

coefficiente di grado massimo nel polinomio è (−1 )n λn

L’equazione caratteristica di A è p ( λ )=0 Gli autovalori di A sono le soluzioni dell’equazione caratteristica o,

equivalentemente, le radici del polinomio caratteristico p ( λ )=0 In generale A ha n autovalori, ma a volte possono essere numeri complessi (anche se

31

Page 33: Metodi Numerici Per l'Informatica - Appunti

Metodi numerici per l’informatica 2013/2014

le componenti di A sono numeri reali), e alcuni autovalori possono essere ripetuti Se A contiene solo numeri reali, allora i suoi autovalori complessi devono apparire in

coppie coniugate, cioè se λ∈σ (A ) allora λ∈σ (A )

Un importante risultato si raggiunge considerando l’insieme di autovalori distinti

{λ1 , λ2 ,…, λn } di una matrice A. Se {( λ1 , x1 ) , (λ2 , x2 ) ,…, (λn , xn )} è l’insieme delle autocoppie per

A, allora l’insieme {x1 , x2 ,…,xn } è linearmente indipendente.

Conoscendo gli autovalori di una matrice quadrata A∈Rn×n possiamo calcolare il suo determinante come:

det (A )= ∏i=1

λi∈σ (A )

n

λ i

e il suo trace come:

trace ( A )= ∑i=1

λ i∈ σ (A )

n

λi

Nota. Non posso calcolare gli autovalori di una matrice rettangolare A∈Rm×n, ma al massimo posso considerare la matrice A AT o AT A che sarà sicuramente quadrata.

Autocoppie per potenze di matrici

Se consideriamo un’autocoppia ( λ , x ) di una matrice quadrata A∈Rn×n, allora possiamo dire

che (λk , x ) è un’autocoppia della potenza k -esima di A, Ak. Anche per una matrice potenza possiamo considerare il suo sistema associato. Se prendiamo un autovettore x possiamo scrivere allora:

Ak x=( Ak−1 ) Ax⏞¿ λx

=( Ak−1 ) λx=λ ( Ak−1 )⏞λk−1x

x=λk x⇔Ak x=λk x

Molteplicità algebrica e geometrica di un autovalorePer molteplicità algebrica di un autovalore, si intende il numero di volte in cui quell’autovalore λ compare come radice del polinomio caratteristico p ( λ )=0. Si indica con mult alg ( λ ).Quando mult alg ( λ )=1, λ è detto autovalore semplice.

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 mult geo ( λ ) e sarà quindi uguale a:

mult geo ( λ )=dim (N (A− λI ) )Quando gli autovalori hanno stesse molteplicità algebriche e geometriche, cioè mult alg ( λ )=mult geo ( λ ), sono chiamati autovalori semisemplici di A. Possiamo dire che un autovalore semplice è sempre semisemplice, ma non viceversa.In generale per una matrice A∈Cn×n e per ogni λ∈σ (A ), vale la seguente disuguaglianza:

mult alg ( λ )≥mult geo ( λ )

Similarità

Date due matrici quadrate AB

∈Rn×n, si dicono simili, per definizione, se ∃P∈Cn×n invertibile

32

Page 34: Metodi Numerici Per l'Informatica - Appunti

Metodi numerici per l’informatica 2013/2014

(non singolare con det (A )≠0) ∋' A=P−1BP. Il prodotto P−1BP è detto trasformazione di similarità su B.Proprietà di due matrici simili:

Due matrici simili hanno gli stessi autovalori con le stesse molteplicità algebriche e le stesse molteplicità geometriche. Formalmente:

AB

∈Rn×n sono simili ⇒ σ ( A )=σ (B )

Se due matrici sono simili, hanno lo stesso trace e lo stesso determinante. Dimostriamo l’uguaglianza del determinante. Sia λ∈σ (A )⇔det ( A− λI )=0:

det (A−λI )=det (PB P−1−λ P P−1 )=det [P (B− λI ) P−1 ]=det P⏞≠0

det (B−λI )⏞¿0

det P−1⏞≠ 0

=det (B−λI )Per cui le due matrici hanno lo stesso polinomio caratteristico e quindi hanno gli stessi autovalori con le stesse molteplicità algebriche. Se x è autovettore di A corrispondente all’autovalore λ, risulta:

PBP−1 x= λx⇔P−1P⏞¿ 1

BP−1 x=P−1 λx⇔B P−1 x=λ P−1 xPerciò il vettore y=P−1 x è autovettore di B 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 A∈Rn×n con autovalori tutti distinti λ1≠ λ2≠…≠λn, possiamo dire che è diagonalizzabile se e solo se A è simile ad una matrice diagonale. In questo caso gli n autovalori della matrice sono tutti linearmente indipendenti. Viceversa se tutti gli autovalori di A sono distinti la matrice è diagonalizzabile.Formalmente possiamo scrivere:

A si dice diagonalizzabile ¿⇔ ∃P∈Rn×n invertibile ∋' A=P−1(λ1 0 ⋯ 00 λ2 ⋯ 0⋮ ⋮ ⋱ ⋮0 0 ⋯ λn

)PLe colonne della matrice P costituiscono un insieme completo di autovettori linearmente indipendenti associati ai λ i di A, cioè ogni coppia (λ i , P¿ j ) è autocoppia di P.Se una matrice non ha tutti gli autovalori distinti, può non essere diagonalizzabile e questo accade se per almeno un autovalore di A la molteplicità geometrica è minore della corrispondente molteplicità algebrica.

Si noti che una matrice simmetrica è diagonalizzabile.

Metodo delle potenzeIl 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 A∈Cn×n con autovalori λ1 , λ2 ,…, λn. L’autovalore λ1 si dice autovalore dominante se e solo se il suo modulo è più grande del modulo dei restanti autovalori:

|λ1|>|λ i|,i=2,3 ,…,nSi supponga, per semplicità, che A ammetta n autovettori linearmente indipendenti che quindi formeranno una base di Cn×1.

33

Page 35: Metodi Numerici Per l'Informatica - Appunti

Metodi numerici per l’informatica 2013/2014

Denotiamo con x1 , x2 ,…, xn gli autovettori di A associati agli autovalori λ1 , λ2 ,…, λn. Possiamo scrivere allora:

A x i=λ i x i

Consideriamo ora un vettore iniziale y0 scelto arbitrariamente in Cn×1 e rappresentiamolo lungo la base degli autovettori x i:

y0=α1 x1+α2 x2+…+αn xn=∑i=1

n

αi x i

L’unico vincolo che imporremo su y0 è che non sia ortogonale ad x1, cioè α 1≠0.A partire dal vettore iniziale y0, generiamo la successione:

y1=A y0y2=A y1

…yk=A yk−1

Si ottiene facilmente che:

yk=A yk−1=A (A yk−2 )=A2 yk−2=…=Ak y0=Ak∑i=1

n

α i x i=∑i=1

n

α i Ak x i

⏞λi

k x i

=∑i=1

n

α i λ ik x i=¿

¿α 1 λ1k x1+∑

i=2

n

α i λ ik x i= λ1

k [α1 x1+∑i=2n αi( λ ik

λ1k )x i]= λ1

k [α 1 x1+∑i=2n

α i( λ i

λ1 )k

x i]Considerando la componente di indice j=1,2 ,…,n, componente di massimo modulo di yk, segue che:

yk+1 ( j )y k ( j )

=

λ1k+1[α1 x1+∑i=2

n

α i( λiλ1 )k +1

x i]λ1

k [α1 x1+∑i=2n

α i( λiλ1 )k

x i]Per k molto grande:

yk= λ1k [α 1 x1+∑

i=2

n

α i( λ i

λ1 )k

xi⏞¿0 perchè λi

k≪ λ1k

]≅ α1 λ1k x1

cioè yk si allinea all’autovettore dominante x1.

La successione degli scalari yk+1 ( j )y k ( j )

generata dal metodo delle potenze converge

all’autovalore dominante λ1, cioè:

limk→∞

yk+1 ( j )yk ( j )

=¿ limk→∞

λ1k+1α 1 x1λ1

kα 1 x1=¿ λ1 ¿¿

La velocità di convergenza dipende dal rapporto |λ2λ1|: tanto più è piccolo, tanto più

rapidamente converge. Quando |λ2|≅|λ1| 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 α∉σ ( A ) di un autovalore λ∈σ (A ), l’algoritmo del metodo

34

Page 36: Metodi Numerici Per l'Informatica - Appunti

Metodi numerici per l’informatica 2013/2014

delle potenze inverse permette di calcolare una autocoppia ( λ , x ) di una matrice

diagonalizzabile A∈Cn×n, applicando il metodo delle potenze alla matrice B=( A−αI )−1.Se |λ−α|<|λi−α|∀ λi∈σ ( A ) allora ( λ−α )−1 è l’autovalore dominante di B, infatti:

|λ−α|−1>|λi−α|−1Il metodo delle potenze inverse è:

( A−αI ) yk=xk−1

dove

xk=yk

βk

con βk scalare tale che ‖xk‖∞=1.

Se λ1 è reale e ha molteplicità k la convergenza è molto lenta.Andando a costruire una successione normalizzata in norma infinito, per k→∞, questa si va ad allineare all’autovettore normalizzato nella stessa norma, cioè:

{ y k

‖yk‖∞

k→∞→

α1 x1‖x1‖∞

Successione dei coefficienti di RayleighLa successione di Rayleigh è una successione numerica computazionalmente più stabile rispetto alla successione dei rapporti tra due componenti fissate di due vettori successivi yk+1

y k

. Serve ad approssimare l’autovalore dominante.

Il quoziente di Rayleigh di un autovettore è l’autovalore associato.Data una matrice A∈Rn×n e un autovettore x≠0, il quoziente di Rayleigh associato equivale a:

ykT ( A yk )⏞

¿ yk +1

ykT yk

=yk

T yk +1

‖yk‖2→λ1

In altre parole la proiezione del vettore yk sulla retta di azione del vettore yk +1, normalizzata rispetto alla norma del vettore yk, tende a λ1.

Autovalori della matrice inversa

Si può dimostrare che, data una matrice quadrata A∈Rn×n invertibile con autocoppie ( λ , x ) e i cui autovalori sono tutti diversi da zero, le autocoppie della matrice inversa A−1 sono del tipo:

( 1λ , x )Se gli autovalori sono in relazione d’ordine del tipo 0<|λ1|<|λ2|<…<|λn|, posso determinare

gli autovalori della matrice inversa A−1 come:

| 1λ1|>| 1λ2|>…| 1λn|>0

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 A.

Per la matrice inversa A−1 possiamo scrivere la seguente equazione per il sistema omogeneo associato:

35

Page 37: Metodi Numerici Per l'Informatica - Appunti

Metodi numerici per l’informatica 2013/2014

Ax=λx⇔1λAx=1

λλ

⏞¿1

x⇔1λAx=x A invertibile

1λA−1 Ax=A−1 x

Applicazione del metodo delle potenze per approssimare un autovalore e un autovettore generico

Data una matrice A∈Rn×n con autovalori λ i∈σ (A ), ipotizziamo di avere a disposizione un

numero α∉σ ( A ), con α ≠0 che è una approssimazione di un autovalore λ di A (α ≈ λ).Considero una matrice A−αI , allora possiamo scrivere per definizione che ∃ x ≠0∋' Ax=λx:

Ax=λx⇔Ax+αx=λx+αx⇔ (A+αI ) x=( λ+α ) xPosso anche scrivere:

Ax=λx⇔Ax−αx=λx−αx⇔ ( A−αI ) x=( λ−α ) xLa nuova quantità ( λ±α )≈0 rappresenta l’autovalore della matrice A±αI .La matrice inversa ( A−αI )−1 avrà autovalore approssimato:

1λ−α

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:

|yk +1 ( j )− yk ( j )|<ε

Teorema di Schur

Data una matrice A∈Rn×n con autovalori λ i∈σ (A ), la matrice A è simile ad una matrice triangolare superiore T a blocchi in cui gli elementi diagonali convergono verso gli autovalori di A, cioè t ii→λi. Cioè ∃P invertibile ∋' A=P−1TP dove t ii≅ λ i, cioè ogni elemento diagonale in T approssima gli autovalori della matrice A.Il teorema di Schur mi dice anche che ∃P ortonormale ∋' A=PH TP.

Metodo QR per il calcolo degli autovalori e autovettori dominanti

Data una matrice A∈Cn×n, si costruisce una successione di matrici { Ak } simili a quelle di partenza, di cui voglio approssimare gli autovalori, che convergeranno ad una triangolare superiore, sotto opportune ipotesi, mediante trasformazioni ortonormali.

1° passo: pongo A1=A e costruisco la fattorizzazione QR di A1, cioè decompongo A1=Q 1R1 dove Q1 è ortonormale e R1 è triangolare superiore. Q1 è tale che

Q1H Q1=I=Q1Q1

H.

Costruisco ora la matrice successiva nella successione, A2 come scambio dei fattori di A1, cioè:

A2=R1Q1

A questo punto verifico se A2 è effettivamente simile ad A1, cioè se hanno lo stesso

spettro σ ( A2 )=σ ( A1):

A1=Q 1R1⇔Q1H A1=Q1

HQ 1⏞

¿I

R1⇔Q1H A1=R1

Combinando la relazione A2=R1Q1 con il risultato appena ottenuto posso scrivere:

36

Page 38: Metodi Numerici Per l'Informatica - Appunti

Metodi numerici per l’informatica 2013/2014

A2=R1Q1=Q1H A1⏞

¿A

Q1=Q1H AQ1

Ho appena dimostrato che la matrice A2 è simile alla matrice A1, che a sua volta, è proprio uguale ad A per ipotesi

2° passo: calcolo la fattorizzazione A2=Q2R2. Costruisco come prima la matrice successiva nella successione, cioè A3 come scambio dei fattori di A2:

A3=R2Q2

Similmente a quanto fatto per il passo precedente avremo quindi che:

A2=Q2R2⇔Q2H A2=Q2

H Q2⏞

¿ I

R2⇔R2=Q2H A2

e combinando i due risultati appena ottenuti avrò:

A3=R2Q2=Q2H A2⏞

¿R1Q1

Q2=Q2H R1⏞

¿Q 1H A 1

Q1Q2=Q2HQ1

H A1⏞¿ A

Q1Q 2=Q2H Q1

H AQ1Q2

… k -esimo passo: avrò costruito la matrice Ak simile ad A, fatta nel seguente modo:

Ak=Rk−1Q k−1=Qk−1H Qk−2

H …Q1H A1Q1…Qk−2Q k−1

dove Rk=QkH Ak

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 A∈Rn×n, sotto opportune ipotesi si dimostra che la successione delle

matrici { Ak } converge verso una matrice T triangolare superiore a blocchi, nella quale gli

elementi diagonali t ii convergono verso gli autovalori λ i, con λ i∈σ (A ).Di conseguenza il prodotto Qk

TQk−1T…Q1

T=(Q1Q 2…Qk )T=PT mentre Q1Q 2…Qk=P. Per un

k→∞ si dimostra che P sarà formata da colonne che sono esattamente gli autovettori di A.Per fermare il processo di fattorizzazione QR devo verificare che la differenza tra un elemento diagonale e quello sotto tende a 0 o comunque rimane sotto una certa soglia ε , cioè:

|t ii−ti+1 ,i|<ε

Decomposizioni a blocchiUn’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 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)

Sia data una matrice rettangolare A∈Rm×n, con rank ( A )=k ≤min (m,n ). La decomposizione (spettrale) a valori singolari impone la costruzione di tre matrici U , Σ e V , tali che:

U ∈Rm×m è ortonormale, cioè vale la seguente uguaglianza: UTU=Im=UUT

V ∈Rn×n è ortonormale, quindi vale che V TV =I n=V V T

Σ∈Rm×n è matrice triangolare a blocchi fatta nel seguente modo:

Σ=[Σ k 00 0]

37

Page 39: Metodi Numerici Per l'Informatica - Appunti

Metodi numerici per l’informatica 2013/2014

dove Σk è diagonale del tipo:

Σk=(σ 1 0 ⋯ 00 σ2 ⋯ 0⋮ ⋮ ⋱ ⋮0 0 ⋯ σ k

)∈Rk× k

con σ 1≥σ2≥…≥σ k>0in modo tale che la matrice di partenza A si possa riscrivere come:

A=U ΣV T

Si chiameranno vettori singolari sinistri le colonne ui della matrice U=[u1|u2|…∨um ], vettori

singolari destri le colonne v i della matrice V= [v1|v2|…∨vn ] e valori singolari di A i numeri σ i

(saranno sempre reali anche se parto da una matrice A complessa. Questo perché non posso stabilire una relazione d’ordine tra numeri complessi).Posso scrivere che:

A=U ΣV T=∑i=1

k

σ iui v iT=σ1u1 v1

T⏞m×n

+σ2u2 v2T⏞

m×n

+…+σkuk vkT⏞

m×n

In particolare, considerando il prodotto ΣV T, sto moltiplicando le righe di V T con i valori diagonali di Σ, ottenendo la matrice seguente:

ΣV T=[σ1 v1T|σ 2 v2T|…∨σk vkT∨0∨…∨0 ]

Questa decomposizione mi restituisce k matrici, ognuna con rank=1, tante quanti sono i valori singolari diversi da 0.

Per definizione di prodotto righe-colonne, le colonne di A sono combinazioni lineari delle prime k colonne di U attraverso le generiche colonne della matrice di destra. U costituisce una base dello spazio colonne perché ha colonne tutte ortonormali (per definizione).

Anche per la matrice trasposta AT possiamo determinarne la sua decomposizione a valori singolari:

AT=(U ΣV T )T=V ΣTUT

Lo spazio generato dalle colonne di AT è lo spazio generato dalle colonne di V , o anche lo spazio generato dalle righe di A. V costituisce quindi una base dello spazio righe di A.

Proprietà sulla decomposizione SVD

Sia data una matrice rettangolare A∈Rm×n, con rank ( A )=k ≤min (m,n ), la sua

decomposizione in valori singolari A=U ΣV T dove U=[u1|u2|…∨um ], V= [v1|v2|…∨vn ] e

Σ=(Σk 00 0).

Valgono le seguenti proprietà:

1. N (A )= {x∈Rn∨Ax=0}=span {vk+1 , vk +2 ,…,v n }Dimostrazione.

Prendo un x∈ N (A )⇔ Ax=0⇔U ΣV T x=0⇔U TU⏞

¿ I

ΣV T x=UT 0⏞¿ 0

⇔ΣV T x=0⇔

⇔(Σk 00 0)[v1T|v2T|…∨vk

T∨vk +1T∨…∨vn

T ] x=0Osserviamo che V= [v1|v2|…∨vk∨vk +1∨…∨vn ] posso riscriverla come matrice a

38

Page 40: Metodi Numerici Per l'Informatica - Appunti

Metodi numerici per l’informatica 2013/2014

blocchi V=V kV n−k dove V k= [v1|v2|…∨vk ] e V n−k=[vk +1∨…∨vn ], quindi continuo a

scrivere:

(Σk 00 0)[v1T|v2T|…∨vk

T∨vk +1T∨…∨vn

T ] x=0⇔(Σk 00 0)[ V k

T

V n−kT ] x=0⇔Σ kV k

T x=0⇔

⇔Σ k−1Σk⏞

¿I

V kT x=0⇔V k

T x=0⇔[ v1T x=0

v2T x=0⋮

v kT x=0

]⇔x∈ span {vk+1 , vk+2 ,…,vn }

Questa proprietà ci dice che x è ortogonale alle prime k colonne di V . Poiché V è unitaria allora x deve essere generato come combinazione lineare delle restanti colonne di V

2. Range (A )= { y∈ Rm∨Ax= y }=span {u1 , u2 ,…,uk }.Dimostrazione.Ricordando che Range (A )= { y∈ Rm∨∃ Ax ∈Rn∋' x=0 }, prendo un y∈Range ( A ), che

posso scrivere come y=Ax=U ΣV T x.

Osserviamo che U=[u1|u2|…∨uk∨uk +1∨…∨um ] posso riscriverla come matrice a

blocchi U=U kUm−k dove U k=[u1|u2|…∨uk ] e Um−k=[uk +1∨…∨um ], quindi continuo a

scrivere:

y=U ΣV T x=[U k∨Um−k ](Σk 00 0)[ V k

T

V n−kT ] x=U kΣkV k

T x⏞¿ z

⇔ y=U k z=∑i=1

k

ziui ¿⇔span {u1, u2 ,…,uk }

3. Range ( AT )=span {v1 , v2 ,…,vk } dove AT=V ΣTUT

4. N ( AT )=span {uk +1 , uk +2 ,…,um }5. k=dim Range (A )6. I σ i

2 sono gli autovalori di ( AT A )n×n con autovettori {v1 , v2 ,…,vk }

AT=V ΣTU T

A=U ΣV T }⇒ AT A=V ΣTU TU⏞¿I

ΣV T=V ΣT ΣV T

Premettendo che ΣT=Σ perché diagonali quindi simmetriche, osserviamo che il prodotto ΣT Σ sarà della forma:

ΣT Σ=(ΣkT 0T

0T 0T)(Σk 00 0)=(Σ k

TΣ k 00 0)=(ΣkΣ k 0

0 0)=(Σk2 00 0)=¿

¿(σ12 0 ⋯ ⋯ 0 ⋯ 0

0 σ22 ⋯ ⋯ 0 ⋯ 0

⋮ ⋮ ⋱ ⋯ ⋮ ⋯ ⋮⋮ ⋮ ⋯ σ k

2 0 ⋯ 0⋮ ⋮ ⋱ ⋮ ⋮ ⋱ ⋮0 0 ⋯ ⋯ 0 ⋯ 0

)Per il teorema di Schur, possiamo affermare quindi che la matrice AT A è simile alla matrice ΣT Σ=Σ2, attraverso la trasformazione unitaria V .Da quello appena affermato, diciamo che gli autovalori non nulli di AT A sono i

quadrati dei valori singolari di Σ, mentre gli autovettori di AT A sono [ v1|v2|…∨vn ]39

Page 41: Metodi Numerici Per l'Informatica - Appunti

Metodi numerici per l’informatica 2013/2014

7. I σ i2 sono gli autovalori di ( A AT )m×m con autovettori {u1 , u2 ,… ,uk }

A=U ΣV T

AT=V ΣTU T}⇒ A AT=U ΣV TV⏞¿ I

ΣTUT=U ΣΣTUT

Allo stesso modo di prima, applicando Schur possiamo dire che la matrice A AT è simile alla matrice ΣΣT=Σ2, attraverso una trasformazione unitaria U .Le colonne di U sono gli autovettori di A AT

8. ‖A‖F=√trace ( AT A )=√∑i=1

k

σ i2⇔‖A‖F

2=∑

i=1

k

σ i2

9. La norma-2 della matrice A rettangolare, decomposta in SVD, è uguale a:

‖A‖2=√ρ ( AT A )=√σ12⇔‖A‖22=σ1

2

dove ρ ( AT A ) è il raggio spettrale della matrice quadrata AT A. In generale:

ρ (B )= maxλi∈σ (B )

|λi|Data una matrice quadrata A∈Rn×n, posso calcolarne la norma-2, che non sarà la norma euclidea perché non stiamo nello spazio vettoriale Rn. 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 A∈Rm×n con rank ( A )=k, posso decomporre la matrice in SVD:

A=U kΣ kV kT=∑

i=1

k

σ iui v iT

Ipotizziamo di non volere l’intero potere informativo tirato fuori dalla decomposizione, ma di essere soddisfatti da una sua buona approssimazione.Prendiamo per questo un numero r<k e mi chiedo quale potrebbe essere la migliore approssimazione con rank ( A )=r. Scegliamo allora una matrice B∈ Rm×n, quindi delle stesse

dimensioni di partenza, con rank (B )=r tale che le differenze ‖A−B‖F

‖A−B‖2 siano le più piccole

possibili.Il teorema mi dice che anche con r<k posso decomporre la matrice di partenza A in SVD:

Ar=U r ΣrV rT=∑

i=1

r

σ iu i viT

Si dimostra che, equivalentemente per la norma-2 o la norma di Frobenius:‖A−Ar‖2= min

B∈Rm× n

rank (B )=r

‖A−B‖

La migliore approssimazione di una matrice con rank r fissato è la SVD troncata (posso utilizzare il metodo delle potenze).Chiaramente con questo metodo stiamo buttando via una parte del potere informativo di A, costituita dall’informazione associata agli autovalori troncati. Per quantificare questo scarto calcoliamo:

A=∑i=1

k

σ iui v iT

A r=∑i=1

r

σ iui v iT}⇒ A−A r= ∑

i=r+1

k

σ iui v iT

In norma di Frobenius abbiamo:

40

Page 42: Metodi Numerici Per l'Informatica - Appunti

Metodi numerici per l’informatica 2013/2014

‖A−Ar‖F

2= ∑

i=r+1

k

σ i2

SVD per il filtraggio dei datiLa SVD può essere utilizzata nelle applicazioni per effettuare un ordinamento di dati rumorosi ed estrarre informazioni rilevanti.Sia data una matrice A∈Rm×n con rank ( A )=k 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 A:

A=U kΣ kV kT=∑

i=1

k

σ iui v iT

Chiamo z i=ui v iT di dimensioni m×n. Posso allora scrivere che A è stata decomposta come:

A=∑i=1

k

σ i z i=σ1 z1+σ2 z2+…+σk zk

con rank ( zi )=1. Le z i sono le approssimazioni migliori a rank 1 di A.

Le matrici {z1 , z2 ,…, zk } costituiscono un insieme di matrici ortonormali rispetto al seguente

prodotto scalare ⟨ zi , z j ⟩ ¿⇔trace (ziT , z j )={1 se i= j

0 se i ≠ j.

zi=ui v iT

z j=u j v jT }⇒ ⟨ z i , z j ⟩=trace (ziT , z j )=trace((ui v i

T )T u j v jT )=trace (v iui

T u j v jT )

Si prova che:

σ i=⟨ A , z i ⟩=trace (AT , zi)=trace (ziT , A )I valori singolari li posso reinterpretare come la proiezione della matrice dei dati A su una delle basi z i, quindi mi dicono quanto è grande la proiezione sugli assi cartesiani. Ciascuna matrice z i rappresenta un asse nel mio riferimento di assi cartesiani su cui proietto i σ i, quindi i valori singolari mi dicono quanto è grande la proiezione delle informazioni direzionali della matrice sugli assi.

SNR (rapporto segnale/rumore)Vale la seguente disuguaglianza:

SNR (σ1 z1 )≥SNR (σ2 z2 )≥…≥SNR (σ k zk )poiché moltiplico le z i per i valori singolari σ i 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 r componenti utili, approssimando A con Ar.Eliminando alcuni termini, sebbene perdiamo una piccola parte del segnale complessivo, rimuoviamo un’ampia parte delle componenti del rumore totale in A.Per determinare il migliore valore di r, di solito si applicano delle procedure empiriche che variano da applicazione ad applicazione. Un meccanismo iniziale per scegliere r 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 A.In molti casi la T-SVD permette di filtrare il rumore in A senza una perdita significativa di informazione.

41

Page 43: Metodi Numerici Per l'Informatica - Appunti

Metodi numerici per l’informatica 2013/2014

Interpretazione geometrica della SVD

Sia data una matrice A∈Rn×n e prendiamo un vettore x∈ Rn sulla sfera euclidea che avrà per definizione ‖x‖2=1. Cerchiamo di capire che tipo di deformazione apporta una decomposizione SVD sulla sfera unitaria.Supponiamo che A sia invertibile con rank ( A )=n, quindi massimo, e calcoliamo la SVD di A:

A=U ΣV T

dove UV

∈Rn×n e Σ=(

σ 1 0 ⋯ 00 σ2 ⋯ 0⋮ ⋮ ⋱ ⋮0 0 ⋯ σn

)∈Rn×n.

Per quanto riguarda l’inversa della matrice A−1 (esiste poiché A è non singolare dal momento che è invertibile con det (A )≠0 e ricordando che l’inversa di una matrice ortonormale è la matrice stessa), abbiamo che la sua SVD sarà uguale a:

A−1=(U ΣV T )−1=(V T )−1 Σ−1U−1=V Σ−1U T

dove:

Σ−1=(1σ1

0 ⋯ 0

01σ2

⋯ 0

⋮ ⋮ ⋱ ⋮

0 0 ⋯ 1σn

)Prendo un vettore sulla sfera euclidea:

‖x‖22=‖Ix‖2

2=‖A−1 Ax⏞

y ‖2

2

=‖A−1 y‖22=‖V Σ−1UT y‖2

2=‖Σ−1UT y‖2

2

L’ultimo passaggio si spiega col fatto che le trasformazioni ortogonali mantengono invariata la norma euclidea3.Posto w=UT y, posso continuare a scrivere:

‖Σ−1UT y‖22=‖Σ−1w‖2

2

Osservando che il vettore Σ−1w sarà del tipo:

Σ−1w=(1σ 1

0 ⋯ 0

01σ2

⋯ 0

⋮ ⋮ ⋱ ⋮

0 0 ⋯ 1σ n

)[w1

w2

⋮wn

]=[w1σ1w2σ2⋮wn

σ n

]allora la norma ‖Σ−1w‖2

2 sarà uguale a:

3 Sia x∈ Rn un vettore e Q∈Rm×n ortogonale tale che QTQ=I=QQT . Allora:

‖x‖2=√xT x=√xT Ix=√xTQTQx=‖Qx‖2

42

Page 44: Metodi Numerici Per l'Informatica - Appunti

Metodi numerici per l’informatica 2013/2014

‖Σ−1w‖22=(w1σ1 )

2

+( w2σ2 )2

+…+(wn

σn)2

=1

Ho ottenuto l’equazione di un ellissoide in Rn.I valori singolari σ i di una matrice forniscono informazioni sulla quantità di distorsione che si ha utilizzando la trasformazione lineare definita da A. Possiamo vedere ciò analizzando come A distorce una sfera.Sia A∈Rn×n una matrice non singolare e sia S2= {x∨‖x‖2=1} la sfera di raggio unitario in Rn.

La natura dell’immagine A (S2 ) si può ottenere considerando la SVD di A:

A=U ΣV T

Possiamo affermare che UT A (S2) è l’ellissoide il cui k -esimo semiasse ha lunghezza σ k.

Poiché UT è una matrice ortogonale (quindi conserva la lunghezza), influisce solo

sull’orientazione di A (S2 ). Segue che A (S2 ) è un ellissoide il cui k -esimo semiasse è σ k.Il grado di distorsione di una sfera unitaria sotto la trasformazione lineare A è misurato da:

σ1σn

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 univariataSia f :R→R una funzione univariata, posso dire che:

f è continua se il suo grafico non ha salti (per ogni punto esiste il suo limite sinistro e limite destro)

f è 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 f sono quelle x in cui il grafico di f interseca l’ascissa, cioè quando f ( x )=0 Un minimo di f è definito come: ∃ x0∈R : f (x0 )≤ f ( x ), ∀ x∈R mentre un massimo di f è

definito come: ∃ x0∈R : f (x0 )≥ f ( x ), ∀ x∈RI punti di minimo e di massimo si determinano calcolando la derivata prima di f e ponendola uguale a 0, cioè:

f '( x )=0 La concavità del grafico si determina studiando il segno della derivata seconda di f ,

cioè:f ' ' ( x )

che sarà maggiore di zero se la funzione presenta una concavità verso l’alto, minore di zero altrimenti

Funzione multivariata

Sia f :Rn→R una funzione multivariata, che prende un vettore x∈ Rn e restituisce un

numero f ( x )∈ R.Il grafico di questa funzione multivariata è contenuto in un iperspazio di n+1 dimensioni e

43

Page 45: Metodi Numerici Per l'Informatica - Appunti

Metodi numerici per l’informatica 2013/2014

sarà una superficie n-dimensionale.Preso un punto su questa superficie n-dimensionale, posso definire il suo spostamento nelle varie direzioni calcolando le derivate prime rispetto ad ogni variabile della funzione.Partendo da f definita come:

f

(x1x2⋮xn

)determino il movimento lungo un asse x i, 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 x i della funzione f :

∇ f ( x )=[∂ f∂x1∂ f∂x2⋮∂ f∂xn

]perciò L’equazione che mi permette di determinare i punti di minimo e massimo è:

∇ f ( x )=0Una volta risolta, ottengo delle soluzioni in x che, però, non mi dicono quali x sono minimi e quali x sono massimi. A questo ci pensa la derivata parziale prima di ogni elemento del gradiente.Quindi possiamo immaginare di definire una funzione di derivata parziale prima come:

∂ f∂ xi:Rn→R;i=1,2 ,… ,n

per poi applicare questa funzione agli elementi di ∇ f ( x ), ottenendo quindi:

∂∂ xi ( ∂ f

∂ x j )= ∂2 f∂ x i∂ x j

; i , j=1,2 ,…,n

che è la derivata parziale seconda della funzione rispetto a x i e x j.Si tenga presente che, in generale, vale la seguente proprietà:

∂2 f∂ xi∂ x j

= ∂2 f∂ x j∂ x i

cioè l’ordine di derivazione parziale è ininfluente.Poiché otterrò n derivate parziali prime da ogni derivata parziale prima contenuta nel gradiente ∇ f ( x ) (facendo di nuovo variare tutte le x i), alla fine avrò una matrice n×n di derivate parziali seconde, che chiamo matrice Hessiana, così fatta:

H f ( x )=(∂2 f

∂2 x1

∂2 f∂ x1∂ x2

⋯∂2 f

∂ x1∂xn

∂2 f∂ x2∂x1

∂2 f

∂2 x2⋯

∂2 f∂ x2∂ xn

⋮ ⋮ ⋱ ⋮∂2 f

∂ xn∂x1

∂2 f∂ xn∂ x2

⋯ ∂2 f∂2 xn

)Per la proprietà vista prima possiamo dire che l’Hessiano è simmetrico rispetto alla

44

Page 46: Metodi Numerici Per l'Informatica - Appunti

Metodi numerici per l’informatica 2013/2014

diagonale principale ed è definito positivo.Per determinare la concavità impongo che:

xT H f (x ) x>0

Funzione vettoriale

Sia f :Rm→Rn una funzione vettoriale in cui dato un generico vettore x∈ Rm possiamo

calcolare la sua f ( x )∈ Rn. La funzione f sarà formata nel seguente modo:

f : [ f 1f 2⋮f n

]dove ogni f i :R

n→R, perciò il valore che la funzione assume in un vettore x sarà del tipo:

f ( x )=[ f 1( x )

f 2( x )

⋮f n( x )

]Inoltre per ogni f i possiamo definire le derivate parziali cioè:

∂ f i

∂ x j

e di conseguenza il gradiente delle f i:

∇ f i=[∂ f i

∂x1∂ f i

∂x2⋮∂ f i

∂xn

]La matrice Jacobiana della funzione di partenza f :Rm→Rn è la matrice così fatta:

J f ( x )=[∇ f 1( x )T∨∇ f 2( x )

T∨⋯∨∇ f n( x )T ]=(

∂ f 1( x )

∂ x1

∂ f 1( x )

∂ x2⋯

∂ f 1(x )

∂xm

∂ f 2( x )

∂ x1

∂ f 2( x )

∂ x2⋯

∂ f 2( x )

∂xm

⋮ ⋮ ⋱ ⋮∂ f n( x )

∂ x1

∂ f n( x )

∂ x2⋯

∂ f n( x )

∂xm

)∈Rn×m

Polinomio di Taylor

Per una funzione scalare

Sia f :R→R una funzione scalare sufficientemente regolare4. Preso un x0∈ R, per ogni x in un intorno di x0 posso scrivere il polinomio di Taylor di secondo grado come:

4 cioè continua con derivate continue di un ordine sufficientemente alto.

45

Page 47: Metodi Numerici Per l'Informatica - Appunti

Metodi numerici per l’informatica 2013/2014

q ( x )=f (x0 )+f'

(x0 ) (x−x0 )+ 12f ' ' ( ξ ) (x−x0 )2

dove il punto ξ è interno all’intervallo definito dai punti x e x0.

Per una funzione vettoriale Rn→RConsidero ora una funzione f :Rn→R sufficientemente regolare; preso un x0∈ R, per ogni x in un intorno di x0 posso scrivere il polinomio di Taylor come:

q ( x )=f (x0 )+∇ f (x0)T (x−x0 )+ 1

2(x−x0 )T H f ( ξ ) (x−x0)+θ (‖x−x0‖

2 )dove il punto ξ è in un intorno di x0.

Per una funzione vettoriale Rm→Rn

Infine, se avessi una funzione vettoriale definita come f :Rm→Rn sufficientemente regolare,

preso sempre un elemento x0∈ Rm, per ogni x nell’intorno di x0 potrei scrivere il polinomio di Taylor come:

q ( x )=f (x0 )+J f (x0 ) (x−x0)+θ (‖x−x0‖2 )

dove θ (‖x−x0‖2 ) sono gli ordini superiori del polinomio.

Metodo delle bisezioniCi poniamo il problema di calcolare gli zeri di una certa funzione scalare f :R→R, cioè trovare quegli α∈ R tali che f (α )=0, con α punti di intersezione del grafico della funzione con l’asse x (y=0).Teorema degli zeri.Data una funzione continua f : [a ,b ]→R e f (a ) ∙ f (b)<0 allora ∃α∈¿a ,b¿

Metodo delle tangenti di Newton-Raphson

Per le funzioni scalari

Sia f :R→R una funzione scalare. Preso un x0 in un intorno di α costruisco il polinomio di Taylor:

q ( x )=f (x0 )+f'

(x0 ) (x−x0 )+θ ( (x−x0 )2 )dove f (x0 )+f

'(x0 ) (x−x0 ) è la retta tangente al grafico di f ( x ) nel punto (x0 , f (x0 ) ) e θ (|x−x0|

2 ) rappresenta gli ordini superiori del polinomio.

Figura 5 - Metodo delle tangenti di Newton

46

Page 48: Metodi Numerici Per l'Informatica - Appunti

Metodi numerici per l’informatica 2013/2014

Approssimiamo il polinomio di Taylor al primo ordine e poniamolo uguale a 0:

q ( x )=f (x0 )+f'(x0 ) (x−x0 )=0

In generale, la formula della retta tangente è del tipo:y− y0=m ( x−x0 )

ipotizzando che passi per il punto di coordinate (x0 , f (x0 ) ). Il coefficiente angolare è m=f ' (x0 ),

poiché trattasi di retta tangente, di conseguenza l’equazione generale scritta prima diventa:

y−f (x0)=f ' (x0) (x−x0 )⇒{y=f (x0)+f

'(x0 ) (x−x0 )

y=0⇒ f (x0 )+f

'

(x0) (x−x0 )=0⇒

⇒ f (x0)+ f '(x0 ) x−f ' (x0 ) x0=0⇒ f '(x0 ) x=f ' (x0 ) x0−f (x0) ⇒ x=

f '(x0 ) x0−f (x0)

f ' (x0)⇒ x=x0−

f (x0 )

f ' (x0 )

tenendo strettamente presente f '(x0 )≠0.

Iterando il procedimento, il generico (k+1 )-esimo punto di approssimazione lo ottengo dal precedente k -esimo, fino a giungere ad una buona approssimazione di α :

xk+1=xk−f (x k )

f ' (xk)

Per le funzioni vettoriali

Sia f :Rm→Rn una funzione vettoriale sufficientemente regolare. Preso un generico vettore

x∈ Rm, posso scrivere il polinomio di Taylor per l’approssimazione della funzione f ( x ) in un certo punto, in questo modo:

q ( x )= f (x0 )+J f (x0 ) (x−x0)+θ (‖x−x0‖2 )

dove f (x0 )+J f (x0 ) (x−x0) è un iperpiano passante per il punto (x0 , f (x0 ) ) e tangente alla superficie

generata dal grafico di f ( x ) e θ (‖x−x0‖2 ) 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:

q ( x )=f (x0 )+J f (x0 ) (x−x0)=0⇒ J f (x0) (x−x0 )=− f (x0)⇒ J f (x0)

x−J f (x0 ) x0=−f (x0)⇒

⇒ x=(−f (x0 )+J f (x0 ) x0 ) J f (x0 )−1⇒ x=x0−f (x0) J f (x0 )

−1

La nuova approssimazione del metodo di Newton-Raphson sarà del tipo:x=x0+d

con d soluzione del precedente sistema lineare J f (x0 ) ( x−x0 )=−f (x0).

Nel caso in cui ho una funzione che lavora nello stesso spazio, cioè f :Rn→Rn e lo Jacobiano ha rank massimo con colonne linearmente indipendenti, posso scrivere la soluzione del sistema come:

d=−J f (x0 )−1 f (x0)

A questo punto per calcolare il passo (k+1 )-esimo del metodo di Newton-Raphson posso scrivere:

xk+1=xk−J f ( x0 )−1 f (x0)

Definizione di derivata prima

f '( x )=limh→0

f (x +h)−f ( x )

hoppure si può anche scrivere come:

47

Page 49: Metodi Numerici Per l'Informatica - Appunti

Metodi numerici per l’informatica 2013/2014

f '( x )=limx→x0

f ( x )−f (x0)

x−x0

Metodi di ottimizzazione non vincolata

Per una funzione scalare

Sia f :R→R una funzione obiettivo sufficientemente regolare. Vogliamo conoscere il minx∈R

f ( x ).

Teorema.Affinché un elemento x¿ sia un punto di minimo di f ( x ), devono essere soddisfatte contemporaneamente le seguenti condizioni:

{f ' ( x¿ )=0

f ' ' ( x¿ )>0

La ricerca del punto di minimo quindi non coinvolge più la funzione di partenza f ( x ) ma le

sue derivate f '( x ) e f ' ' ( x ). Chiamo con g la funzione derivata prima di f ( x ) e applico il metodo di

Newton-Raphson costruendo, a partire da un punto x0 sufficientemente vicino alla radice α

di g (g(α )=0), la successione di approssimazioni:

xk+1=xk−g (xk)

g'(xk )

con g'(x k)≠0.

Tornando alla funzione f ( x ), possiamo scrivere che:

xk+1=xk−f ' (xk )

f ' '(xk )

con f ' ' (x k)≠0.

Per una funzione vettoriale

Sia f :Ω⊂Rn→R una funzione. Il problema del minimo di traduce nel trovare:minx∈Ω

f ( x )

Se Ω≡Rn il problema della ricerca del minimo sarà non vincolato, invece se Ω≠Rn sarà vincolato.Le condizioni che ci assicurano l’esistenza del punto di minimo sono:

x¿ si dice di minimo assoluto o globale di f se ∀ x∈Ω : f ( x¿)≤ f ( x )

x¿ si dice di minimo relativo o locale di f se ∀ x∈Ω :‖x−x¿‖<ε , f (x¿) ≤ f ( x )

Teorema.Il punto x¿, interno a Ω, è punto di minimo relativo per una funzione f :Ω⊂Rn→R se risulta che:

1. ∇ f ( x¿)=02. H f ( x¿ ) è definito positivo (∀ x∈Rn: xT H f ( x ¿) x>0. Essendo la matrice Hessiana simmetrica

significa che lo spettro σ (H f ( x¿) )⊂R+¿¿, cioè tutti gli autovalori devono essere

strettamente positivi)

Curve di livello

48

Page 50: Metodi Numerici Per l'Informatica - Appunti

Metodi numerici per l’informatica 2013/2014

Se ho una funzione z=f ( x , y ) e prendo un qualsiasi punto di coordinate (x0 , y0 ), calcolando il

valore di z0 in quel punto, ho definito un piano che taglia il paraboloide in tanti cerchi concentrici, parallelo al piano di coordinate xy.

Metodo di Newton per l’ottimizzazione vincolata

Sia f :Ω⊂Rn→R una funzione vettoriale. Partiamo dal polinomio di Taylor della funzione, ipotizzando di considerare un punto x0 iniziale e decidendo di muoverci nel suo intorno:

q ( x )=f (x0 )+∇ f (x0)T (x−x0 )+ 1

2(x−x0 )T H f (x0 ) (x−x0 )+θ (‖x−x0‖

2 )Per lo scopo dell’ottimizzazione, considero il polinomio di Taylor scritto sopra, arrestato al secondo ordine:

q ( x )=f (x0 )+∇ f (x0)T (x−x0 )+ 1

2(x−x0 )T H f (x0 ) (x−x0 )

e supponiamo che q ( x ) abbia un punto di minimo in x¿. Allora il gradiente del polinomio arrestato al secondo odine deve essere posto uguale a zero, cioè:

∇ q( x ¿)=0Possiamo scrivere allora che:

∇ f (x0 )T (x−x0 )=∑ (x ( i)−x0(i ) )∇ f (x0 )(i )

Per risolvere questa equazione ragioniamo in generale. Consideriamo: xT Ax. Poniamo y=Ax e riscriviamo:

y=Ax=∑i=1

n

Ai∗¿ xi¿

in cui la j-esima componente la calcoliamo nel seguente modo:

y ( j)=Ax=∑j=1

n

A ij x j

Ritornando al polinomio di Taylor scritto qualche rigo fa e impostandolo uguale a 0, ottengo:

∇ q( x )=0⇔∇ f (x0 )+122

⏞¿1

H f (x0) (x−x0 )=0⇔H f (x0 ) (x−x0)=−∇ f (x0 )

Supponendo che rank (H f )=n, quindi massimo, la nuova approssimazione è:xk+1=xk+d

con d soluzione del sistema lineare:H f (x0 )d=−∇ f (x0 )⇔H f (x0 ) (x−x0 )=−∇ f (x0)

⇔H f (x0)x−H f (x0 ) x0=−∇ f (x0)

⇔H f (x0 ) x=H f (x0) x0−∇ f (x0)⇔x=(H f (x0 ) x0−∇ f (x0 ) )H f (x0 )−1⇔x=x0−H f (x0)

−1∇ f (x0)da cui ottengo che la soluzione di questo sistema è:

d=−H f (x0 )−1∇ f (x0 )

Sia f :Ω≡Rn→R una funzione di cui si vuole calcolare il minimo:minx∈Ω

f ( x )

Inoltre sia d∈Rn un vettore. Esso si dice direzione di discesa per un elemento x∈ Rn se accade che:

dT ∇ f ( x )<0In altre parole, il prodotto scalare tra un vettore direzione d e il vettore gradiente di una funzione ∇ f ( x ) si definisce in analisi derivata direzionale della funzione f ( x ) e valuta il

49

Page 51: Metodi Numerici Per l'Informatica - Appunti

Metodi numerici per l’informatica 2013/2014

cambiamento della funzione in una particolare direzione.

Metodi di discesaUn metodo numerico di discesa è un metodo basato sull’idea che, fissato un punto iniziale x0 e una certa direzione di discesa dk ∈Rn× 1, la funzione possa crescere o decrescere a seconda che la derivata direzionale:

∇ f ( x )T d=

∂ f ( x )

∂ x1d1+

∂ f ( x )

∂x2d2+…+

∂ f ( x )

∂ xn

dn

sia negativa o positiva, ossia a seconda che l’angolo tra ∇ f ( x ) e d è maggiore o minore di π2

.

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 d.Sia f una funzione sufficientemente regolare, ovvero dotata delle derivate che di volta in volta vengono richieste. Un metodo di discesa procede nel seguente modo:

Sia x¿ il punto di minimo, supponiamo di essere al passo k -esimo e di aver costruito l’approssimazione xk≠ x¿

Si sceglie un vettore direzione dk ≠0 di decrescita per la funzione f (cioè tale che

∇ f ( x )T dk<0) e si determina il punto xk+1 che minimizza la f sulla semiretta passante

per xk e di direzione dk, cioè xk+α dk

Il passo di discesa α k 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:

minα

f (xk+α dk )

Poiché f (xk+α dk ) è una funzione univariata in α , la posso scrivere come g(α ) con g :R→R. La direzione di massima discesa la ottengo quando l’angolo formato dal gradiente e la direzione in cui voglio scendere sono opposti, cioè quando:

dk=−∇ f (x k)

Il metodo di discesa si ferma quando le quantità ‖∇ f (x )‖2 oppure ‖xk +1−xk‖2 sono minori di una certa tolleranza prestabilita.

Steepest descent (massima discesa)

È un metodo iterativo che, a partire da una stima iniziale x0 del punto di minimo, genera una successione di approssimazioni x1 , x2 ,…, ognuno delle quali 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 f (ovvero la curvatura) che determinano il comportamento della funzione in un intorno del punto di minimo.Se considero xk come approssimazione del minimo al passo k -esimo e quale direzione di

discesa scelgo dk=−∇ f (x k), il metodo dello steepest descent mi dice che l’approssimazione successiva del minimo la ottengo in questo modo:

xk+1=xk−α k ∇ f (x k )Infatti la direzione del gradiente negativo è quella lungo la quale la funzione f decresce più rapidamente per i primi passi, cioè per α piccolo.

Ci sono tre tipi di steepest descent: Passo costante α k=1 allora:

xk+1=xk−∇ f (x k) Passo ottimale:

50

Page 52: Metodi Numerici Per l'Informatica - Appunti

Metodi numerici per l’informatica 2013/2014

xk+1=xk−α k ∇ f (xk )

con α k=min ( xk−α k ∇ f (xk ) ) Passo costante α k∈ ¿0,1¿, allora come prima:

xk+1=xk−α k ∇ f (xk )

Metodo di Newton usato come metodo di discesaIl metodo di Newton costituisce un metodo di discesa perché rispetta la condizione della direzione di discesa:

dT ∇ f ( x )<0oppure

∇ f ( x )T d<0

In particolare, ricordando che il metodo di Newton ammette soluzione per d=−H f (x k )−1∇ f (x k ),

avrò:

dT ∇ f ( x )=(−H f (x k)−1∇ f (x k) )

T∇ f ( x )=−(∇ f (xk )

T (H f (x k)−1)T ∇ f (x k))<0

Siamo sicuri che la quantità in parentesi è positiva perché l’hessiano della funzione f (xk) è definito positivo.Il metodo di Newton è un metodo di discesa che rispetta l’ipotesi di convergenza quando si prende un x0 di partenza sufficientemente vicino a x¿, minimo della funzione.

Ottimizzazione vincolata

Sia f :Ω⊂Rn→R 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:

minx∈Ω

f ( x )

Se Ω è espresso sotto forma di m relazioni funzionali (che mi dicono come è fatto il vincolo) del tipo:

Ω={g1( x )

g2( x )

⋮gm(x )

con ogni gi :Rn→R, allora la funzione lagrangiana associata L( x , λ ) definita come L :Rn+1→R

sarà:

L( x , λ )=f ( x )+ λT g( x )=f ( x )+λT [ g1( x )

g2( x )

⋮gm( x )

]=f ( x )+λ1g1( x )+λ2 g2( x )+…+λmgm( x )

alla quale possiamo aggiungere altre funzioni vincolanti.A questo punto calcolo il minimo di questa funzione lagrangiana:

minx∈ Rn

λ∈R

L( x , λ )

Nel caso in cui avessi un certo numero k di vincoli che devo soddisfare nella minimizzazione, dovrò ricercare tanti coefficienti λ quanti sono i vincoli. Perciò troverò λ in

Rk.Il gradiente per una funzione lagrangiana è:

∇ L (x , λ )=∇ f ( x )+ λT J g( x )

51

Page 53: Metodi Numerici Per l'Informatica - Appunti

Metodi numerici per l’informatica 2013/2014

dove J g(x ) sarà uguale a:

J g(x )=[g1( x )|g2( x )|…|gm (x ) ]=(

∂ g1( x )

∂x1

∂ g1( x )

∂ x2⋯

∂ g1( x )

∂ xn

∂ g2( x )

∂x1

∂ g2( x )

∂ x2⋯

∂ g2( x )

∂ xn

⋮ ⋮ ⋱ ⋮∂ gk ( x )

∂x1

∂gk ( x )

∂ x2⋯

∂gk ( x )

∂ xk

)Condizioni KKT per le lagrangianeSono condizioni che mi assicurano l’esistenza di un minimo per una funzione lagrangiana. Possiamo dire che x¿ , λ¿ è minimo per ∇ L (x , λ )

∇ L( x¿ , λ )=0 H L( x¿ ,λ ¿ )

è definito positivo Affinché questo punto di minimo della funzione lagrangiana sia anche il punto di

minimo della funzione vincolata dovrò avere che g( x¿)=0 λ¿T ∇ g (x¿)=0

Metodi per la penalizzazioneI 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 parametro c>0 che per c→∞ 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 c

Problema pratico: risoluzione del problema non vincolato he approssima il problema originario. Infatti, in generale, all’aumentare del parametro c, si osserva un rallentamento della convergenza di molti algoritmi. Necessita quindi di procedure di accelerazione

Sia f :Rn→R una funzione sufficientemente regolare, Ω un sottoinsieme proprio di Rn contenente vincoli sotto forma di equazioni e disequazioni. Vogliamo risolvere il problema seguente:

minx∈ Rn

[ f ( x )+c P( x ) ]dove P( x ) :R

n→R è una funzione di penalizzazione che rende sconveniente allontanarsi dal

vincolo che ho prefissato. La funzione P( x ) la scelgo in maniera tale che soddisfi le seguenti ipotesi:

1. P( x ) ≥0, ∀ x∈Rn

2. P( x ) è continua in Rn

3. P( x )=0 quando x∈Ω (quando sono sul vincolo non devo essere penalizzato)

52

Page 54: Metodi Numerici Per l'Informatica - Appunti

Metodi numerici per l’informatica 2013/2014

Scegliendo una successione di coefficienti (detti anche parametri di penalizzazione) {ck }k∈N

con ogni ck ≥0 tali che limk

ck=+∞, allora risolvo il problema di penalizzazione calcolando ∀ k:

minx∈ Rn

q (x ,c k)= f ( x )+ck P( x )

Prendendo valori di ck opportuni, il metodo di penalizzazione converge a x¿ minimo di f su Ω.

Detta {xk }k∈ N la successione di punti di minimo ottenuta risolvendo i problemi {minx∈ Rn

q (x ,ck)}k∈ N,

vale il seguente risultato: q (xk ,ck)

≤q(xk+1 ,c k+1)

P(x k)≥P (xk +1 )

f (xk)≤ f (xk+1 )

Nelle comuni applicazioni che utilizzano il metodo di penalizzazione si sceglie un solo c, 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 A∈Rm×n ed un vettore b∈Rm, ricerchiamo un vettore x∈ Rn che minimizzi la differenza Ax−b, cioè:

minx∈ Rn

‖Ax−b‖2Se m=n, A è non singolare e rank ( A )=n, quindi massimo, allora x=A−1b; se, invece, m>n (ho più equazioni che incognite) allora abbiamo ∞m−n soluzioni.

Applicazioni del problema dei minimi quadratiPrima 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 t i, rileviamo il valore b i misurato su un certo fenomeno fisico, con i=1,2 ,…,m. 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:

D= {(t 1 , b1 ) , (t 2 , b2) ,…, (tm , bm )}Vogliamo capire l’andamento dei dati per poi predirli in un istante temporale successivo. Andiamo perciò a determinare una funzione y che fornisca una stima dell’andamento delle osservazioni, cioè:

y i≈ f ( ti)La funzione più semplice che possiamo pensare per approssimare i dati è la retta, che prenderà il nome di retta di approssimazione. In ogni istante il valore della funzione la possiamo scrivere nel seguente modo:

f (t i)=α+β t i

53

Page 55: Metodi Numerici Per l'Informatica - Appunti

Metodi numerici per l’informatica 2013/2014

Figura 6 - Retta di approssimazione nel metodo dei minimi quadrati

Calcoliamo i coefficienti α e β della retta in modo che i valori ( ti , f ( ti) ) approssimino i punti

(t i ,b i ) nel senso di minimizzare la somma dei quadrati degli scarti (errori) verticali.

L’errore che commettiamo in un certo istante t i nell’approssimazione, corrisponde alla quantità:

ε i2=|bi−f ( ti)|

2=|bi−α−β t i|2

La somma di questi scarti costituisce una particolare funzione, detta funzione errore, così fatta:

E(α , β)=∑i=1

m

εi2

Rendendo minima quella funzione abbiamo una buona approssimazione dell’andamento della funzione obiettivo, cioè:

minαβ

E(α , β)=minαβ

∑i=1

m

εi2=min

αβ

∑i=1

m

(bi−α−β ti )2

Risolviamo il problema di minimo calcolando le derivate parziali della funzione errore E(α , β) prima rispetto ad α e poi rispetto a β, ponendole infine uguale a zero. In altre parole risolviamo il seguente sistema lineare:

∇E=0⇔ {∂ E∂α

=0

∂ E∂ β

=0⇒{ −∑

i=1

m

2 (b i−α−β t i )=0

−∑i=1

m

2 (bi−α−β t i ) ti=0⇒ { ∑i=1

m

(bi−α−β t i)=0

∑i=1

m

(bi−α−β ti ) t i=0⇒

⇒{ ∑i=1

m

bi−∑i=1

m

α−β∑i=1

m

t i=0

∑i=1

m

b i t i−α∑i=1

m

ti−β∑i=1

m

t i2=0

⇒ { (∑i=1

m

1)α+(∑i=1

m

ti)β=∑i=1

m

bi

(∑i=1

m

t i)α+(∑i=1

m

t i2) β=∑

i=1

m

b i t i

54

Page 56: Metodi Numerici Per l'Informatica - Appunti

Metodi numerici per l’informatica 2013/2014

La scrittura matriciale del sistema precedente è la seguente:

( m ∑i=1

m

ti

∑i=1

m

t i ∑i=1

m

t i2) [αβ ]=[ ∑i=1

m

b i

∑i=1

m

b i t i]Indichiamo con A∈Rm×2 la matrice così fatta:

A=(1 t 11 t 2⋮ ⋮1 tm

)in cui la prima colonna rappresenta la potenza zeresima degli istanti temporali, con b∈Rm×1 il vettore degli osservabili:

b=[ b1b2⋮bm

]Infine con x chiamo il vettore delle incognite:

x=[αβ ]Calcoliamo ora AT A:

AT A=( 1 1 ⋯ 1t1 t2 ⋯ tm)(

1 t 11 t 2⋮ ⋮1 tm

)=( m ∑i=1

m

t i

∑i=1

m

ti ∑i=1

m

ti2)=m( 1

m1m∑i=1

m

t i

1m∑i=1

m

t i1m∑i=1

m

ti2)

mentre AT b sarà:

AT b=(1 1 ⋯ 1t1 t2 ⋯ tm) [ b1b2⋮bm

]=[ ∑i=1m

bi

∑i=1

m

bi ti]=m [ 1m∑i=1

m

bi

1m∑i=1

m

bi ti]Dalle ultime due equazioni, possiamo notare che

t= 1m∑i=1

m

t i

è il tempo medio di misurazione e:

b= 1m∑i=1

m

bi

è la misurazione media del fenomeno fisico.Sto ipotizzando che le osservazioni negli istanti temporali siano distribuite normalmente.

Calcoliamo inoltre la varianza di t:

σ t2= 1

m∑i=1

m

(t i−t )2= 1m∑i=1

m

(t i2−2 ti t+ t2 )= 1m∑i=1

m

ti2− 1

m∑i=1

m

2 t i t+1m∑i=1

m

t2=¿

55

Page 57: Metodi Numerici Per l'Informatica - Appunti

Metodi numerici per l’informatica 2013/2014

¿1m∑

i=1

m

ti2−1m2 t∑

i=1

m

t i+1m

m⏞

¿ 1

t 2=1m∑

i=1

m

t i2−2t

1m∑

i=1

m

ti⏞

¿t

+t 2=1m∑

i=1

m

ti2−2 t2+t 2⏞

¿−t2

=1m∑

i=1

m

t i2−t2

e di b allo stesso modo:

σ b2= 1

m∑i=1

m

(bi−b )2= 1m∑i=1

m

(bi2−2b ib+b2 )= 1

m∑i=1

m

bi2− 1

m∑i=1

m

2bib+1m∑i=1

m

b2=¿

¿1m∑

i=1

m

bi2−1m2b∑

i=1

m

b i+1m

m⏞

¿1

b2=1m∑

i=1

m

bi2−2b

1m∑

i=1

m

bi

⏞¿ b

+b2=1m∑

i=1

m

bi2−2b2+b2⏞

¿−b2

=1m∑

i=1

m

bi2−b2

Possiamo inoltre determinare il coefficiente statistico di covarianza lineare dei dati, che coincide col coefficiente di correlazione dei dati standardizzati:

ρtb=1m∑i=1

m

(t i−t ) (bi−b )= 1m∑i=1

m

(tibi−tib−t bi+t b )= 1m∑i=1

m

tibi−1m∑i=1

m

t ib−1m∑i=1

m

t bi+1m∑i=1

m

t b=¿

¿1m∑

i=1

m

tibi−b1m∑

i=1

m

ti⏞

¿t

−t1m∑

i=1

m

bi

⏞¿b

+1m

m⏞

¿1

t b=1m∑

i=1

m

t ib i−b t−t b+t b⏞¿0

=1m∑

i=1

m

t ibi−b t

Il sistema AT Ax=AT b prende il nome di sistema delle equazioni normali ed è associato al sistema Ax=b.Se gli istanti t i sono tutti distinti, allora rank ( A )=2. Questo significa che sarà 2 anche

rank ( AT A ), perciò esisterà l’inversa di AT A ed il sistema delle equazioni normali ammetterà un’unica soluzione.La soluzione del sistema la scriverò, quindi, nella forma:

x=( AT A )−1 AT b

Calcoliamo la soluzione x, che equivale al trovare le soluzioni al vettore di incognite [αβ]. Applichiamo il metodo di Gauss:

( m ∑i=1

m

ti

∑i=1

m

t i ∑i=1

m

t i2| ∑i=1

m

bi

∑i=1

m

bi t i)⇒ R1

R2←R2−( 1m∑i=1

m

t i)R1⇒

⇒(m ∑i=1

m

t i

0 ∑i=1

m

t i2−( 1m∑

i=1

m

ti)∑i=1

m

ti| ∑i=1

m

bi

∑i=1

m

b i t i−( 1m∑i=1

m

ti)∑i=1

m

bi)⇒⇒(m ∑

i=1

m

ti

0 ∑i=1

m

t i2− 1

m (∑i=1

m

ti)2| ∑

i=1

m

bi

∑i=1

m

bi ti−1m∑i=1

m

t i∑i=1

m

bi)56

Page 58: Metodi Numerici Per l'Informatica - Appunti

Metodi numerici per l’informatica 2013/2014

Passiamo al sistema associato e otteniamo che:

{ (m )α+(∑i=1

m

ti)β=∑i=1

m

bi

(∑i=1m

ti2− 1

m (∑i=1

m

ti)2

) β=∑i=1

m

b i t i−( 1m∑i=1

m

ti)∑i=1

m

bi

⇒{ (m )α+(∑i=1

m

t i) β=∑i=1

m

bi

β=∑i=1

m

bi t i−1m∑i=1

m

ti∑i=1

m

bi

∑i=1

m

t i2− 1

m (∑i=1

m

t i)2

⇒{ (m )α+(∑i=1

m

t i) β=∑i=1

m

b i

β=

m∑i=1

m

bi ti−∑i=1

m

t i∑i=1

m

b i

m

m∑i=1

m

t i2−(∑

i=1

m

t i)2

m

=m∑

i=1

m

b i t i−∑i=1

m

t i∑i=1

m

bi

m∑i=1

m

t i2−(∑

i=1

m

ti)2

⇒{(m )α+∑i=1

m

t i

m∑i=1

m

bi ti−∑i=1

m

ti∑i=1

m

bi

m∑i=1

m

ti2−(∑

i=1

m

t i)2

=∑i=1

m

bi

β=m∑

i=1

m

bi t i−∑i=1

m

t i∑i=1

m

bi

m∑i=1

m

ti2−(∑

i=1

m

t i)2

⇒{α=

∑i=1

m

bi−∑i=1

m

ti

m∑i=1

m

b i t i−∑i=1

m

t i∑i=1

m

b i

m∑i=1

m

t i2−(∑

i=1

m

ti)2

m=

∑i=1

m

bi−m∑

i=1

m

t i∑i=1

m

b i t i−∑i=1

m

t i∑i=1

m

t i∑i=1

m

bi

m∑i=1

m

t i2−(∑

i=1

m

ti)2

m

β=m∑

i=1

m

b i t i−∑i=1

m

t i∑i=1

m

bi

m∑i=1

m

t i2−(∑

i=1

m

ti)2

57

Page 59: Metodi Numerici Per l'Informatica - Appunti

Metodi numerici per l’informatica 2013/2014

⇒{α=

∑i=1

m

b i(m∑i=1

m

ti2−(∑

i=1

m

t i)2)−m∑

i=1

m

ti∑i=1

m

b i t i+(∑i=1

m

t i)2

∑i=1

m

bi

m∑i=1

m

t i2−(∑

i=1

m

t i)2

m

β=m∑

i=1

m

b i t i−∑i=1

m

t i∑i=1

m

bi

m∑i=1

m

t i2−(∑

i=1

m

ti)2

⇒{α=

m∑i=1

m

bi∑i=1

m

t i2−∑

i=1

m

bi(∑i=1

m

ti)2

−m∑i=1

m

ti∑i=1

m

bi t i+(∑i=1

m

t i)2

∑i=1

m

bi

m∑i=1

m

ti2−(∑

i=1

m

t i)2

m

β=m∑

i=1

m

bi ti−∑i=1

m

ti∑i=1

m

b i

m∑i=1

m

ti2−(∑

i=1

m

t i)2

⇒{α=

m∑i=1

m

bi∑i=1

m

t i2−∑

i=1

m

b i(∑i=1

m

t i)2

+(∑i=1

m

ti)2

∑i=1

m

bi

⏞¿ 0

−m∑i=1

m

t i∑i=1

m

b i t i

m∑i=1

m

t i2−(∑

i=1

m

ti)2

m

β=m∑

i=1

m

bi t i−∑i=1

m

t i∑i=1

m

b i

m∑i=1

m

t i2−(∑

i=1

m

ti)2

58

Page 60: Metodi Numerici Per l'Informatica - Appunti

Metodi numerici per l’informatica 2013/2014

⇒{α=

m(∑i=1

m

bi∑i=1

m

ti2−m∑

i=1

m

t i∑i=1

m

b i t i)m∑

i=1

m

t i2−(∑

i=1

m

t i)2

m=∑i=1

m

bi∑i=1

m

ti2−m∑

i=1

m

t i∑i=1

m

bi t i

m∑i=1

m

t i2−(∑

i=1

m

ti)2

β=m∑

i=1

m

b i t i−∑i=1

m

t i∑i=1

m

bi

m∑i=1

m

t i2−(∑

i=1

m

ti)2

Potremmo anche riscrivere i coefficienti α e β della retta di approssimazione in funzione delle varianze:

α=∑i=1

m

bi∑i=1

m

t i2−m∑

i=1

m

t i∑i=1

m

bi ti

m∑i=1

m

ti2−(∑

i=1

m

t i)2

=mb∑

i=1

m

ti2−m2 t∑

i=1

m

b i t i

m∑i=1

m

ti2−(mt )2

=mb∑

i=1

m

t i2−m2t∑

i=1

m

bi ti

m∑i=1

m

ti2−t2

=¿

¿m2( 1m b∑

i=1

m

ti2−t∑

i=1

m

bi ti)m2( 1m∑

i=1

m

t i2−t 2)

=

1m

b∑i=1

m

t i2−t∑

i=1

m

bi ti

1m∑i=1

m

t i2−t2

⏞σt2 =

1m

b∑i=1

m

ti2−t∑

i=1

m

bi ti

σ t2

β=m∑

i=1

m

bi t i−∑i=1

m

ti⏞

mt

∑i=1

m

b i

⏞mb

m∑i=1

m

ti2−(∑

i=1

m

t i)2

=m∑

i=1

m

bi ti−m2t b

m∑i=1

m

t i2−(mt )2

=m2( 1m∑

i=1

m

b i t i−t b)m2( 1m∑

i=1

m

t i2−t2)

=

1m∑i=1

m

b it i−t b⏞

ρtb

1m∑i=1

m

ti2−t2

⏞σ t2 =

ρtb

σ t2

Quando il coefficiente ρtb

σ t2 approssima l’unità, i dati sono relazionati linearmente,

commettendo un errore trascurabile.

Ritornando alla funzione obiettivo di partenza, possiamo dire che:

∑i=1

m

εi2=∑

i=1

m

(b i−α−β ti )2=∑

i=1

m

(bi−α−β t i ) (bi−α−β t i )=∑i=1

m

[bi−(α+β ti ) ] [b i−(α+β t i ) ]Notiamo che la quantità α+β t i è il risultato della i-esima componente di Ax, cioè:

(1 ti ) [αβ ]=α+β ti

Continuando a scrivere l’equazione precedente riguardo la funzione obiettivo, ottengo:

59

Page 61: Metodi Numerici Per l'Informatica - Appunti

Metodi numerici per l’informatica 2013/2014

∑i=1

m

εi2=(b−Ax )T (b−Ax )

Ritornando alla matrice A scritta prima e raccogliendo m:

AT A=( m ∑i=1

m

t i

∑i=1

m

ti ∑i=1

m

ti2)=m( 1

1m∑i=1

m

t i

1m∑i=1

m

t i1m∑i=1

m

t i2)

Il problema dei minimi quadrati rientra nel contesto più ampio di “regressione lineare”, cioè stiamo supponendo di esprimere una o più variabili come combinazione lineare di osservazioni, attraverso delle costanti α , cioè:

y=α0+α1 t1+α 2t 2+…+α n tn+ε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: y=a+b log x. In questo caso i punti (x i , y i ) non sono correlati linearmente. Posso però

scoprire una relazione lineare tra ascisse e ordinate considerando i dati trasformati in questo modo: x '=log x. L’equazione della retta allora sarà: y '=a+b~x

y=a xb con a ,b>0. Per rimandare tutto ad una correlazione lineare passo al

logaritmo di ambo i membri ottenendo: log y=log (a xb )=log a+log xb=log a+b log x.

Sostituendo con y '=log y e con x '=log x ottengo l’equazione della retta in questa forma: y '=log a+b x '. Le coordinate della funzione saranno del tipo: ( log x , log y )

y=aebx con a ,b>0. Mediante un opportuno cambio di variabili posso scoprire l’esistenza di una relazione lineare tra x e y. Infatti passando al logaritmo naturale di

entrambi i membri, ottengo: ln y=ln (aebx )=ln a+ ln ebx=ln a+bx ln e⏞

¿ 1

=ln a+bx. Si

avranno coppie del tipo ( x , ln y )

y= 1

a+be−x con a ,b>0. Sostituiamo x '=e− x ottenendo:

y=1

a+b x'⇒1y⏞¿ y'

=a+b x '⇒ y '=a+b x '. Le coordinate dei punti della funzione saranno:

(e− x ,1y )

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, dovremmo pensare ad un polinomio di approssimazione.Infatti avendo a disposizione un insieme D di n punti:

D= {(x0 ,b0 ) , (x1 , b1 ) ,…, (xn, bn )}vogliamo costruire un polinomio q ( x ) di grado m con m≪n. La relazione m≪n 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

60

Page 62: Metodi Numerici Per l'Informatica - Appunti

Metodi numerici per l’informatica 2013/2014

il polinomio in un certo punto x e il valore reale di y, cioè:

ε i2=(q (xi )−b i)2

Con questi scarti possiamo costruire la funzione errore Eq (x ) e la rendo minima:

minq( x )

Eq (x )=min∑

i=1

n

εi2

Il polinomio approssimante q ( x ), in generale, lo posso scrivere così:

q ( x )=∑j=0

m

α j xj

È da notare che il polinomio q ( x ) ha necessità di m+1 coefficienti α per essere univocamente determinato.Riscrivo la funzione errore alla luce delle ultime equazioni:

Eq (x )=∑

i=0

n

ε i2=∑

i=1

n

(q (x i)−b i)2=∑i=0

n ((∑j=0m

α j xj)−bi)

2

=E(α 0 ,α 1 ,… ,αm )

Avendo appena dimostrato che la funzione errore dipende dai coefficienti del polinomio, minimizzare questa funzione sul polinomio q ( x ) significa minimizzarla sui coefficienti, cioè:

min Eq (x )= min

α 0 ,α 1 ,… ,αm∈ Rm+1

E(α0 , α 1 ,… ,αm )

Calcoliamo il gradiente di E e poniamolo uguale a 0:

∇E=0⇔[∂E∂α 0∂E∂α 1⋮∂E∂αm

]=0La generica k -esima componente del vettore gradiente precedente è la seguente:

∂E∂α k

=∂

∂α k (∑i=1n

(∑j=0

m

(α j xij )−bi)

2

)=∑i=1

n∂

∂α k(∑j=0

m

(α j x ij )−bi)

2

=∑i=1

n

(2∑j=0

m

(α j x ij−b i )x i

k )=0In generale, quindi:

∇E=0⇔2∑i=0

n

(∑j=0

m

(α j x ij−bi ) x i

k )=0⇔∑i=0

n

(∑j=0

m

α j x ij x i

k)−∑i=0

n

∑j=0

m

bi x ik=0⇔

⇔∑i=0

n

(∑j=0

m

α j x ij+k )⏞

AT Aα

=∑i=0

n

b i x ik

Riscriviamo il sistema precedente sotto forma matriciale:

α=[α0α1⋮αm

]∈Rm+1

61

Page 63: Metodi Numerici Per l'Informatica - Appunti

Metodi numerici per l’informatica 2013/2014

b=[b1b2⋮bn

]x=[x1

k

x2k

⋮xn

k ]Costruendo la matrice data dai vettori colonna x al variare di k ottengo:

A=(1 x1

1 x12 … x1

m

1 x21 x2

2 ⋯ x2m

⋮ ⋮ ⋮ ⋱ ⋮1 xn

1 xn2 … xn

m)n× (m+1)

L’elemento ∑i=0

n

bi x ik è il generico k -esimo elemento di AT b, cioè:

[∑i=0n

b i x i1

∑i=0

n

b i x i2

∑i=0

n

bi x im]

In conclusione il sistema che andrò a risolvere per ottenere i coefficienti α da porre all’interno del polinomio approssimante, sarà del tipo:

AT Ax=AT bSe AT A è invertibile (rank ( A )=m+1, quindi massimo) allora esiste ed è unica la soluzione

α=( AT A )−1 AT b, inoltre esiste ed è unico il polinomio q ( x ) di migliore approssimazione.

È importante notare che AT A è simmetrica per costruzione e non singolare:

AT A=(1 1 … 1x01 x1

1 ⋯ xn1

x02 x1

2 ⋯ xn2

⋮ ⋮ ⋱ ⋮x0

m x1m … xn

m)(1 x0

1 x02 … x0

m

1 x11 x1

2 ⋯ x1m

⋮ ⋮ ⋮ ⋱ ⋮1 xn

1 xn2 … xn

m)=¿

62

Page 64: Metodi Numerici Per l'Informatica - Appunti

Metodi numerici per l’informatica 2013/2014

¿(n ∑

i=0

n

x i1 ∑

i=0

n

x i2 ⋯ ∑

i=0

n

x im

∑i=0

n

x i1 ∑

i=0

n

x i2 ∑

i=0

n

x i3 ⋯ ∑

i=0

n

xim+1

∑i=0

n

x i2 ∑

i=0

n

x i3 ∑

i=0

n

x i4 ⋯ ∑

i=0

n

xim+2

⋮ ⋮ ⋮ ⋱ ⋮

∑i=0

n

xim ∑

i=0

n

x im+1 ∑

i=0

n

xim+2 ⋯ ∑

i=0

n

x i2m

)Scriviamo il generico elemento della matrice AT A vista prima:

( AT A )kj=∑i=0

n

x ij+ k

per k , j=0,1 ,…,n.

Dimostriamo che AT A è non singolare.

Se per assurdo det (AT A )=0 allora il sistema AT Az=0 avrebbe una sola soluzione diversa dal vettore nullo, cioè:

N ( AT A )≠ {0 }Ipotizziamo per assurdo che ∃d≠0 tale che AT Ad=0⇔dT (AT A ) d=0⇔ ( Ad )T Ad=‖Ad‖2

2=0. Questo significa che tutti gli elementi di quel vettore Ad sono tutti zeri, cioè

0=(Ad )i=∑j=0

m

d j xij con i=1,2 ,…,n.

Considero il polinomio p( x ) avente quali coefficienti gli elementi d j, cioè:

p( x )=∑j=0

m

d j xj

Poiché un polinomio di grado m ammette n zeri distinti, con m<n, allora p( x ) deve coincidere con il polinomio nullo, cosa assurda perché dalle ipotesi avevamo detto che d ≠0.L’assurdo è derivato dall’aver supposto che AT A fosse singolare.

AT A è anche definita positiva perché ∀ z∈Rm+1−{0 } : zT AT Az>0⇔‖Az‖22>0. Richiedere che

AT A è definita positiva equivale ad affermare che il punto stazionario è un punto di minimo. Infatti AT A è la matrice hessiana associata alla funzione obiettivo nel problema del minimo.

63

Page 65: Metodi Numerici Per l'Informatica - Appunti

Metodi numerici per l’informatica 2013/2014

ARTICOLI E DISPENSE

Pseudo-inversa

Data una matrice rettangolare A∈Rm×n ed una sua scomposizione in valori singolari

A=U ΣV T , si chiama pseudoinversa la matrice X ∈Rn×m (anche indicata col simbolo A†) che soddisfa queste quattro proprietà:

1.A⏞

m×n

X⏞n×m

A⏞m×n

= A⏞m×n

2. XAX=X3. ( AX )T=AX4. (XA )T=XA

Si dimostra che XA è simmetrica, come anche A X .Il concetto di pseudoinversa generalizza il concetto di matrice inversa.

Avendo decomposto A in SVD si prova che la matrice inversa generalizzata di A si scrive:

A†=V Σ†UT

dove Σ† è la pseudo-inversa della matrice Σ.Dimostriamo le prime due proprietà di una matrice pseudo-inversa scritta sotto forma di SVD:

1.A A† A=U ΣV TV⏞

¿I

Σ†U TU⏞¿I

ΣV T=U ΣΣ† Σ⏞¿ Σ

V T=U ΣV T=A

2.A† A A†=V Σ†UTU⏞

¿ I

ΣV TV⏞¿ I

Σ†UT=V Σ †Σ Σ†⏞¿Σ†

UT=V Σ†UT=A†

Si verifica facilmente che la matrice Σ† è la matrice diagonale ∈Rn×m ad elementi σ i†, con

σ i†={ 1σ i

, seσ i≠0

0 , se σ i=0 con i=1 ,…,k

In altre parole Σ† può essere scritta come:

Σ†=[Σk−1 00 0]

Matrice simmetrica

Sia A∈Rn×n una matrice quadrata. Si dirà simmetrica per definizione se: AT=A. Possiamo dire allora che i suoi autovalori sono tutti reali, quindi:

σ ( A )⊂RGli autovalori di una matrice simmetrica si troveranno, di conseguenza, tutti sull’asse reale.Inoltre possiamo dire che le matrici AT A e A AT sono reali.

Matrice definita positiva

Sia A∈Rn×n una matrice quadrata. Si dirà definita positiva se e solo se ∀ x∈Rn e x≠0 allora xT Ax>0.Nel caso in cui x è autovettore e A è definita positiva allora posso dire che:

xT Ax⏞¿ λx

>0⇔xT λx>0⇔λ xT x>0⇔λ‖x‖22>0⇔λ>0

Nel caso in cui λ≥0 la matrice A si dice semi definita positiva.Per ogni x≠0 ho:

64

Page 66: Metodi Numerici Per l'Informatica - Appunti

Metodi numerici per l’informatica 2013/2014

xT ( AT A )x=‖Ax‖22≥0

L’uguaglianza la ottengo nel caso in cui il vettore x appartiene allo spazio nullo della matrice A.

PCA (Analisi delle componenti principali)Per lo studio di un fenomeno fisico, costruisco un dataset in cui le colonne rappresentano lo spazio m-dimensionale delle feature del fenomeno che voglio studiare e le righe rappresentano lo spazio n-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 X=[X1|X2|…∨Xn ]∈Rn×m la matrice dei dati (dataset) in cui ogni colonna è una variabile

aleatoria. La matrice di covarianza5 permette di scrivere le covarianze tra ciascuna delle coppie di variabili X i e X j in forma compatta:

SX=(var (X1 ) cov (X1 , X2 ) ⋯ cov (X1 , Xm )

cov (X2 , X1 ) var (X2 ) ⋯ cov (X2 , Xm )⋮ ⋮ ⋱ ⋮

cov (Xm , X1 ) cov ( Xm , X2 ) ⋯ var (Xm ))

dove var ( X i )=(x i−x 1 )T (x i−x1 )

n−1 e cov (X i , X j )=

(x i−x1 ) (x j−x1 )n−1

. Si noti che si divide per n−1

per svincolarsi dal BIAS del numero dei campioni.La matrice di covarianza avrà dimensione m×m e il suo trace sarà uguale a:

trace (SX )=∑i=1

m

var (X i )=var ( X1 )+var ( X2 )+…+var (Xm )che rappresenta la varianza totale del dataset.Inoltre la matrice SX è simmetrica perché cov (X i , X j )=cov ( X j , X i ) ed è semi definita positiva.

La matrice di correlazione6 è fatta dai coefficienti di correlazione così definiti:

rij=cov (X i , X j )

√var (X i) var (X j )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.La matrice di correlazione sarà quindi del tipo:

5 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.

65

Page 67: Metodi Numerici Per l'Informatica - Appunti

Metodi numerici per l’informatica 2013/2014

RX=(1 r12 ⋯ r1mr 21 1 ⋯ r2m⋮ ⋮ ⋱ ⋮rm1 rm2 ⋯ 1

)Anche questa matrice è simmetrica perché rij=r ji 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 X , costruisco una matrice centrata sulla media che chiamo XC, in cui ogni colonna è un vettore di scarti dalla media ed è fatta nel seguente modo:

XC=X−μX⨂1Anche per la matrice centrata sulla media XC posso calcolare la matrice di covarianza e quella di correlazione, che saranno rispettivamente:

SX C=

XCT X C

n−1e:

RXC= 1

√diag (SXC )S XC

1

√diag (SXC )

Dato un dataset e le sue matrici di covarianza e di correlazione, la PCA cerca di 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 X formato da m feature X1 , X2 ,…, Xm, ipotizzo che siano combinazioni lineari di m sorgenti indipendenti Y 1 ,Y 2 ,…,Y m:

X=YAdove A 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 σ 1 rappresenta la direzione lungo cui si ha la massima dispersione, mentre σ m è 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 m in uno spazio di dimensione minore di m, in cui gli stessi dati siano rappresentati da una matrice di covarianza diagonale.

66

Page 68: Metodi Numerici Per l'Informatica - Appunti

Metodi numerici per l’informatica 2013/2014

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 totale è la somma delle varianze delle singole componenti principali.Una volta creata la diagonalizzazione, la PCA consente la riduzione della dimensionalità. Ricordando che i dati con bassa varianza godono di basso potere informativo, posso approssimare alle prime k componenti principali con k<m. In questo modo elimino il rumore che affligge i dati, anche se non completamente.

Derivazione della PCA in modo analitico

Sia data una matrice X ∈Rn×m, consideriamo la sua corrispondente matrice centrata sulla

media XC, la sua matrice di covarianza SXC e la sua matrice di correlazione RXC

.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 SX C

(o di RX C).

Operativamente, andremo a trasformare la matrice dei dati X in una nuova matrice

Y= [Y 1|Y 2|…∨Y m ]∈Rn×m, in modo tale che ogni colonna X i risulti essere combinazione

lineare delle colonne della nuova matrice di dati trasformati:

X i=∑k=1

m

aikY k

Vogliamo che Y 1 rappresenti la maggior parte della varianza di X in una specifica direzione, Y 2 esprima la varianza di X 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:

X⏞n×m

= S⏞n×m

A⏞m×m

cioè trasformo X in un dataset Y , senza perdere potere informativo, con una combinazione

lineare delle sorgenti. S sono le sorgenti e A=[A1|A2|…∨Am ]. Il calcolo di X non è semplice

perché posso avere infinite soluzioni, dipendentemente dalla S 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:

Y⏞n×m

= X⏞n×m

A⏞m×m

dove ogni colonna Y i è fatta nel modo seguente:

Y i=∑k=1

m

aik Xk

Scriviamo il primo vettore colonna Y 1 della nuova matrice:Y 1=a11X1+a12 X2+…+a1M Xm=X a1

e sarà tale che la sua varianza sia massima tra tutte le combinazioni lineari.Calcoliamo la varianza di Y 1:

var (Y 1 )=a1

T XT X a1n−1

=Y 1

TY 1n−1

=a1T SX a1

dove S è la matrice di covarianza.

67

Page 69: Metodi Numerici Per l'Informatica - Appunti

Metodi numerici per l’informatica 2013/2014

Il criterio per scegliere gli a i è quello di far diventare il valore var (Y 1 ) il più grande possibile in modo che la prima colonna di Y abbia il maggior potere informativo (varianza maggiore).Proprietà: se prendo un vettore y e uno scalare α ≠0, allora la var (αy )=α var ( y ).La suddetta proprietà ci dice che mi basta trovare un α più grande possibile per poter soddisfare la condizione che mi sono prefisso per la var (Y 1 ), ma questo ovviamente mi porta a fare un’analisi totalmente inutile. Per risolvere questo problema fisso la norma di tutti gli a i uguale ad 1, cioè:

‖ai‖22=a1

T a1=1In 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 a i della combinazione lineare devono essere tali che la loro lunghezza è fissata.La prima componente principale si determina risolvendo un problema di massimo vincolato:

max var (Y 1 )=max var (a1T SX a1 )ma mantenendo ‖a1‖2

2=1.

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:

L(a1 , λ 1)=a1T S Xa1−λ1 (a1T a1−1 )

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 a2, massimizza la varianza residua sotto il vincolo di ortonormalità, cioè:

max {a2T (S X− λ1a1a1T ) a2}

con a2T a2=1 e a2

T a1=0.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 Y 1 si traduce in:

max (a1T SX a1+λ (‖a1‖22−1))

La funzione a1T SX a1+λ (a1T a1−1) prende il nome di funzione lagrangiana e si indica con

L(a1 , λ ). Sceglierò λ molto piccolo così da ritornare sul vincolo nel caso mi ci allontani.

Calcoliamo la derivata parziale della funzione lagrangiana rispetto ad a1 e poniamola uguale a 0:

∂L∂a1

=S Xa1−λ1a1=0⇒ S Xa1=λ1a1⇒∗¿

dove a1 è soluzione del sistema lineare SX a1=λ1a1. Osserviamo che il primo asse principale che mi da la prima colonna trasformata mediante combinazione lineare delle colonne di X , è il primo autovettore corrispondente all’autovalore λ1. Continuo a scrivere:

¿⇒ a1T S Xa1=a1

T λ1a1⇒a1T SX a1= λ1a1

T a1⏞¿1

⇒ λ1=a1T SX a1=var (Y 1 )

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 Y 1.La matrice di covarianza SX ha dimensione m×m. Avrò, quindi, m autovettori e m autovalori. Gli autovalori saranno tutti distinti.Possiamo anche calcolare il secondo asse principale.

68

Page 70: Metodi Numerici Per l'Informatica - Appunti

Metodi numerici per l’informatica 2013/2014

Y 2=X a2la cui varianza è:

var (Y 2 )=max (a2T SX a2 )con ‖a2‖2

2=1 e a2T a1=0.

Con questo procedimento sto diagonalizzando la matrice di covarianza SX, attraverso una trasformazione ortogonale, e riordinando le colonne. Quindi sarà del tipo:

SX=A(λ1 0 ⋯ 00 λ2 ⋯ 0⋮ ⋮ ⋱ ⋮0 0 ⋯ λm

)AT

dove ogni λ i=var (Y i ). Si ricorda che:λ1> λ2>…> λm>0

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 X rappresenta il trace della matrice di covarianza SX.

Data la decomposizione Y=XA con Y i=X ai, gli a i sono fatti in modo tale che ‖ai‖2=1 e sono

ortogonali tra di loro (a iT a j=0 , i≠ j), la var (Y i )=a i

T SX ai= λi (λ i è autovalore di SX), la varianza totale la scriviamo nel seguente modo:

trace (SX )= ∑λi ∈σ (SX )

λi

Per determinare la varianza parziale racchiusa in una certa direzione principale Y i calcoliamo il rapporto:

λitrace (S X )

La somma dei primi r autovalori rappresenta un indice di bontà, cioè la varianza cumulativa nelle prime r direzioni principali:

∑i=1

r

λi

trace (S X )con r<m. In altre parole, è la quantità di informazione che conservo se vado ad approssimare il mio dataset con il dataset trasformato Y , troncato alla r-esima colonna. Chiaramente il rank di questa nuova matrice sarà ridotto.Per scegliere opportunamente r 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 k 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:

λ1+λ2λ1+λ2+…+λm

La differenza:

1−λ1+ λ2

λ1+λ2+…+λm

misura la profondità dei dati. A profondità maggiore corrisponde un rischio maggiore che

69

Page 71: Metodi Numerici Per l'Informatica - Appunti

Metodi numerici per l’informatica 2013/2014

punti vicini nella proiezione sul piano, siano invece lontani nella realtà.

Scree plotLo 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 k 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.

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 k è 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 KaiserUn 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ù complessiLe 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 m ma sono k , con k<m

meccanismi di cross-validation: la cross-validation è una tecnica statistica utilizzabile in presenza di una buona numerosità del campione osservato o training set. In particolare, la k -fold cross-validation consiste nella suddivisione del dataset

totale in k parti di uguale numerosità e, ad ogni passo, la parte 1k

-esima del dataset

viene ad essere il validation dataset, mentre la restante parte costituisce il training dataset. Così, per ognuna delle k 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

70

Page 72: Metodi Numerici Per l'Informatica - Appunti

Metodi numerici per l’informatica 2013/2014

Scelta dell’unità di misuraI 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 R x invece che con Sx comporta una arbitraria decisione di rendere tutte le variabili ugualmente importanti, in quanto in R x le componenti diagonali hanno tutte varianza pari ad 1. Chiaramente le autocoppie di R x saranno diverse da quelle di Sx

Interpretazione delle componenti principaliUna 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 A. Ricordando che Y=XA, i coefficienti possono pesare in maniera diversa le componenti di X , perciò coefficienti prossimi allo zero corrispondono a variabili di X che non contribuiscono in maniera rilevante alla determinazione delle variabili in Y .

Rimanendo nell’ottica dell’interpretazione, posso effettuare il calcolo dei coefficienti di correlazione lineare (Y i) tra le componenti principali e le variabili originarie (X i). Se questo coefficiente è alto, allora quelle componenti sono fortemente correlate linearmente, se invece è basso, non lo sono.

PCA per analisi di microarray del DNAIn 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 V (vettori singolari destri) che chiameremo spazio degli eigengenes e una base per lo spazio colonne di U (vettori singolari sinistri) che sarà lo spazio degli eigenassays.

71

Page 73: Metodi Numerici Per l'Informatica - Appunti

Metodi numerici per l’informatica 2013/2014

Eigenfaces for recognition [1]Avendo a disposizione un dataset di immagini, posso costruire un “volto fantasma”.Siano Γ1 , Γ2 ,…,ΓM, M immagini di volti in bianco e nero, con ciascuna Γ i∈Rm×n in cui gli

elementi (k , l ) rappresentano le intensità di grigio del (k , l )-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 Γ i del dataset:

Ψ=∑i=1

M

Γ i

MPosso pensare che le M immagini di volti siano classificate in K classi di individui diversi e

per ogni individuo ipotizzo di avere MK

immagini.

Una volta costruito il volto medio Ψ costruisco delle nuove immagini Φ i centrate su Ψ in questo modo:

Φ i=Γ i−ΨVettorizzo ogni Φ i creando così un lungo vettore colonna di mn righe. Questi vettori li

chiamo (Φ i )∈ Rmn×1. Organizzo tutte queste immagini vettorizzate in un’unica matrice che

sarà formata da tante colonne quante sono le M immagini e tante righe quant’è la risoluzione delle immagini (mn pixel):

A=[ (Φ1 )| (Φ2 )|…∨ (ΦM )]∈Rmn×M

In generale mn≫M .L’analisi delle componenti principali cerca un insieme di M vettori ortonormali ui che meglio descrivono la distribuzione dei dati. Il k -esimo vettore uk è scelto tale che:

λk=1M∑n=1

M

(ukTΦn )2

è massimo.I vettori uk e gli scalari λk sono, rispettivamente, gli autovettori e gli autovalori della matrice di covarianza dei dati:

SA=1M

∑n=1

M

(ΦnΦnT )=( A AT )mn×mn

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 AT⏞

M×mn

A⏞mn×M

∈RM ×M. Avrà M autovalori e chiamiamo con (v i , λ i) una

autocoppia di questa matrice.Allora posso scrivere che:

AT A v i=λ i vi⇔A AT A v i=A λ i v i⇔ A AT⏞SA

( A v i )=λ i ( A v i )⇔SA ( A v i )=λ i ( A v i )Quella scritta sopra è la relazione che intercorre tra gli autovettori v i e gli autovalori λ i della matrice AT A, con gli autovettori Av i e gli autovalori λ i della matrice di covarianza dei dati SA.La varianza delle immagini sarà raccolta nei primi M autovettori. Poiché il concetto di variabilità è legato alla varianza dei dati nella PCA, vuol dire che sono interessato ai primi M autovalori tralasciando quelli nulli.

72

Page 74: Metodi Numerici Per l'Informatica - Appunti

Metodi numerici per l’informatica 2013/2014

Posto ui=A v i∈ Rmn, 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 ui sarà una base dello spazio delle facce.Continuiamo a scrivere:

ui=A v i=∑k=1

M

v i(k )Φ i

Gli eigenface sono ottenuti tramite combinazione lineare delle facce originarie. Proietto ogni faccia centrata sul volto medio sullo spazio degli eigenface. Le varie proiezioni le calcolo così:

u jT⏞

nm

Φ i⏞mn

Ogni nuova immagine la ricostruisco come combinazione lineare degli eigenface, quindi:

Φ i=∑k=1

M

(Φ iT uk )uk

Non mi servono tutti gli M eigenface per riconoscere un volto ma approssimo lo spazio delle facce con i primi M ' autovettori, cioè:

span {u1 ,u2 ,…,uM '}Gli M ' autovettori sono scelti tra quelli che hanno i più grandi autovalori associati.

Nel momento in cui mi giunge una nuova immagine Γ∈Rm×n, la vettorizzo in Γ∈Rmn e la centro rispetto alla media, la proietto poi nello spazio delle immagini ridotto calcolando la proiezione:

ωk=ukT (Γ−Ψ )=uk

TΦcon k=1 ,…,M '. Costruisco poi un vettore di pesi:

Ω=[ ω1

ω2

⋮ωM '

]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 M ' dimensionale. Per ricostruire le immagini mi servono solo i vettori Ω, quindi per ogni immagine del training:

Γ1 , Γ2 ,…,ΓM

calcolerò rispettivamente:Ω1 ,Ω2 ,…,ΩM

dove ogni Ωi è del tipo:

Ωi=[ u1TΦi

u2TΦi

⋮uM'

TΦ i]

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ì:

ε k2=‖Ω−Ωi‖2

2

73

Page 75: Metodi Numerici Per l'Informatica - Appunti

Metodi numerici per l’informatica 2013/2014

Il valore più piccolo di ε k2 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:

Φ f=∑i=1

M'

ωiui

e valuto il vettore differenza ε 2=‖Φ−Φ f‖22 per vedere se è un volto e calcolo anche

ε k2=‖Ω−Ωi‖2

2 per vedere se Ω appartiene ad una immagine che ho già nel dataset.

74

Page 76: Metodi Numerici Per l'Informatica - Appunti

Metodi numerici per l’informatica 2013/2014

Vector Space Model per l’Information Retrieval [2]

Supponiamo di avere d documenti testuali e un vocabolario V di termini (token) avente cardinalità |V|=t. 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 f (t i, d j)

=aij che mi restituisce il numero di

occorrenze del termine i nel documento j. In particolare a ij sarà fatto nel seguente modo:a ij=lij g in j

dove lij è il numero di occorrenze della parola i all’interno del documento j, gi è il numero di occorrenze all’interno di tutto il vocabolario e n è 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 A∈R t×d formata in questa maniera:

A=(a11 a12 … a1da21 a22 … a2d… … … …at1 a t2 … atd

)Il Range (A ) (spazio colonne) viene detto “spazio semantico” o “spazio dei documenti” dove

ogni documento d rappresenta una dimensione di questo spazio, mentre il Range ( AT ) (spazio righe di A) è 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 rank ( A )) sarà inferiore o al massimo uguale al numero di documenti. Da non confondere con il concetto di dimensione di A che è il prodotto tra il numero di termini ed il numero di documenti.Ipotizzo di interrogare lo spazio termini/documenti con un vettore q così fatto:

q=[ freq (t1 )

freq (t2 )

⋮freq (t t)

]∈Rt

Per misurare quanto due documenti sono simili dal punto di vista semantico, utilizzo la similarità del coseno:

cosθ= qT d‖q‖2‖d‖2

Il coseno è tanto più grande (fino ad arrivare ad 1), quanto un certo documento 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

75

Page 77: Metodi Numerici Per l'Informatica - Appunti

Metodi numerici per l’informatica 2013/2014

Una volta costruita la matrice termini-documenti A, in cui racchiudiamo la frequenza di ogni termine i in ogni documento j, utilizziamo la fattorizzazione QR per identificare e rimuovere informazione ridondante nella matrice del database.Per la teoria della fattorizzazione QR sappiamo che Q è ortonormale (QTQ=I=QQT) e R è una matrice triangolare superiore del tipo:

R=[RA

0 ]se t>d, oppure:

R=[R A 0 ]invece se t<d.

Indichiamo con Q= [q1|q2|…∨q t ] dove q iT q j=0 dove i≠ j; con r A=rank ( A ) cioè la dimensione

dello spazio semantico e ipotizziamo che sia massimo (minimo tra t e d). Poiché non tutte le colonne di Q contribuiscono allo spazio colonne della matrice A, possiamo partizionarla in questo modo:

Q= [QA Q AT ]

dove QA è fatta dalle prime r A colonne, QAT dalle restanti. Il contenuto semantico della

collezione di documenti sarà dato esclusivamente dalle sole colonne della sottomatrice QA di Q.Possiamo riscrivere la fattorizzazione QR in questo modo:

A=QR=[QA QAT ][RA

0 ]=QA RA+QAT 0⏞

¿ 0

=QA RA

È da notare che q A=Q AQ AT q è il vettore proiezione ortogonale di una query q nello spazio

semantico generato da QA, mentre QAT q rappresenta il vettore le cui componenti sono le

proiezioni ortogonali di q sulle colonne di A (spazio semantico di A).

Precisione e recuperoGli 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è:

precision=numero didocumenti pertinenti recuperatinumerodi documenti recuperati

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 n 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:

recall=numero di documentirilevanti recuperatinumerodi documentirilevanti

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

76

Page 78: Metodi Numerici Per l'Informatica - Appunti

Metodi numerici per l’informatica 2013/2014

intersezione vuota con ogni altro concetto.

Metodo SVD nel query matchingIl metodo numerico che mi permette di eliminare il rumore da una matrice di dati strutturati è l’SVD troncata. Utilizziamo questo metodo, anche se computazionalmente più pesante della QR, perché vogliamo avere informazioni sia sullo spazio delle colonne (spazio dei documenti), sia sullo spazio righe (spazio dei termini). Il metodo QR mi da solo informazioni 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.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 SVD della matrice termini documenti A è fatta così:

A=U ΣV T

nella quale il fattore di sinistra U è base dello spazio colonna, il fattore di destra V T è base dello spazio righe e il fattore centrale è la matrice dei pesi ordinati in maniera decrescente.Quando opero con la SVD considero la matrice Ak che è una riduzione della matrice originale A e in cui ogni documento dk è una approssimazione del documento d e ogni termine t k è una approssimazione del termine t .Se definiamo con e j la j-esima colonna della matrice identica d ×d , la j-esima colonna della matrice Ak sarà data dal prodotto Ake j.Come fatto per il metodo QR, 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 Ak. Matematicamente possiamo scrivere:

cosθ j=( Ak e j )

T q

‖Ak e j‖2‖q‖2=

(U kΣkV kT e j )

Tq

‖U k ΣkV kT e j‖2‖q‖2

=e j

TV k ΣkT⏞

sjT

(U kT q)

‖U kΣkV kT e j‖2‖q‖2

=s j

T (U kT q )

‖s j‖2‖q‖2con j=1,2 ,…,d .Dalla formula precedente possiamo osservare che i k elementi del vettore s j=ΣkV k

T e j sono

le coordinate della j-esima colonna di Ak nelle basi definite dalle colonne di U k, mentre i k

elementi del vettore U kT q sono le coordinate nelle basi della proiezione U kU k

T q del vettore

query q nello spazio colonne di Ak.

Confronto termine-termineSi costruisce una matrice termini-documenti che chiamiamo G ottenuta dai vettori documenti ritornati dalla query dell’utente. Il confronto termine-termine è tirato fuori dal calcolo del coseno degli angoli ωij tra un certo termine e tutti gli altri:

cosωij=(e i

TG ) (GT e j )‖GT e i‖2‖GT e j‖2

dove e l denota la l-esima colonna della matrice identica t × t.Se il termine i e il termine j 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.

77

Page 79: Metodi Numerici Per l'Informatica - Appunti

Metodi numerici per l’informatica 2013/2014

Il processo di raggruppamento dei termini secondo il loro contenuto è detto clustering ed è utile per affrontare problemi di polisemia. Si ricordi che le colonne U k formano una base nello spazio colonne di Ak, così queste colonne possono essere usate al posto di quelle di Ak per il query matching. Similmente le righe di V k costituiscono una base dello spazio righe di Ak e possono rimpiazzare le di righe di Ak 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 feedbackUn sistema ideale di IR dovrebbe raggiungere alti livelli di precision per alti livelli di recall. Sfortunatamente a causa di problemi come la polisemia e la sinonimia, la lista dei documenti restituiti per una data query non è quasi mai perfetta.Per superare questo problema, la precision può essere migliorata usando il relevance feedback, specificando quali documenti di un certo insieme restituito, sono rilevanti per le richieste di informazione e usando quei documenti per migliorare la 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

78

Page 80: Metodi Numerici Per l'Informatica - Appunti

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 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 E il grafo del Web e e ij la connessione tra il nodo i e il nodo j.In ogni istante è possibile conoscere entrambi i punteggi calcolando:

x i(k )= ∑

j : e ji ∈E

y j(k−1 )

y i(k )= ∑

j: e ij∈ E

x j( k )

rispettivamente per i punteggi di authority e di hub all’istante k=1,2 ,….Queste equazioni possono essere scritte in forma matriciale con l’aiuto della matrice di adiacenza L, i cui elementi sono del tipo:

Lij={1 sei→ j0 se i→Y j

Nel modello HITS-IR, una riduzione dei costi computazionali legati al metodo delle potenze per il calcolo degli autovettori dominanti delle matrici LT L (matrice di authority) e L LT (matrice di hub) si ottiene calcolando uno solo degli autovettori dominanti. Infatti:

x (k )=LT y (k−1 )

è l’autovettore dominante di authority e

y ( k )=L x (k )

è l’autovettore dominante di hub.LT L e L LT sono matrici simmetriche, semi definite positive e non negative, con gli autovettori ordinati e diversi da 0.

Implementazione dell’algoritmo HITSL’implementazione di HITS consiste di due passi principali:

si costruisce un grafo di vicinanza N relativo ai termini della query

79

Page 81: Metodi Numerici Per l'Informatica - Appunti

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 L corrispondente ai nodi in N . L’ordine di grandezza di L è 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 LT L e L LT comporta un piccolo costo.Il metodo HITS con la normalizzazione converge sempre.

Vantaggi e svantaggi di HITSUn 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 L è 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, 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 documento, questo assume di conseguenza un punteggio molto alto, deviando così il risultato all’utente.

PageRankDopo che le pagine Web ritrovate dai robot sono indicizzate e catalogate, viene assegnato a ciascuna di esse un valore di PageRank secondo l’importanza 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:

r (P )= ∑Q∈ BP

r (Q )|Q|

dove BP contiene tutte le pagine che puntano a P (inlink) e |Q| è il numero degli outlink da Q. In altre parole il rank (importanza) di una pagina P è data dalla somma dei pesi delle pagine che hanno un outlink verso quella pagina, normalizzata col numero di outlink di Q.L’uso dell’importanza, piuttosto che della rilevanza è la chiave del successo di Google.L’iterazione di PageRank relativa alla matrice di Google P converge all’autovettore sinistro normalizzato πT, normalizzato in norma 1, che soddisfa la relazione:

πTj=πT

j−1P

con ∑i

π i=1 e P è la matrice i cui elementi sono così definiti:

pij={ 1|P i|se P icollega P j

0 altrimenti

dove |Pi| rappresenta il numero di outlink dalla pagina Pi.Se il limite esiste, il metodo delle potenze permette di definire il vettore di PageRank in questo modo:

πT=limj→∞

πTj

80

Page 82: Metodi Numerici Per l'Informatica - Appunti

Metodi numerici per l’informatica 2013/2014

La matrice di Google per righe P è 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.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 1n

, mi assicuro la irriducibilità della matrice P.

Allo stesso tempo mi garantisco che la somma su queste righe faccia sempre 1. Sto quindi

ipotizzando che 1n

sia la probabilità di avere un link uscente da un certo nodo dangling.

La modifica alla matrice di Google per righe P porta alla creazione della matrice P 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 E applicata alla matrice stocastica P in modo tale che si crei la matrice di Google:

P=α P+(1−α ) Edove E=(1∙1T ) /n 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:

E=1vT

dove vT è un vettore di personalizzazione, modificato a pagamento.

Implementazione dell’algoritmo di PageRankUn 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 PageRankUn 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.

81

Page 83: Metodi Numerici Per l'Informatica - Appunti

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:

1. Comprensione del dominio applicativo: si definiscono gli obiettivi e scelte successive

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

o Selezione dei dati: dati disponibili, dati addizionali, dati da integrareo Pre-processing: gestione di missing values, rumore, outlierso Trasformazione dei dati: feature selection, discretizzazione, ecc.

3. Selezione dei compiti: classificazione, regressione, clustering4. Selezione dell’algoritmo di DM5. Impiego dell’algoritmo di DM6. 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

DM (Data mining)Il DM consiste nell’uso di tecniche statistiche da utilizzare con i databases aziendali 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: valutano le ipotesi generate da un esperto umano m. discovery-oriented: identificano automaticamente pattern nei dati. Si

suddividono in:o m. descrittivi: orientati all’interpretazione dei dati (clustering, visualizzazione)o m. predittivi: costruiscono modelli di comportamento per previsioni su nuovi

esempi

I datiI 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 (caratteristiche)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:

o scale nominali: senza relazioni d’ordine e usano simboli o numeri. I numeri indicano solo diversi valori dell’attributo

82

Page 84: Metodi Numerici Per l'Informatica - Appunti

Metodi numerici per l’informatica 2013/2014

o 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

f. continue: sono dette variabili quantitative e misurate con:o scale di intervallo: zero posizionato arbitrariamente (non indica assenza di ciò

che è misurato)o scale di rapporto: zero posizionato in modo assoluto

Gli smoother possono essere utilizzati per discretizzare variabili continue, trasformandole in variabili discrete

Trasformazioni di datiLa trasformazione dei dati può migliorare i risultati delle tecniche di DM e alleviare alcune problematiche quali: dati con errori o incompleti, mal distribuiti, afflitti da forte asimmetria, con numerosi picchi.

NormalizzazioneLa normalizzazione dei dati è utile quando è necessario calcolare le distanze tra punti in uno spazio n-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 V il vettore delle feature, v i la i-esima componente, la formula da applicare è la seguente:

v i=v i−min

iv i

maxi

v i−mini

v i

z-score 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 V il vettore delle feature, v i la i-esima componente, μV e σ V la media e la deviazione standard del vettore. La formula da applicare è la seguente:

v i=v i−μV

σV

Data smoothingIl 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 dataEsistono 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

o 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

83

Page 85: Metodi Numerici Per l'Informatica - Appunti

Metodi numerici per l’informatica 2013/2014

o sostituzione dei missing value con valori costanti: si sceglie il valore più comune della feature oppure il suo valor medio corrispondente

o 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 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

OutliersGli 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 k degli n esempi che sono dissimili, eccezionali o inconsistenti con il resto del dataset.

Visualizzazione grafica di variabiliPer 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.

84

Page 86: Metodi Numerici Per l'Informatica - Appunti

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.

85