Algebra liniowa dla uczenia maszynowego: wektory, macierze i dlaczego AI głównie mnoży
Wektory, iloczyn skalarny i podobieństwo cosinusowe, macierze jako przekształcenia, wyznacznik, warstwa sieci neuronowej jako Wx + b i wektory własne — z rysunkami, które oblicza kod.
Seria Podstawy AI Część 9 z 52
- Mapa sztucznej inteligencji: co jest czym i jak to do siebie pasuje
- Krótka historia sztucznej inteligencji: od Turinga do modeli językowych
- Dane, model, trening, inferencja: podstawowe pojęcia na jednym przykładzie
- Jak czytać zapis matematyczny: symbole, indeksy, sumy i kwantyfikatory
- Zbiory i relacje: klocki, z których składają się definicje w AI
- Funkcje i odwzorowania: dlaczego każdy model AI jest funkcją
- Logika i dowody: reguły, według których rozumuje AI
- Grafy i drzewa: struktura, na której opierają się przeszukiwanie i sieci neuronowe
- Algebra liniowa dla uczenia maszynowego: wektory, macierze i dlaczego AI głównie mnoży
- Pochodne, gradient i reguła łańcuchowa: jak model ustala, w którą stronę się uczyć
- Spadek gradientu: jak uczy się model
- Czym jest prawdopodobieństwo: od rzutu kostką do aksjomatów Kołmogorowa
- Prawdopodobieństwo warunkowe i twierdzenie Bayesa: jak zmienić ocenę, gdy dowiesz się czegoś nowego
- Zmienna losowa i dystrybuanta: jedna funkcja, która mówi o rozkładzie wszystko
- Funkcja gęstości i funkcja prawdopodobieństwa: dlaczego zmienna ciągła ma w punkcie prawdopodobieństwo zero
- Wartość oczekiwana, wariancja i kowariancja: gdzie leży rozkład, jak jest szeroki i co z czym się wiąże
- Przegląd rozkładów prawdopodobieństwa: Bernoulliego, dwumianowy, Poissona, jednostajny, normalny i wykładniczy
- Prawo wielkich liczb i centralne twierdzenie graniczne: dlaczego średnie zachowują się tak przewidywalnie
- Statystyka i estymacja parametrów: największa wiarygodność, MAP i przedziały ufności
- Teoria informacji: entropia, entropia krzyżowa i dywergencja KL — skąd się biorą funkcje straty
- Przeszukiwanie przestrzeni stanów: BFS, DFS, UCS i A* z animacjami
- Gry i przeciwnik: minimax, przycinanie alfa-beta i Monte Carlo tree search
- Spełnianie ograniczeń: backtracking, propagacja ograniczeń i AC-3 na sudoku i mapie czeskich krajów
- Logika i systemy z bazą wiedzy: wnioskowanie w przód i wstecz, rezolucja i systemy ekspertowe
- Planowanie: STRIPS, świat klocków, heurystyki z relaksacji i planowanie w agentach AI
- Przeszukiwanie lokalne i symulowane wyżarzanie: komiwojażer przez czeskie miasta wojewódzkie
- Algorytmy genetyczne: populacja, krzyżowanie, mutacja i selekcja na plecaku na wycieczkę
- Strategie ewolucyjne i programowanie genetyczne: od reguły jednej piątej do prawa Keplera
- Optymalizacja kolonią mrówek: jak ślad feromonowy znajduje krótką drogę
- Optymalizacja rojem cząstek: bezwładność, własne doświadczenie i doświadczenie roju
- Neuroewolucja: ewolucja wag i kształtu sieci neuronowych oraz algorytm NEAT
- Zbiory rozmyte i funkcje przynależności: jak zapisać „trochę ciepło”
- Logika rozmyta a prawdopodobieństwo: dlaczego „trochę ciepło” nie znaczy „prawdopodobnie ciepło”
- Logika rozmyta: t-normy, implikacje i reguły JEŻELI–TO
- Sterowanie rozmyte: Mamdani i Sugeno od wentylatora po wahadło na wózku
- Klasteryzacja rozmyta: algorytm fuzzy c-means i punkty między skupieniami
- Systemy neuro-rozmyte (ANFIS): reguły rozmyte, które uczą się z danych
- Łańcuchy Markowa: macierz przejścia, rozkład stacjonarny i PageRank
- Ukryte modele Markowa: algorytm Viterbiego i nieuczciwe kasyno
- Sieci bayesowskie: dlaczego trawa jest mokra i co z tego wynika dla zraszacza
- Filtr Kalmana: jak z niedokładnych pomiarów oszacować, gdzie jest samochód i jak szybko jedzie
- Rodzaje uczenia maszynowego: nadzorowane, nienadzorowane, półnadzorowane i inne
- Prompty, kontekst i RAG: jak dać modelowi właściwe informacje
- Wariacyjne autoenkodery (VAE): nowe obrazki z ciągłej przestrzeni latentnej
- Generatywne sieci przeciwstawne (GAN): fałszerz kontra detektyw
- Modele dyfuzyjne: jak z czystego szumu powstaje obraz
- Procesy decyzyjne Markowa: stany, akcje, nagrody i równania Bellmana
- Q-learning i DQN: uczenie się wartości akcji od tabeli po sieć neuronową
- Policy gradient i PPO: uczenie się bezpośrednio polityki
- Jak działa agent AI: model językowy w pętli z narzędziami
- Programowanie z agentami AI: zadanie, testy i kontrola
- Ocena i bezpieczeństwo systemów AI: jak mierzyć i jak pilnować
Pełny program serii Gotowe: 52 z 83 tematów
- Czym jest wektor i iloczyn skalarny — i jak liczy się z nich podobieństwo słów.
- Dlaczego macierz jest przekształceniem przestrzeni, co mówi wyznacznik i dlaczego mnożenie macierzy to składanie.
- Że warstwa sieci neuronowej to Wx + b z nieliniowością i czym są wektory własne, na których opiera się PCA.
Warto wiedzieć wcześniej: Jak czytać zapis matematyczny: symbole, indeksy, sumy i kwantyfikatory, Funkcje i odwzorowania: dlaczego każdy model AI jest funkcją
Gdybyś rozebrał dowolny model sztucznej inteligencji do samego rdzenia, znalazłbyś głównie jedną operację: mnożenie macierzy. Dla modelu obraz to tabela liczb, słowo to lista liczb, warstwa sieci neuronowej to macierz, a karty graficzne są tak ważne dlatego, że potrafią mnożyć macierze szybciej niż cokolwiek innego. Algebra liniowa to język, w którym AI liczy.
Nie będziemy omawiać całego materiału z uczelni. Przejdziemy tylko przez to, czego będziesz potrzebować w kolejnych częściach — i przy każdym pojęciu pokażemy, gdzie siedzi w AI.
1. Wektory: strzałka i lista liczb
Definicja — wektor i działania na nim
Wektor w ℝn to uporządkowana n-ka liczb rzeczywistych u = (u1, …, un); liczby ui to jego składowe.
Sumę liczy się po składowych: u + v = (u1 + v1, …, un + vn). Iloczyn przez liczbę cu = (cu1, …, cun).
Wyrażenie c1v1 + … + ckvk to kombinacja liniowa wektorów v1, …, vk.
Wektor ma dwie twarze. Dla komputera to lista liczb — cena, powierzchnia i wiek mieszkania. Dla wyobraźni to strzałka od początku układu do punktu. Dodawanie wektorów to składanie strzałek jedna za drugą: kto idzie najpierw wzdłuż u, a potem wzdłuż v, kończy w u + v.
W AI wektorem jest prawie wszystko. Czarno-biały obraz 28 × 28 pikseli to wektor w ℝ784. Słowo w modelu językowym to wektor o setkach do tysięcy składowych — tak zwane zanurzenie (embedding). A parametry całego modelu to jeden olbrzymi wektor θ.
2. Iloczyn skalarny, długość i podobieństwo
Definicja — iloczyn skalarny, norma, kąt
Iloczyn skalarny u · v = ∑i=1n uivi (także u⊤v).
Długość (norma euklidesowa) ‖u‖ = √(u · u). Dla kąta φ między wektorami zachodzi cos φ = (u · v) / (‖u‖ ‖v‖); wektory są prostopadłe (ortogonalne), gdy u · v = 0.
Iloczyn skalarny mnoży odpowiadające sobie liczby i je sumuje. Wynik mówi, na ile dwa wektory „wskazują ten sam kierunek”: dodatni i duży — podobnie, zero — prostopadle, ujemny — przeciwnie.
Dla u = (3, 1) i v = (1, 2) jest u · v = 3 · 1 + 1 · 2 = 5, ‖u‖ = √10 ≈ 3,16, ‖v‖ = √5 ≈ 2,24 i cos φ = 5 / √50 ≈ 0,71 — wektory tworzą kąt 45°.
Cosinus kąta jest w AI sławny jako podobieństwo cosinusowe. Wyobraź sobie zabawkowe zanurzenie słów z trzema składowymi „zwierzę, domowe, ma koła”: kot (0,9; 0,8; 0), pies (0,85; 0,9; 0,05), samochód (0; 0,3; 0,95). Podobieństwo kota i psa wychodzi 0,995, kota i samochodu tylko 0,20. Dokładnie tak wyszukiwarki znajdują „podobne” dokumenty, a modele językowe „podobne” słowa — tylko w setkach wymiarów zamiast trzech.
3. Macierze i mnożenie przez wektor
Definicja — macierz i iloczyn macierzy przez wektor
Macierz wymiaru m × n to tabela liczb rzeczywistych o m wierszach i n kolumnach; Aij to element w i-tym wierszu i j-tej kolumnie.
Dla A ∈ ℝm×n i x ∈ ℝn iloczyn Ax ∈ ℝm to wektor o składowych (Ax)i = ∑j Aijxj — iloczyn skalarny i-tego wiersza z x.
Macierz to maszyna do wektorów: wkładasz wektor i dostajesz inny. Każdy wiersz macierzy robi z wejściem iloczyn skalarny, a wynik to jedna składowa wyjścia.
A = [2 1; 1 3], x = (1, 2)
Ax = (2 · 1 + 1 · 2, 1 · 1 + 3 · 2) = (4, 7)
4. Macierz jako przekształcenie przestrzeni
Najlepszy sposób, żeby macierz „zobaczyć”, to popatrzeć, co zrobi z płaszczyzną. Każda macierz 2 × 2 przenosi siatkę na inną siatkę — proste pozostają prostymi, a początek układu zostaje na miejscu. Dlatego nazywa się to przekształceniem liniowym. Szara jest pierwotna siatka, zielona po przekształceniu, pomarańczowy jest obraz kwadratu jednostkowego:
[0 -1; 1 0] · pole × 1
[1,5 0; 0 1,5] · pole × 2,25
[1 1; 0 1] · pole × 1
[1 0; 0 0] · pole × 0
Definicja — wyznacznik macierzy 2 × 2
det [a b; c d] = ad − bc. Jego wartość bezwzględna to współczynnik zmiany pola: kwadrat jednostkowy przechodzi na równoległobok o polu |det A|.
Wyznacznik mówi, ile razy macierz powiększa pola. Obrót i ścięcie pola nie zmieniają (det = 1), powiększenie 1,5× zwiększa je 2,25×, a rzut spłaszcza płaszczyznę do prostej — pole i wyznacznik są zerowe, a to, co raz zostało spłaszczone, już się z powrotem nie rozciągnie.
5. Mnożenie macierzy to składanie
Definicja — iloczyn macierzy
Dla A ∈ ℝm×k i B ∈ ℝk×n jest (AB)ij = ∑l AilBlj. Zachodzi (AB)x = A(Bx): iloczyn macierzy to złożenie przekształceń — najpierw B, potem A.
Mnożenie macierzy jest łączne, ale w ogólności nie jest przemienne: AB ≠ BA.
Pomnożyć dwie macierze to połączyć dwie maszyny jedna za drugą w jedną. I tak samo jak przy funkcjach liczy się kolejność: obrócić, a potem ściąć, daje co innego niż ściąć, a potem obrócić.
R = [0 −1; 1 0] (obrót), Z = [1 1; 0 1] (ścięcie)
RZ = [0 −1; 1 1], ZR = [1 −1; 1 0]
6. Warstwa sieci neuronowej to macierz
Teraz można już dokładnie powiedzieć, co robi jedna warstwa sieci neuronowej:
y = ReLU(Wx + b)
Macierz W (wagi) i wektor b (wyraz wolny, bias) to parametry, których sieć się uczy. Dla W = [0,5 −1 2; 1 0 −0,5], wejścia x = (1, 2, 3) i b = (0, −1):
Wx = (0,5 − 2 + 6, 1 + 0 − 1,5) = (4,5; −0,5)
Wx + b = (4,5; −1,5), ReLU → (4,5; 0)
Warstwa zamieniła trzy liczby na dwie i wyzerowała ujemną. Głęboka sieć to ciąg takich kroków jeden po drugim — a bez funkcji nieliniowej (ReLU, sigmoida) całość zapadłaby się do jednej macierzy, bo złożenie przekształceń liniowych jest znowu przekształceniem liniowym. Gdy sieć przetwarza wiele wejść naraz (partię, batch), składa je w macierz X i cała partia liczy się jednym mnożeniem WX — a to jest dokładnie ta operacja, którą karty graficzne wykonują najszybciej.
7. Macierz odwrotna i układy równań
Definicja — macierz odwrotna
Macierz kwadratowa A jest odwracalna (nieosobliwa), gdy istnieje A−1 taka, że A−1A = AA−1 = I (macierz jednostkowa). Macierz jest odwracalna wtedy i tylko wtedy, gdy det A ≠ 0.
Dla 2 × 2: [a b; c d]−1 = (1 / (ad − bc)) · [d −b; −c a]. Układ Ax = y ma wtedy jedyne rozwiązanie x = A−1y.
Macierz odwrotna cofa przekształcenie. Da się to zrobić tylko wtedy, gdy macierz nie spłaszczyła przestrzeni — i właśnie tego pilnuje wyznacznik.
Dla A = [2 1; 1 3] jest det A = 2 · 3 − 1 · 1 = 5 i A−1 = [0,6 −0,2; −0,2 0,4]. Ze znanego wyniku (4, 7) dostajemy więc z powrotem wejście (1, 2). Tak samo w postaci zamkniętej liczy się regresję liniową — metoda najmniejszych kwadratów prowadzi do układu (X⊤X)θ = X⊤y (równania normalne).
8. Wartości własne i wektory własne
Definicja — wartość własna i wektor własny
Niezerowy wektor v jest wektorem własnym macierzy A z wartością własną λ, gdy Av = λv.
Wartości własne to pierwiastki równania det(A − λI) = 0. Macierz symetryczna ma rzeczywiste wartości własne i wzajemnie prostopadłe wektory własne.
Większość wektorów macierz obraca gdzie indziej. Wektory własne to wyjątki: macierz tylko je wydłuża albo skraca, kierunek zostaje. Wartość własna mówi, ile razy. To „naturalne osie” przekształcenia.
Wartości własne macierzy [2 1; 1 3] to (5 ± √5)/2, czyli ≈ 3,62 i ≈ 1,38. Elipsa jest w kierunku pierwszego wektora własnego rozciągnięta 3,62×, w kierunku drugiego 1,38×. Szare strzałki w ogólnym kierunku po przekształceniu skręcają, pomarańczowe osie nie. Na tym opiera się analiza głównych składowych (PCA): wektory własne macierzy kowariancji danych pokazują kierunki, w których dane różnią się najbardziej, a wartości własne — jak bardzo.
9. Algebra liniowa w sztucznej inteligencji
- Dane to macierze: wiersz to przykład, kolumna to cecha.
- Zanurzenia (embeddingi) to wektory; podobieństwo mierzy się iloczynem skalarnym albo cosinusem.
- Warstwa sieci to Wx + b i nieliniowość; trening zmienia elementy macierzy W.
- Uwaga (attention) w transformerach liczy iloczyny skalarne wszystkich zapytań ze wszystkimi kluczami naraz — mnożenie macierzy QK⊤.
- PCA i kompresja szukają wektorów własnych, systemy rekomendacyjne rozkładają macierz „użytkownik × film” na iloczyn mniejszych macierzy.
10. Podsumowanie
- Wektor to lista liczb i strzałka zarazem; dodaje się go po składowych.
- Iloczyn skalarny mierzy, na ile dwa wektory wskazują ten sam kierunek — podobieństwo cosinusowe to jego znormalizowana wersja.
- Macierz to przekształcenie liniowe przestrzeni; wyznacznik mówi, ile razy zmienia pole, a zero oznacza, że przekształcenia nie da się cofnąć.
- Mnożenie macierzy to składanie przekształceń, a warstwa sieci neuronowej to Wx + b z nieliniowością.
- Wektory własne to kierunki, które macierz tylko rozciąga — na nich opiera się PCA.
Masz inne zdanie? Napisz na support@coden-app.com.