Maybaygiare.org

Blog Network

Algebra liniară de bază pentru învățarea profundă

  • Introducere
  • obiecte matematice
  • reguli de calcul
  • Proprietăți de multiplicare a matricei
  • invers și transpune
  • rezumat
  • resurse

Introducere

algebra liniară este o formă continuă de matematică și este aplicată în întreaga știință și inginerie, deoarece vă permite să modelați fenomene naturale și pentru a le calcula eficient. Deoarece este o formă de matematică continuă și nu discretă, o mulțime de informaticieni nu au multă experiență cu ea. Algebra liniară este, de asemenea, centrală pentru aproape toate domeniile matematicii, cum ar fi geometria și analiza funcțională. Conceptele sale sunt o condiție esențială pentru înțelegerea teoriei din spatele învățării automate, mai ales dacă lucrați cu algoritmi de învățare profundă. Nu trebuie să înțelegeți Algebra liniară înainte de a începe cu învățarea automată, dar la un moment dat, poate doriți să înțelegeți mai bine modul în care diferiții algoritmi de învățare automată funcționează cu adevărat sub capotă.
acest lucru vă va ajuta să luați decizii mai bune în timpul dezvoltării unui sistem de învățare automată. Deci, dacă doriți cu adevărat să fiți un profesionist în acest domeniu, va trebui să stăpâniți părțile algebrei liniare care sunt importante pentru învățarea automată. În Algebra liniară, datele sunt reprezentate de ecuații liniare, care sunt prezentate sub formă de matrice și vectori. Prin urmare, aveți de-a face mai mult cu matrice și vectori decât cu scalari (vom acoperi acești termeni în secțiunea următoare). Când aveți bibliotecile potrivite, cum ar fi Numpy, la dispoziția dumneavoastră, puteți calcula multiplicarea matricei complexe foarte ușor cu doar câteva linii de cod. (Notă: această postare pe blog ignoră conceptele de algebră liniară care nu sunt importante pentru învățarea automată.)

obiecte matematice

scalar

un scalar este pur și simplu un singur număr. De exemplu 24.

Vector

Un Vector este o matrice ordonată de numere și poate fi într-un rând sau o coloană. Un Vector are doar un singur index, care poate indica o valoare specifică în cadrul vectorului. De exemplu, V2 se referă la a doua valoare din Vector, care este -8 în graficul de mai sus.

matrice

o matrice este o matrice 2D ordonată de numere și are doi indici. Primul indică rândul și cel de-al doilea la coloană. De exemplu, M23 se referă la valoarea din al doilea rând și a treia coloană, care este 8 în graficul galben de mai sus. O matrice poate avea mai multe numere de rânduri și coloane. Rețineți că un Vector este, de asemenea, o matrice, dar cu un singur rând sau o coloană.

matricea din exemplul din graficul galben este, de asemenea, o matrice 2 – pe 3-dimensională (rânduri x coloane). Mai jos puteți vedea un alt exemplu de matrice împreună cu notația sa:

tensor

vă puteți gândi la un tensor ca la o serie de numere, aranjate pe o grilă obișnuită, cu un număr variabil de axe. Un Tensor are trei indici, unde primul indică rândul, al doilea la coloană și al treilea la axă. De exemplu, t232 indică al doilea rând, a treia coloană și a doua axă. Aceasta se referă la valoarea 0 din tensorul drept din graficul de mai jos:

tensorul este termenul cel mai general pentru toate aceste concepte de mai sus, deoarece un tensor este o matrice multidimensională și poate fi un vector și o matrice, în funcție de numărul de indici pe care îi are. De exemplu, un Tensor de ordinul întâi ar fi un Vector (1 index). Un Tensor de ordinul doi este o matrice (2 indici) și Tensorii de ordinul trei (3 indici) și mai mari se numesc tensori de ordin superior (3 sau mai mulți indici).

operații matrice-scalare

dacă înmulțiți, împărțiți, scădeți sau adăugați un Scalar la o matrice, faceți acest lucru cu fiecare element al matricei. Imaginea de mai jos ilustrează perfect acest lucru pentru multiplicare:

>

multiplicare matrice-vector

înmulțirea unei matrice cu un vector poate fi considerată ca înmulțirea fiecărui rând al matricei cu coloana vectorului. Ieșirea va fi un Vector care are același număr de rânduri ca matricea. Imaginea de mai jos arată cum funcționează:

pentru a înțelege mai bine conceptul, vom trece prin calculul celei de-a doua imagini. Pentru a obține prima valoare a vectorului rezultat (16), luăm numerele vectorului pe care dorim să îl înmulțim cu matricea (1 și 5) și le înmulțim cu numerele primului rând al matricei (1 și 3). Aceasta arată astfel:

1*1 + 3*5 = 16

procedăm la fel pentru valorile din al doilea rând al matricei:

4*1 + 0*5 = 4

și din nou pentru al treilea rând al matricei:

2*1 + 1*5 = 7

iată un alt exemplu:

And here is a kind of cheat sheet:

Matrix-Matrix Addition and Subtraction

Matrix-Matrix Addition and Subtraction is fairly easy and straightforward. Cerința este că matricile au aceleași dimensiuni și rezultatul este o matrice care are, de asemenea, aceleași dimensiuni. Trebuie doar să adăugați sau să scădeți fiecare valoare a primei matrice cu valoarea corespunzătoare în a doua matrice. Vezi mai jos:

multiplicare matrice-matrice

înmulțirea a două matrice împreună nu este atât de greu nici dacă știi cum să înmulțești o matrice cu un vector. Rețineți că puteți înmulți matricile numai dacă numărul coloanelor primei matrice se potrivește cu numărul rândurilor celei de-a doua matrice. Rezultatul va fi o matrice cu același număr de rânduri ca prima matrice și același număr de coloane ca a doua matrice. Funcționează după cum urmează:

pur și simplu împărțiți a doua matrice în vectori de coloană și înmulțiți prima matrice separat cu fiecare dintre acești vectori. Apoi puneți rezultatele într-o nouă matrice (fără a le adăuga!). Imaginea de mai jos explică acest pas cu pas:

And here is again some kind of cheat sheet:

Matrix Multiplication Properties

Matrix Multiplication has several properties that allow us to bundle a lot of computation into one Matrix multiplication. We will discuss them one by one below. Vom începe prin a explica aceste concepte cu scalari și apoi cu matrice, deoarece acest lucru vă va oferi o mai bună înțelegere a procesului.

nu este comutativ

multiplicarea scalară este comutativă, dar multiplicarea matricei nu este. Aceasta înseamnă că atunci când înmulțim scalari, 7*3 este același cu 3*7. Dar când înmulțim matricile una cu cealaltă, A * B nu este același cu B*A.

Asociativ

înmulțirea scalară și matricială sunt ambele asociative. Aceasta înseamnă că multiplicarea scalară 3 (5 * 3)este aceeași cu (3*5) 3 și că multiplicarea matricei A(B*C)este aceeași cu (A*B) C.

distributiv

multiplicarea scalară și matricială sunt, de asemenea, ambele distributive. Acest lucru înseamnă că
3(5 + 3) este la fel ca 3*5 + 3*3 și că A (B+C) este același cu A*B + A*C.

matricea identității

matricea identității este un tip special de matrice, dar mai întâi, trebuie să definim ce este o identitate. Numărul 1 este o identitate, deoarece tot ceea ce înmulțiți cu 1 este egal cu el însuși. Prin urmare, fiecare matrice care este înmulțită cu o matrice de identitate este egală cu ea însăși. De exemplu, matricea A ori matricea sa de identitate este egală cu A.

puteți observa o matrice de identitate prin faptul că are cele de-a lungul diagonalelor sale și că orice altă valoare este zero. Este, de asemenea, o „matrice pătrată”, ceea ce înseamnă că numărul său de rânduri se potrivește cu numărul său de coloane.

am discutat anterior că multiplicarea matricei nu este comutativă, dar există o excepție, și anume dacă înmulțim o matrice cu o matrice de identitate. Prin urmare, următoarea ecuație este adevărată: a*i = i*a = A

invers și transpune

inversul matricei și transpunerea matricei sunt două tipuri speciale de proprietăți ale matricei. Din nou, vom începe prin a discuta despre modul în care aceste proprietăți se referă la numerele reale și apoi la modul în care se raportează la matrice.

invers

În primul rând, ce este inversul? Un număr care este înmulțit cu inversul său este egal cu 1. Rețineți că fiecare număr, cu excepția 0, are un invers. Dacă înmulțiți o matrice cu inversul ei, rezultatul este matricea sa de identitate. Exemplul de mai jos arată cum arată inversul scalarilor:

dar nu fiecare matrice are un invers. Puteți calcula inversul unei matrice dacă este o „matrice pătrată” și dacă are un invers. Discutarea matricelor care au un invers ar fi, din păcate, în afara domeniului de aplicare al acestui post.

de ce avem nevoie de un invers? Pentru că nu putem împărți matricile. Nu există niciun concept de împărțire cu o matrice, dar putem înmulți o matrice cu un invers, ceea ce rezultă în esență în același lucru.

Imaginea de mai jos prezintă o matrice înmulțită cu inversul său, ceea ce duce la o matrice de identitate 2-cu-2.

puteți calcula cu ușurință inversul unei matrice (dacă are una) folosind NumPy. Iată legătura cu documentația: https://docs.scipy.org/doc/numpy-1.14.0/reference/generated/numpy.linalg.inv.html.

transpune

și în cele din urmă, vom discuta proprietatea Matrix transpune. Aceasta este practic imaginea în oglindă a unei matrice, de-a lungul unei axe de 45 de grade. Este destul de simplu să obțineți transpunerea unei matrice. Prima sa coloană este primul rând al matricei transpune și a doua coloană este al doilea rând al matricei transpune. O matrice m * n este transformată într-o matrice n*M. De asemenea, elementul Aij al lui A este egal cu elementul Aji(transpune). Imaginea de mai jos ilustrează faptul că:

rezumat

în acest post, ați aflat despre obiectele matematice ale algebrei liniare care sunt utilizate în învățarea automată. Ați învățat cum să multiplicați, să împărțiți, să adăugați și să scădeți aceste obiecte matematice. Mai mult, ați aflat despre cele mai importante proprietăți ale matricelor și de ce ne permit să facem calcule mai eficiente. În plus, ați învățat ce sunt matricile inverse și transpuse și ce puteți face cu ele. Deși există și alte părți ale algebrei liniare utilizate în învățarea automată, această postare v-a oferit o introducere corectă a celor mai importante concepte.

resurse

învățare profundă (carte) — Ian Goodfellow, Joshua Bengio, Aaron Courville

Linear Algebra for Machine Learning

cursul de învățare automată al lui Andrew Ng Pe Coursera

https://en.wikipedia.org/wiki/Linear_algebra

https://www.mathsisfun.com/algebra/scalar-vector-matrix.html

https://www.quantstart.com/articles/scalars-vectors-matrices-and-tensors-linear-algebra-for-deep-learning-part-1

Understanding Scalar and Vector Quantities

această postare a fost publicată inițial pe blogul meu (https://machinelearning-blog.com).

Lasă un răspuns

Adresa ta de email nu va fi publicată.