Elemente de Matematică
Acest material nu isi propune sa fie un ghid complet in urmatoarele domenii alte matematicii. Conceptele sunt prezentate pe scurt. Pentru aprofundare se recomanda:
- cursurile CS109 si CS229 de la Stanford
- cartea "Math for Machine Learning"
- articolul "The Matrix Calculus You Need For Deep Learning"
De asemenea, nu este necesar sa fie stiuta toata teoria matematica pentru a lucra la nivel de baza (judeteana, nationala). Cei pasionati, dornici sa inteleaga cum functioneaza algoritmii utilizati, pot invata matematica din spate.
Probabilități
Calculul probabilităților discrete constituie fundamentul teoretic pentru înțelegerea incertitudinii în machine learning. Spațiul eșantionului reprezintă mulțimea tuturor rezultatelor posibile ale unui experiment aleatoriu, iar un eveniment este o submulțime a acestui spațiu. Probabilitatea unui eveniment este definită ca:
Exemplu: fie un zar, care este probabilitatea sa obtinem 3?
Probabilitățile condiționate exprimă probabilitatea unui eveniment știind că s-a produs evenimentul . Această noțiune este crucială pentru algoritmii de clasificare și inferența bayesiană. Probabilitatea condiționată se calculează prin raportul dintre probabilitatea intersecției și probabilitatea condiției.
Evenimentele independente sunt caracterizate prin proprietatea că apariția unuia nu influențează probabilitatea celuilalt. Două evenimente și sunt independente dacă și numai dacă probabilitatea intersecției lor este egală cu produsul probabilităților individuale.
Teorema lui Bayes oferă un mecanism fundamental pentru actualizarea probabilităților în funcție de noi informații observate. Această teoremă stă la baza multor algoritmi de machine learning, inclusiv clasificatorii naive Bayes și rețelele bayesiene.
Variabilele aleatorii sunt funcții care asociază fiecărui rezultat din spațiul eșantionului o valoare numerică. O variabilă aleatorie discretă poate lua doar un număr finit sau numărabil de valori, în timp ce o variabilă aleatorie continuă poate lua orice valoare dintr-un interval real.
Distribuțiile de probabilitate descriu modul în care probabilitatea este repartizată asupra valorilor posibile ale unei variabile aleatorii. Pentru variabilele discrete, funcția de masă de probabilitate (PMF) specifică probabilitatea fiecărei valori, iar pentru variabilele continue, funcția de densitate de probabilitate (PDF) satisface proprietatea că probabilitatea unui interval este integrala densității pe acel interval.
Funcția de distribuție cumulativă (CDF) oferă probabilitatea ca variabila aleatorie să ia o valoare mai mică sau egală cu . Pentru variabilele continue, CDF-ul este legat de PDF prin relația de integrare.
Distribuția uniformă atribuie probabilități egale tuturor valorilor dintr-un interval specificat. Pentru distribuția uniformă continuă pe intervalul , densitatea de probabilitate este constantă și egală cu inversul lungimii intervalului.
Distribuția binomială modelează numărul de succese în încercări independente, fiecare cu probabilitatea de succes . Această distribuție este fundamentală pentru problemele de clasificare binară și testarea ipotezelor statistice.
Notam
Distribuția Poisson aproximează distribuția binomială când numărul de încercări este mare și probabilitatea de succes este mică, astfel încât produsul rămâne constant. Aceasta modelează evenimente rare care apar independent în timp sau spațiu.
Notam
Distribuția normală (gaussiană) este cea mai importantă distribuție continuă în statistică și machine learning, caracterizată prin parametrii de medie și deviația standard . Forma sa în clopot și proprietățile analitice o fac ideală pentru multe aplicații practice.
Notam
Statistică
Media aritmetică reprezintă măsura centrală de tendință cea mai utilizată, calculată ca suma valorilor împărțită la numărul de observații. Pentru un eșantion , media oferă o estimare a valorii tipice din setul de date.
Mediana constituie valoarea centrală care împarte setul de date ordonate în două părți egale. Spre deosebire de medie, mediana este robustă la valorile extreme și oferă o măsură mai stabilă a tendinței centrale pentru distribuții asimetrice.
Deviația standard măsoară dispersia valorilor în jurul mediei și reprezintă rădăcina pătrată a varianței. Această măsură exprimă variabilitatea datelor în aceleași unități de măsură ca variabila originală, facilitând interpretarea practică.
Variația cuantifică gradul de răspândire a valorilor în jurul mediei prin calcularea mediei pătratelor abaterilor de la medie. Pentru un eșantion, variația eșantionului utilizează la numitor pentru a obține o estimare nebiasată.
Valoarea așteptată (expected value) generalizează conceptul de medie pentru variabilele aleatorii, reprezentând valoarea medie pe termen lung a unei variabile aleatorii. Pentru o variabilă discretă, se calculează ca suma ponderată a valorilor cu probabilitățile corespunzătoare.
Exemplu: avem un zar, toate numerele au probabilitate egala de a pica , care este valoarea expected cand aruncam zarul?
Covarianța măsoară gradul în care două variabile aleatorii variază împreună, indicând direcția relației liniare dintre ele. O covarianță pozitivă sugerează că variabilele tind să crească sau să scadă împreună, în timp ce o covarianță negativă indică o relație inversă.
Matricea de covarianță extinde conceptul de covarianță la vectori aleatorii multidimensionali, unde elementul reprezintă covarianța dintre componentele și . Această matrice este simetrică și pozitiv semi-definită, fiind fundamentală în analiza componentelor principale și algoritmii de clustering.
Algebra Liniară
Algebra liniară este studiul vectorilor, spațiilor vectoriale (care sunt seturi de vectori) și al transformărilor liniare între aceste spații. Este un limbaj fundamental pentru modelarea multor fenomene în machine learning, de la reprezentarea datelor la optimizarea algoritmilor.
Scalari, Vectori, Matrici, Tensori
- Scalar: O singură valoare numerică. Ex: , .
- Vector: O listă ordonată de scalari. Poate fi văzut ca un punct într-un spațiu multidimensional sau ca o direcție și o magnitudine. Un vector coloană este standard: Un vector rând este transpusa unui vector coloană: .
- Matrice: Un tabel dreptunghiular de scalari aranjați în rânduri și coloane. O matrice de dimensiune are rânduri și coloane.
- Tensor: O generalizare a scalărilor, vectorilor și matricilor la un număr arbitrar de dimensiuni (axe sau moduri). Un scalar este un tensor de ordin 0, un vector este un tensor de ordin 1, o matrice este un tensor de ordin 2. Tensorii sunt esențiali în deep learning pentru reprezentarea datelor (imagini, secvențe) și a parametrilor modelului.
Operații cu Vectori și Matrici
- Adunarea/Scăderea: Se efectuează element cu element, necesită dimensiuni identice.
- Înmulțirea cu un Scalar: Fiecare element al vectorului/matricei este înmulțit cu scalarul.
- Produsul Scalar (Dot Product): Pentru doi vectori : Rezultatul este un scalar. Măsoară similaritatea sau proiecția unui vector pe altul. Dacă , vectorii sunt ortogonali.
- Norma Vectorului (Vector Norm): Măsoară "lungimea" sau "magnitudinea" unui vector.
- Norma Euclideană (L2 norm): .
- Norma L1: .
- Norma L-infinit: .
- Înmulțirea Matricilor: Produsul al unei matrice de dimensiune cu o matrice de dimensiune este o matrice de dimensiune , unde elementul este produsul scalar al rândului din cu coloana din : Notă: Înmulțirea matricilor nu este comutativă ( în general).
- Matricea Identitate (Identity Matrix): Notată , este o matrice pătratică cu 1 pe diagonală și 0 în rest. Are proprietatea că .
- Transpusa unei Matrici (Matrix Transpose): Notată , este obținută prin interschimbarea rândurilor cu coloanele. Dacă este de , atunci este de . Proprietăți: , .
- Inversa unei Matrici (Matrix Inverse): Pentru o matrice pătratică , inversa sa (dacă există) este matricea care satisface . O matrice care are inversă este numită inversabilă sau nesingulară.
Valori proprii (eigenvalues) și vectori proprii (eigenvectors)
Pentru o matrice pătratică , un vector nenul este un vector propriu (eigenvector) al lui dacă, atunci când este înmulțit cu , rezultatul este un scalar înmulțit cu . Scalarul este valoarea proprie (eigenvalue) corespondentă. Formal, această relație este exprimată ca: Unde:
- este o matrice pătratică de dimensiune .
- este un vector propriu nenul de dimensiune .
- este o valoare proprie scalară.
Interpretare Geometrică: Aplicarea transformării liniare reprezentate de asupra unui vector propriu are ca efect doar scalarea (întinderea sau comprimarea) vectorului , fără a-i schimba direcția (sau, în cazul , schimbându-i doar sensul).
Calculul Valorilor și Vectorilor Proprii: Ecuația poate fi rescrisă ca: Pentru ca această ecuație să aibă o soluție nenulă pentru , matricea trebuie să fie singulară (adică să nu aibă inversă). Acest lucru se întâmplă dacă și numai dacă determinantul ei este zero: Aceasta este ecuația caracteristică a matricei . Soluțiile acestei ecuații pentru sunt valorile proprii. Odată ce o valoare proprie este găsită, se substituie în pentru a găsi vectorul propriu corespondent .
Aplicații în Machine Learning:
- Analiza Componentelor Principale (PCA): Folosește vectorii proprii ai matricei de covarianță a datelor pentru a găsi direcțiile de varianță maximă (componentele principale). Valorile proprii indică magnitudinea varianței de-a lungul acelor direcții.
- Analiza Spectrală: Utilizată în procesarea imaginilor, analiza rețelelor și în unele algoritmi de clustering.
- Descompunerea Valorilor Singulare (SVD): Deși legată de valori proprii, SVD generalizează conceptul și la matricile non-pătratice și este extrem de importantă în reducerea dimensionalității și în sisteme de recomandare.
Matrici Simetrice: Pentru o matrice simetrică (), toate valorile proprii sunt reale, iar vectorii proprii corespunzători unor valori proprii distincte sunt ortogonali. Acest lucru este crucial în PCA, deoarece matricea de covarianță este simetrică.
Analiza matematica
1. Derivate
Notiunea de derivata, care se invata in clasa a 11a, este esentiala pentru intelegerea problemelor de optimizare. Folosim notatia lui Leibniz:
In problemele de optimizare este intalnit conceptul de derivata partiala. Acestea sunt folosite cand lucram cu o functie de mai multe variabile si dorim sa derivam in functie doar de una. Un exemplu:
Fie , . Exista doua derivate partiale de ordin 1:
Derivam normal relatiile ce contin variabile dupa care derivam, si tratam restul terminilor ca fiind constanti. Similar exista si derivate partiale de ordin superior:
Pentru derivatele de ordin superior, putem deriva de fiecare data dupa alta variabila. De exemplu, avem , . Avem:
Dupa care:
Observatie: in notatia utilizata, reprezinta un operator ce primeste o functie si returneaza o alta functie.
Gradientul unei functii
În machine learning, lucrăm adesea cu funcții care au un număr mare de variabile. Pentru a înțelege cum o funcție se modifică în funcție de toate variabilele sale, introducem conceptul de gradient. Gradientul unei funcții scalare unde este un vector de variabile, ce conține toate derivatele parțiale de ordin întâi ale funcției. Este notat cu sau .
Pentru o funcție , gradientul este definit ca:
Gradientul "arată" în direcția celei mai rapide creșteri a funcției într-un punct dat. Magnitudinea gradientului, adică , reprezintă rata de creștere a funcției în acea direcție. În contextul optimizării, algoritmul de gradient descent utilizează această proprietate, deplasându-se în direcția opusă gradientului pentru a găsi minimul unei funcții.
Exemplu: Fie . Gradientul este:
La punctul , gradientul este . Acest vector indică direcția în care funcția crește cel mai rapid de la .
Matricea Jacobiană
Pe lângă funcțiile scalare, în machine learning întâlnim și funcții vectoriale, adică funcții care mapează un vector la un alt vector. Pentru o funcție vectorială , unde și fiecare este o funcție scalară de , derivata este reprezentată de matricea Jacobiană.
Matricea Jacobiană este o matrice de dimensiune ale cărei elemente sunt derivatele parțiale de ordin întâi ale componentelor funcției vectoriale:
Fiecare rând al matricei Jacobiane este gradientul unei componente scalare a funcției vectoriale . Dacă , adică este o funcție scalară, atunci Jacobianul este vectorul rând al gradientului (transpus).
Exemplu: Fie definită prin . Componentele funcției sunt și . Matricea Jacobiană este:
Matricea Hessiană
Matricea Hessiană este o matrice pătratică de derivate parțiale de ordinul al doilea ale unei funcții scalare . Este notată cu sau .
Elementul al matricei Hesse este definit ca:
Matricea Hessiană este dată de:
O proprietate importantă a matricei Hesse (dacă derivatele parțiale mixte sunt continue) este că este simetrică, adică .
Matricea Hessiană oferă informații despre curbura funcției și este utilizată pentru a determina dacă un punct critic este un minim local, un maxim local sau un punct șa. În optimizare, al doilea ordin de derivare este fundamental pentru metode mai avansate decât gradient descent, cum ar fi metoda lui Newton.
Exemplu: Fie . Mai întâi calculăm derivatele parțiale de ordin întâi (gradientul):
Apoi calculăm derivatele parțiale de ordinul al doilea:
Matricea Hessiană este:
Calcul Diferențial cu Matrici
În machine learning, operațiile sunt adesea exprimate sub formă de matrici și vectori, ceea ce face esențială înțelegerea calculului diferențial aplicat direct pe aceste structuri. Obiectivul este să calculăm derivatele funcțiilor scalare sau vectoriale în raport cu vectori sau matrici.
Derivata unei funcții scalare în raport cu un vector:
Acesta este exact gradientul discutat anterior. Dacă , atunci derivata lui în raport cu vectorul este:
Exemplu: Fie , unde . Desfășurată, . Atunci:
Deci, .
Exemplu: Derivata unei forme liniare. Fie , unde . Desfășurată, . Atunci:
Deci, .
Derivata unei funcții scalare în raport cu o matrice:
Fie o funcție scalară care primește o matrice . Derivata lui în raport cu este o matrice de aceeași dimensiune ca , ale cărei elemente sunt derivatele parțiale ale lui în raport cu fiecare element al lui .
Exemplu: Fie , unde și . Știm că . Pentru a găsi , analizăm termenii care conțin : Singurul termen din sumă care conține este când și în suma interioară este elementul , adică nu, asta e greșit. Corect: când și e o chestie, dar de fapt este indexul interior și indexul exterior. Termenul cu apare doar când elementul din este și contribuie la doar dacă .
Elementul apare în termenul pentru și pentru al doilea index.
Deci, .
Cheat Sheet - Formule Esențiale
Probabilități:
Teorema lui Bayes:
PDF-ul distributiei normale de si :
Statistică
| Denumire | Formula |
|---|---|
| Media aritmetică | |
| Valoarea expected | |
| Covarianță | |
| Varianță | |
| Deviație standard | |
| Corelația Pearson |
Algebră liniară
| Denumire | Formula |
|---|---|
| Valori și vectori proprii | |
| Condiție valori proprii | |
| Condiție vectori proprii |