Details zum E-Book

Praktyczna algebra liniowa dla analityków danych. Od podstawowych koncepcji do użytecznych aplikacji w Pythonie

Praktyczna algebra liniowa dla analityków danych. Od podstawowych koncepcji do użytecznych aplikacji w Pythonie

Mike Cohen

E-book

Pozornie nie dzieje się nic złego, jeśli inżynier lub analityk danych nie rozumie algebry liniowej. Może korzystać z już istniejących narzędzi i nie przejmować się szczegółami ich implementacji. Warto jednak dokładnie poznać algorytmy używane w nauce o danych i dostosować do swoich potrzeb istniejące metody obliczeniowe, tutaj więc nowoczesna algebra liniowa okazuje się nieodzowna. Jeśli chcesz ją poznać w nowoczesnej, praktycznej formie, najlepiej posłużyć się kodem i zastosowaniem algebry liniowej w analizie danych czy symulacjach numerycznych.

To książka przeznaczona dla osób, które pracują ze zbiorami danych. Jest praktycznym przewodnikiem po koncepcjach algebry liniowej, pomyślanym tak, by ułatwić ich zrozumienie i zastosowanie w użytecznych obliczeniach. Poszczególne zagadnienia przedstawiono za pomocą kodu Pythona, wraz z przykładami ich wykorzystania w nauce o danych, uczeniu maszynowym, uczeniu głębokim, symulacjach i przetwarzaniu danych biomedycznych. Dzięki podręcznikowi nauczysz się arytmetyki macierzowej, poznasz istotne rozkłady macierzy, w tym LU i QR, a także rozkład według wartości osobliwych, zapoznasz się też z takimi zagadnieniami jak model najmniejszych kwadratów i analiza głównych składowych.

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

  • Titel: Praktyczna algebra liniowa dla analityków danych. Od podstawowych koncepcji do użytecznych aplikacji w Pythonie
  • Autor: Mike Cohen
  • Originaler Titel: Practical Linear Algebra for Data Science: From Core Concepts to Applications Using Python
  • Übersetzung: Filip Kamiński
  • ISBN: 978-83-289-0262-6, 9788328902626
  • Veröffentlichungsdatum: 2023-12-12
  • Format: E-book
  • Artikelkennung: pralli
  • Verleger: Helion
  • Alterskategorie: 14+