Stationary vs Nonstationary data

Problemem „Nonstationary data” jest często kwestia błędnego założenia korelacji, dane te mogą być mylące, ponieważ mając na przykład dane na temat PKB per capita per year możemy skorelować to z innymi danymi, które mają tendencję wzrostową w czasie, a mogą kompletnie nie mieć wpływu na siebie np. korelacja między PKB Szwecji oraz populacją Indii wynosi nawet R^2 > 90%.

Czym jest tensor? – Uproszczenie

1 – Definicja

Według definicji – Tensor jest obiektem algebraicznym, który opisuje wieloliniową relację między zbiorami obiektów algebraicznych związanych z przestrzenią wektorową.

Dla zrozumienia, poniżej mamy różne poziomy, zaczynając od skalaru, a kończąc na tensorze:

Poziom Typ Przykład
0 Skalar \(\mathbf{[1]}\)
1 Wektor \(\mathbf{[1,1]}\)
2 Macierz \(\mathbf{[[1,1],[1,1]]}\)
3 3 Tensor \(\mathbf{[[[1,1],[1,1]],[[1,1],[1,1]]]}\)
N Tensor (…)

Powyższa tabela przedstawia struktury od skalaru (poziom 0) do tensora (poziom 3).

2 – Przykład w NLP

Sentencja
Podaj login
Podaj hasło
Podaj email

Przekształcając powyższą tabelę w słownik unikalnych słów otrzymujemy:

Unikalne słowoIndeks
Podaj0
login1
hasło2
email3
Słownik unikalnych słów

Możemy zakodować podane słowa za pomocą wektora (One-hot encoding vector)

Unikalne słowo indeks Kod 1 z n
Podaj 0 [1,0,0,0]
login 1 [0,1,0,0]
hasło 2 [0,0,1,0]
 email 3 [0,0,0,1]
Słownik unikalnych słów z wartościami one hot encoding vector

Korzystając z tabeli powyżej możemy zakodować całą sentencję z pomocą wektorów:

SentencjaReprezentacja wektorowa
Podaj login[[1,0,0,0], [0,1,0,0]]
Podaj hasło[[1,0,0,0], [0,0,1,0]]
Podaj Email[[1,0,0,0], [0,0,0,1]]
Sentencje z reprezentacją wektorową

Korzystając z „mini partii” (mini batch) nasze dane wejściowe będą wyglądać następująco:

Podaj login Podaj hasło Podaj email

[[[1,0,0,0], [0,1,0,0]], [[1,0,0,0], [0,0,1,0]], [[1,0,0,0], [0,0,0,1]]]

W skrócie, zakodowujemy sentencje i wysyłamy wszystkie na raz w tablicy.

Zbudujmy teraz tensor, wiedząc, że każde słowo może przyjąć jedną z 4 wartości (od 0 do 3):
(4)
Kolejno każda sentencja składa się z dwóch słów:
(2,4)
Oraz posiadamy 3 sentencje
(3,2,4) w wyniku daje nam 3d tensor.

Dla podsumowania:
[[[1,0,0,0], [0,1,0,0]], [[1,0,0,0], [0,0,1,0]], [[1,0,0,0], [0,0,0,1]]]
(3,2,4)
Pierwsza liczba oznacza rozmiar próbki.

Druga liczba określa maksymalną długość sentencji:
[[[1,0,0,0], [0,1,0,0]], [[1,0,0,0], [0,0,1,0]], [[1,0,0,0], [0,0,0,1]]]
(3,2,4)

Trzecia liczba określa rozmiar wektora słowa:
[[[1,0,0,0], [0,1,0,0]], [[1,0,0,0], [0,0,1,0]], [[1,0,0,0], [0,0,0,1]]]
(3,2,4)

Klasyfikatory – Typy – Uproszczone

1 – KNN (K- Nearest Neighbors, K-Najbliższych sąsiadów)

Dla określonego K, klasyfikator zwróci „większość spośród K”.
Dla przykładu K =3, algorytm wybierze 3 najbliższych sąsiadów i określi wynik, który pojawił sie najczęściej. (Zasada podobna do meczy np. BO3)

Na poniższym obrazku widać, że dla K=3, dwóch sąsiadów przeżyło, jeden nie, klasyfikator zwróci „przeżył

Na poniższym obrazku widać, że dla K=5, dwóch sąsiadów przeżyło trzech nie przeżyło, klasyfikator zwróci „nie przeżył

2 – Decision tree (Drzewo Decyzyjne)

Algortym na podstawie zdefiniowanych atrybutów (fetaures) podaje wynik końcowy z zastosowaniem jednego drzewa.

3 – Random forest (Las losowy)

Algorytm konstruuje wiele drzew na podstawie wybranych atrybutów po czym zlicza „większość spośród” (ile razy przeżył na ile prób), poniższy przykład pokazuje losowo wybrane trzy pary atrybutów (features) dla których dwie pary wskazały na śmierć co w wyniku dało śmierć.

4 – Naive Bayes – Naiwny klasyfikator Bayesa

Klasyfikator korzysta z prawdopodobieństwa wystąpienia zdarzenia na podstawie atrybutów, na przykładzie podane jest wyliczenie prawdopodobieństwa przy wzięciu pod uwagę atrybutów jak płeć i wiek.

5 – SVM (Support Vector Machine, Maszyna wektorów nośnych)

Dzieli obszar prób na dwie części za pomocą prostej wyznaczającą granicę decyzyjną (decision boundry).

1.2 Przestrzeń Liniowa – Wektory i Operacje Podstawowe Quiz Standardowy

Quiz Zaawansowany: Przestrzeń Liniowa i Operacje na Wektorach

  1. Przemienność dodawania: Wykaż, że przestrzeń wektorów spełnia warunek przemienności dodawania. Pokaż na przykładzie dowolnych wektorów \( \mathbf{u} \) i \( \mathbf{v} \), że \( \mathbf{u} + \mathbf{v} = \mathbf{v} + \mathbf{u} \).
  2. Łączność dodawania: Udowodnij, że dodawanie wektorów jest łączne. Dla dowolnych wektorów \( \mathbf{u} \), \( \mathbf{v} \) i \( \mathbf{w} \), pokaż, że \( (\mathbf{u} + \mathbf{v}) + \mathbf{w} = \mathbf{u} + (\mathbf{v} + \mathbf{w}) \).
  3. Wektor zerowy: Zdefiniuj wektor zerowy w przestrzeni liniowej. W jaki sposób wektor zerowy wpływa na dodawanie wektorów? Czy istnieje więcej niż jeden wektor zerowy w przestrzeni liniowej?
  4. Wektor przeciwny: Podaj definicję wektora przeciwnego i udowodnij, że dodanie wektora przeciwnego prowadzi do wektora zerowego. Użyj przykładów i formalnego zapisu matematycznego.
  5. Rozdzielność mnożenia względem dodawania wektorów: Udowodnij, że dla dowolnych wektorów \( \mathbf{u} \) i \( \mathbf{v} \) oraz skalara \( a \), zachodzi \( a(\mathbf{u} + \mathbf{v}) = a\mathbf{u} + a\mathbf{v} \).
  6. Rozdzielność mnożenia względem dodawania skalarów: Wykaż, że dla dowolnych skalarów \( a \), \( b \) i wektora \( \mathbf{v} \), zachodzi \( (a + b)\mathbf{v} = a\mathbf{v} + b\mathbf{v} \).
  7. Jednostkowy skalar: Pokaż, że wektor pozostaje niezmieniony, gdy pomnożysz go przez skalar \(1\). Użyj formalnego dowodu.
  8. Mnożenie przez zero: Udowodnij, że mnożenie wektora przez skalar \(0\) daje wektor zerowy. W jaki sposób można to formalnie zapisać?

1.1 Przestrzeń Liniowa – Wektory i Operacje Podstawowe Quiz Podstawowy

Quiz Podstawowy: Aksjomaty Przestrzeni Liniowej i Operacje na Wektorach

  1. Przemienność dodawania: Czy dla dowolnych wektorów \( \mathbf{u} \) i \( \mathbf{v} \) zachodzi \( \mathbf{u} + \mathbf{v} = \mathbf{v} + \mathbf{u} \)?
  2. Łączność dodawania: Czy dla dowolnych wektorów \( \mathbf{u} \), \( \mathbf{v} \) i \( \mathbf{w} \) zachodzi \( (\mathbf{u} + \mathbf{v}) + \mathbf{w} = \mathbf{u} + (\mathbf{v} + \mathbf{w}) \)?
  3. Istnienie wektora zerowego: Jak wygląda wektor zerowy \( \mathbf{0} \), i co się dzieje, gdy dodasz go do dowolnego wektora \( \mathbf{v} \)?
  4. Istnienie wektora przeciwnego: Co się dzieje, gdy dodasz do wektora \( \mathbf{v} \) jego przeciwny wektor \( -\mathbf{v} \)?
  5. Rozdzielność mnożenia względem dodawania wektorów: Czy \( a(\mathbf{u} + \mathbf{v}) = a\mathbf{u} + a\mathbf{v} \) dla dowolnych wektorów \( \mathbf{u} \), \( \mathbf{v} \) i skalara \( a \)?
  6. Rozdzielność mnożenia względem dodawania skalarów: Czy \( (a + b)\mathbf{v} = a\mathbf{v} + b\mathbf{v} \) dla dowolnych skalarów \( a \), \( b \) i wektora \( \mathbf{v} \)?
  7. Jednostkowy skalar: Co się dzieje, gdy pomnożysz wektor \( \mathbf{v} \) przez skalar \(1\)?
  8. Mnożenie wektora przez zero: Co się dzieje, gdy pomnożysz wektor \( \mathbf{v} \) przez skalar \(0\)?

1.0 Przestrzeń Liniowa – Wektory i Operacje Podstawowe

wektory

Przestrzeń Liniowa – Wektory i Operacje Podstawowe

Wektory to podstawowe elementy matematyki, które są nieodzowne w wielu dziedzinach nauki. W przestrzeniach liniowych możemy wykonywać operacje takie jak dodawanie wektorów oraz ich skalowanie (za pomocą skalara – liczby), co pozwala na bardziej zaawansowane przekształcenia.

Definicja wektora:

Wektor to uporządkowana lista liczb, która reprezentuje zarówno kierunek, jak i wielkość. Na przykład, wektor $$ \mathbf{v} = \begin{pmatrix} 3 \\ 4 \end{pmatrix} $$ w przestrzeni dwuwymiarowej ma składową 3 jednostki wzdłuż osi x oraz 4 jednostki wzdłuż osi y. Co istotne, wektory są przenośne, więc można umieszczać je w dowolnym miejscu w układzie współrzędnych, ponieważ nadal zachowują ten sam kierunek i wielkość.

Operacje na wektorach:

  1. Dodawanie wektorów: Aby dodać dwa wektory, dodajemy ich odpowiednie współrzędne.

    Przykład: $$ \mathbf{u} = \begin{pmatrix} 1 \\ 2 \end{pmatrix}, \quad \mathbf{v} = \begin{pmatrix} 3 \\ 4 \end{pmatrix} $$

    Ich suma to: $$ \mathbf{u} + \mathbf{v} = \begin{pmatrix} 1+3 \\ 2+4 \end{pmatrix} = \begin{pmatrix} 4 \\ 6 \end{pmatrix} $$

  2. Mnożenie przez skalar: Aby pomnożyć wektor przez skalar (liczbę), mnożymy każdą współrzędną wektora przez tę liczbę.

    Przykład: Dla skalara $$ 2 $$ i wektora $$ \mathbf{v} = \begin{pmatrix} 3 \\ 4 \end{pmatrix} $$, mamy: $$ 2 \cdot \mathbf{v} = \begin{pmatrix} 2 \cdot 3 \\ 2 \cdot 4 \end{pmatrix} = \begin{pmatrix} 6 \\ 8 \end{pmatrix} $$

Długość wektora:

Długość wektora to jego „wartość” w przestrzeni. Oblicza się ją za pomocą twierdzenia Pitagorasa. Dla wektora $$ \mathbf{v} = (x, y) $$, jego długość $$ \|\mathbf{v}\| $$ to:

$$ \|\mathbf{v}\| = \sqrt{x^2 + y^2} $$

Na przykład, dla wektora $$ \mathbf{v} = (3, 4) $$, jego długość to:

$$ \|\mathbf{v}\| = \sqrt{3^2 + 4^2} = \sqrt{9 + 16} = \sqrt{25} = 5 $$

Przestrzeń liniowa – definicja:

Przestrzeń liniowa (wektorowa) to zbiór wektorów, w którym można wykonywać operacje dodawania wektorów oraz ich mnożenia przez skalar. Aby zbiór mógł być uznany za przestrzeń liniową, muszą być spełnione pewne warunki (aksjomaty).

  1. Przemienność dodawania: $$ \mathbf{u} + \mathbf{v} = \mathbf{v} + \mathbf{u} $$
  2. Łączność dodawania: $$ (\mathbf{u} + \mathbf{v}) + \mathbf{w} = \mathbf{u} + (\mathbf{v} + \mathbf{w}) $$
  3. Istnienie wektora zerowego: Istnieje wektor $$ \mathbf{0} $$, taki że $$ \mathbf{v} + \mathbf{0} = \mathbf{v} $$
  4. Istnienie wektora przeciwnego: Dla każdego wektora $$ \mathbf{v} $$ istnieje $$ -\mathbf{v} $$, takie że $$ \mathbf{v} + (-\mathbf{v}) = \mathbf{0} $$
  5. Rozdzielność mnożenia względem dodawania wektorów: $$ a(\mathbf{u} + \mathbf{v}) = a\mathbf{u} + a\mathbf{v} $$
  6. Rozdzielność mnożenia względem skalara: $$ (a + b)\mathbf{v} = a\mathbf{v} + b\mathbf{v} $$
  7. Jednostkowy skalar: $$ 1 \cdot \mathbf{v} = \mathbf{v} $$
  8. Mnożenie przez zero: $$ 0 \cdot \mathbf{v} = \mathbf{0} $$