A Gentle Introduction to Linear Algebra

Tweet Share Share

Last Updated on August 9, 2019

What is Linear Algebra?

Linear algebra is a field of mathematics that is universally agreed to be a prerequisite to a deeper understanding of machine learning.

W tym poradniku dowiesz się, czym dokładnie jest algebra liniowa z perspektywy uczenia maszynowego.

Po ukończeniu tego poradnika będziesz wiedział, że:

  • Algebra liniowa jest matematyką danych.
  • Algebra liniowa wywarła znaczący wpływ na dziedzinę statystyki.
  • Algebra liniowa leży u podstaw wielu praktycznych narzędzi matematycznych, takich jak szeregi Fouriera i grafika komputerowa.

Rozpocznij swój projekt dzięki mojej nowej książce Linear Algebra for Machine Learning, zawierającej samouczki krok po kroku oraz pliki z kodem źródłowym Pythona dla wszystkich przykładów.

Zacznijmy.

Łagodne wprowadzenie do algebry liniowej
Zdjęcie autorstwa Steve’a Coreya, niektóre prawa zastrzeżone.

Przegląd samouczka

Ten samouczek jest podzielony na 4 części; są to:

  1. Algebra liniowa
  2. Numeryczna algebra liniowa
  3. Algebra liniowa i statystyka
  4. Zastosowania algebry liniowej

Potrzebujesz pomocy z Algebrą liniową dla uczenia maszynowego?

Weź teraz udział w moim darmowym 7-dniowym kursie e-mailowym (z przykładowym kodem).

Kliknij, aby się zapisać, a także otrzymać darmową wersję PDF Ebook kursu.

Download Your FREE Mini-Course

Algebra liniowa

Algebra liniowa jest gałęzią matematyki, ale prawda jest taka, że algebra liniowa jest matematyką danych. Matryce i wektory są językiem danych.

Algebra liniowa zajmuje się kombinacjami liniowymi. To znaczy, używając arytmetyki na kolumnach liczb zwanych wektorami i tablicach liczb zwanych macierzami, aby stworzyć nowe kolumny i tablice liczb. Algebra liniowa to nauka o liniach i płaszczyznach, przestrzeniach wektorowych i odwzorowaniach, które są wymagane do przekształceń liniowych.

Jest to stosunkowo młoda dziedzina nauki, która początkowo została sformalizowana w 1800 roku w celu znalezienia niewiadomych w układach równań liniowych. Równanie liniowe to po prostu seria terminów i operacji matematycznych, gdzie niektóre terminy są nieznane; na przykład:

1
y = 4 * x + 1

Rozwiązania takie jak to są liniowe w tym sensie, że opisują linię na dwuwymiarowym wykresie.dwuwymiarowym wykresie. Linia ta powstaje po wprowadzeniu różnych wartości do niewiadomej x, aby dowiedzieć się, co dane równanie lub model robi z wartością y.

Możemy ułożyć układ równań o tej samej postaci z dwiema lub więcej niewiadomymi; na przykład:

1
2
3
4

y = 0.1 * x1 + 0.4 * x2
y = 0.3 * x1 + 0.9 * x2
y = 0.2 * x1 + 0.3 * x2

Kolumna wartości y może być potraktowana jako kolumnowy wektor wyjść z równania. Dwie kolumny wartości zmiennoprzecinkowych są kolumnami danych, powiedzmy a1 i a2, i mogą być traktowane jako macierz A. Dwie niewiadome wartości x1 i x2 mogą być traktowane jako współczynniki równania i razem tworzą wektor niewiadomych b do rozwiązania. Możemy to zapisać zwięźle używając notacji algebry liniowej jako:

1
y = A . b

Problemy tej postaci są na ogół trudne do rozwiązania, ponieważ jest więcej niewiadomych (tu mamy 2) niż równań do rozwiązania (tu mamy 3). Co więcej, często nie ma jednej linii, która bezbłędnie spełniałaby wszystkie równania. Systemy opisujące problemy, którymi często jesteśmy zainteresowani (takie jak regresja liniowa) mogą mieć nieskończoną liczbę rozwiązań.

To daje mały posmak samego rdzenia algebry liniowej, która interesuje nas jako praktyków uczenia maszynowego. Znaczna część pozostałych operacji dotyczy ułatwienia zrozumienia i rozwiązania tego problemu i problemów podobnych do niego.

Numeryczna algebra liniowa

Zastosowanie algebry liniowej w komputerach jest często nazywane numeryczną algebrą liniową.

„Numeryczna” algebra liniowa jest tak naprawdę stosowaną algebrą liniową.

– Strona ix, Numeryczna algebra liniowa, 1997.

Jest to coś więcej niż tylko implementacja operacji algebry liniowej w bibliotekach kodów; obejmuje również ostrożne obchodzenie się z problemami matematyki stosowanej, takimi jak praca z ograniczoną precyzją zmiennoprzecinkową komputerów cyfrowych.

Komputery są dobre w wykonywaniu obliczeń algebry liniowej, a duża część zależności od jednostek przetwarzania graficznego (GPU) w nowoczesnych metodach uczenia maszynowego, takich jak głębokie uczenie, wynika z ich zdolności do szybkiego obliczania operacji algebry liniowej.

Wydajne implementacje operacji na wektorach i macierzach zostały pierwotnie zaimplementowane w języku programowania FORTRAN w latach 70. i 80. XX wieku, a wiele kodu, lub kodu przeniesionego z tych implementacji, leży u podstaw dużej części algebry liniowej wykonywanej przy użyciu nowoczesnych języków programowania, takich jak Python.

Trzy popularne biblioteki open source numerycznej algebry liniowej, które implementują te funkcje to:

  • Linear Algebra Package, lub LAPACK.
  • Basic Linear Algebra Subprograms, lub BLAS (standard dla bibliotek algebry liniowej).
  • Automatically Tuned Linear Algebra Software, lub ATLAS.

Często, gdy obliczasz operacje algebry liniowej bezpośrednio lub pośrednio przez algorytmy wyższego rzędu, twój kod jest bardzo prawdopodobne, że zanurza się w dół, aby użyć jednej z tych lub podobnych bibliotek algebry liniowej. Nazwa jednej z tych podstawowych bibliotek może być Ci znana, jeśli zainstalowałeś lub skompilowałeś którąś z bibliotek numerycznych Pythona, takich jak SciPy i NumPy.

Algebra liniowa i statystyka

Algebra liniowa jest cennym narzędziem w innych gałęziach matematyki, zwłaszcza w statystyce.

Zwykle oczekuje się, że studenci studiujący statystykę będą mieli przynajmniej jeden semestr algebry liniowej (lub algebry stosowanej) na poziomie licencjackim.

– Strona xv, Linear Algebra and Matrix Analysis for Statistics, 2014.

Wpływ algebry liniowej jest ważny do rozważenia, biorąc pod uwagę fundamentalny związek obu dziedzin z dziedziną stosowanego uczenia maszynowego.

Niektóre wyraźne odciski palców algebry liniowej na statystyce i metodach statystycznych obejmują:

  • Użycie notacji wektorowej i macierzowej, szczególnie w przypadku statystyki wielowymiarowej.
  • Rozwiązania dla najmniejszych kwadratów i ważonych najmniejszych kwadratów, takie jak dla regresji liniowej.
  • Oszacowanie średniej i wariancji macierzy danych.
  • Macierz kowariancji, która odgrywa kluczową rolę w wielomianowych rozkładach gaussowskich.
  • Pierwotna analiza składowych do redukcji danych, która łączy wiele z tych elementów.

Jak widać, współczesna statystyka i analiza danych, przynajmniej jeśli chodzi o zainteresowania praktyka uczenia maszynowego, zależą od zrozumienia i narzędzi algebry liniowej.

Zastosowania algebry liniowej

Jako że algebra liniowa jest matematyką danych, narzędzia algebry liniowej są wykorzystywane w wielu dziedzinach.

W swojej klasycznej książce na ten temat zatytułowanej „Wprowadzenie do algebry liniowej”, Gilbert Strang zamieszcza rozdział poświęcony zastosowaniom algebry liniowej. Pokazuje w nim konkretne narzędzia matematyczne zakorzenione w algebrze liniowej. W skrócie są to:

  • Macierze w inżynierii, takie jak linia sprężyn.
  • Grafy i sieci, takie jak analizowanie sieci.
  • Macierze Markowa, populacja i ekonomia, takie jak wzrost populacji.
  • Programowanie liniowe, metoda optymalizacji simplex.
  • Serie Fouriera: Algebra liniowa dla funkcji, szeroko stosowana w przetwarzaniu sygnałów.
  • Algebra liniowa dla statystyki i prawdopodobieństwa, np. najmniejsze kwadraty dla regresji.
  • Grafika komputerowa, np. różne translacje, przeskalowania i obroty obrazów.

Innym interesującym zastosowaniem algebry liniowej jest to, że jest to rodzaj matematyki używanej przez Alberta Einsteina w częściach jego teorii względności. Konkretnie tensory i rachunek tensorowy. Wprowadził on również nowy typ notacji algebry liniowej do fizyki zwany notacją Einsteina, lub konwencją sumowania Einsteina.

Samouczki algebry liniowej

Czy szukasz pomocy w rozpoczęciu pracy z algebrą liniową, spójrz na niektóre z tych samouczków:

  • Linear Algebra for Machine Learning (7-Day Mini-Course)
  • Linear Algebra Cheat Sheet for Machine Learning
  • Basics of Mathematical Notation for Machine Learning

Extensions

Ta sekcja wymienia kilka pomysłów na rozszerzenie samouczka, które możesz chcieć zbadać.

  • Wyszukaj w książkach i w sieci 5 cytatów definiujących dziedzinę algebry liniowej.
  • Wyszukaj i wymień 5 kolejnych zastosowań algebry liniowej w dziedzinie prawdopodobieństwa i statystyki.
  • Wymień i napisz krótkie definicje 10 terminów używanych w opisie algebry liniowej.

Jeśli zbadasz któreś z tych rozszerzeń, chętnie się o tym dowiem.

Dalsza lektura

Ta sekcja dostarcza więcej zasobów na ten temat, jeśli chcesz się zagłębić.

Książki

  • Introduction to Linear Algebra, 2016.
  • Numerical Linear Algebra, 1997.
  • Linear Algebra and Matrix Analysis for Statistics, 2014.

Artykuły

  • Algebra liniowa w Wikipedii
  • Kategoria algebry liniowej w Wikipedii
  • Lista tematów algebry liniowej w Wikipedii
  • LAPACK w Wikipedii
  • Podprogramy podstawowej algebry liniowej w Wikipedii
  • .

  • Automatically Tuned Linear Algebra Software on Wikipedia
  • Einstein notation on Wikipedia
  • Mathematics of general relativity on Wikipedia
  • Linear Algebra for Machine Learning

Summary

W tym tutorialu, odkryłeś delikatne wprowadzenie do algebry liniowej z perspektywy uczenia maszynowego.

W szczególności, dowiedziałeś się:

  • Algebra liniowa jest matematyką danych.
  • Algebra liniowa miała znaczący wpływ na dziedzinę statystyki.
  • Algebra liniowa leży u podstaw wielu praktycznych narzędzi matematycznych, takich jak szeregi Fouriera i grafika komputerowa.

Czy masz jakieś pytania?
Pytania zadawaj w komentarzach poniżej, a ja postaram się na nie odpowiedzieć.

Get a Handle on Linear Algebra for Machine Learning!

Develop a working understand of linear algebra

…pisząc linie kodu w Pythonie

Odkryj jak w moim nowym Ebooku:
Algebra liniowa dla uczenia maszynowego

Zawiera on samouczki na takie tematy jak:
normy wektorowe, mnożenie macierzy, tensory, Eigendekompozycja, SVD, PCA i wiele więcej…

Zrozum wreszcie matematykę danych

Opuść akademickość. Po prostu wyniki

Zobacz, co jest w środku

Tweetuj Udostępnij

Dodaj komentarz

Twój adres e-mail nie zostanie opublikowany.