Documente Academic
Documente Profesional
Documente Cultură
3.1
In era Informatiei cand n fiecare ora se genereaza terabytes de date, modalitatea cea mai
simpla de a prezenta datele numerice consta n nregistrarea acestora n matrici coloana:
24
12
145
C=
11
67
Concatenarea mai multor matrici coloana conduce la notiunea de spreadsheet, care matematic poate fi interpretata ca o matrice de date
D = [C1 |C2 | . . . |Cn ]
Pentru prelucrarea datelor si extragerea informatiei pe care o ascund, se definesc operatii
ntre coloane, care conduc la notiunea de spatiu vectorial. Coloanele numerice devin astfel
vectori. Operatiile ntre acesti vectori abstracti sunt definite n asa fel ncat sa aiba aceleasi
proprietati ca si vectorii din fizica ce au acelasi punct de aplicatie.
Pe multimea vectorilor cu acelasi punct de aplicatie, O, se defineste operatia de adunare a
doi vectori, prin regula paralelogramului si respectiv produsul cu un scalar (adica numar real)
al unui astfel de vector (Fig.3.1). Exploatand proprietatile celor doua operatii cu vectori avand
O C
OA + OB
C
O
O
B
Fig.3.1: Regula paralelogramului de adunare a vectorilor cu acelasi punct de aplicatie (stanga) si produsul unui vector cu un scalar (dreapta)
acelasi punct de aplicatie, s-a introdus notiunea de spatiu vectorial peste un corp, care va permite
ulterior ca vectorii reprezentati prin sageti, sa poata fi reprezentati si ei prin coloane numerice,
respectiv printr-o pereche de numere, daca sunt vectori ntr-un plan si respectiv de un triplet de
numere, daca sunt vectori n spatiul fizic tridimensional.
x1
x2
x = ..
.
xn
Pentru economie de spatiu vom nota adesea un nuplu si prin x = (x1 , x2 , . . . , xn )T , adica o
matrice linie transpusa. Astfel multimea Rn este definita formal astfel:
Rn = {x = (x1 , x2 , . . . , xn )T | xi R, i = 1, n}
Daca n = 2, R2 este multimea cuplurilor (perechilor), (x1 , x2 )T , de numere reale, iar pentru
n = 3, R3 este multimea tripletelor de numere reale, (x1 , x2 , x3 )T . Deci pentru n arbitrar,
folosim termenul de nuplu.
Operatiile ce nzestreaza pe Rn cu o structura de spatiu vectorial real sunt definite astfel:
adunarea: pentru orice x = (x1 , x2 , . . . , xn )T , y = (y1 , y2 , . . . , yn )T Rn ,
x + y = (x1 + y1 , x2 + y2 , . . . , xn + yn )T Rn
nmultirea cu scalari: pentru orice R si x = (x1 , x2 , . . . , xn )T Rn ,
x = (x1 , x2 , . . . , xn )T Rn
Vectorul nul al spatiului vectorial Rn /R este n = (0, 0, . . . , 0)T . In particular vectorul nul din
| {z }
R2 /R este 2 = (0, 0)T , iar din R3 , 3 = (0, 0, 0)T .
1
0
1
Exemplul 4. Spatiul vectorial real al functiilor definite pe o multime D, cu valori reale. In acest
caz V este definit astfel:
V = F(D) = {f : D R}
suma a doua functii din F(D) se defineste punctual, si anume daca f, g F (D), atunci
f + g este functia definita pe D prin (f + g)(x) = f (x) + g(x), x D;
produsul unei functii f F(D) cu un scalar R, este functia definita pe D prin
(f )(x) = f (x), x D.
In Fig. 3.2 ilustram aceaste operatii n cazul n care D este un interval [a, b] R.
Vectorul nul n spatiul functiilor F(D) este functia : D R, constanta si egala cu zero:
(x) = 0, x D.
y
f (x) + g(x)
f +g
g(x)
f (x)
f
x
y
f
f (x)
f (x)
f
x
Fig.3.2: Ilustrarea grafica a sumei a doua functii, respectiv a produsului unei functii cu un scalar.
S = {f : R C}
Primul este spatiul vectorial real al semnalelor in timp continuu, cu valori reale, iar al doilea
este spatiul vectorial complex al semnalelor in timp continuu, cu valori complexe1 .
Exemplul 5. Multimea matricilor de tip m n cu elemente din corpul K = R, C, Z2 ,
Kmn = {A = (aij )|aij K, i = 1, m, j = 1, n}
are structura de spatiu vectorial peste corpul K, relativ la operatia uzuala de adunare a matricilor,
respectiv nmultirea cu un scalar (atentie la matricile binare, cu elemente din Z2 , unde adunarea
si nmultirea este modulo 2!).
Exemplul 6. Multimea vectorilor cu acelasi punct de aplicatie O din spatiul fizic S:
V = {OA, A S}
este spatiu vectorial real, relativ la operatiile definite la nceputul cursului.
(3.2)
Aceasta definitie pare a nu avea legatura cu dependenta ilustrata mai sus. Analizand nsa
conditiile din Definitia 3.3.1, rezulta ca daca scalarii 1 , 2 , . . . , m nu sunt toti nuli, atunci
cel putin unul din ei este nenul. Daca, de exemplu, 1 este nenul, atunci exista 11 := 1/1 .
Inmultind relatia (3.2) cu 1/1 obtinem:
v1 =
2
3
m
v2 v3
vm ,
1
1
1
(3.3)
(3.4)
(3.5)
Evident ca relatia (3.5) are loc daca 1 = 2 = 3 = 0. Pentru a stabili daca vectorii dati
sunt liniar independenti sau dependenti trebuie sa investigam daca relatia (3.5) poate avea loc
doar pentru cei trei scalari, simultan zero sau si pentru un set de scalari 1 , 2 , 3 , nu toti nuli.
In acest scop nlocuim n (3.5) fiecare vector prin tripletul reprezentativ si efectuam operatiile
corespunzatoare din R3 :
1
9
3
0
1 2 + 2 16 + 3 5 = 0
(3.6)
3
7
1
0
1 9
3
1
0
2 16 5 2 = 0
(3.7)
3
7
1
3
0
Observam ca problema independentei sau dependentei vectorilor v1 , v2 , v3 s-a transformat
n problema care cere sa stabilim daca sistemul liniar si omogen (3.7) admite numai solutia
banala 1 = 2 = 3 = 0 sau si solutii nebanale. Daca sistemul admite doar solutia banala,
atunci vectorii sunt liniar independenti, iar daca admite si solutii nebanale, atunci vectorii sunt
liniar dependenti.
Pentru a decide natura solutiilor calculam rangul matricii sistemului:
1 9
3
A = 2 16 5
3
7
1
Cum determinantul matricii A este det(A) = 0, rezulta ca sistemul admite si solutii nebanale,
cu alte cuvinte exista trei scalari nu toti nuli, (1 , 2 , 3 ), solutie a sistemului omogen, astfel
ncat pe baza sirului de echivalente (3.6) avem relatia (3.5), adica vectorii sunt liniar dependenti.
Pentru a determina relatia dintre ei, rezolvam efectiv sistemul omogen pentru a gasi o solutie
nebanala. Rangul matricii sistemului este 2 si un determinant principal este:
1 9
= 0,
=
2 16
constituit din coeficientii necunoscutelor 1 , 2 . Prin urmare rezolvam doar sistemul format din
primele doua ecuatii n raport cu necunoscutele principale 1 , 2 . Necunoscuta secundara 3 o
notam cu :
1 92 = 3
21 + 162 =
5
Rezolvand obtinem 1 = 3/2, 2 = /2, 3 = , R. Deci familia solutiilor este
(3//2, /2, ), R. O solutie nebanala obtinem pentru = 0, fixat. Luand = 2 avem
1 = 3, 2 = 1, 3 = 2 si deci relatia de dependenta a celor trei vectori devine:
2
1
3v1 + v2 + 2v3 = 3 v2 = 3v1 2v3 v1 = v2 + v3
3
3
Observatia 3.3.1 Orice sistem (multime) de vectori ce contine vectorul nul este sistem de vectori liniar dependenti.
Intr-adevar, fie v1 , v2 , . . . , vm un sistem de vectori din spatiul vectorial V /K. Presupunem
ca vectorul vi este vectorul nul . Evident ca sistemul de n scalari 1 = 0, . . . , i1 =
0, i , i+1 = 0, , . . . m = 0 cu i = 0, conduce la:
0v1 + 0vi1 + i + 0vi+1 + 0vm = ,
adica vectorii v1 , v2 , . . . , vi1 , , vi+1 , . . . , vn sunt liniar dependenti.
a11
a12
a21
a22
1 .. + 2 ..
.
.
an1
an2
+ k
a1k
a2k
..
.
ank
0
0
..
.
Membrul stang al relatiei nsa reprezinta produsul dintre matricea A = [v1 |v2 | . . . |vk ] si
matricea coloana de elemente 1 , 2 , . . . , k (vezi Cursul 1.). Astfel combinatia liniara a vectorilor, egala cu vectorul nul, este echivalenta cu :
0
1
a11 a12 . . . a1k
a21 a22 . . . a2k 2 0
..
..
.. .. = ..
.
. ... . . .
0
k
an1 an2 . . . ank
(3.8)
A = ..
..
..
.
.
... .
an1 an2 . . . ank
Daca rangul matricii A este egal cu numarul de vectori, atunci vectorii sunt liniar
independenti.
Daca rangul matricii este diferit de numarul de vectori, atunci acestia sunt liniar
dependenti.
10
Pentru determinarea dependentei sau independentei unui sistem de vectori din Kn cu n > 4,
este foarte utila forma scara redusa a matricii asociate sistemului de vectori. Mai mult daca vectorii sunt liniar dependenti atunci din forma scara redusa se poate citi si relatia de dependenta
ntre vectori.
Se poate demonstra ca:
Prin transformari elementare pe linie, eventualele relatii liniare ntre coloane nu se
schimba. Adica daca anumite coloane din A formeaza un sistem independent de vectori,
exact aceleasi coloane din forma scara redusa sunt independente si reciproc. Daca unele
coloane din A se exprima ca o combinatie liniara a altor coloane, atunci exact aceeasi particularitate o au si coloanele corespunzatoare din SA0 si reciproc.
Astfel n loc sa analizam rangul matricii initiale, A, asociate unui sistem de vectori v1 , v2 . . . , vk
K , analizam forma scara redusa SA0 .
Sa ilustram aceasta particularitate printr-un exemplu. Fie v1 , v2 , v3 , v4 , v5 R4 , cinci vectori
din R4 , a caror matrice asociata, A = [v1 |v2 |v3 |v4 |v5 ], este:
1 2 2 3 1
2 4 4 6 2
A=
3 6 6 9 6
1 2 4 5 3
n
0
SA0 =
0
0
2
0
0
0
0
1
0
0
1
1
0
0
0
0
1
0
C1 =
0 , C3 = 0 , C5 = 1
0
0
0
Ele sunt liniar independente pentru ca matricea M = [C1 |C3 |C5 ] are rangul 3, egal cu
numarul coloanelor.
Observam ca orice coloana diferita de coloanele 1, 3, 5, ce contin pivotii, se poate exprima
ca o combinatie liniara a coloanelor 1, 3, 5. Coloana 2:
2
1
0
0
0
0
1
0
= 2 + 0 + 0
0
0
0
1
0
0
0
0
Coloana 4:
1
1
1
0
= 1
0
0
0
0
11
0
0
1
0
+ 1 + 0
0
1
0
0
Analizand acum coloanele 1, 3, 5 din matricea initiala, A = [v1 |v2 |v3 |v4 |v5 ], remarcam
ca ele sunt liniar independente (deoarece rang([v1 |v3 |v5 ])=3) iar coloanele 2 si 4 ale matricii
initiale, adica vectorii v2 , v4 , se exprima ca si combinatii liniare cu aceeasi coeficienti (ca si n
cazul matricii SA0 ) ale coloanelor 1, 3, 5, adica ale vectorilor v1 , v3 , v5 :
1
2
2
4
= 2
3
6
1
2
1
3
2
6
= 1
3
9
1
5
+ 1 4
6
4
v2 = 2v1
In concluzie, ntre coloanele matricii scara reduse, S0A , exista aceleasi relatii ca si ntre
coloanele matricii A.
Astfel forma scara redusa a unei matrici nglobeaza o informatie n plus fata de ce am dedus
n cursurile precedente.
1. Rangul r al matricii initiale A este egal cu numarul pivotilor, adica numarul liniilor nenule
din forma scara redusa.
2. Daca pivotii se gasesc n pozitiile (1, j1 ), (2, j2 ), . . . (r, jr ), atunci orice coloana din matricea A diferita de coloanele j1 , j2 , . . . , jr se exprima ca o combinatie liniara a coloanelor
j1 , j2 , . . . , jr . Aceasta combinatie se citeste din matricea scara redusa. De exemplu daca
n forma scara redusa o astfel de coloana este:
s1j
s2j
..
.
sk,j
0
..
.
0
,k r
12
s1j
1
0
s2j
0
1
.
.
.
.
.
.
.
0
0
0
.
.
..
..
..
0
0
0
0
0
..
.
1
0
..
.
A=
1
2
4
2
3
5
4
0 8
2
1
7
5 2 16
1
0
0
0
0
0 2
1
3
0
0
0
0
0
0
Din SA0 rezulta ca rangul matricii A este 2 deci diferit de numarul de vectori. Prin urmare cei
trei vectori sunt liniar dependenti si v3 = 2v1 + 3v3 , pentru ca n SA0 avem:
coloana 3 = -2 coloana 1+3 coloana 2.
3.4
Definitia 3.4.1 Un sistem ordonat de vectori, B = (e1 , e2 , . . . , en ), din spatiul vectorial V /K,
formeaza o baza n V daca:
B1. Vectorii sunt liniar independenti.
B2. Orice alt vector v din spatiul vectorial V se exprima ca o combinatie liniara a vectorilor
e1 , e 2 , . . . , e n :
(3.9)
v = x1 e1 + x2 e2 + + xn en , x1 , x2 , . . . , xn K
Cu alte cuvinte sistemul de vectori, (e1 , e2 , . . . , en ), este un sistem maximal de vectori liniar
independenti n V , adica orice sistem (v, e1 , . . . , en ) este liniar dependent.
13
Propozitia 3.4.1 Avand fixata o baza, B, n spatiul vectorial V /K, orice vector v V se
exprima ca o combinatie liniara unica a vectorilor din baza.
Demonstratie: Presupunem ca vectorul v admite doua exprimari n baza B:
v = x1 e1 + x2 e2 + + xn en
si v = y1 e1 + y2 e2 + + yn en
1 0 0
A= 0 1 0
0 0 1
Deoarece det(A) = 1, rangul matricii este 3, deci egal cu numarul de vectori. Prin urmare
conform criteriului practic, vectorii e1 , e2 , e3 sunt liniar independenti.
B2. Sa aratam ca orice alt vector v = (x1 , x2 , x3 )T din R3 se exprima ca o combinatie liniara
a vectorilor e1 , e2 , e3 :
x1
0
0
1
0
0
x1
v = x2 = 0 + x2 + 0 = x1 0 + x2 1 + x3 0 =
x3
0
0
x3
0
0
1
= x1 e1 + x2 e2 + x3 e3
Observam ca coordonatele unui vector v = (x1 , x2 , x3 )T din R3 , n baza B, sunt chiar
numerele reale ce definesc tripletul v. De exemplu coordonatele vectorului v = (5, 4, 1)T n
14
baza B sunt 5, 4, 1, adica v = 5e1 + 4e2 , +1e3 . Aceasta baza se numeste baza canonica sau
baza standard din R3 .
In mod analog:
Exemplul 10. Se arata ca n spatiul vectorial Rn /R, sistemul de vectori:
B = (e1 = (1, 0, 0, . . . , 0)T , . . . , ei = (0, 0, . . . , |{z}
1 , . . . , 0)T en = (0, 0, 0, . . . , 1)T )
i
1 = 2 = = n = 0
(3.10)
Vectorii v1 , v2 , . . . , vn fiind nsa nupluri de numere reale (matrici coloana), relatia (3.10) este
echivalenta cu scrierea matriciala:
1
0
2 0
[v |v | |vn ] .. = ..
} . .
| 1 2 {z
A
n
0
Deci, vectorii fiind liniar independenti, sistemul liniar si omogen echivalent, de mai sus,
admite doar solutia banala, adica det(A)
= 0.
x1
x2
x1
y1
y2 x2
[v |v | . . . |vn ] .. = ..
| 1 2 {z
} . .
A
xn
yn
(3.11)
15
Prin urmare problema demonstratiei existentei unor scalari unici y1 , y2 , . . . yn pentru vectorul v
revine la a demonstra ca oricare ar fi termenii liberi ai sistemului (3.11) (adica oricare ar fi v)
sistemul (3.11) are o unica solutie (y1 , y2 , . . . , yn ). Dar cum mai sus am argumentat ca matricea
A = [v1 |v2 . . . |vn ] este nesingulara, rezulta ca SIGUR sistemul este compatibil determinat.
In concluzie, sistemul ordonat de vectori liniar independenti , B = (v1 , v2 , . . . , vn ), formeaza
o baza n Rn .
Exemplul 11. Sa se arate ca sistemul de vectori
B = (u1 = (1, 2, 0)T , u2 = (2, 3, 2)T , u3 = (4, 1, 1)T )
constituie o baza n spatiul vectorial R3 . Sa se determine apoi coordonatele vectorului v =
(3, 1, 5)T relativ la aceasta baza.
B1. Sa aratam ca vectorii din sistem sunt liniar independenti folosind criteriul practic:
1
2 4
3 1
A = [u1 |u2 |u3 ] = 2
0 2 1
Determinantul matricii este det(A)=-7, deci rangul matricii este 3 si egal cu numarul de vectori.
Deci vectorii sunt liniar independenti si conform Propozitiei de mai sus ei formeaza o baza n
spatiul vectorial R3 .
Sa determinam coordonatele vectorului v = (3, 1, 5)T relativ la aceasta baza, adica scalarii
y1 , y2 , y3 R astfel ncat sa avem:
v = y1 u1 + y2 u2 + y3 u3
Inlocuind fiecare vector cu coordonatele sale rezulta ca trebuie sa determinam solutia unica a
sistemului:
y1
3
[u |u |u ] y2 = 1
| 1 {z2 3}
5
y3
A
sau echivalent:
y1 + 2y2 + 4y3 = 3
2y1 + 3y2 + y3 =
1
0y1 2y2 + 1y3 =
5
(3.12)
16
3.5
Numele de spatiu vectorial (Vector space) a fost atribuit unui model celebru n Information
Retrieval (Regasirea informatiei) modelul Vector Space.
Information Retrieval (IR) este un subdomeniu n Computer science care dezvolta tehnici
de stocare a informatiei dintr-o colectie de documente n format electronic si de selectare a
documentelor relevante pentru o cerere (query) a unui utilizator, cerere ce este cel mai adesea
formulata n limbaj natural. Sistemele bazate pe calculator de extragere a informatiei relevante
pentru necesitatile de informare ale utilizatorilor se numesc sisteme IR.
Orice motor de cautare are un sistem IR. Bibliotecile, portalurile diverselor ziare/reviste pun
la dispozitie o aplicatie de cautare.
Ce este modelul spatiu vectorial al unui sistem IR?
Documentele n format electronic sunt analizate si se constituie o lista de termeni prin filtrare (nu se includ n lista conjunctii, prepozitii, semne de punctuatie). Daca m este numarul de
termeni rezultati n urma procesului de filtrare a celor n documente din colectie, atunci se analizeaza fiecare document D1 , D2 , . . . , Dn si documentului Dj i se asociaza un vector, dj Rm ,
ale carui coordonate pij 0 reprezinta ponderea termenului i n documentul Dj :
p1j
p2j
dj = .. Rm
.
pmj
Vectorul di reprezinta continutul informatiei din documentul Dj .
Matricea de m linii si n coloane, D = [d1 |d2 | . . . |dn ], se numeste n IR, term by document
matrix:
termen 1
p11 p12 . . . p1n
termen 2
p21 p22 . . . p2n
D=
..
..
.
..
.
.
. . . ..
.
pm1 pm2 . . . pmn
termen m
Pe linia i sunt nregistrate ponderile termenului i n documentele D1 , D2 , . . . , Dn , iar pe coloane
avem vectorii dj ce contin ponderile termenilor 1, 2, . . . m, n documentul Dj , j = 1, n.
Performanta sistemului IR depinde de modul de ponderare a termenilor ntr-un document.
Majoritatea motoarele de cautare precum si sistemele IR ale marilor companii sau ale bibliotecilor digitale, folosesc ponderea TF-IDF (TF=Term Frequency, IDF=Inverse Document Frequency).
17
Notam cu fij frecventa termenului i n documentul j (adica numarul ce indica de cate ori
apare termenul i n documentul j).
Atunci ponderea TF-IDF a termenului i n documentul j se alege ca fiind
pij = fij log(n/ni )
unde n este numarul total de documente din colectie, iar ni este numarul de documente ce contin
termenul i. Primul factor din produs reprezinta TF, iar al doilea IDF.
Sa interpretam factorul IDF: ni /n este interpretat ca probabilitatea ca termenul i sa apara
ntr-un document din colectie. Acest raport se mai numeste si document frequency. Cum raportul ni /n este subunitar, logaritmul lui este negativ log(ni /n) < 0 si pentru a defini o pondere
pozitiva se ia logaritmul raportului inversat, log(n/ni ). Logaritmul restange variatia mare pe
care ar avea-o raportul n/ni .
Din relatia IDF = log(n/ni ) se observa ca daca ni < nk , atunci log(n/ni ) > log(n/nk ),
adica un termen k ce apare n mai multe documente decat termenul i are un IDF mai mic.
Aceasta proprietate evidentiaza puterea de discriminare a unui termen ntr-o colectie de documente, pornind de la ideea ca un termen ntalnit n foarte multe documente, trebuie sa aiba
putere redusa de a influenta alegerea documentului relevant pentru o cerere ce include acel
termen, comparativ cu un termen ce apare ntr-un numar redus de documente.
Din declaratiile reprezentatilor Google, rezulta ca spre deosebire de ponderea TF-IDF clasica, de mai sus, n care TF este functia identitate, TF(x) = x, sistemul IR al Google foloseste
o functie neliniara, TF de fij . Alegerea acestei functii se face n asa fel ncat unui termen i ce
apare de mai multe ori ntr-un document Dk sa i se atribuie o pondere mai mare decat aceluiasi
termen ce n alt document D apare de mai putine ori. De asemenea se urmareste ca aceasta
functie sa nu fie o functie liniara de fij , adica daca termenul i apare n documentul j de 7 ori si
n documentul k doar odata sa nu se ia TF(fij ) = 7TF(fik ).
O alegere potrivita, cu rezultate foarte bune n regasirea informatiei s-a dovedit a fi functia:
{
log(fij ) + 1 daca fij > 0
TF(fij ) =
n caz contrar
0
Astfel ponderea termenului i n documentul j devine
pij = TF(fij ) log(n/ni )
O cerere adresata sistemului IR consta dintr-un text (o succesiune de termeni). Sistemul
analizeaza acesti termeni si le asociaza un vector cerere (query vector) q Rm : qi = 1 daca
stringul de cautare contine termenul i din cei m termeni indexati si qi = 0 daca stringul nu
contine termenul i, i = 1, m. Cum alege sistemul documentele relevante cererii q aflam n
Cursul5.