Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revisionPrevious revision
Next revision
Previous revision
courses:b4m39viz [2026/05/25 17:19] zapleka3courses:b4m39viz [2026/05/27 13:14] (current) – [Question 2: Odlehlé hodnoty (Outliers) – Co to je, co znamenají a k čemu slouží] zapleka3
Line 3: Line 3:
 [[https://docs.google.com/document/d/1hs0U9I88zJqfhg11oBHGQ6gKXcJD5on6AonXecsxDJI/edit?tab=t.0#heading=h.1az79lm4wx0i|VIZ Otázky z minulých let dokument]] [[https://docs.google.com/document/d/1hs0U9I88zJqfhg11oBHGQ6gKXcJD5on6AonXecsxDJI/edit?tab=t.0#heading=h.1az79lm4wx0i|VIZ Otázky z minulých let dokument]]
  
 +[[https://orgpad.info/s/fgJM6_uUP5x|Mind map]]
  
 ======= Question set 1 ======= ======= Question set 1 =======
Line 158: Line 159:
 Sugiyamův rámec (Sugiyama Framework) je široce používaný algoritmus, který řeší problém, jak prostorově uspořádat uzly u relačních dat. Sugiyamův rámec (Sugiyama Framework) je široce používaný algoritmus, který řeší problém, jak prostorově uspořádat uzly u relačních dat.
  
-  - Je určený specificky pro výpočet **hierarchického rozvržení stromů** nebo **orientovaných acyklických grafů (DAG)**. +  - Je primárně navržený pro výpočet **hierarchického rozvržení stromů** nebo **orientovaných acyklických grafů (DAG)**. Lze jej však aplikovat i na **obecné orientované grafy (s cykly)**, se kterými si poradí dočasným otočením problémových hran
-  - Je naprosto ideální pro úlohy, kde potřebujeme jasně komunikovat **hierarchii, návaznosti nebo směr toku** informací.+  - Je naprosto ideální pro úlohy, kde potřebujeme jasně komunikovat **hierarchii, návaznosti nebo hlavní směr toku** informací.
   - %%Příklad využití:%% Zobrazení prerekvizit předmětů na univerzitě (předmět A musím splnit před předmětem B), analýza závislostí v softwarovém kódu, nebo zobrazení rodokmenu.   - %%Příklad využití:%% Zobrazení prerekvizit předmětů na univerzitě (předmět A musím splnit před předmětem B), analýza závislostí v softwarovém kódu, nebo zobrazení rodokmenu.
 ++++ ++++
Line 167: Line 168:
  
   - **Horizontální vrstvy:** Všechny uzly grafu jsou úhledně seřazeny do zřetelných horizontálních vrstev (úrovní).   - **Horizontální vrstvy:** Všechny uzly grafu jsou úhledně seřazeny do zřetelných horizontálních vrstev (úrovní).
-  - **Jednosměrnost hran:** Zásadním rysem je, že **všechny hrany směřují pouze jedním směrem** (typicky shora dolů).  +  - **Převážná jednosměrnost hran:** Zásadním rysem je, že **naprostá většina hran směřuje pouze jedním směrem** (typicky shora dolů). Výjimkou jsou zpětné hrany (pokud původní data obsahovala cykly) – ty po vykreslení směřují nahoru proti hlavnímu toku
-  - **Jasná hierarchie:** Každý uzel-potomek se vždy nachází vizuálně ve vrstvě pod svým rodičem. Díky tomu algoritmus zamezuje vzniku matoucích zpětných smyček směřujících nahoru, což divákovi umožňuje okamžitě pochopit celou strukturu od kořene až po listy.+  - **Jasná hierarchie:** Každý uzel-potomek se (až na zmíněné cykly) vždy nachází vizuálně ve vrstvě pod svým rodičem. Algoritmus tak minimalizuje vizuální chaos a umožňuje divákovi okamžitě pochopit celkovou strukturu od kořenů až po listy.
 ++++ ++++
  
Line 237: Line 238:
  
   - **Dynamické mapování (Čas $\rightarrow$ Čas / Animace):** Fyzický čas přehrávání vizualizace odpovídá času v datech.   - **Dynamické mapování (Čas $\rightarrow$ Čas / Animace):** Fyzický čas přehrávání vizualizace odpovídá času v datech.
-    * *Výhoda:* Přirozené (žádná mentální konverze), dobré pro sledování vývoje 2D/3D polí (%%např.%% šíření bouře). +    **Výhoda:** Přirozené (žádná mentální konverze), dobré pro sledování vývoje 2D/3D polí (%%např.%% šíření bouře). 
-    * *Nevýhoda:* Nevhodné pro analytické úlohy. Lidská krátkodobá paměť nedokáže přesně porovnat to, co vidí teď, s tím, co viděla před chvílí.+    **Nevýhoda:** Nevhodné pro analytické úlohy. Lidská krátkodobá paměť nedokáže přesně porovnat to, co vidí teď, s tím, co viděla před chvílí.
   - **Statické mapování (Čas $\rightarrow$ Prostor):** Čas je namapován na osu nebo vizuální kanál.   - **Statické mapování (Čas $\rightarrow$ Prostor):** Čas je namapován na osu nebo vizuální kanál.
-    * *Výhoda:* Umožňuje **přímé vizuální srovnání** hodnot napříč historií.+    **Výhoda:** Umožňuje **přímé vizuální srovnání** hodnot napříč historií.
     * **Vizuální kanály pro kódování času:**     * **Vizuální kanály pro kódování času:**
       * **Pozice:** Nejčastější a nejpřesnější (osa X).       * **Pozice:** Nejčastější a nejpřesnější (osa X).
Line 376: Line 377:
 **Přímé objemové renderování** je pokročilá vizualizační technika pro zobrazení 3D objemových dat (např. CT nebo MRI skenů).  **Přímé objemové renderování** je pokročilá vizualizační technika pro zobrazení 3D objemových dat (např. CT nebo MRI skenů). 
  
-  - **Základní princip:** Na rozdíl od *nepřímé vizualizace* (která z dat nejprve vytvoří 3D geometrii, např. síť trojúhelníků pomocí Marching Cubes), DVR **neextrahují žádnou mezilehlou geometrickou reprezentaci**. Zobrazuje 3D data přímo a mapuje vlastnosti objemu na pixely obrazovky.+  - **Základní princip:** Na rozdíl od **nepřímé vizualizace** (která z dat nejprve vytvoří 3D geometrii, např. síť trojúhelníků pomocí Marching Cubes), DVR **neextrahují žádnou mezilehlou geometrickou reprezentaci**. Zobrazuje 3D data přímo a mapuje vlastnosti objemu na pixely obrazovky.
   - **Ray Marching (Paprskový pochod):** Základní algoritmus DVR. Pro každý pixel 2D obrazovky (kamery) se do 3D objemu vyšle světelný paprsek. Algoritmus po malých krocích "pochoduje" podél tohoto paprsku a v každém kroku odebere vzorek dat (interpoluje skalární hodnotu z mřížky).   - **Ray Marching (Paprskový pochod):** Základní algoritmus DVR. Pro každý pixel 2D obrazovky (kamery) se do 3D objemu vyšle světelný paprsek. Algoritmus po malých krocích "pochoduje" podél tohoto paprsku a v každém kroku odebere vzorek dat (interpoluje skalární hodnotu z mřížky).
   - **Vyhodnocení paprsku:** Nasbírané vzorky podél paprsku se musí "zploštit" do jedné barvy pixelu. To se děje dvěma způsoby:   - **Vyhodnocení paprsku:** Nasbírané vzorky podél paprsku se musí "zploštit" do jedné barvy pixelu. To se děje dvěma způsoby:
Line 496: Line 497:
     * Je to často **intuitivnější**, protože proces přirozeně odpovídá fyzikálnímu modelu (světlo se kumuluje od zdroje k pozorovateli).     * Je to často **intuitivnější**, protože proces přirozeně odpovídá fyzikálnímu modelu (světlo se kumuluje od zdroje k pozorovateli).
     * Z hlediska výpočtu potřebujeme řešit **pouze jednu rovnici** pro každý vzorek (počítá se pouze kumulace intenzity).     * Z hlediska výpočtu potřebujeme řešit **pouze jednu rovnici** pro každý vzorek (počítá se pouze kumulace intenzity).
 +  - **Nevýhody:**
 +      * Zbytečné výpočty pokud existuje neprůhledný objekt blíž ke kameře.
 ++++ ++++
  
Line 501: Line 504:
 Zde algoritmus prochází vzorky podél paprsku od **nejbližšího bodu k nejvzdálenějšímu** (od %%$i = 0$%% do %%$i = n$%%). Zde algoritmus prochází vzorky podél paprsku od **nejbližšího bodu k nejvzdálenějšímu** (od %%$i = 0$%% do %%$i = n$%%).
  
-  - **Princip:** Během průchodu se postupně kumuluje jak výsledná barva, tak i **celková průhlednost**. Algoritmus si pamatuje, kolik světla ještě může projít dále do objemu. Výpočet vyžaduje řešení **dvou rovnic** (jednu pro intenzitu a druhou pro průhlednost).+  - **Princip:** Během průchodu se postupně kumuluje jak výsledná barva, tak i **celková průhlednost**. Algoritmus si pamatuje, kolik světla ještě může projít dále do objemu. 
   - **Výhody a Časné ukončení (Early termination):**   - **Výhody a Časné ukončení (Early termination):**
     * Hlavní a naprosto klíčovou výhodou této metody je možnost **časného ukončení**.      * Hlavní a naprosto klíčovou výhodou této metody je možnost **časného ukončení**. 
     * Jakmile kumulovaná průhlednost (alpha) dosáhne hodnoty blížící se 1.0 (tj. materiál se stane plně neprůhledným), proces skládání pro daný paprsek se **okamžitě zastaví**.     * Jakmile kumulovaná průhlednost (alpha) dosáhne hodnoty blížící se 1.0 (tj. materiál se stane plně neprůhledným), proces skládání pro daný paprsek se **okamžitě zastaví**.
     * Všechny další vzorky za tímto bodem už by stejně nebyly viditelné, takže je zbytečné je počítat. To může **výrazně zrychlit renderování**, zejména u objemů s neprůhlednými strukturami.     * Všechny další vzorky za tímto bodem už by stejně nebyly viditelné, takže je zbytečné je počítat. To může **výrazně zrychlit renderování**, zejména u objemů s neprůhlednými strukturami.
 +  - **Nevýhody:**
 +      * Výpočet vyžaduje řešení **dvou rovnic** (jednu pro intenzitu a druhou pro průhlednost).
 ++++ ++++
  
Line 514: Line 519:
 Prvním zásadním problémem je **nelinearita (percepční neuniformita)** mnoha běžných barevných prostorů (např. RGB, HSV). Prvním zásadním problémem je **nelinearita (percepční neuniformita)** mnoha běžných barevných prostorů (např. RGB, HSV).
   - V těchto prostorech matematická vzdálenost mezi dvěma barvami neodpovídá tomu, jak rozdíl vnímá lidské oko. Stejný číselný rozdíl v datech se může v jedné části barevného spektra jevit jako obrovský skok a v jiné jako neviditelná změna.   - V těchto prostorech matematická vzdálenost mezi dvěma barvami neodpovídá tomu, jak rozdíl vnímá lidské oko. Stejný číselný rozdíl v datech se může v jedné části barevného spektra jevit jako obrovský skok a v jiné jako neviditelná změna.
 +  - Odstín neimplikuje řazení, jas ano.
 +  - Odstín má vyšší rozlišitelnost než jas a sytost.
   - **Duhová škála (Rainbow / Jet Colormap):** Je odstrašujícím příkladem tohoto problému. Není percepčně uniformní v odstínu ani v jasu. Vytváří **falešné (umělé) hrany** v místech rychlého vizuálního přechodu (např. kolem žluté a tyrkysové) a naopak skrývá detaily v oblastech, kde se barva mění vizuálně pomalu (např. v širokém zeleném pruhu).   - **Duhová škála (Rainbow / Jet Colormap):** Je odstrašujícím příkladem tohoto problému. Není percepčně uniformní v odstínu ani v jasu. Vytváří **falešné (umělé) hrany** v místech rychlého vizuálního přechodu (např. kolem žluté a tyrkysové) a naopak skrývá detaily v oblastech, kde se barva mění vizuálně pomalu (např. v širokém zeleném pruhu).
   - **Řešení:** Pro kvantitativní data je nutné používat percepčně uniformní prostory, jako je **CIELAB** nebo **HCL** (např. škály Viridis nebo Plasma).   - **Řešení:** Pro kvantitativní data je nutné používat percepčně uniformní prostory, jako je **CIELAB** nebo **HCL** (např. škály Viridis nebo Plasma).
Line 674: Line 681:
 **1. Kontrola a ověřování analytických modelů (např. Regrese):** **1. Kontrola a ověřování analytických modelů (např. Regrese):**
   - Pokud při automatizované analýze aplikujeme na data matematický model (např. proložíme je regresní přímkou), i **jeden jediný silný outlier dokáže drasticky změnit sklon a posun této přímky**, což vede ke zcela chybné interpretaci celého vztahu.   - Pokud při automatizované analýze aplikujeme na data matematický model (např. proložíme je regresní přímkou), i **jeden jediný silný outlier dokáže drasticky změnit sklon a posun této přímky**, což vede ke zcela chybné interpretaci celého vztahu.
-  - Vizualizace (např. zobrazení bodového grafu s proloženou přímkou) nám umožní okamžitě vidět, že model selhává kvůli odlehlé hodnotě. Můžeme ji vizuálně identifikovat, interaktivně odfiltrovat a sledovat, jak se model zpřesní pro zbytek dat. (Slavným příkladem důležitosti vizualizace je *Anscombův kvartet*).+  - Vizualizace (např. zobrazení bodového grafu s proloženou přímkou) nám umožní okamžitě vidět, že model selhává kvůli odlehlé hodnotě. Můžeme ji vizuálně identifikovat, interaktivně odfiltrovat a sledovat, jak se model zpřesní pro zbytek dat. (Slavným příkladem důležitosti vizualizace je **Anscombův kvartet**). 
 +{{:courses:pasted:20260527-131216.png?350}}
  
 **2. Praktické aplikace (Detekce anomálií):** **2. Praktické aplikace (Detekce anomálií):**
Line 680: Line 688:
   - **Kyberbezpečnost:** Hledání abnormální aktivity v síti, která indikuje pokus o prolomení nebo zero-day útok.   - **Kyberbezpečnost:** Hledání abnormální aktivity v síti, která indikuje pokus o prolomení nebo zero-day útok.
   - **Bankovnictví a finance:** Detekce podvodů s kreditními kartami (kdy transakce neodpovídá typickému chování uživatele).   - **Bankovnictví a finance:** Detekce podvodů s kreditními kartami (kdy transakce neodpovídá typickému chování uživatele).
-  - V těchto doménách se běžně využívá *Vizuální analytika* a speciální mantry jako "Search, Show Context, Expand on Demand", protože ukazovat všechny miliardy normálních transakcí nedává smysl.+  - V těchto doménách se běžně využívá **Vizuální analytika** a speciální mantry jako "Search, Show Context, Expand on Demand", protože ukazovat všechny miliardy normálních transakcí nedává smysl.
 ++++ ++++
  
Line 834: Line 842:
 ---- ----
  
 +======= Question set 11 =======
 +
 +===== Question 1: Vizuální proměnné - pre-pozornostní vnímání (popout) a jeho limity =====
 +
 +++++ 1. Co znamená pre-pozornostní vnímání (Vizuální popout)|
 +**Pre-pozornostní zpracování (Pre-attentive processing)** je rychlé, paralelní a nízkoúrovňové zpracování vizuálních informací naším mozkem. Probíhá zcela automaticky, bez nutnosti soustředěné a vědomé pozornosti na daný úkol. 
 +
 +Výsledkem tohoto zpracování je **vizuální popout efekt** – cílová položka s odlišnou vlastností zkrátka "okamžitě vyskočí" z obrazu a upoutá náš zrak.
 +  - Je nezávislé na počtu rušivých prvků (distraktorů) v zorném poli (zda je na pozadí 10 nebo 100 prvků, cíl najdeme stejně rychle).
 +  - Je velmi rychlé (doba reakce je pod 200–250 ms).
 +  - Výrazně snižuje kognitivní zátěž uživatele při vizuální analýze.
 +++++
 +
 +++++ 2. Které vizuální proměnné LZE vnímat pre-pozornostně (Příklady)|
 +Lidský vizuální systém dokáže pre-pozornostně zpracovat celou řadu základních vizuálních vlastností (proměnných). Patří mezi ně například:
 +  - **Odstín barvy (Color hue):** Např. jeden červený bod okamžitě vyskočí v moři modrých bodů.
 +  - **Tvar (Shape):** Např. jeden kruh vyskočí v poli tvořeném samými čtverci.
 +  - **Velikost, délka a šířka:** Např. jedna výrazně delší čára mezi krátkými čarami.
 +  - **Orientace / Sklon:** Např. jedna šikmá čára mezi samými svislými čarami.
 +  - **Intenzita (Svítivost):** Např. jeden velmi tmavý bod na světlém pozadí.
 +  - **Pozice, Směr pohybu nebo 3D hloubka.**
 +++++
 +
 +++++ 3. Co NELZE vnímat pre-pozornostně|
 +Pokud informace nelze zpracovat pre-pozornostně, mozek musí přejít na **sekvenční prohledávání** (prohlíží prvek po prvku), což je pomalé a kognitivně náročné. Děje se to typicky ve dvou případech:
 +
 +  - **Konjunkce (kombinace) vlastností:** Pozorovatel nemůže rychle a přesně najít cíl, pokud tento cíl hledá na základě **kombinace dvou a více vlastností**, přičemž tyto vlastnosti se vyskytují i u rušivých prvků. 
 +    * **Příklad:** Hledáme "červený kruh". Na pozadí jsou ovšem "červené čtverce" a "modré kruhy". Ani barva, ani tvar zde nejsou pro hledaný prvek unikátní. Zrak nedokáže udělat paralelní průnik těchto dvou vlastností a my musíme obrázek prohledávat sekvenčně.
 +  - **Text:** Čtení a hledání konkrétního slova v bloku textu (např. najít slovo "VOJÁK" ve shluku náhodných písmen) není pre-pozornostní, vyžaduje vždy aktivní čtení a soustředění.
 +++++
 +
 +
 +===== Question 2: Izočára - jak vytvořit z dat ve 2D čtvercové mřížce =====
 +
 +++++ 1. Definice a algoritmus Marching Squares|
 +**Izočára (kontura / izolinie)** je čára, která spojuje body mající naprosto stejnou, konstantní skalární hodnotu (tzv. izo-hodnotu, např. vrstevnice na mapě výšek nebo izobary u tlaku).
 +
 +Pokud máme data zadaná jako 2D strukturovanou čtvercovou mřížku (hodnoty jsou uložené v uzlech mřížky), standardním algoritmem pro nalezení a vykreslení izočar je **Marching Squares** (pochodující čtverce). 
 +++++
 +
 +++++ 2. Krok 1: Klasifikace uzlů a hledání průsečíků na hranách|
 +Algoritmus zpracovává mřížku následujícím způsobem:
 +  - **Klasifikace uzlů:** Pro každý uzel (vrchol) mřížky se určí, zda je jeho datová hodnota **větší nebo menší** než naše hledaná izo-hodnota %%$v$%%. (Vizuálně si můžeme uzly obarvit, např. modrá pro %%$>$%% a červená pro %%$<$%%).
 +  - **Dělení hran:** Algoritmus prochází každou buňku (čtverec tvořený 4 uzly). Podívá se na každou její hranu. Pokud má hrana jeden uzel s hodnotou nad izo-hodnotou a druhý pod ní, znamená to, že izočára musí tuto hranu někde **protnout**.
 +  - **Výpočet průsečíku:** Přesný bod průsečíku na hraně se spočítá pomocí **lineární interpolace**. Výpočet zjistí přesnou pozici %%$q$%% na základě hodnot obou uzlů hrany (%%$v_i$%%, %%$v_j$%%) a hledané izo-hodnoty %%$v$%%:
 +    %%$q = \frac{p_i(v_j - v) + p_j(v - v_i)}{v_j - v_i}$%%
 +++++
 +
 +++++ 3. Krok 2: Konstrukce izočáry uvnitř buňky (Topologické stavy)|
 +Jakmile známe průsečíky na hranách čtverce, musíme je uvnitř čtverce spojit čárou.
 +  - 2D čtverec má 4 vrcholy. Každý může být buď nad, nebo pod izo-hodnotou, což nám dává %%$2^4 = 16$%% možných **topologických stavů**.
 +  - Pomocí zrcadlení a inverze (symetrie) se těchto 16 stavů zredukuje na několik málo základních (často uváděno 8).
 +  - Algoritmus obsahuje pevně danou **vyhledávací tabulku (lookup table)**. Ta pro každý topologický stav (podle toho, které rohy jsou "nad" a které "pod") přesně definuje, které průsečíky se mají uvnitř čtverce spojit úsečkou. Izočára tak po malých segmentech projde celou mřížkou.
 +++++
 +
 +++++ 4. Problém ambiguity (nejednoznačnosti) a jeho řešení|
 +Marching Squares naráží na zásadní problém, pokud dojde k **ambiguóznímu stavu**:
 +  - **Vznik:** Nastává při šachovnicovém rozložení hodnot na uzlech čtverce (např. stavy 1010 nebo 0101). Dva diagonálně protilehlé vrcholy jsou nad izo-hodnotou a zbylé dva pod ní. 
 +  - **Důsledek:** Na hranách vzniknou 4 průsečíky. Existují dvě naprosto platné možnosti, jak je uvnitř čtverce spojit (buď "shora dolů", nebo "zleva doprava"). Pokud algoritmus vybere špatnou variantu vzhledem k sousedním buňkám, vznikne v izočáře díra (nespojitost).
 +  - **Řešení:** 
 +    * **Možnost 1:** Rozdělení čtverce na dva trojúhelníky. Trojúhelníky (se 3 vrcholy) nemají ambiguózní stavy, ale volba diagonály stále ovlivňuje výsledek.
 +    * **Možnost 2 (Pokročilejší):** Aplikace tzv. **Asymptotického rozhodovače (Asymptotic Decider)**. Ten pomocí bilineární interpolace zjistí exaktní hodnotu uprostřed buňky (v průsečíku asymptot hyperbol) a podle toho, zda je tento střed nad nebo pod izo-hodnotou, spolehlivě vybere správné propojení čar.
 +++++
  
 ---- ----
Navigation

Playground

QR Code
QR Code courses:b4m39viz (generated for current page)