Tarcze estymacji prawdopodobieństwa - schemat

Właśnie czytasz część #9 cyklu „Ocena jakości klasyfikacji” – a to oznacza, że posiadasz już sporą wiedzę – i masz ochotę na więcej – gratuluję! 🙂

Korelacja rangowa … czy to wystarczy?

W częściach 1-8 skupiałem się na analizie korelacji rangowej. W tym przypadku korelacja rangowa odpowiada na pytanie „jak dobrze uporządkowany jest target w zależności od oceny modelem” – tzn. jak silnie monotoniczna jest zależności pomiędzy score i targetem? Innymi słowy – czy wraz ze wzrostem score, rośnie frakcja True-Positive, i jak silny jest to wzrost? Krzywa lift, czy Captured Response, doskonale to obrazują. Jednak to nie wszystko … W wielu przypadkach niezbędne jest prawidłowe oszacowanie prawdopodobieństwa z jakim zaobserwujemy klasę pozytywną.

Tarcze estymacji prawdopodobieństwa - schemat

Ocena estymacji prawdopodobieństwa – co to?

Załóżmy, że określoną grupę klientów podzieliśmy na dane trenujące i uczące oraz, że na próbie uczącej przygotowaliśmy model predykcyjny szacujący prawdopodobieństwo „bycia klasą pozytywną”. Przyjmijmy, że dla pewnego klienta x model zwrócił prawdopodobieństwo 0.3. W tym przypadku wskaźnik 0.3 oznacza, że np. dla 100 klientów, o tych samych cechach, spodziewamy się około 30 z „klasy pozytywnej” oraz około 70 z „klasy negatywnej”. Ocena estymacji prawdopodobieństwa to weryfikacja na ile możemy ufać oszacowaniu, tutaj 30 vs 70.

W ogólności – chodzi o stwierdzenie czy estymator (czyli nasz model) jest nieobciążony (czyli wolny od błędu systematycznego), a jeżeli jest obciążony, to na ile i w jakich przypadkach. Statystyka matematyczna dostarcza szeregu różnych wskaźników wyznaczających błąd oszacowania dla zmiennej ciągłej – np. błąd średnio-kwadratowy – w tym tekście nie będę się na nich skupiał. Nasz przypadek jest mniej ogólny, a i samej weryfikacji najwygodniej dokonać „organoleptycznie” – tzn. metodą wizualną w wielu krokach 🙂

Kiedy oceniać jakość estymacji prawdopodobieństwa?

Generalnie zawsze! Często same techniki modelowania optymalizują prawdopodobieństwo – np. regresja logistyczna wykorzystująca metodę największej wiarygodności – tu konieczność badania jest oczywista. Inne metody, takie jak drzewa decyzyjne, wraz ze wzrostem drzewa, starają się zmniejszyć zmienność klas w węzłach potomkach / liściach – tu nadal możemy ocenić finalne prawdopodobieństwo – np. na bazie rozkładu klas (o ile liczności są odpowiednio duże). Zasada jest taka – ocena prawdopodobieństwa daje zawsze dodatkową cenną informację w procesie weryfikacji jakości modelu! Jest jednak kilka szczególnych przypadków, kiedy ocena poprawności prawdopodobieństwa jest absolutnie konieczna:

  • Model będzie stosowany w wyznaczaniu wartości oczekiwanych (np. oczekiwany przychód).
  • Kwestie regulacyjne / modele ryzyka kredytowego  (np. modele PD – Probability Default).
  • Modele Anti-Fraud.
  • Modele churn (np. oczekiwana wartość utracona).
  • Modele up-lift (np. efekt inkrementalny na bazie różnicy dwóch modeli) – o tym opowiemy kiedyś w szczegółach.
  • Rekomendatory na bazie „głosowania” modelami propensity (modelami skłonności do skorzystania z produktu / usługi).
  • I wiele innych …

Tarcza prawdopodobieństwa – typowe sytuacje w praktyce

Tarcza prawdopodobieństwa – nazwa moja, nie szukajcie po Wikipedii 🙂 – to ciekawe i proste narzędzie obrazujące schematycznie (w dalszej części również praktycznie) typowe przypadki, na jakie z pewnością natkniecie się w pracy z rzeczywistymi modelami. Czasami jeden obraz wart jest znacznie więcej niż potok słów – zatem zaczynamy.

Silny model – schemat

Tarcze estymacji prawdopodobieństwa - model słaby

  • Przypadek 1: Silny model z dobrą estymacją prawdopodobieństwa

Schemat obrazuje sytuację, kiedy model trafia „w punkt” – czyli powtarzalnie i precyzyjnie odróżniany jest „cel” od reszty „tarczy”. Świadczy to o wysokiej separacji klas (klasa pozytywna vs klasa negatywna), spodziewany wysoki indeks Giniego, jak też oczekiwana dobra jakość estymacji prawdopodobieństwa. Na schemacie „centrum” jest tym miejscem, w które trafia model.

Akcja: Model gotowy do wykorzystania.

  • Przypadek 2: Silny model z obciążoną estymacją prawdopodobieństwa

Tym razem schemat przedstawia model o wysokim skupieniu – czyli mamy dużą powtarzalność wyników wraz z ich skupieniem, natomiast samo skupienie jest przesunięte w stosunku do punktu środkowego. Interpretacja – mamy do czynienia z silną separacją klas (wysoki indeks Giniego), natomiast szacowanie prawdopodobieństwa obarczone jest systematycznym błędem (obciążeniem).

Akcja: Model wymaga kalibracji, może być warunkowo stosowany w sytuacjach, kiedy opieramy się wyłącznie na korelacji rangowej.

Model z siłą predykcyjną w ograniczeniu do podgrup – schemat

Tarcze estymacji prawdopodobieństwa - przypadek mieszany

  • Przypadek 1: Silny model w ograniczeniu do podgrup

Sytuacja nieco bardziej złożona. Model, jako całość, nie jest zbyt dobry, natomiast w ograniczeniu do pewnych segmentów (np. klient „młody”, klient „zamożny”, etc…) separacja klas jest wysoka. Niestety, w tych segmentach, estymacja prawdopodobieństwa jest obarczona błędem systematycznym, co skutkuje niską siłą modelu dla całej populacji.

Akcja: Model wymaga dalszych prac, typowo niezbędne jest przygotowanie osobnych modeli dla wskazanych segmentów, następnie połączenie ich w całość.

  • Przypadek 2: Silny model wyłącznie dla wybranych segmentów

Podobnie jak wyżej, z tą różnicą, że istnieją podgrupy, w których model traci siłę separacji klas.

Akcja: Model wymaga dalszych prac, być może został popełniony błąd w kodzie i/lub w przetwarzaniu danych. Sprawdź cały eksperyment.

Słaby model – schemat

Tarcze estymacji prawdopodobieństwa - model słaby

„Model strzela na oślep”, trafienia są nieprzewidywalne, nie ma skupienia. Interpretacja – brak separacji klas, indeks Giniego bardzo niski. Samo prawdopodobieństwo może być nieobciążone, tzn. średnia może zgadzać się z oczekiwanym a-priori.

Akcja: Zdecydowanie sytuacja negatywna, należy powtórzyć całość eksperymentu – prawdopodobnie błąd w kodzie, błąd w danych, błąd w założeniach, ewentualnie (choć mniej prawdopodobne) zmienne nie posiadają siły predykcyjnej.

Tarcza prawdopodobieństwa – praktyczna realizacja

Wizualizacja tarczy, aby ocena mogła być dokonana wiarygodnie,  wymaga odpowiedniej liczby „strzałów”. Proponuję stosować wykres zawierający 100 punktów, każdy dla osobnego centyla score (przy założeniu, że mamy odpowiednio dużo danych wejściowych).

Kroki:

  • Dane testowe (osobno uczące) dzielimy na 100 grup, gdzie każda grupa to centyl względem rosnącej wartości szacowanego prawdopodobieństwa (score).
  • W każdej grupie wyznaczamy frakcję klasy pozytywnej.
  • W każdej grupie wyznaczamy średnie estymowane prawdopodobieństwo (średni score).
  • Wykres:
    • oś pozioma „X”: frakcja klasy pozytywnej
    • oś pionowa „Y” średni score.

Praktyczna Realizacja Tarczy Prawdopodobieństwa

  • $TR_i$ – target rate w grupie „i”
  • $P_i$ – estymowane prawdopodobieństwo w grupie „i”

Interpretacja:

  • Model idealny znajduje się na prostej y = x (tzn. brak błędu estymacji prawdopodobieństwa).
  • Model praktycznie dobry powinien dawać wyniki „w pobliżu” prostej y = x, przy czym „wahania pod / nad prostą” powinny charakteryzować się losowością, co świadczy o braku obciążenia.
  • Przestrzeń nad prostą y = x to obszar, gdzie model zawyża prawdopodobieństwo.
  • Przestrzeń pod prostą y = x to obszar, gdzie model zaniża prawdopodobieństwo.

Typowe proces oceny jakości estymacji prawdopodobieństwa

  1. Ocena dla całej populacji: średni score vs a-priori / target rate całej populacji.
  2. Ocena dla głównych segmentów: jeśli pracujemy na rzeczywistych obiektach (np. zbiór klientów) typowo dysponujemy szeregiem łatwych w interpretacji cech, które generują naturalne segmenty – będą to np.: wiek, płeć, miejsce zamieszkania (populacja), posiadane produkty, klient zamożny, klient indywidualny, i wiele innych. Często model szacuje prawidłowe prawdopodobieństwo dla całej populacji, niestety myląc się w podgrupach.
  3. Ocena na bazie „tarczy prawdopodobieństwa”:  tym razem zadajemy pytanie czy błąd estymacji zależy od wartości score? Idealna sytuacja jest tak, że nie zależy, tzn. że błąd pojawia się losowo. Score jest wypadkową szeregu zmiennych, więc pośrednio pokazujemy, że błąd zależy / nie zależy od każdej ze zmiennych osobno.

Przykłady

Przykład 1: Estymacja silnie zawyżona w segmentach wysokiego prawdopodobieństwa (wysokiej skłonności)

Tarcza Prawdopodobieństwa - Przykład 1

Przykład 2: Umiarkowane zawyżenie w segmentach niskiego prawdopodobieństwa

Tarcza Prawdopodobieństwa - Przykład 2

Przykład 3: Widoczne 3 segmenty z obciążeniem: 1. dość istotne zawyżenie, 2. umiarkowane zawyżenie, 3. umiarkowane zaniżenie

Tarcza Prawdopodobieństwa - Przykład 3

Przykład 4: Całkiem niezły model

Tarcza Prawdopodobieństwa - Przykład 4

Pozdrowienia,

Mariusz Gromada

Poza Liczbami: Inne Twórcze Przestrzenie

Matematyka i muzyka są ściśle powiązane przez rytm, harmonię i struktury

Matematyka i muzyka są ściśle powiązane przez rytm, harmonię i struktury, które wykorzystują matematyczne wzory i proporcje do tworzenia estetycznych i emocjonalnych doznań. Z nieśmiałą ekscytacją przedstawiam moją pierwszą poważniejszą kompozycję, w której starałem się uchwycić te połączenia.

Scalar – zaawansowana aplikacja mobilna z silnikiem matematycznym mojego autorstwa

Zmienna losowa

Zmienna losowa

Motywacja

Niemal w każdej literaturze z zakresu statystycznej analizy danych, czy też ogólnie analizy danych, spotkać można mniej lub bardziej zaawansowane wykorzystanie terminu zmiennej losowej. Jak sama nazwa wskazuje zmienna losowa stosowana jest typowo tam gdzie zachodzi potrzeba systematyzacji pojęcia cechy losowo obserwowanego obiektu, jego atrybutów, czy też posiadanych własności. Na tym proste intuicje jednak się kończą, szczególnie gdy zaczynamy rozpatrywać rozkłady wskazanych zmiennych, porównując je między sobą, starając się sformułować mniej lub bardziej czytelne wnioski.

Ale o co tak naprawdę chodzi? Dlaczego, w dobie tak szeroko dostępnej informacji w internecie, zdecydowałem się napisać kilka słów o sekretach zmiennych losowych? Motywacja pojawiła się po szeregu rozmów z moimi kolegami po fachu, gdzie okazało się, że jeden wniosek, jedno twierdzenie, często interpretujemy inaczej, może nie diametralnie inaczej, ale jednak pojawiające się różnice dotyczyły fundamentalnych kwestii takich jak „o które prawdopodobieństwo tu chodzi”, czy też „a w jakiej przestrzeni probabilistycznej faktycznie jesteśmy”, lub „jaka jest faktycznie natura zmienności losowej i czego ta zmienność dotyczy”. Zdałem sobie sprawę, że wspomniane różnice wynikają z częstych uproszczeń stosowanych przez autorów różnych opracowań, resztę załatwia pozorna łatwość interpretacji szeregu pojęć, których zrozumienie wymaga wnikliwej obserwacji struktury matematycznych obiektów.

Do kogo adresowany jest cykl? Pomimo, że niemal wszędzie będą prezentowane intuicje i przykłady, to do pełnego zrozumienia potrzebujesz zapoznać się z pojęciami: miary, przestrzeni mierzalnej oraz przestrzeni probabilistycznej. Będę podawał większość niezbędnych definicji, zakładam jednak, że czytelnik zna podstawy teorii mnogości oraz przestrzeni metrycznych.

Uwaga – cykl jest refleksją nad modelem probabilistycznym – pewne subtelności można zauważyć dopiero w szczegółach, a jak wiemy z polskiego przysłowia, możemy tam spotkać nawet diabła 🙂

Model probabilistyczny – kilka słów

Rozkwit probabilistyki jako teorii był możliwy dzięki osiągnięciom w innych gałęziach matematyki, szczególnie w dziedzinie teorii miary i całki. Należy jednak pamiętać, że u podstaw większości współczesnych dyscyplin leży również teoria mnogości – dział matematyki, a zarazem logiki matematycznej, zapoczątkowany przez niemieckiego matematyka Georga Cantora pod koniec XIX wieku – oraz topologia.

W dzisiejszych czasach każdy matematyk (i nie tylko) w sposób naturalny
posługuje się takimi terminami jak zbiór, funkcja czy relacja – nic w tym dziwnego – te pojęcia to esencja teorii mnogości zarazem będąca filarem nauk ścisłych. Nietrudno więc o wniosek, że dziedzina dla matematyki jest tym czym fizyka cząstek elementarnych dla większości nauk przyrodniczych. Ponadto okazało się, że wiele własności obiektów studiowanych w analizie matematycznej (np. ciągłość funkcji) może być scharakteryzowanych bardziej uniwersalnie przy użyciu jedynie własności zbiorów otwartych, bez potrzeby odwoływania się do podstawowego pojęcia odległości pomiędzy punktami. W tym miejscu pojawia się topologia, której domeną jest badanie takich zbiorów. Poniżej wymieniam główne pojęcia wykorzystane w rachunku prawdopodobieństwa i należące do wymienionych wyżej bardziej ogólnych gałęzi:

  • Teoria mnogości
    • Zbiór
    • Relacja
    • Funkcja
  • Teoria miary i całki
    • Zbiór mierzalny
    • Miara zbioru
    • Funkcja mierzalna
    • Całka Lebesgue’a
  • Topologia
    • Zbiór otwarty
    • Zbiór borelowski
  • Probabilistyka
    • Prawdopodobieństwo
    • Zmienna losowa

Probabilistyka - zaleźność

Zmienna losowa - zależność pojęć

Teoria mnogości, topologia oraz teoria miary i całki to mistrzowsko opracowane dziedziny, które stanowiąc fundament probabilistyki, sprawiają, że ta ostatnia jest jedną z najpiękniejszych dyscyplin w matematyce – uwaga – jest to prywatne zdanie autora! 🙂

Pozdrowienia,

Mariusz Gromada

Poza Liczbami: Inne Twórcze Przestrzenie

Matematyka i muzyka są ściśle powiązane przez rytm, harmonię i struktury

Matematyka i muzyka są ściśle powiązane przez rytm, harmonię i struktury, które wykorzystują matematyczne wzory i proporcje do tworzenia estetycznych i emocjonalnych doznań. Z nieśmiałą ekscytacją przedstawiam moją pierwszą poważniejszą kompozycję, w której starałem się uchwycić te połączenia.

Scalar – zaawansowana aplikacja mobilna z silnikiem matematycznym mojego autorstwa

Zbiór Cantora

Georg Cantor - źródło Wikipedia.org

Georg Ferdinand Ludwig Philipp Cantor (1845 – 1918) – niemiecki matematyk, który zainicjował (oraz znacząco rozwinął) teorię mnogości. Można powiedzieć, że „Cantor dla teorii mnogości jest tym, kim Mandelbrot dla geometrii fraktalnej”. Cantora osobiście zaliczam do grona gigantów matematyki, których koncepcje i wyniki prac znacząco wyprzedzały daną epokę. Cantor jako pierwszy zadał pytanie o rozmiar nieskończoności. Wprawdzie w 17 wieku Newton i Leibniz stosowali pojęcie wielkości nieskończenie małej o niezerowym rozmiarze, co zapoczątkowało rachunek różniczkowy i całkowy – w 2015 roku napisałem na ten temat kilka słów. Ich starania nie były precyzyjne i w zasadzie jedynie „mgliście” wykorzystywały przejście w krok nieskończony, pomijając szereg problemów z tym związanych.

Cantor zajął się prawdziwie aktualną nieskończonością, wprowadzając definicję równoliczności zbiorów (również tych nieskończonych), co pozwoliło uogólnić pojęcie liczności zbioru. Dziś moc zbioru, określana mianem liczby kardynalnej i oznaczana $|A|$, odnosi się do wskazania zbioru równolicznego (na bazie istnienia bijekcji – czyli jednoznacznego parowania elementów dwóch zbiorów – co działa również w przypadku nieskończonym), którego moc jest znana. Idąc dalej – Cantor w liczbach kardynalnych wprowadził porządek. Powiemy, że $|A|\leq |B|$ jeśli A jest równoliczne z podzbiorem B.

Na mocy twierdzenie Cantora-Bernsteina otrzymujemy, że

jeśli $|A|\leq |B|$ oraz $|B|\leq |A|$ to $|A|=|B|$

Wynik genialny, gdyż pozwala porządkować również zbiory nieskończone! Cantor uczynił ten krok, wskazał nieskończoność najmniejszą – tj. nieskończoność zbioru liczb naturalnych. Zbiory równoliczne ze zbiorem liczb naturalnych nazywamy dziś nieskończonymi zbiorami przeliczalnymi o mocy $\aleph_0$ (czyt. aleph zero).

W 1890 roku Cantor udowodnił przełomowe twierdzenie mówiące, że każdy zbiór ma mniejszą moc niż zbiór jego podzbiorów (zbiór potęgowy).

$$|A|< |2^A|$$

Kolejny genialny wynik, dający „generator” coraz to „większych” nieskończoności. Tych większych nieskończoności nie trzeba było szukać bardzo daleko. Analizując zbiór liczb rzeczywistych Cantor stwierdził, że jego nieskończoność znacznie przewyższa nieskończoność liczb naturalnych. Nieskończoność zbioru liczb rzeczywistych nazywamy dziś continuum i oznaczamy $\mathfrak{c}$.

$$\mathfrak{c}=2^{\aleph_0}$$

Czy istnieje nieskończoność większa od nieskończoności liczb naturalnych oraz mniejsza od nieskończoności liczb rzeczywistych? To pytanie również postawił Cantor, niestety na swoje nieszczęście… Pytanie, nazywane dziś Hipotezą Continuum, doprowadziło Cantora do choroby psychicznej. Cantor do końca życia przekonany był – na zmianę – o prawdziwości / nieprawdziwości hipotezy, co rusz przesyłając dowody potwierdzające / zaprzeczające. Dopiero w 1963 roku Paul Cohen wykazał, że Hipoteza Coninuum jest niezależna od aksjomatów teorii mnogości – czyli, że na bazie tych aksjomatów, nie można jej ani wykazać ani zaprzeczyć…

Zdecydowałem się na ten nieco długi, nie do końca związany z geometrią fraktalną, wstęp, ze względu na wpływ, jaki wywarły na moją osobę idee Georga Cantora. W 2007 roku napisałem artykuł „Od paradoksów do Hipotezy Continuum czyli – Tajemnice Nieskończoności” – zapraszam do lektury wszystkich pragnących zgłębić pojęcie nieskończoności w matematyce.

Polecam również „A Hierarchy of Infinities” – odcinek z serii „PBS Infinite Series”.

Zbiór Cantora

Zbiór Cantora jest podzbiorem jednostkowego odcinka powstającym poprzez:

  • podział odcinka na 3 równe części;
  • usunięcie części środkowej;
  • powtórzenie procedury usuwania dla nowo powstałych odcinków.

Finalny zbiór Cantora jest zbiorem granicznym przy nieskończenie wielu iteracjach wykonanych zgodnie z powyższymi punktami.

Zbiór Cantora

Zbiór Cantora został przez opisany w roku 1883.

Niezwykłe właściwości zbioru Cantora

  • Długość zbioru Cantora jest równa 0 – w języku bardziej formalnym powiemy, że jest to zbiór miary 0 (w sensie miary Lebesgue’a).

Zbiór Cantora powstaje poprzez usuwanie pewnych części – policzmy długość odcinków usuniętych.

$$1\cdot\frac{1}{3}+2\cdot\frac{1}{9}+4\cdot\frac{1}{27}+\ldots+2^{n-1}\cdot\frac{1}{3^n}+\ldots=$$

$$=\displaystyle\sum_{n=1}^{\infty}\frac{2^{n-1}}{3^n}=\displaystyle\sum_{n=1}^{\infty}\frac{2^{n-1}}{3\cdot 3^{n-1}}=$$

$$=\displaystyle\sum_{n=1}^{\infty}\frac{1}{3}\bigg(\frac{2}{3}\bigg)^{n-1}=\frac{1}{3}\cdot\frac{1}{1-\frac{2}{3}}=1$$

Długość odcinków usuniętych jest równa jedności, zatem to co pozostało musi mieć długość równą 0 🙂

  • Zbiór Cantora jest równoliczny ze zbiorem liczb rzeczywistych $\mathbb{R}$ – czyli ma moc continuum $\mathfrak{c}$.

Jest to dość zaskakująca własność dla zbioru, który nie ma długości (co pokazaliśmy wyżej). Zbiór Cantora ma formę „rozdmuchanego pyłu”, mimo to punktów jest znacznie więcej niż liczb naturalnych. Szczegóły dowodu relacji równoliczności znajdziecie tutaj.

  • Zbiór Cantora posiada własność samo-podobieństwa – czyli, że w jego skład wchodzą „jego mniejsze kopie”.

Zbiór Cantora i samo-podobieństwo

Własność samo-podobieństwa wynika wprost z definicji zbioru. Powyżej na obrazku zaznaczyłem część zbioru podobną do jego całości.

Zbiór Cantora jako fraktal

Zbiór Cantora posiada nietrywialną strukturę w każdej skali i jest samo-podobny – jest to zatem fraktal, najprostszy z możliwych 🙂

Iloczyn kartezjański zbiorów Cantora

Pył Cantora 2D - źródło Wikipedia

Pył Cantora 2D – źródło Wikipedia

Pył Cantora 3D - źródło Wikipedia

Pył Cantora 3D – źródło Wikipedia

Georg Cantor – ciekawostki

  • Był uczniem Karla Weierstrass’a oraz Leopolda Kronecker’a.
  • Przyjaźnił się z Richardem Dedekind’em – pamiętacie przedziały Dedekinda i liczby rzeczywiste? 🙂
  • Był osobą bardzo wierzącą. Odkrywając tajemnice nieskończoności odnosił wrażenie, że to sam Bóg mu je przekazuje.
  • Z powodu niemożności rozwiązania Hipotezy Continuum popadł w ciężką depresję, był wielokrotnie hospitalizowany, nie odzyskał w pełni zdrowia.
  • W ostatnich latach życia zajmował się mistycyzmem rozwijając koncepcję Absolutnej Nieskończoności, którą utożsamiał z Bogiem.

Pozdrowienia,

Mariusz Gromada

Poza Liczbami: Inne Twórcze Przestrzenie

Matematyka i muzyka są ściśle powiązane przez rytm, harmonię i struktury

Matematyka i muzyka są ściśle powiązane przez rytm, harmonię i struktury, które wykorzystują matematyczne wzory i proporcje do tworzenia estetycznych i emocjonalnych doznań. Z nieśmiałą ekscytacją przedstawiam moją pierwszą poważniejszą kompozycję, w której starałem się uchwycić te połączenia.

Scalar – zaawansowana aplikacja mobilna z silnikiem matematycznym mojego autorstwa

Zero silnia równa się jeden / 0!=1

Artykuł „Mnożenie liczb ujemnych – czyli dlaczego minus razy minus daje plus?” cieszy się ogromnym zainteresowaniem (np. w piątek 21.10.2016 został pobity rekord, mianowicie tylko w tym jednym dniu 350 unikalnych użytkowników zapoznało się z treścią wpisu). Będąc świadomym, że dla wielu z Was ważne jest zrozumienie motywacji stojącej za podstawowymi definicjami, postanowiłem rozpocząć nowy cykl „Dlaczego?”. Nowa seria skupi się na powszechnie znanych zagadnieniach, których wyjaśnienie nie jest już takie oczywiste. 🙂 Dziś na tapet idzie zero silnia! Przedstawię kilka argumentacji – w tym coś dla mniej i coś dla bardziej zaawansowanych! Będzie hardcorowo 🙂

Zero silnia równa się jeden / 0!=1

Silnia – definicja

Continue reading

MathSpace.pl - pierwsze urodziny!

MathSpace.pl - pierwsze urodziny!

Pierwszy wpis pojawił się 20 października 2015.

Przez rok opublikowałem 57 artykułów, znaczna część zamieszczona w 6 seriach:

Każdego dnia blog odwiedza około 40-50 osób – to niezły wynik zważywszy na raczej niełatwą tematykę 🙂

Google docenił MathSpace.pl, w efekcie dla szeregu zapytań blog pozycjonowany jest bardzo wysoko.

Dziękuję! 🙂

Pozdrowienia,

Mariusz Gromada

Poza Liczbami: Inne Twórcze Przestrzenie

Matematyka i muzyka są ściśle powiązane przez rytm, harmonię i struktury

Matematyka i muzyka są ściśle powiązane przez rytm, harmonię i struktury, które wykorzystują matematyczne wzory i proporcje do tworzenia estetycznych i emocjonalnych doznań. Z nieśmiałą ekscytacją przedstawiam moją pierwszą poważniejszą kompozycję, w której starałem się uchwycić te połączenia.

Scalar – zaawansowana aplikacja mobilna z silnikiem matematycznym mojego autorstwa

Karl Weierstrass

Karl Theodor Wilhelm Weierstrass (1815 – 1897) niemiecki matematyk uznawany za „ojca współczesnej analizy matematycznej”. Choć minęło już 17 lat, to nadal doskonale pamiętam pierwszy semestr studiów matematycznych i ekspozycję na podstawowe „bardziej abstrakcyjne” twierdzenia, w tym Twierdzenie Bolzano-Weierstrassa. Twierdzenie mówi, że „każdy rzeczywisty ciąg ograniczony zawiera podciąg zbieżny”, i choć brzmi prosto i ogólnie, jest niezwykle przydatnym narzędziem dowodzenia innych wyników metodą nie-wprost (zgodnie ze schematem „załóżmy, że … wtedy istnieje ciąg ograniczony, że …, wtedy istnieje podciąg zbieżny, że …, i z własności … wynika sprzeczność z założeniem”). Pięknie to (i nie tylko to) wykładał Pan Prof. Dr Hab. Tadeusz Rzeżuchowski – wielkie dzięki Panie Profesorze!

Funkcja Weierstrassa

Większość matematyków z okresu XVIII i XIX wieku uważało, że wszystkie rzeczywiste funkcje ciągłe są różniczkowalne w znaczącej części swej dziedziny (poza zbiorem izolowanych punktów). Dosyć naturalny pogląd okazał się jednak fałszywy, co wykazał Weierstrass w 1872 roku, a wcześniej podejrzewali Bernhard Riemann oraz Bernard Bolzano (prawdopodobnie w roku 1830 Bolzano podał kontrprzykład, którego nie opublikował). Funkcja Weierstrassa jest przykładem rzeczywistej funkcji ciągłej nieróżniczkowalnej w całej dziedzinie (tzn. nie istnieje ani jeden punkt dziedziny, w otoczeniu którego funkcja zachowuje się „normalnie” – np. monotonicznie). Własność nietypowa, a nawet patologiczna! Jednak nie dla fraktali, zatem i nie dla otaczającej nas natury (analogia do nieintuicyjnej mechaniki kwantowej zaskakująco precyzyjnie opisującej rzeczywistość).

$${\Large f(x)=\displaystyle\sum_{n=0}^\infty a^n\cos(b^n\pi x)}$$

gdzie

$${\large 0<a<1\qquad ab>1+\frac{3}{2}\pi}$$

Warto zauważyć, że funkcję Weierstrassa można zapisać w postaci analitycznej (w uproszczeniu – podając wzór).

Funkcja Weierstrassa i fraktale

Poniżej wykres funkcji Weierstrassa na przedziale [-2; 2] – źródło Wikipedia.

Funkcja Weierstrassa

Benoit Mandelbrot mawiał, że „fraktal to zbiór matematyczny (lub inny obiekt ) charakteryzujący się w każdej skali wysoką nieregularnością oraz dużą fragmentacją.” W części pierwszej cyklu o „geometrii fraktalnej”odnosząc się do słów Mandelbrota, pisałem, że cechą fraktalną jest nietrywialna struktura obiektu w każdej skali – tzn. powiększanie ujawnia kolejne równie skomplikowane formy. Wspomniałem również o samo-podobieństwie – tzn. sytuacji, gdy w skład obiektu wchodzą jego „mniejsze” kopie. Wykres funkcji Weierstrassa zdaje się spełniać te kryteria – był to pierwszy odkryty fraktal!

Karl Weierstrass – ciekawostki

Weierstrass wykładał w Wałczu oraz w Braniewie. Wikipedia wymienia, że jego uczniami byli: Georg Cantor, Otto Holder, Georg Frobenius, Felix Klein, Hermann Minkowski.

 

Pozdrowienia,

Mariusz Gromada

Poza Liczbami: Inne Twórcze Przestrzenie

Matematyka i muzyka są ściśle powiązane przez rytm, harmonię i struktury

Matematyka i muzyka są ściśle powiązane przez rytm, harmonię i struktury, które wykorzystują matematyczne wzory i proporcje do tworzenia estetycznych i emocjonalnych doznań. Z nieśmiałą ekscytacją przedstawiam moją pierwszą poważniejszą kompozycję, w której starałem się uchwycić te połączenia.

Scalar – zaawansowana aplikacja mobilna z silnikiem matematycznym mojego autorstwa

Captured Response vs ROC

W części #6 oraz części #7 cyklu „Ocena jakości klasyfikacji” przedstawiłem krzywą zysku (aka: Gain, Captured Response) oraz krzywą ROC. Dzisiaj skupię się na mało znanej, acz bardzo prostej i przydatnej, relacji pomiędzy tymi krzywymi – okazuje się bowiem, że wykresy są „niemal identyczne” 🙂

Captured Response vs ROC

Wzór łączący ROC z Captured Response

$$X_{cr}=Y_{roc}\times apriori+X_{roc}\times \Big(1-apriori\Big)$$

$$Y_{cr}=Y_{roc}$$

Geometryczne podobieństwo Captured Response i ROC

Odpowiednio spoglądając na umieszczone obok siebie wykresy ciężko odeprzeć wrażenie, że krzywe są bardzo podobne. Intuicja podpowiada, że mamy tu do czynienia z tymi samymi funkcjami, jedynie naszkicowanymi w nieco różnych układach współrzędnych.

Captured Response vs ROC

W obu przypadkach to „przestrzeń” pomiędzy modelem losowym i modelem idealnym definiuje odpowiedni układ współrzędnych, a różnica obecna w Captured Response powiązana jest z a-priori (CR jest zależna od a-priori, ROC nie zależy od a-priori). Idąc za kolejnym przeczuciem powiemy, że najprawdopodobniej dla tej samej wartości „Y” różnić się będą wartości „X” (ze względu na „ściśniecie” obecne w Captured Response).

Wzór na bazie macierzy przekształcenia liniowego – jedynie poglądowo

Uwaga: poniższe wyprowadzenie jest jedynie pomocnicze, nie stanowi wystarczającej argumentacji uzasadniającej „identyczność” krzywych Captured Response i ROC!!! Formalna argumentacja znajduje się w kolejnej sekcji.

ROC w CR - przekształcenie liniowe - wektory

Zauważmy, że wektor

$\begin{bmatrix}X_{ROC}=0\\Y_{ROC}=1\end{bmatrix}$ przechodzi w $\begin{bmatrix}X_{CR}=apriori\\Y_{CR}=1\end{bmatrix}$

oraz wektor

$\begin{bmatrix}X_{ROC}=1\\Y_{ROC}=1\end{bmatrix}$ przechodzi w $\begin{bmatrix}X_{CR}=1\\Y_{CR}=1\end{bmatrix}$

Zatem macierz przekształcenia liniowego przyjmuje postać (potrzeba rozwiązać prościutki układ równań):

$$A=\begin{bmatrix}1-apriori & apriori\\0 & 1\end{bmatrix}$$

Finalne przekształcenie ROC w Capture Response to:

$$\begin{bmatrix}1-apriori & apriori\\0 & 1\end{bmatrix}\times\begin{bmatrix}X_{ROC}\\Y_{ROC}\end{bmatrix}=\begin{bmatrix}X_{CR}\\Y_{CR}\end{bmatrix}$$

Wynik bardzo ciekawy – faktycznie wystarczy a-priori 🙂 Jednak to nie jest dowód, wyprowadzenie bazowało na intuicji …

Wzór na bazie proporcji – jedynie poglądowo

Uwaga: Ponownie – poniższe wyprowadzenie jest jedynie pomocnicze, nie stanowi wystarczającej argumentacji uzasadniającej „identyczność” krzywych Captured Response i ROC!!! Formalna argumentacja znajduje się w kolejnej sekcji.

Oznaczmy punkty (wykres powyżej):

$B_{cr}=\Big(X_{cr}, Y_{cr}\Big)$ – punkt na krzywej Captured Response

$B_{roc}=\Big(X_{roc}, Y_{roc}\Big)$ – punkt na krzywej ROC

Podążając za „głosem wewnętrznym” 🙂 napiszemy równość

$$Y_{cr}=Y_{roc}$$

oraz równość proporcji długości odcinków

$${\Large\frac{a_{cr}}{a_{cr}+b_{cr}}=\frac{a_{roc}}{a_{roc}+b_{roc}}}$$

To pozwoli wyprowadzić formułę dla wartość $X_{cr}$ w zależności od współrzędnych $\Big(X_{roc}, Y_{roc}\Big)$.

Długość odcinka: $a_{roc}=X_{roc}$

Długość odcinka: $a_{roc}+b_{roc}=Y_{roc}$ (wynika z pozycji punktu $C_{roc}=C_{cr}$).

Przechodzimy od wyznaczenia współrzędnych punktu $A_{cr}$ leżącego na krzywej idealnej wykresu Capture Response.

Prosta „idealna” jest opisana równaniem: $y={\Large\frac{x}{apriori}}$ dla x mniejszych od a-priori, zatem

$$x=y\times apriori$$

I dalej współrzędne

$$A_{cr}=\Big(Y_{cr}\times apriori, Y_{cr}\Big)=\Big(Y_{roc}\times apriori, Y_{roc}\Big)$$

Zaś współrzędne

$$B_{cr}=\Big(X_{cr}, Y_{cr}\Big)=\Big(X_{cr}, Y_{roc}\Big)$$

$$C_{cr}=\Big(Y_{cr}, Y_{cr}\Big)=\Big(Y_{roc}, Y_{roc}\Big)$$

W tej chwili przystępujemy do wyznaczenia długości odcinków

Długość odcinka: $a_{cr}=X_{cr}-Y_{roc}\times apriori$

Długość odcinka: $a_{cr}+b_{cr}=Y_{roc}-Y_{roc}\times apriori=Y_{roc}\Big(1-apriori\Big)$

Kilka ostatnich kroków

$${\Large\frac{a_{cr}}{a_{cr}+b_{cr}}=\frac{a_{roc}}{a_{roc}+b_{roc}}}$$

$${\Large\frac{X_{cr}-Y_{roc}\times apriori}{Y_{roc}\Big(1-apriori\Big)}=\frac{X_{roc}}{Y_{roc}}}$$

Mnożymy przez $Y_{roc}$

$${\Large\frac{X_{cr}-Y_{roc}\times apriori}{1-aprior}}=X_{roc}$$

$$X_{cr}-Y_{roc}\times apriori=X_{roc}\times \Big(1-apriori\Big)$$

I finalnie

$$X_{cr}=Y_{roc}\times apriori+X_{roc}\times \Big(1-apriori\Big)$$

$$Y_{cr}=Y_{roc}$$

Wynik identyczny – jednak to nadal nie dowód …

Pełny dowód na bazie macierzy błędu i prawdopodobieństw

Oś „Y” w przypadku ROC to True-Positive Rate, czyli

$$TPR={\Large\frac{TP}{TP+FN}}={\Large\frac{TP}{Faktyczne.P}}=P(1|1)$$

Macierz błędu

Z powyższego bezpośrednio wynika, że

$$Y_{cr}=Y_{roc}$$

Współrzędna „X” krzywej Captured Response to kwantyl bazy, tzn. gdyby założyć, że X% bazy klasyfikujemy pozytywnie, to dotrzemy do Y% frakcji targetu – zatem $X_{cr}$ jest rozmiarem frakcji przewidywania pozytywnego. Rozważmy poniższy rozkład oceny modelem.

True-Positive, False-Positive, True-Negative, False-Negative vs ocena modelem

Przewidywanie pozytywne składa się z frakcji TP+FP, ale

$$Klasyf.P=TP+FP=…$$

$$…=TPR\times Faktyczne.P+FPR\times Faktyczne.N$$

$$P(klasyf=P)=…$$

$$…=TPR\times apriori+FPR\times (1-apriori)=…$$

$$…=P(1|1)P(1)+P(1|0)P(0)$$

Finalnie

$$X_{cr}=Y_{roc}\times apriori+X_{roc}\times \Big(1-apriori\Big)$$

$$Y_{cr}=Y_{roc}$$

Co z tego wynika?

  • Rozumiejąc relację pomiędzy krzywą ROC a krzywą Captured Response analiza modelu jest znacznie prostsza, szczególnie jeśli korzystamy z narzędzia, które prezentuje tylko jeden wariant krzywej (często ROC). Przy małych apriori oś „X” krzywej ROC można praktycznie uznać za oś „X” krzywej Captured Response. Przy większych apriori należy intuicyjnie przesuwać „X” w prawo aby z ROC uzyskać Captured Response.
  • Gini policzone na ROC oraz na CR (pamiętając o przestrzeni pomiędzy modelem losowym i modelem idealnym) bedą sobie równe.

Przykład działania wzoru

Captured Response

Captured Response

Captured Response

Captured Response

Captured Response

Captured Response

Captured Response

Captured Response

Captured Response

Captured Response

Captured Response

Pozdrowienia,

Mariusz Gromada

Poza Liczbami: Inne Twórcze Przestrzenie

Matematyka i muzyka są ściśle powiązane przez rytm, harmonię i struktury

Matematyka i muzyka są ściśle powiązane przez rytm, harmonię i struktury, które wykorzystują matematyczne wzory i proporcje do tworzenia estetycznych i emocjonalnych doznań. Z nieśmiałą ekscytacją przedstawiam moją pierwszą poważniejszą kompozycję, w której starałem się uchwycić te połączenia.

Scalar – zaawansowana aplikacja mobilna z silnikiem matematycznym mojego autorstwa

Richard Phillips Feynman (1915-1988) – amerykański fizyk teoretyk, niezwykle charyzmatyczna postać, nauczyciel, filozof, aktor, showman, laureat nagrody nobla z fizyki (1965 r. – tzw. diagramy Feynmana), osoba wyprzedzająca swoją epokę o całe dekady, również w kwestii nauk informacyjnych. Feynman przewidując, że klasyczne komputery nie będą w stanie rozwiązać wielu problemów, opracował podstawy komputerów kwantowych. Mistrz uwzględnienia innej perspektywy / innego punktu widzenia. Poniżej kilka cytatów autorstwa Feynmana wraz z wybranymi wywiadami / wykładami. Szczególnie polecam serię „Fun to imagine” zarejestrowaną przez BBC w roku 1983 – a najbardziej część „Why?” 🙂

Richard Feynman - źródło Wikipedia

„Widzisz tego ptaka? – mówił. – To gajówka Spencera (wiedziałem, że nie zna prawdziwej nazwy). – Widzisz, po włosku to jest Chutto Lapittida. Po portugalsku – Bom da Peida. Po chińsku – Chung-long-tah, a po japońsku – Katano Tekeda. Możesz poznać nazwy tego ptaka we wszystkich językach świata, ale kiedy już się ich nauczysz, nie będziesz miał o nim bladego pojęcia. Będziesz tylko wiedział, że ludzie w różnych miejscach świata tak go nazywają. Więc popatrzmy sobie na ptaszka i zobaczmy, co robi, bo to się właśnie liczy. (Bardzo wcześnie nauczyłem się, jaka jest różnica między poznaniem nazwy jakiegoś przedmiotu a wiedzą o nim).”

Richard Feynman

„Bo to jest tak, że ja muszę rozumieć świat.”

Richard Feynman

„Jest coś niedobrego z ludźmi: nie uczą się przez zrozumienie, tylko jakoś inaczej, pewnie na pamięć. Ich wiedza jest taka krucha!”

Richard Feynman

„Temu, kto nie zna matematyki, trudno spostrzec głębokie piękno przyrody.”

Richard Feynman

„Nauka to wiara w ignorancję ekspertów.”

Richard Feynman

„Przecież myślenie to tak, jakby się mówiło do siebie, w środku.”

Richard Feynman

„Nie wydaje mi się, by ten fantastycznie cudowny wszechświat, ta ogromna przestrzeń istniejąca przez tyle czasu oraz różne gatunki zwierząt, wszystkie te rozmaite planety i atomy z wszystkimi ich ruchami, i tak dalej, aby ten cały skomplikowany świat był jedynie sceną stworzoną po to, by Bóg mógł obserwować ludzi walczących o dobro i zło – a taki jest właśnie pogląd religijny. Ta scena jest zbyt duża jak na ten dramat. „

Richard Feynman

„Wydaje mi się, że znacznie ciekawiej jest żyć nie wiedząc, niż znać odpowiedzi, które mogą być błędne.”

Richard Feynman

Pozdrowienia,

Mariusz Gromada

Poza Liczbami: Inne Twórcze Przestrzenie

Matematyka i muzyka są ściśle powiązane przez rytm, harmonię i struktury

Matematyka i muzyka są ściśle powiązane przez rytm, harmonię i struktury, które wykorzystują matematyczne wzory i proporcje do tworzenia estetycznych i emocjonalnych doznań. Z nieśmiałą ekscytacją przedstawiam moją pierwszą poważniejszą kompozycję, w której starałem się uchwycić te połączenia.

Scalar – zaawansowana aplikacja mobilna z silnikiem matematycznym mojego autorstwa

The Root of All Evil :-)

Taka drobna zagadka jako kolejna część cyklu „Matematyka w obrazkach” 🙂

The Root of All Evil :-)

Pozdrowienia,

Mariusz Gromada

Poza Liczbami: Inne Twórcze Przestrzenie

Matematyka i muzyka są ściśle powiązane przez rytm, harmonię i struktury

Matematyka i muzyka są ściśle powiązane przez rytm, harmonię i struktury, które wykorzystują matematyczne wzory i proporcje do tworzenia estetycznych i emocjonalnych doznań. Z nieśmiałą ekscytacją przedstawiam moją pierwszą poważniejszą kompozycję, w której starałem się uchwycić te połączenia.

Scalar – zaawansowana aplikacja mobilna z silnikiem matematycznym mojego autorstwa

Krzywa ROC - AUROC - Receiver Operating Characteristic

Receiver Operating Characteristic – Krzywa ROC – geneza nazwy

Termin „Krzywa ROC” wywodzi się z teorii detekcji sygnałów, której zadaniem jest odróżnienie sygnału będącego informacją (np. sygnały z maszyn / urządzeń elektronicznych, bodźce pochodzące z organizmów żywych) od wzorców przypadkowych nie zawierających informacji (szum, tło, aktywność losowa). Pierwsze wykorzystanie krzywej ROC datuję się na okres II Wojny Światowej. Po ataku na Pearl Harbor w 1941, USA zaczęły poszukiwać lepszej metody analizy sygnałów radarowych w celu zwiększenia wykrywalności Japońskich samolotów.

Receiver Operating Characteristic – Krzywa ROC – definicja

W statystyce matematycznej krzywa ROC jest graficzną reprezentacją efektywności modelu predykcyjnego poprzez wykreślenie charakterystyki jakościowej klasyfikatorów binarnych powstałych z modelu przy zastosowaniu wielu różnych punktów odcięcia. Mówiąc inaczej – każdy punkt krzywej ROC odpowiada innej macierzy błędu (zobacz tutaj) uzyskanej przez modyfikowanie „cut-off point” (zobacz tu). Im więcej różnych punktów odcięcia zbadamy, tym więcej uzyskamy punktów na krzywej ROC. Finalnie na wykres nanosimy TPR (True-Positive Rate – oś pionowa) oraz FPR (False-Positive Rate – oś pozioma).

$c$ – punkt odcięcia

$\quad$ $c\mapsto \Big(x(c),y(c)\Big)=\Big(FPR(c),TPR(c)\Big)$

Krzywa ROC - Receiver Operating Characteristic

Krzywa ROC, będąc funkcją punktu odcięcia, przedstawia zmienność TPR (miary pokrycia / wychwycenia klasy faktycznie pozytywnej) w zależności od FPR (poziomu błędu popełnianego na klasie faktycznie negatywnej). Jak zawsze chodzi o pewien kompromis, tzn. dobierając „cut-off” chcemy maksymalizować TPR „trzymając w ryzach” błąd FPR. Analiza relacji TPR(FPR) jest niezwykle przydatna, ale najpierw przypomnijmy kilka podstawowych definicji.

Krótkie przypomnienie podstawowych definicji

Macierz błędu

TPR, TNR, PPV, NPV

TPR True-Positive Rate (czyli czułość)

$$TPR=\frac{TP}{TP+FN}=P(pred=P|fakt=P)=$$

$$=P(pred=1|fakt=1)=P(1|1)$$

FPR False-Positive Rate (czyli 1-specyficzność)

$$FPR=\frac{FP}{FP+TN}=P(pred=P|fakt=N)=$$

$$P(pred=1|fakt=0)=P(1|0)=1-P(0|0)=1-TNR$$

Interpretacja ROC

ROC – Klasyfikator teoretycznie idealny + Klasyfikator losowy

Klasyfikator teoretycznie idealny reprezentowany jest przez punkt (0,1), natomiast klasyfikatory powstałe z modelu losowego „leżą” na prostej TPR=FPR.

Krzywa ROC - Interpretacja - Receiver Operating Characteristic

ROC – Punkt równowagi (czułość = specyficzność)

Punkt równowagi leży na przecięciu ROC z prostą TPR = 1-FPR = TNR i reprezentuje „cut-off” point, dla którego klasyfikator osiąga równowagę czułość = specyficzność.

Krzywa ROC - Punkt równowagi - Receiver Operating Characteristic

ROC – Współczynnik Giniego

Współczynnik Giniego to pole powierzani pomiędzy krzywą ROC dla badanego modelu oraz krzywą ROC dla modelu losowego w interpretacji procentowej do wartości 1/2 – czyli pola powierzchni dla klasyfikatora teoretycznie idealnego. Współczynnik Giniego jest doskonałą miarą jakości modelu i może być interpretowany jako % „idealności” danego modelu predykcyjnego.

Krzywa ROC - Współczynnik Giniego - Receiver Operating Characteristic

  • Im większy wskaźnik Giniego tym lepiej
  • Wartość wskaźnika Giniego nie zależy od apriori (teoretycznie), w praktyce trudniej o silny model jeśli apriori jest duże
  • Gini = 100% dla modelu teoretycznie idealnego
  • Gini = 0% dla modelu losowego

Pole powierzani pod krzywą ROC – AUC, AUROC

Tym razem wyznaczamy całość pola powierzchni pod wykresem ROC odnosząc wartość do analogicznego pola dla modelu idealnego – w tym przypadku pola kwadratu o boku 1. Interpretacja AUROC (Area Under the ROC) to prawdopodobieństwo, że badany model predykcyjny oceni wyżej (wartość score) losowy element klasy pozytywnej od losowego elementu klasy negatywnej.

Krzywa ROC - AUROC - Receiver Operating Characteristic

  • Im większy wskaźnik AUROC tym lepiej
  • Wartość AUROC nie zależy od apriori (teoretycznie), w praktyce trudniej o silny model jeśli apriori jest duże
  • AUROC = 100% dla modelu teoretycznie idealnego
  • AUROC = 50% dla modelu losowego
  • AUROC = 0% dla modelu idealnego klasy przeciwnej do pozytywnej

Ciąg dalszy nastąpi …

Pozdrowienia,

Mariusz Gromada

Poza Liczbami: Inne Twórcze Przestrzenie

Matematyka i muzyka są ściśle powiązane przez rytm, harmonię i struktury

Matematyka i muzyka są ściśle powiązane przez rytm, harmonię i struktury, które wykorzystują matematyczne wzory i proporcje do tworzenia estetycznych i emocjonalnych doznań. Z nieśmiałą ekscytacją przedstawiam moją pierwszą poważniejszą kompozycję, w której starałem się uchwycić te połączenia.

Scalar – zaawansowana aplikacja mobilna z silnikiem matematycznym mojego autorstwa