Algebra liniowa do uczenia maszynowego: pojęcia krytyczne, po co uczyć się przed ML

Opublikowany: 2020-04-30

Uczenie maszynowe, robotyka, nauka o danych, sztuczna inteligencja i widzenie komputerowe to obszary, które odegrały kluczową rolę w podniesieniu naszej technologii do obecnego poziomu. Gdy zaczniesz zdobywać więcej wiedzy na temat tych technologii, natkniesz się na zestaw żargonów lub konkretnych słów, które są wspólne dla tych technologii.

Niektóre z tych terminów obejmują między innymi regresję lasso, warunki KKT, jądro PCA, maszyny wektorów nośnych (SVM), mnożniki Lagrange'a i regresję grzbietu. Te żargony mogą być ukute tylko po to, by trzymać z daleka ludzi z zewnątrz, ale dużo mówią o ich związku z typową algebrą liniową, którą znamy z czasów w szkole.

Dlatego konieczne jest, aby każda osoba, która uczy się uczenia maszynowego lub nauki o danych, najpierw pogodziła się z tym, czym jest algebra liniowa i teoria optymalizacji. Musisz także nauczyć się nauki o danych i wiedzieć, jak z nich korzystać przy rozwiązywaniu problemów przy użyciu ML lub w celu lepszego zrozumienia ogromnych dostępnych danych za pomocą nauki o danych.

W tym blogu skupimy się na tym, jak uczenie maszynowe i algebra liniowa są powiązane i jak lepsze zrozumienie tego drugiego może pomóc w opanowaniu pierwszego.

Istnieją pojęcia związane z uczeniem maszynowym, takie jak SVM i regresja, których nie będziesz w stanie właściwie zrozumieć, jeśli nie będziesz świadomy ich połączenia algebry liniowej. Możesz przejść bez zagłębiania się w algebrę liniową i to, jak jest ona związana z uczeniem maszynowym, jeśli po prostu zapoznasz się z tymi koncepcjami, aby dowiedzieć się, czym one naprawdę są i nie masz ochoty kontynuować ich nauki.

Jeśli jednak planujesz zostać inżynierem uczenia maszynowego, który będzie szkolił maszyny do przodu lub przeprowadzał badania i wnosił znaczący wkład w tę dziedzinę, będziesz musiał kopać głęboko. Nie ma innej alternatywy. Posiadanie solidnego wykształcenia z algebry liniowej jest koniecznością. Naszym głównym celem pisania tego bloga jest przedstawienie podstaw algebry liniowej, upewniając się, że przedstawiamy, w jaki sposób są one wykorzystywane w uczeniu maszynowym. Zacznijmy od zrozumienia, czym dokładnie jest algebra liniowa.

Spis treści

Czym jest algebra liniowa?

W prostych słowach jest to dział matematyki, który znajduje znaczące zastosowanie w inżynierii i nauce. Chociaż ma tak duże znaczenie i ma zastosowania, które wykraczają daleko poza naszą wyobraźnię, widzimy, że nasi naukowcy pozostają w tyle, jeśli chodzi o głębsze zrozumienie tego. Głównym powodem tego jest fakt, że większość naukowców często używa matematyki dyskretnej.

Należy do ciągłej części matematyki, przez co jest mniej interesująca dla naukowców i osób zajmujących się technologią. Teraz wyjaśnijmy jedną rzecz. Jeśli nie masz nawet podstawowej wiedzy na temat działania algebry liniowej, bardzo trudno będzie ci nauczyć się i używać kilku algorytmów uczenia maszynowego, w tym algorytmów uczenia głębokiego.

Kiedy skończysz z podstawowym działaniem uczenia maszynowego oraz jak i gdzie możesz używać jego algorytmów, będziesz musiał poświęcić trochę więcej czasu na naukę matematyki. Pomoże Ci to zrozumieć wiele nowych rzeczy dotyczących algorytmów uczenia maszynowego, których wcześniej nie znałeś. Będziesz wiedział dużo o ich ograniczeniach, podstawowych założeniach i tak dalej.

Teraz natkniesz się na różne obszary matematyki, które studiujesz w tym momencie, aby dowiedzieć się więcej z uczeniem maszynowym. Możesz studiować między innymi geometrię, algebrę, rachunek różniczkowy i statystykę; jednak musisz być tutaj mądry i wybrać obszar, który Twoim zdaniem naprawdę pomoże Ci wzbogacić Twoje doświadczenie i zapewni Ci mocniejsze podstawy, gdy będziesz robić postępy w swojej karierze uczenia maszynowego. Możesz nawet poprosić ekspertów o pomoc w podjęciu decyzji.

Następne pytanie, które teraz sobie zadasz, będzie dotyczyło tego, jak powinieneś postępować w tym procesie uczenia się. Nie możesz uczyć się algebry liniowej od podstaw. Będziesz musiał wybrać tematy, które są wykorzystywane w uczeniu maszynowym w taki czy inny sposób. W następnej sekcji omówimy kilka tematów z algebry liniowej, które możesz wybrać do studiowania.

Dowiedz się więcej: 5 najlepszych modeli uczenia maszynowego wyjaśnionych dla początkujących

Ważne koncepcje algebry liniowej

Bardzo ważne jest posiadanie wystarczającej wiedzy na temat kilku koncepcji algebry liniowej, jeśli chcesz zrozumieć podstawowe koncepcje stojące za uczeniem maszynowym. Jeśli nie znasz matematyki stojącej za tymi zaawansowanymi algorytmami uczenia maszynowego, nie możesz chcieć opanować ich. Oto kilka koncepcji algebry liniowej, których musisz się nauczyć, aby wiedzieć, jak działa uczenie maszynowe.

1. Wektory i macierz

Nie będzie błędem stwierdzenie, że te dwie koncepcje są prawdopodobnie dwoma najważniejszymi, których musisz się nauczyć, biorąc pod uwagę ich bliskie powiązanie z uczeniem maszynowym. Wektory składają się z tablicy liczb, podczas gdy macierz zawiera wektory 2-D, które zwykle są pisane wielkimi literami.

Zobaczmy teraz, jak są one powiązane z algorytmami uczenia maszynowego. Wektory są przydatne w nadzorowanych algorytmach uczenia maszynowego, w których występują w postaci zmiennych docelowych. Z drugiej strony funkcje dostępne w danych tworzą macierz. Za pomocą macierzy można wykonać szereg operacji – koniugatu, mnożenia, rangi, transformacji i innych. Do odejmowania i dodawania można również użyć dwóch wektorów o tej samej liczbie elementów i równości kształtu.

2. Matryca symetryczna

Macierz symetryczna ma znaczenie zarówno w algebrze liniowej, jak i uczeniu maszynowym. Macierze algebry liniowej są najczęściej używane do przenoszenia funkcji. W większości przypadków funkcje te są symetryczne, podobnie jak macierze, które im odpowiadają. Te funkcje i wartości, które przechowują, mogą być użyte do pomiaru odległości cech. Mogą być również używane do pomiaru kowariancji cech. Poniżej wymieniono kilka właściwości macierzy symetrycznych:

  • Macierze symetryczne i ich odwrotność są symetryczne.
  • Wszystkie wartości w wartościach własnych są liczbami rzeczywistymi. Brak liczb zespolonych.
  • Macierz symetryczna powstaje, gdy macierz jest mnożona przez jej transpozycję.
  • Macierze symetryczne posiadają również właściwość faktoryzacji.
  • W przypadku macierzy, które mają kolumny niezależne liniowo, wynik mnożenia macierzy z jej transpozycją jest odwracalny.

3. Wartości własne i wektor własny

Wektory własne to wektory, które zmieniają się tylko o czynnik skalarny i nie ma żadnej zmiany w ich kierunku. Wartość własna odpowiadająca wektorom własnym to wielkość, o jaką są one skalowane. Wartości własne i wektory własne można znaleźć w podstawach matematyki i informatyki. Kiedy wykreślamy wektor na wykresie XY, podąża on w określonym kierunku. Kiedy zastosujemy transformację liniową do kilku wektorów, widzimy, że nie zmieniają one swojego kierunku. Te wektory są bardzo ważne w uczeniu maszynowym.

Wartości własne i wektory własne służą do minimalizacji szumu danych. Możemy również użyć tych dwóch, aby poprawić wydajność zadań, o których wiadomo, że wymagają dużej mocy obliczeniowej. Można je również wykorzystać do zlikwidowania nadmiernego dopasowania. Istnieje również kilka innych scenariuszy, w których wartości własne i wektory własne okazują się przydatne.

Trudno jest zwizualizować cechy danych dźwiękowych, tekstowych lub graficznych. Te dane są zwykle przedstawiane w 3D. W tym miejscu pojawiają się wartości własne i wektory własne. Można ich użyć do uchwycenia całej ogromnej ilości tego, co jest przechowywane w matrycy. Wartości własne i wektory własne są również używane w rozpoznawaniu twarzy.

Przeczytaj: Pomysły na projekty uczenia maszynowego dla początkujących

4. Analiza głównych składowych (PCA)

Wiele razy wymiarowość utrudnia rozwiązywanie pewnych problemów z uczeniem maszynowym. W tych problemach mamy do czynienia z danymi, których cechy mają między sobą bardzo wysoką korelację i są w wyższym niż zwykle wymiarze.

Problem, który pojawia się w przypadku tego problemu z wymiarowością, polega na tym, że bardzo trudno jest zrozumieć wpływ, jaki każda cecha ma na zmienną docelową. Dzieje się tak, ponieważ cechy o wyższej korelacji niż normalnie mają tendencję do wpływania na cel w ten sam sposób. Bardzo trudno jest też zwizualizować dane w wyższym wymiarze.

Analiza głównych składowych jest rozwiązaniem tych problemów. Pomaga sprowadzić wymiar danych do 2D lub 3D. Odbywa się to zapewniając, że żadne informacje nie zostaną utracone z powodu zmian w maksymalnej wariancji. Matematyka stojąca za PCA odnosi się do ortogonalności. PCA jest najlepszą dostępną metodą zmniejszenia złożoności modelu poprzez zmniejszenie liczby funkcji w zbiorze danych.

Należy jednak unikać używania go jako pierwszego kroku w celu wyeliminowania nadmiernego dopasowania. Powinieneś zacząć od ograniczenia liczby funkcji w danych lub zwiększenia ilości danych. Powinieneś wtedy spróbować użyć regularyzacji L1 lub L2. Jeśli nic nie działa, dopiero wtedy powinieneś zwrócić się do PCA.

Przeczytaj także: 9 najlepszych bibliotek uczenia maszynowego, o których powinieneś wiedzieć

Dlaczego powinieneś uczyć się algebry liniowej przed uczeniem maszynowym?

1. Algebra liniowa jest kluczem do doskonałości w uczeniu maszynowym

Nie można zaprzeczyć, że rachunek różniczkowy przewyższa algebrę liniową, jeśli chodzi o zaawansowaną matematykę. Rachunek całkowy i różniczkowy pomaga znacznie więcej niż tylko w zakresie całkowania, różniczkowania i limitów, ale służy również jako podstawowa wiedza wymagana w zastosowaniach, takich jak tensory i wektory.

Nauka tych rzeczy pomoże ci lepiej zrozumieć między innymi równania liniowe i funkcje liniowe. Poznasz również zaawansowane koncepcje, takie jak metoda Simplex i wektory przestrzenne. Jeśli potrzebujesz pomocy z programowaniem liniowym, możesz skorzystać z metody Simplex. Aby lepiej opanować te pojęcia, zacznij od poświęcenia więcej czasu na algebrę liniową.

2. Przewidywanie uczenia maszynowego

Kiedy uczysz się algebry liniowej, poprawiasz świadomość lub instynkt, które odgrywają tak ważną rolę w uczeniu maszynowym. Teraz będziesz mógł przedstawić więcej perspektyw. Matryce i wektory, które studiowałeś, pomogą ci poszerzyć twoje myślenie i sprawić, że będzie ono bardziej niezachwiane. Możliwości są nieskończone. Możesz zacząć robić rzeczy, które innym wokół ciebie będą bardzo trudne do zrozumienia. Możesz zacząć wizualizować i konfigurować różne wykresy. Możesz zacząć używać większej liczby parametrów dla różnych komponentów uczenia maszynowego.

3. Algebra liniowa pomaga w tworzeniu lepszych algorytmów uczenia maszynowego

Możesz wykorzystać swoją naukę algebry liniowej do budowania lepiej nadzorowanych i nienadzorowanych algorytmów uczenia maszynowego. Regresja logistyczna, regresja liniowa, drzewa decyzyjne i maszyny wektorów nośnych (SVM) to kilka nadzorowanych algorytmów uczenia się, które można tworzyć od podstaw za pomocą algebry liniowej.

Z drugiej strony można go również używać do nienadzorowanych algorytmów, w tym do dekompozycji pojedynczych wartości (SVD), grupowania i analizy składowych. Algebra liniowa pomoże ci lepiej zrozumieć projekt uczenia maszynowego, nad którym pracujesz, a tym samym zapewni elastyczność w dostosowywaniu różnych parametrów. Możesz dowiedzieć się więcej o regresji liniowej w uczeniu maszynowym.

4. Algebra liniowa dla lepszego przetwarzania grafiki w uczeniu maszynowym

Projekty uczenia maszynowego zapewniają różne interpretacje graficzne do pracy — obrazy, dźwięk, wideo i wykrywanie krawędzi. Algorytmy uczenia maszynowego mają klasyfikatory, które szkolą część danego zbioru danych na podstawie ich kategorii. Kolejnym zadaniem klasyfikatorów jest usuwanie błędów z danych, które zostały już przeszkolone.

Na tym etapie pojawia się algebra liniowa, która pomaga w obliczaniu tego złożonego i dużego zestawu danych. Wykorzystuje techniki dekompozycji macierzy do przetwarzania i obsługi dużych danych dla różnych projektów. Najpopularniejszymi metodami dekompozycji macierzy są dekompozycja QR i LU.

5. Algebra liniowa, aby poprawić twoje podejście do statystyk

Statystyki są bardzo ważne dla organizowania i integrowania danych w uczeniu maszynowym. Jeśli chcesz lepiej zrozumieć pojęcia statystyczne, musisz najpierw wiedzieć, jak działa algebra liniowa. Algebra liniowa zawiera metody, operacje i notacje, które mogą pomóc zintegrować w projekcie zaawansowane zagadnienia statystyczne, takie jak analiza wielowymiarowa.

Załóżmy, że pracujesz z danymi pacjenta, które obejmują wagę, wzrost, ciśnienie krwi i tętno. Jest to wiele zmiennych zestawu danych, nad którymi pracujesz. Załóżmy tutaj, że wzrost masy ciała spowoduje wzrost ciśnienia krwi. Nie jest trudno zrozumieć, że jest to zależność liniowa. Aby lepiej zrozumieć, jak wzrost jednej zmiennej wpływa na drugą, musisz dobrze rozumieć algebrę liniową.

Wniosek

Samo uczenie maszynowe jest dość obszernym tematem; istnieją jednak inne pojęcia, takie jak algebra liniowa, których nauka jest równie ważna jak sama ML. Nauka algebry liniowej i innych podobnych tematów pomoże lepiej zrozumieć koncepcje uczenia maszynowego.

Jeśli chcesz dowiedzieć się więcej o uczeniu maszynowym, sprawdź dyplom PG IIIT-B i upGrad w uczeniu maszynowym i sztucznej inteligencji, który jest przeznaczony dla pracujących profesjonalistów i oferuje ponad 450 godzin rygorystycznego szkolenia, ponad 30 studiów przypadków i zadań, IIIT- Status absolwenta B, ponad 5 praktycznych, praktycznych projektów zwieńczenia i pomoc w pracy z najlepszymi firmami.

Co jest ważniejsze dla uczenia maszynowego – rachunek różniczkowy czy algebra liniowa?

Jeśli planujesz budować karierę w uczeniu maszynowym, musisz już wiedzieć, że fundamenty tej dziedziny leżą głęboko w matematyce. Matematyka uczenia maszynowego składa się z 3 kluczowych obszarów: rachunku różniczkowego, algebry liniowej i statystyki. Ponieważ uczenie maszynowe obejmuje wiele wektorów i macierzy, algebra liniowa stanowi jego najbardziej fundamentalną część. Ale rachunek różniczkowy jest również integralną częścią ML, ponieważ pomaga zrozumieć, jak działa mechanizm uczenia maszynowego. Zatem zarówno rachunek różniczkowy, jak i algebra liniowa są równie ważne. Jednak to, ile z obu musisz użyć, zależy przede wszystkim od twoich ról zawodowych i obowiązków.

Czy algebra liniowa jest trudniejsza do nauczenia niż rachunek różniczkowy?

Algebra liniowa polega na badaniu linii prostych za pomocą równań liniowych, podczas gdy rachunek różniczkowy dotyczy płynnie zmieniających się składników, które obejmują pochodne, wektory, całki, krzywe i inne. Biorąc to pod uwagę, algebra liniowa jest znacznie prostsza do nauczenia niż nawet podstawowy rachunek różniczkowy. W algebrze liniowej, jeśli rozumiesz teorię stojącą za twierdzeniami algebry liniowej, możesz rozwiązać wszystkie powiązane pytania. Jednak to nie wystarcza do rozwiązywania problemów z rachunkiem różniczkowym. Więcej niż tylko zapamiętywanie algorytmów, tj. części teoretycznej, musisz zrozumieć aspekty obliczeniowe, aby odpowiedzieć na pytania obliczeniowe w rachunku różniczkowym. Rachunek jest najtrudniejszą częścią matematyki, podczas gdy algebra liniowa jest bardziej konkretna i mniej abstrakcyjna; odtąd łatwiejsze do zrozumienia.

Czy statystyki są ważne w uczeniu maszynowym?

Jeśli chodzi o uczenie maszynowe, nie możesz pominąć w nim statystyk. Eksperci są zdania, że ​​uczenie maszynowe to statystyka stosowana, więc jest to warunek wstępny dla tych, którzy chcą rozpocząć karierę w uczeniu maszynowym. W projektowaniu modeli uczenia maszynowego dane odgrywają fundamentalną rolę. Potrzebne są techniki statystyczne, aby znaleźć odpowiedzi na podstawie zgromadzonych danych, które zostaną wykorzystane do trenowania różnych modeli uczenia maszynowego. Tak więc podstawowa znajomość statystyk jest obowiązkowa dla uczenia maszynowego.