V dnešním článku se podíváme na to, jak hluboko do matematických základů pravděpodobnosti se náš tým musí ponořit při tvorbě svých optimalizačních řešení.

Generátory náhodných čísel

Generátor náhodných čísel je základním kamenem v mnoha optimalizačních a výpočetních algoritmech. Například Monte Carlo metody, algoritmy simulující evoluci, nebo nastavení počátečních vah v hlubokých učících se sítích. Stále je v této oblasti mnoho neznámého jak nástroje správně používat. A obvyklá lidská intuice selhává.

Ideální generátor náhodných čísel má rovnoměrné rozložení generovaných čísel a mezi jednotlivými čísly není žádná návaznost.

Typy

Skutečně náhodné generátory

Na nízké úrovni jsou skutečně náhodné události všude okolo nás – nazýváme je šumem.

Atmosférický šum je rádiový šum způsobený atmosférickými procesy – každý ho může zažít, když naladí rádiový přijímač na frekvenci, kde žádná ze stanic nevysílá. Ostatní mohou být termální, elektromagnetické a kvantové události – kosmická radiace, radioaktivní rozpadu částic nebo tak jednoduchého, jako je šum způsobený různými událostmi na PN přechodu polovodičů.

 

Bílý šum

Distribuce hodnot bílého šumu

Pseudo náhodné generátory

V oblasti výpočetní techniky se snažíme co nejvíce eliminovat šum. Počítače jsou však velmi přesné, exaktní, což je přesně to, co nepotřebujeme při práci s nahodilostí.

Pro získání něčeho náhodného, počítač vyžaduje sběr náhodných událostí z jeho okolí nebo ze specifického hardwaru se skutečně náhodným generátorem.

Příklady událostí produkovaných ve výpočetní oblasti jsou čas (velmi omezené použití), zpoždění mezi stiskem kláves na klávesnici, měřením pohybů myši, zpoždění mezi komponentami a moduly na síťových rozhraních atd. Čím je větší sbírka těchto událostí, tím lepší je entropie pro vektor inicializace pseudonáhodného generátoru.

Jinými slovy – čím déle počítač běží, tím je větší entropie pro pseudonáhodný generátor.

V programování

Existuje mnoho způsobů, jak inicializovat generátor náhodných čísel seed hodnotou. Když ale vyvíjíme program, je nezbytné, abychom mohli porovnávat jednotlivé verze chování programů mezi sebou. Je vhodné nastavit generátor náhodných čísel na stejný “seed”, aby program běžel vždy stejně a dodával stejné výsledky.

Náhodná intuice

Lidský svět je poháněn většinou normálním distribučním procesem.

 

pd

Normální distribuce

Normální rozdělení v sobě nese velmi nízkou pravděpodobnost extrémních událostí. Ve financích je obvykle náhodná odchylka 2 a vyšší považována za extrémní událost. Nicméně  obecně se v literatuře důrazně doporučuje nepoužívat normální distribuci a s ní spojenou standardní směrodatnou odchylku. Jak bylo zdokumentováno, finanční trh je spíže poháněn Poissonovým nebo jinými procesy s mnohem vyššími hodnotami na okrajích rozdělení (fat tails).

Poisonova distribuce

Lidské intuice předpokládá normální rozdělení a rozhodně nic takového jako je ploché rozdělení bílého šumu (= extrémní hodnoty přichází častěji než lidská intuice postavena na konceptu normálního rozdělení předpokládá).

Náhodnost v evolučních algoritmech

V oblasti financí a obchodování je prostým důkazem evoluční genetický algoritmus, který dokáže najít chyby v procesu zpětného testování. Například pokud existuje chyba, která umožňuje nahlédnout do budoucnosti …obvykle to trvá jen desítky generací, zjistit a využít tuto chybu. Lidská intuice by předpokládala, že se může stát, že evoluční algoritmus, takovou chybu nemusí najít. Naše zkušenosti dokládají, že ji najde vždy.

Zároveň lidsky optimalizovaný přístup k vytváření dat a ukládání do mezipaměti je nesmyslný. Genetický algoritmus z definice bude samozřejmě zkoumat všechny typy dat, které jsou k dispozici pro vyhledávání pravděpodobnostního řešení v celém vícerozměrném prostoru. Bez nízkých hodnot pravděpodobnosti na okrajích distribuce rozdělení…

Jak často očekávat nečekané lze vyjádřit pomocí entropie, jejíž opomíjení je největší příčinou nerobustnosti finančních modelů a obchodních systémů. Respektování její existence zvýší robustnost a vypovídací hodnotu našich řešení.

Miloň Krejča

 

Sorry, this entry is only available in Angličtina (Usa).