Praktyczna algebra liniowa dla analityków danych. Od podstawowych koncepcji do użytecznych aplikacji w Pythonie
Spis treści
Wstęp
1. Wprowadzenie
Co to jest algebra liniowa i dlaczego warto ją poznać?
O książce
Wymagania wstępne
Matematyka
Postawa
Programowanie
Dowody matematyczne kontra kod
Kod pokazany w książce i do pobrania z sieci
Ćwiczenia z programowania
Jak korzystać z tej książki (dla nauczycieli i osób uczących się samodzielnie)?
2. Wektory – część I
Tworzenie i wizualizacja wektorów w NumPy
Geometryczna interpretacja wektorów
Operacje na wektorach
Dodawanie dwóch wektorów
Geometryczne dodawanie i odejmowanie wektorów
Mnożenie wektorów przez skalar
Dodawanie wektorów i skalarów
Transpozycja
Broadcasting w Pythonie
Moduł wektora i wektory jednostkowe
Iloczyn skalarny wektorów
Iloczyn skalarny jest rozdzielny względem dodawania
Geometryczna interpretacja iloczynu skalarnego
Inne sposoby mnożenia wektorów
Iloczyn Hadamarda
Iloczyn zewnętrzny
Iloczyn wektorowy i mieszany
Ortogonalny rozkład wektora
Podsumowanie
Ćwiczenia z programowania
3. Wektory – część II
Zbiory wektorów
Ważona kombinacja liniowa
Niezależność liniowa
Matematyka związana z niezależnością liniową
Niezależność a wektor zerowy
Podprzestrzeń i rozpinanie
Baza
Definicja bazy
Podsumowanie
Ćwiczenia z programowania
4. Zastosowania wektorów
Korelacja i podobieństwo cosinusowe
Filtrowanie szeregów czasowych i wykrywanie cech
Klasteryzacja za pomocą algorytmu k-średnich
Ćwiczenia z programowania
Ćwiczenia z korelacji
Ćwiczenia z filtrowania i wykrywania cech
Ćwiczenia z algorytmu k-średnich
5. Macierze – część I
Tworzenie i wizualizowanie macierzy w NumPy
Wizualizowanie, indeksowanie i slicing
Specjalne macierze
Matematyka macierzy: dodawanie, mnożenie przez skalar i iloczyn Hadamarda
Dodawanie i odejmowanie
„Przesuwanie” macierzy
Mnożenie przez skalar i iloczyn Hadamarda
Standardowe mnożenie macierzy
Kiedy można pomnożyć przez siebie dwie macierze?
Mnożenie macierzy
Mnożenie macierz – wektor
Operacje na macierzach: transpozycja
Iloczyn skalarny i iloczyn zewnętrzny – notacja
Operacje na macierzach: LIVE EVIL (kolejność operacji)
Macierze symetryczne
Tworzenie macierzy symetrycznych z macierzy niesymetrycznych
Podsumowanie
Ćwiczenia z programowania
6. Macierze – część II
Normy macierzowe
Ślad macierzy i norma Frobeniusa
Przestrzenie macierzowe (kolumnowa, wierszowa, jądro)
Przestrzeń kolumnowa
Przestrzeń wierszowa
Jądro
Rząd
Rzędy specjalnych macierzy
Rząd a dodawanie i mnożenie macierzy
Rząd a przesuwanie macierzy
Teoria a praktyka
Zastosowania rzędu
Czy wektor znajduje się w przestrzeni kolumnowej macierzy?
Niezależność liniowa zbioru wektorów
Wyznacznik
Obliczanie wyznacznika
Wyznacznik a zależność liniowa
Wielomian charakterystyczny
Podsumowanie
Ćwiczenia z programowania
7. Zastosowania macierzy
Wielowymiarowe macierze kowariancji danych
Transformacje geometryczne za pomocą mnożenia macierz – wektor
Wykrywanie cech na obrazie
Podsumowanie
Ćwiczenia z programowania
Ćwiczenia z macierzy kowariancji i korelacji
Ćwiczenia z transformacji geometrycznych
Ćwiczenia z wykrywania cech w obrazach
8. Odwracanie macierzy
Odwrotność macierzy
Rodzaje odwrotności i warunki odwracalności
Obliczanie odwrotności
Odwrotność macierzy 2 × 2
Odwrotność macierzy diagonalnej
Odwracanie dowolnej macierzy kwadratowej o pełnym rzędzie
Odwrotności jednostronne
Unikalność odwrotności
Pseudoodwrotność Moore’a-Penrose’a
Stabilność numeryczna obliczania odwrotności
Geometryczna interpretacja odwrotności
Podsumowanie
Ćwiczenia z programowania
9. Macierze ortogonalne i rozkład QR
Macierze ortogonalne
Ortogonalizacja Grama-Schmidta
Rozkład QR
Wymiary Q i R
Rozkład QR i obliczanie odwrotności
Podsumowanie
Ćwiczenia z programowania
10. Przekształcenie do macierzy schodkowej i rozkład LU
Układy równań
Przekształcanie równań w macierze
Praca z równaniami macierzowymi
Sprowadzanie macierzy do postaci schodkowej
Eliminacja Gaussa
Eliminacja Gaussa-Jordana
Odwracanie macierzy za pomocą eliminacji Gaussa-Jordana
Rozkład LU
Zamiana wierszy za pomocą macierzy permutacji
Podsumowanie
Ćwiczenia z programowania
11. Ogólne modele liniowe i metoda najmniejszych kwadratów
Ogólne modele liniowe
Terminologia
Tworzenie ogólnego modelu liniowego
Dopasowywanie ogólnego modelu liniowego
Czy to rozwiązanie jest dokładne?
Metoda najmniejszych kwadratów – perspektywa geometryczna
Dlaczego metoda najmniejszych kwadratów działa?
Prosty przykład ogólnego modelu liniowego
Rozwiązywanie problemu najmniejszych kwadratów za pomocą rozkładu QR
Podsumowanie
Ćwiczenia z programowania
12. Zastosowania metody najmniejszych kwadratów
Przewidywanie liczby wypożyczonych rowerów na podstawie pogody
Tabela regresji z pakietu statsmodels
Współliniowość
Regularyzacja
Regresja wielomianowa
Znajdowanie parametrów modelu za pomocą przeszukiwania siatki
Podsumowanie
Ćwiczenia z programowania
Zbiór danych z informacjami o wypożyczaniu rowerów
Ćwiczenie ze współliniowości
Ćwiczenie z regularyzacji
Ćwiczenie z regresji wielomianowej
Ćwiczenia z przeszukiwania siatki
13. Rozkład według wartości własnych
Interpretacje wartości i wektorów własnych
Interpretacja geometryczna
Statystyka (analiza głównych składowych)
Redukcja szumów
Redukcja wymiarowości (kompresja danych)
Znajdowanie wartości własnych
Znajdowanie wektorów własnych
Znak i skala nieokreśloności wektorów własnych
Diagonalizacja macierzy kwadratowej
Wyjątkowość macierzy symetrycznych
Ortogonalne wektory własne
Rzeczywiste wartości własne
Rozkład według wartości własnych macierzy osobliwych
Forma kwadratowa, określoność i wartości własne
Forma kwadratowa macierzy
Określoność
ATA jest dodatnio (pół)określona
Uogólniony rozkład według wartości własnych
Podsumowanie
Ćwiczenia z programowania
14. Rozkład według wartości osobliwych
Spojrzenie na rozkład według wartości osobliwych z szerszej perspektywy
Wartości osobliwe i rzędy macierzy
Rozkład według wartości osobliwych w Pythonie
Rozkład według wartości osobliwych i „warstwy” macierzy rzędu 1.
Rozkład według wartości osobliwych z rozkładu według wartości własnych
Rozkład według wartości osobliwych ATA
Współczynnik uwarunkowania
Rozkład według wartości osobliwych i pseudoodwrotność Moore’a-Penrose’a
Podsumowanie
Ćwiczenia z programowania
15. Zastosowania rozkładu według wartości własnych i rozkładu według wartości osobliwych
Analiza głównych składowych za pomocą rozkładów według wartości własnych i osobliwych
Matematyka analizy głównych składowych
Kroki algorytmu analizy głównych składowych
Analiza głównych składowych za pomocą rozkładu według wartości osobliwych
Liniowa analiza dyskryminacyjna
Aproksymacja macierzami niskiego rzędu za pomocą rozkładu według wartości osobliwych
Wykorzystanie rozkładu według wartości osobliwych do usuwania szumów
Podsumowanie
Ćwiczenia z programowania
Analiza głównych składowych
Liniowa analiza dyskryminacyjna
Aproksymacja macierzami niskiego rzędu za pomocą rozkładu według wartości osobliwych
Wykorzystanie rozkładu według wartości osobliwych do usuwania szumów z obrazu
16. Wprowadzenie do programowania w Pythonie
Dlaczego Python i jakie są alternatywy?
IDE (zintegrowane środowiska programistyczne)
Lokalny Python i Python dostępny w sieci
Praca z plikami kodu w Google Colab
Zmienne
Typy danych
Indeksowanie
Funkcje
Metody a funkcje
Tworzenie własnych funkcji
Biblioteki
NumPy
Indeksowanie i slicing w NumPy
Wizualizacje
Zamiana równań na kod
Formatowanie wyjścia i f-stringi
Przepływ sterowania
Operatory porównania
Klauzule if
Pętle for
Zagnieżdżone instrukcje kontrolne
Pomiar czasu obliczeń
Uzyskiwanie pomocy i więcej informacji
Co robić, gdy coś idzie nie tak
Podsumowanie
Skorowidz
Opinie
Na razie nie ma opinii o produkcie.