Univerzita Pardubice Fakulta ekonomicko-správní Ústav systémového inženýrství a informatiky

Rozměr: px
Začít zobrazení ze stránky:

Download "Univerzita Pardubice Fakulta ekonomicko-správní Ústav systémového inženýrství a informatiky"

Transkript

1 Univerzita Pardubice Fakulta ekonomicko-správní Ústav systémového inženýrství a informatiky Modelování dat charakterizujících virtuální server pomocí Kohonenových samoorganizujících se map Bc. Ivana Broklová Diplomová práce 2013

2

3

4 PROHLÁŠENÍ Prohlašuji, že jsem tuto práci vypracovala samostatně. Veškeré literární prameny a informace, které jsem v práci využila, jsou uvedeny v seznamu použité literatury. Byla jsem seznámena s tím, že se na moji práci vztahují práva a povinnosti vyplývající ze zákona č. 121/2000 Sb., autorský zákon, zejména se skutečností, že Univerzita Pardubice má právo na uzavření licenční smlouvy o užití této práce jako Školního díla podle 60 odst. 1 autorského zákona, a s tím, že pokud dojde k užití této práce mnou nebo bude poskytnuta licence o užití jinému subjektu, je Univerzita Pardubice oprávněna ode mne požadovat přiměřený příspěvek na úhradu nákladů, které na vytvoření díla vynaložila, a to podle okolností až do jejich skutečné výše. Souhlasím s prezenčním zpřístupněním své práce v Univerzitní knihovně Univerzity Pardubice. V Pardubicích dne Bc. Ivana Broklová

5 PODĚKOVÁNÍ: Tímto bych ráda poděkovala svému vedoucímu diplomové práce panu prof. Ing. Vladimíru Olejovi, CSc. za jeho odborné vedení, cenné rady, připomínky, podporu při vypracování této práce a také čas věnovaný konzultacím. Zároveň také děkuji svému manželovi, celé mé rodině a všem, kteří mě podporovali při studiu. Bez jejich nesmírné pomoci, trpělivosti, pochopení a tolerance by tato práce nikdy nevznikla.

6 ANOTACE Diplomová práce je zaměřena na modelování dat charakterizujících virtuální server Portal a databázový server Oracle Univerzity Pardubice. Cílem této práce je navrhnout model pro klasifikaci naměřených dat z těchto serverů pomocí Kohonenových samoorganizujících se map. Na začátku práce je uvedena charakteristika virtualizace a jejích typů, dále následuje popis Kohonenových samoorganizujících se map. V další kapitole je uveden postup návrhu modelu pro klasifikaci. Nejprve je proveden popis a analýza vstupních dat, následuje příprava dat. Další část práce je již věnována sestavení modelů, jejich verifikace v softwarové prostředí MATLAB a také vyhodnocení. KLÍČOVÁ SLOVA Virtualizace, virtuální server, Kohonenova síť, KSOM, SOM Toolbox, Kohonenova samoorganizující se mapa. TITLE Modeling of data characterizing a virtual server by Kohonen self-organizing maps. ANNOTATION The work is focused on the modeling of data characterizing the virtual server Portal and Oracle database server of University of Pardubice. The aim of this work is to propose a model for classification of measured data from servers using Kohonen self-organizing map. At the beginning, describe characteristics of virtualization and its types, followed by a description of the Kohonen self-organizing maps. The next chapter describes a design model process for classification. First, it is made to describe and analyze the input data, followed by data preparation. Another part of the work is devoted to building models, their verification in the software MATLAB and evaluation. KEYWORDS Virtualization, virtual server, Kohonen neural networks, KSOM, SOM Toolbox, Kohonen self organizing map.

7 OBSAH ÚVOD VIRTUALIZACE Hypervizor Typy virtualizace Vrstvy virtualizační architektury Cloud computing - virtualizace poskytovaná prostřednictvím internetu Dílčí závěr KOHONENOVY SAMOORGANIZUJÍCÍ SE MAPY Základní charakteristika KSOM Princip učení KSOM Učení v KSOM Základní Kohonenův algoritmus učení Dávkový a sekvenční učící algoritmus Úvodní nastavení vah a volba parametrů učení Vybavovací fáze Vlastnosti KSOM a hodnocení kvality učení Varianty a rozšíření KSOM Využití KSOM Softwarové produkty Dílčí závěr NÁVRH MODELU KLASIFIKACE DAT POMOCÍ KSOM Návrh modelu Popis a analýza vstupních dat, určení parametrů Příprava dat Rozdělení na trénovací a testovací data Všeobecný klasifikační problém Návrh modelů KSOM K-means Dílčí závěr VERIFIKACE MODELŮ A ANALÝZA VÝSLEDKŮ Modely KSOM se sekvenčním učícím algoritmem Porovnání modelů Analýza výsledků Testovací data Modely KSOM s dávkovým učícím algoritmem Porovnání modelů Analýza výsledků Testovací data...74

8 4.3 Porovnání výsledků modelů Dílčí závěr ZÁVĚR...82 SEZNAM POUŽITÉ LITERATURY...84 SEZNAM PŘÍLOH...87

9 SEZNAM TABULEK Tabulka 1: Korelační matice Tabulka 2: Datový slovník Tabulka 3: Parametry modelu sekvenční algoritmus Tabulka 4: Popis tříd dle shluků, sekvenční učící algoritmus, testovací data Tabulka 5: Parametry modelu dávkový algoritmus Tabulka 6: Popis tříd dle shluků, dávkový učící algoritmus, testovací data Tabulka 7: Průměrné hodnoty parametrů dle tříd SEZNAM OBRÁZKŮ Obrázek 1: Hypervizor typ Obrázek 2: Hypervizor typ Obrázek 3: Hybridní hypervizor Obrázek 4: Privilegované a neprivilegované instrukce Obrázek 5: Plná virtualizace Obrázek 6: Virtualizace s hardwarovou podporou Obrázek 7: Paravirtualizace Obrázek 8: Virtualizace na úrovni operačního systému Obrázek 9: Centralizovaný model (VDI) od společnosti VMware Obrázek 10: Virtualizace aplikací Obrázek 11: Struktura KSOM Obrázek 12: Příklad uspořádání KSOM Obrázek 13: Příklad čtvercové a hexagonální topologie Obrázek 14: BMU a aktivita neuronů v okolí Obrázek 15: Okolí BMU pro různé časové okamžiky Obrázek 16: Počáteční inicializace vah a koncový stav mřížky Obrázek 17: Fáze učení Obrázek 18: Efekty, které moho nastat během učení Obrázek 19: Algoritmus návrhu modelu Obrázek 20: Schématické znázornění zobrazení F:A->B Obrázek 21: U-matice, sekvenční učící algoritmus, trénovací data Obrázek 22: Hodnoty jednotlivých parametrů, sekvenční učící algoritmus, trénovací data Obrázek 23: U-matice, sekvenční učící algoritmus, testovací data Obrázek 24: Hodnoty jednotlivých parametrů, sekvenční učící algoritmus, testovací data Obrázek 25: Davies-Bouldinův index, sekvenční učící algoritmus, testovací data Obrázek 26: Shluky, sekvenční učící algoritmus, testovací data Obrázek 27: Klasifikace do tříd, sekvenční učící algoritmus, testovací data Obrázek 28: U-matice, dávkový učící algoritmus, trénovací data Obrázek 29: Hodnoty jednotlivých parametrů, dávkový učící algoritmus, trénovací data Obrázek 30: U-matice, dávkový učící algoritmus, testovací data Obrázek 31: Hodnoty jednotlivých parametrů, dávkový učící algoritmus, testovací data Obrázek 32: Davies Bouldin index, dávkový učící algoritmus, testovací data Obrázek 33: Shlukování pomocí K-means, dávkový učící algoritmus, testovací data Obrázek 34: Klasifikace do tříd, dávkový učící algoritmus, testovací data... 76

10 SEZNAM ZKRATEK API ASSOM BMU CPU DAS DB DLL GSOM GUI KSOM IT LUN LVQ MHz NAS ORA OS PCA RAM SAN SSOM TASOM TE QE VDI VLAN VM VMM VPN VPS WTA Application Programming Interface, aplikační programové rozhraní Adaptive-Subspace Self-Organizing Map, samoorganizující se mapa s adaptivním podprostorem Best Matching Unit, vítězný neuron Central Processing Unit, procesor Direct Attached Storage, úložiště připojené k serveru Davies Bouldin Index, index hodnotící kvalitu shlukování Dynamic Link Library, dynamicky linkovaná knihovna Growing Self-Organizing Map, rostoucí samoorganizující se mapa Graphical User Interface, grafické uživatelské rozhraní Kohonen`s Self-Organizing Maps, Kohonenova samoorganizující se mapa Informační technologie Logical Unit Number, logická jednotka Learning Vector Quantization, vektorová kvantizace učením Mega Hertz, jednotka frekvence Network Attached storage, síťové připojené úložiště Databázový server Oracle Operating System, operační systém Principal Component Analysis, metoda hlavních komponent Random-Access Memory, paměť s přímým přístupem Storage Area Network, datová síť Spherical Self-Organizing Maps, sférická samoorganizující se mapa Time Adaptive Self-Organizing Map, časově adaptivní samoorganizující se mapa Topographic Error, topografická chyba Quantization Error, kvantizační chyba Virtual Desktop Infrastructure, centralizovaný model Virtual Local Area Network, virtuální lokální síť Virtual Machine, virtuální stroj Virtual Machine Monitor, hypervizor Virtual Private Network, virtuální privátní síť Virtual Private Server, virtuální privátní server Winner Takes All, učící pravidlo, strategie vítěz bere vše

11 SEZNAM POUŽITÝCH SYMBOLŮ Shluk Euklidovská vzdálenost Manhattanská vzdálenost mezi neurony Míra distorze Práh okolí Variace okolí Míra kvality kvantizace Účelová funkce Adaptační funkce okolí Index vítězného neuronu Objekt Množina objektů P Datová matice Míra podobnosti shluků Rozptylu uvnitř shluku Směrodatná odchylka Čas začátku epochy Čas konce epochy Synaptické váhy Kriterium těsnosti Obraz (funkční hodnota) Vstupní vzor Aritmetický průměr Normovaná hodnota α Hladina spolehlivosti Chybějící hodnota i-tého znaku v j-tém řádku u k-tého shluku Parametr učení Velikost okolí Třída

12 ÚVOD Umělá inteligence patří již řadu let k oblastem lidského zkoumání. Mezi moderní přístupy v umělé inteligenci patří neuronové sítě, které mají za cíl modelovat chování lidského mozku. Důležitou vlastností neuronových sítí je schopnost učit se a následně naučené poznatky zevšeobecňovat tj. reagovat i na neznámé vstupy, na které nebyla neuronová síť učena. Podle algoritmu učení lze neuronové sítě rozdělit na neuronové sítě s učením s učitelem a na neuronové sítě, které ke svému učení učitele nepotřebují. Mezi neuronové sítě s učením bez učitele patří Kohonenovy samoorganizující se mapy, které v roce 1982 navrhl Teuvo Kohonen. [26] Diplomová práce je zaměřena na modelování dat charakterizujících virtuální server Portal a databázový server Oracle Univerzity Pardubice. Cílem práce je analyzovat data virtuálního serveru, navrhnout model pro klasifikaci naměřených dat těchto serverů pomocí Kohonenových samoorganizujících se map a navržený model verifikovat. Je rozdělena na čtyři hlavní kapitoly. První kapitola charakterizuje jednotlivé druhy hypervizorů, které řídí procesy a zdroje virtualizovaných operačních systémů (virtuálních strojů). Dále první kapitola popisuje jednotlivé typy virtualizace, mezi které patří především plná virtualizace, virtualizace s hardwarovou podporou, paravirtualizace a virtualizace na úrovni jádra operačního systému. Virtualizační technologie lze použít alespoň v sedmi vrstvách architektury IT. Tyto jednotlivé vrstvy jsou v kapitole popsány. Dále tato kapitola uvádí hlavní výrobce produktů pro virtualizaci včetně jednoduchého přehledu aktuálních produktů, které nabízí pro danou oblast virtualizace. Druhá kapitola charakterizuje Kohonenovy samoorganizující se mapy. Je zde uveden základní algoritmus učení a také podrobnější popis jednotlivých kroků učení. Tato kapitola také obsahuje teoretická východiska pro nastavování parametrů učení včetně uvedení nežádoucích efektů, které mohou v průběhu učení nastat. Závěr kapitoly patří přehledu softwarových produktů, které umožňují Kohonenovy samoorganizující se mapy modelovat a také přehledu aplikací, které je využívají a pomáhají lidem řešit složité úlohy např. v oblastech zdravotnictví, ekologie, marketingu. Ve třetí kapitole je uveden popis návrhu modelu pro klasifikaci dat charakterizujících stav provozu virtuálního webového serveru Portal a databázového serveru Oracle na základě naměřených hodnot parametrů během provozu serverů. Nejprve je proveden popis a analýza vstupních dat. Následně je provedena příprava dat, která zahrnuje normování dat, zjištění 12

13 a ošetření chybějících hodnot a také korelační analýzu, která zjišťuje korelační vztahy mezi parametry. Z takto předzpracovaných dat je sestavena datová matice, která slouží jako vstup pro klasifikaci. V kapitole je dále uveden popis rozdělení dat na trénovací a testovací, dále popis všeobecného klasifikačního problému a také popis nastavení parametrů učení jednotlivých modelů, které budou následně vyhodnocovány. V závěru kapitoly je uveden algoritmus K-means, který lze použít pro shlukování reprezentantů Kohonenovy samoorganizující se mapy. Čtvrtá kapitola je věnována sestavení modelu pro klasifikaci v softwarovém prostředí MATLAB R2012b s použitím SOM Toolboxu. Navržené modely jsou porovnány a dle získaných výsledků je proveden výběr nejvhodnějšího modelu. Dále kapitola uvádí popis přiřazení tříd, které jsou reprezentovány výslednými shluky. Následně je uveden popis objektů, které jsou v jednotlivých třídách zastoupeny. 13

14 1 VIRTUALIZACE Termínem virtualizace v prostředí informačních technologií lze dle [4] označit technologie, jejichž cílem je vytvořit vrstvu abstrakce mezi hardwarovými systémy a softwarem, který na nich funguje. Virtualizační řešení nám mohou umožnit provoz několika operačních systémů a jejich verzí na jednom fyzickém hostiteli. Virtualizace nám tedy umožňuje nahlížet na jednu fyzickou entitu jako na několik logických entit. Virtualizované prostředí je konzistentní s fyzickým, nevirtualizovaným prostředím. Počátky virtualizace se dle literatury [28] datují na přelom 60. a 70. let minulého století. Během dalších desetiletí prošla virtualizace vývojem a v dnešní době představuje základní stavební kámen pro většinu IT infrastruktur. Virtualizace mění veškeré pohledy na správu systémů, úložišť, sítí, zabezpečení, operačních systémů a aplikací. Základní vlastností virtualizace je oddělení operačního systému od hardwarových prostředků pomocí virtualizační vrstvy. Tato vrstva zajišťuje nezávislost operačního systému na konkrétním hardware a tím zajišťuje kompatibilitu napříč servery. Další vlastností virtualizace je reprezentace virtualizovaného systému několika soubory na pevném disku. Virtualizované systémy jsou od sebe izolovány, nemohou se ovlivňovat a mají nízký overhead výkonu, tj. virtualizovaný systém může využívat méně než 5 % výkonu procesoru fyzického hostile. Z dalších funkcí virtualizace lze jmenovat tvorbu snapshotů, které umožňují např. při havárii návrat k určitému bodu zmrazení dat, dále datová deduplikace pro odstraňování duplicitních souborů v úložišti dat nebo paměti a také možnost škálovat systém pomocí jednoduchého přidání virtuálního hardware - např. více operační paměti RAM, více jader procesorů, disků, síťových karet - a to i při spuštěném systému. [27] Virtualizace přináší řadu výhod. Hlavní důvody pro její implementaci lze shledat v úsporách energie a místa. Jako příklad lze uvést úsporu nákladů na provoz u několika virtuálních serverů, které jsou spouštěny nad jedním fyzickým serverem oproti provozu několika fyzických serverů. Jak již bylo uvedeno, virtuální počítač je reprezentován několika soubory na disku. Lze jej tedy snadno duplikovat pouhým zkopírováním složky, ovšem za předpokladu, že existuje dostatek místa na fyzickém disku. Z dalších důvodů pro implementaci virtualizace lze uvést zjednodušení zálohování. Jelikož zálohování znamená pouhé zkopírování množiny souborů, lze vytvářet pravidelné zálohy v kritických fázích projektu. Pokud se vyskytne problém, lze se snadno vrátit k předchozí verzi počítače. Není vyžadován žádný zvláštní zálohovací agent, neboť virtuální počítače jsou uloženy na souborovém serveru. Virtuální počítače jsou také ideální pro zotavení po havárii, neboť 14

15 stačí pouze zkopírovat jejich soubory do jiného umístění. Z dalších výhod virtualizace lze uvést vytvoření vzdáleného testovacího, vývojového či školícího prostředí, protože po ukončení činnosti lze virtuální počítač smazat a pouhým zkopírováním vytvořit opět nový. Virtuální počítač je tak připraven za mnohem kratší dobu než fyzický počítač. Naopak překážkou pro implementaci virtualizace mohou být vyšší počáteční pořizovací náklady na specializovaný hardware fyzického hostitelského serveru. [28] Dle výzkumu [6], který provedla analytická a konzultační společnost Canalys v květnu 2012, se neustále zvětšuje počet virtualizovaných firem a lze předpokládat, že malých a středních firem virtualizovaných z 80 % (malé a střední firmy jsou silně virtualizované) bude do roku 2014 dvojnásobek. Motivací pro nasazení virtualizace není dle tohoto výzkumu jen úspora nákladů, ale také snaha zajistit provázanost a plynulost podnikání a zlepšit využití hardware. 1.1 Hypervizor Hypervizor, někdy označován jako Virtual Machine Monitor (VMM), je software zodpovědný za provoz všech virtuálních strojů (VM - Virtual Machine). Virtuální stroj se skládá z vlastního virtualizovaného hardwaru, virtualizovaného operačního systému a aplikací, které jsou nad virtualizovaným OS spouštěny. Úkolem hypervizoru je především zprostředkovávat přístup virtualizovaných operačních systémů k fyzickému hardwaru (provádění privilegovaných instrukcí), řízení přístupu virtuálního CPU k CPU fyzického hostitele, přístup k fyzickým I/O zařízením, a dále vytvoření, spuštění, zastavení a zrušení VM. Existují následující typy hypervizoru: Typ 1, Typ 2 a Hybridní typ. [23], [24] Hypervizor typ 1 je dle [23] a [28] umístěn přímo na fyzickém hardwaru hostitelského počítače a nad ním jsou umístěny virtuální stroje. Kód hypervizoru je integrován přímo do hardwaru a umožňuje přístup k hardwaru hostitelského serveru všem virtuálním strojům, které jsou nad ním spuštěny. Stane se tak na úkor pouze malého množství fyzických zdrojů hostitelského serveru a proto umožňuje spuštění nejvyššího možného počtu virtuálních strojů. Hostovaný operační systém je spouštěn ve vrstvě nad hypervizorem, jak ukazuje obr. 1. Obrázek 1: Hypervizor typ 1 Zdroj: upraveno podle [23] 15

16 Tento typ hypervizoru obvykle nabízí vyšší výkon a proto bývá upřednostňován pro serverovou virtualizaci. Příkladem zástupce s hypervizorem typu 1 od společnosti Microsoft je Hyper-V, společnost VMware nabízí ESX Server nebo ESXi Server a společnost Citrix produkt XEN Server. [23], [28] V případě hypervizoru typu 2 je spouštěn hostovaný virtualizovaný operační systém nad hypervizorem, který běží na existujícím operačním systému. Hostované operační systémy jsou spouštěny ve třetí vrstvě, jak znázorňuje obr. 2. Hypervizor vytváří prostředí virtuálních strojů a koordinuje výzvy k CPU, paměti, disku, sítí a jiných zdrojů prostřednictvím hostitelského operačního systému. Základní operační systém hostitele vyžaduje také zdroje, a proto ovlivní provoz virtuálních strojů běžícím nad ním. Tento typ hypervizoru se nedoporučuje používat v provozním prostředí, protože může dojít k znepřístupnění služeb na virtuálních strojích a tím k negativním dopadům na uživatele. Při provozování virtualizovaného produktu nad stávajícím operačním systémem podléhají všechny virtuální stroje procesu aktualizace hostitelského operačního systému. Pokud je vyžadován restart počítače, dojde rovněž k restartu všech virtuálních strojů. Z těchto důvodu není tento model používán pro serverovou virtualizaci, ale je používán pro virtualizaci desktopů a to především pro testování nebo vývoj. Ze zástupců pro softwarovou serverovou virtualizaci lze jmenovat produkt Virtual Server od společnosti Microsoft a VMware Server. [28] Obrázek 2: Hypervizor typ 2 Zdroj: upraveno podle [23] Hybridní hypervizor je často přiřazován do skupiny typu 2. Hypervizor je spouštěn vedle hostitelského operačního systému přímo na fyzickém hardware. Hostované operační systémy jsou spuštěny nad hyperizorem, jak lze spatřit na následujícím obr. 3. Tento typ hypervizoru je upřednostňovanou variantou pro uživatelské počítače a to převážně pro testování a vývoj. Virtuální prostředí je v těchto případech spouštěno pomocí ikony umístěné na ploše. Příkladem tohoto typu virtualizačního řešení je XP mode v operačním systému Windows 7, Sun Virtual Box společnosti Oracle nebo VMware Workstation. [23] 16

17 Obrázek 3: Hybridní hypervizor Zdroj: upraveno podle [23] 1.2 Typy virtualizace Virtualizaci lze dle [27] provádět na různých úrovních od virtualizace hardwarových komponent (např. virtuální paměť) až po virtualizaci všech součástí počítače nebo virtualizaci celých sítí. Dle závislosti na míře a způsobu virtualizace fyzického počítače lze provést rozdělení na několik typů jak jej uvádí většina literatury - na parciální virtualizaci, plnou virtualizaci, paravirtualizaci, virtualizaci s hardwarovou podporou, emulaci a virtualizaci na úrovni jádra operačního systému. V současné době převažují kombinace různých typů virtualizace. Především se jedná o kombinaci plná virtualizace + virtualizace s hardwarovou podporou + paravirtualizace. Plná virtualizace znamená virtualizaci všech součástí počítače. Dochází k oddělení fyzické vrstvy a veškerý software běží na virtuálním hardware, který lze navrhnou dle našich požadavků. Virtuální stroje nekomunikují přímo s fyzickým hardwarem, ale jejich požadavky odeslané virtuálním zařízením jsou zpracovány a předány fyzickým zařízením. Spuštěný operační systém nemůže žádným způsobem poznat, že nemá přístup k fyzickému hardware a není třeba jej modifikovat. Plná virtualizace však vyžaduje podporu hardwaru procesoru, základní desky a BIOSu. Nejznámějšími zástupci jsou VMware ESX Server a ESXi Server, Microsoft Hyper-V a Citrix XEN Server, který je určen pro Linux. [18], [38] Následující obr. 5 znázorňuje architekturu plné virtualizace včetně privilegovaných a neprivilegovaných režimů neboli jednotlivých úrovní přístupových oprávnění systému. Nejprve však považuji za důležité krátce popsat režimy, které jsou znázorněny na obr. 4. V části s nejvyššími oprávněními, označované Ring 0, je spuštěno jádro operačního systému, které má práva spouštět privilegované instrukce. Tato část může náležet hypervizoru, tj. virtualizační vrstvě, která se nachází mezi fyzickým a virtuálním hardwarem a řídí přístup virtuálního CPU k fyzickému. Částem neprivilegovaného režimu, Ring 1 a Ring 2, náleží úroveň ovladačů zařízení. Neprivilegovaný proces může přistupovat do privilegovaného režimu pouze přes brány např. adresy podprogramu, které může proces volat. Části Ring 3 s neprivilegovaným režimem přísluší přístupová práva na aplikační úrovni. Znamená to, 17

18 že např. aplikace v Ring 3 bude mít zabráněn přístup např. k tiskárně či webové kameře, dokud uživatel nepovolí instalaci ovladačů nacházejících se v Ring 1 nebo Ring 2. [24], [7] Obrázek 4: Privilegované a neprivilegované instrukce Zdroj:[24] Následující obrázek znázorňuje, jak již bylo zmíněno, plnou virtualizaci. Privilegovaný režim v Ring 0 v tomto případě náleží hypervizoru. Obrázek 5: Plná virtualizace Zdroj: upraveno podle [7] Částečná neboli parciální virtualizace tvoří v současné době základ všech moderních operačních systémů. Jedná se o virtualizaci, při které virtuální stroj simuluje více instancí hardwaru hostitele. Příkladem lze uvést virtuální paměť. V tomto případě se však obecně nejedná o virtuální stroj. [25] Virtualizace s hardwarovou podporou je založena na podpoře ze strany CPU, pomocí které je urychlen přenos mezi hostujícím operačním systémem a hypervizorem. Tento typ 18

19 virtualizace využívá většina zástupců využívajících plnou virtualizaci. Není nutné modifikovat hostující operační systém. Procesory s hardwarovou podporou vyvíjejí společnosti Intel a AMD. Hardwarová podpora Intel-VT je zabudována např. do procesorů Intel Xeon a 3rd Generation Intel Core vpro. Společnost AMD nabízí AMD-V technologie, do které náleží např. procesory AMD Opteron. Ze zástupců využívajících virtualizaci s hardwarovou podporou lze jmenovat Microsoft Hyper-V, VMware ESX Server a ESXi Server a také Citrix XenServer. [11], [27] Na obr. 6 lze spatřit architekturu virtualizace s hardwarovou podporou. V tomto modelu je kromě úrovní Ring 0 až Ring 3 znázorněna úroveň Ring-1, ve které hypervizor využívá některých vlastností výkonných procesorů vyvíjených společnostmi Intel a AMD. Tato úroveň vznikla z potřeby umístit hypervizor do jiné úrovně než do úrovně pro jádro operačního systému Ring 0. Ring-1 umožňuje hypervizoru spustit výpočty přímo místo spouštění prostřednictvím operačního systému. [7] Obrázek 6: Virtualizace s hardwarovou podporou Zdroj: upraveno podle [7] Dalším typem virtualizace je paravirtualizace, která nabízí možnost komunikace upraveného jádra virtualizovaného operačního systému s fyzickým hardwarem přes speciální aplikační rozhraní (API - Application Programming Interface) upraveného jádra hostovaného operačního systému. Paravirtualizace je znázorněna na obr. 7. Systémová volání probíhají přes hypervizor. Virtualizovaný systém ví o tom, že je virtualizován a je nutné jej modifikovat. Systémy na bázi paravirtualizace dosahují vysoké efektivity. Zástupcem paravirtualizace pro Linux je Citrix Xen Server (náleží také do plné virtualizace). Dalším zástupcem je např. VMware Workstation a také Sun Virtual Box. [27], [34] 19

20 Obrázek 7: Paravirtualizace Zdroj: upraveno podle [7] Emulace představuje virtualizaci hardwarových komponent za účelem simulace jiné hardwarové platformy. Hostitelský systém musí dynamicky překládat instrukce pro emulovaný HW, a proto se jedná se o nejpomalejší způsob virtualizace. Hlavní využití nachází v případě, kdy nemáme k dispozici požadovaný hardware např. pro běh softwaru na jiné platformě, než pro jakou byl naprogramován. Zástupci této kategorie jsou Bochs a QEMU, který nabízí dva režimy emulace plnou a uživatelskou. Plná emulace umožňuje v emulátoru nabootovat celý operační systém a uživatelská emulace umožňuje spuštění aplikace pro jiný procesor. [34], [38] Dalším typem virtualizace je virtualizace na úrovni jádra operačního systému. K virtualizaci v tomto případě dochází až na úrovni operačního systému. Virtualizované prostředí běží nad společným jádrem OS, které má přímý přístup k fyzickému hardwaru. Systém umožňuje měnit limity systémových prostředků za běhu virtuálních serverů a také umožňuje dynamicky zvyšovat i snižovat hodnoty hardwarového nastavení virtuálních serverů. Tato metoda umožňuje spuštění více instancí stejných operačních systémů, tzv. kontejnerů, určených pro stejnou architekturu jako hostitelský systém, avšak mohou být s různými knihovnami a popřípadě různé distribuce. Virtualizace na úrovni OS je znázorněna na obr. 8. Společně s paravirtualizací je považována za nejefektivnější typ virtualizace. Virtuální stroje založené na tomto typu virtualizace jsou využívány především pro testování software na různých distribucích a také pro hostingové služby, neboť dovolují zákazníkům zakoupit si virtuální privátní server (VPS Virtual Private Server) a ten si upravit dle svých představ bez ohledu na ostatní uživatele. Poskytovatel může provozovat více virtuálních serverů na jednom fyzickém serveru. Ze zástupců tohoto typu virtualizace lze jmenovat Linux VServer nebo Parallels Virtuozzo. [7], [34] 20

21 Obrázek 8: Virtualizace na úrovni operačního systému Zdroj: upraveno podle [7] 1.3 Vrstvy virtualizační architektury Virtualizační technologie lze dle [28] použít v několika vrstvách architektuy IT. Jedná se o serverovou virtualizaci, virtualizaci úložišť, virtualizaci sítí, virtualizaci desktopů, virtualizaci prezentační vrstvy, virtualizaci aplikací a virtualizaci pro mobilní telefony. Nejčastěji je však virtualizace uváděna v souvislosti s virtualizací serverů. Serverová virtualizace umožňuje spuštění více virtuálních serverů na jednom fyzickém serveru. Produkty serverové virtualizace umožňují virtualizovat libovolný operační systém - např. Windows, Linux a některé formy systému UNIX. Při serverové virtualizaci se fyzický server stane hostitelem všech virtuálních operačních systémů nebo virtuálních strojů. Jak již bylo uvedeno v kapitole 1.1, pro serverovou virtualizaci se používají nejčastěji typ 1, výjimečně typ 2. [28] Serverová virtualizace nabízí řadu výhod. Mezi hlavní výhody patří úspora nákladů, rychlost nasazení virtuálního stroje, mobilita virtuálního stroje, snadné používání, bezpečnost (lze je izolovat), jednoduchost zotavení po havárii (stačí zkopírovat soubory do jiného umístění), možnost škálovat výkon virtuálních počítačů a také finanční úspory na software, neboť např. Microsoft změnil licenční politiku tak, aby podporovala virtualizaci a počínaje vydáním operačního systému Windows Server 2003 R2 k zakoupení jedné licence zaručuje až čtyři bezplatné virtuální instance operačního systému. Mezi hlavní výrobce produktů pro serverovou virtualizaci patří společnosti Microsoft, VMware a Citrix. Ze zástupců lze jmenovat VMware ESX nebo ESXi server, Microsoft Hyper-V a Citrix XEN server. [28] 21

22 Dle literatury [23] a [28] existují dva základní modely virtualizace desktopů: uživatelský (místní) a centralizovaný. V případě uživatelské virtualizace desktopů je virtualizační software nainstalován na fyzickém desktopu uživatele, který pak musí spustit virtuální desktop nad svým fyzickým desktopem. Zástupcem je např. Sun Virtual Box nebo VMware workstation. Centralizovaný model (VDI - Virtual Desktop Infrastructure) nabízí možnost centralizovat nasazení desktopů a tím snížit náklady na distribuovanou správu. V tomto modelu, který je znázorněn na obr. 9, se každý uživatel připojí k vlastnímu desktopovému virtuálnímu stroji. Hostitelský server, na němž je spuštěn hypervizor, spravuje všechny desktopové virtuální stroje a zajišťuje jejich dostupnost. Koncový uživatel přistupuje k vlastnímu virtuálnímu desktopu přes připojení ke vzdálené ploše, obdobně jako k terminálu, ale v tomto případě má k dispozici svůj vlastní desktop, se kterým po spuštění pracuje stejně, jako v případě fyzického uživatelského počítače. Virtuální desktopy jsou spouštěny nad hostitelskými servery, které používají sdílené úložiště a tak zajišťují dostupnost desktopů. Funkci VDI zajišťuje tzv. connection broker, který komunikuje s klientem i s virtuální infrastrukturou a řídí veškeré procesy týkající se VDI. Na straně tenkého klienta je nutné mít nainstalovaný operační systém, který je třeba aktualizovat, antivirovou ochranu a klienta pro připojení ke vzdálené ploše. Správa klienta je podstatně jednodušší a efektivnější než správa fyzického desktopu. [28] Virtualizace desktopů nabízí výhody v oblasti testování, vývoje či školení, neboť po ukončení činnosti stačí nastavit virtuální počítač zpět do původního stavu. Další výhodou je úsporu času ve srovnání se správou distribuovaných systémů. Z dalších výhod lze jmenovat možnost tvorby obrazů osobních počítačů s přístupem odkudkoliv (kde má uživatel k dispozici internetové připojení) pomocí klienta pro přístup ke vzdálené ploše, dále možnost izolace aplikací, jednoduchou migraci na nový operační systém atd. Z nevýhod nelze opomenout, že na činnost jednoho desktopu jsou potřeba dva počítače tenký klient a druhý centralizovaný. Dále je nutné upozornit na skutečnost, že nelze tímto způsobem provozovat všechny aplikace s ohledem na jejich technologii přístupu. Dále je nutné mít k dispozici internetové připojení odpovídající kvality. [28] 22

23 Obrázek 9: Centralizovaný model (VDI) od společnosti VMware Zdroj:[27] Virtualizace aplikací používá virtualizaci nad operačním systémem. Virtualizace aplikací však neposkytuje engin ke spouštění celého operačního systému, ale odděluje provozní aplikace od operačního systému. Pomocí enginu virtualizace aplikací lze spustit virtualizované aplikace na libovolné verzi systému Windows. Systém Windows slouží jako základna provozu aplikací. Funkce typu tisk, spolupráce aplikací, výměna aplikačních informací, grafické zobrazení a komunikace jsou integrovány do jádra operačního systému. Tyto funkce není nutné programovat do aplikací, neboť je stačí v případě potřeby zavolat. Tradiční instalace aplikací pronikají do operačního systému (v systému Windows jde o knihovny DLL) a mění jeho konfiguraci. Někdy tyto změny způsobí nefunkčnost jimi volaných funkcí. Při virtualizaci aplikace se nevytváří snímek instalačního procesu, ale vytváří se snímek stavu spuštěné aplikace nebo všeho, co je potřeba k funkčnosti dané aplikace v daném operačním systému. Virtualizace aplikací tak vytváří ochrannou vrstvu kolem operačního systému, jak je znázorněno na obr. 10, která jej chrání před všemi změnami, k nimž by mohlo při instalaci určité aplikace dojít. [28] 23

24 Obrázek 10: Virtualizace aplikací Zdroj: upraveno podle [28] Virtualizace úložišť se používá dle [28] ke sloučení fyzického úložiště z více zařízení tak, aby se jevilo jako jednoho virtuálního úložiště. Toto úložiště může nabývat několika podob: přímo připojené úložiště k serveru (DAS Direct Attached Storage), síťové připojené sdílené úložiště (NAS Network Attached Storage) nebo datová síť (SAN - Storage Area Network), která poskytuje přístup k externím zařízením, jakými mohou být disková pole nebo zálohovací zařízení. Sítě SAN lze připojit prostřednictvím několika protokolů, např. Fibre Channel nebo iscsi. Virtualizace úložišť není pro serverovou virtualizaci nezbytná, ale výhodou jejího použití je možnost využití thin provisioningu (alokace prostoru na disku) nebo přiřazení logické jednotky (LUN Logical Unit Number) úložiště určité velikosti. Provisioning funguje na bázi přidělení prostoru podle skutečné potřeby. Virtualizace úložišť snižuje náklady, neboť jsou hrazeny náklady pouze za úložiště, které je skutečně využito. Cílem virtualizace sítí je rozdělit síťové prostředky takovým způsobem, aby vytvořily několik logických jednotek, které jsou nezávislé na svých fyzických vlastnostech a přiřadit je konkrétním zdrojům. Příkladem je virtuální lokální síť (VLAN - Virtual Local Area Network) a virtuální privátní síť (VPN - Virtual Private Network). [28] Dalším aspektem sedmivrstvého modelu virtualizace je správa virtualizace zaměřená na technologie, které spravující fyzickou i virtuální část datového centra. Tyto části jsou prezentovány jako jediná a sjednocená infrastruktura pro poskytování služeb. Správu virtualizace neprovádí nutně jedno rozhraní. Je však potřebné zajistit, aby byla oddělena vrstva, která zahrnuje množinu hardwarových zdrojů (hostitelské servery, úložiště, síťový hardware apod.) a vrstva nabídky virtuálních služeb, kterou tvoří virtuální počítače (servery nebo desktopy nabízející službu koncovým uživatelům). Ze zástupců lze jmenovat např. System Center od společnosti Microsoft nebo vcenter společnosti VMware. [28] 24

25 Virtualizace prezentační vrstvy (dříve označována jako terminálové služby) nabízí uživatelům pouze prezentační vrstvu z centrálního umístění. Hlavní rozdíl mezi virtualizací prezentační vrstvy a virtualizací desktopů spočívá v odlišnosti sdílení prostředí desktopu. V případě virtualizace desktopu získá každý uživatel přístup ke svému vlastnímu desktopu, ale při virtualizaci prezentační vrstvy musí uživatelé sdílet prostředí desktopu se všemi ostatními uživateli připojenými k serveru. Vlivem zavádění virtualizace aplikací klesá zavádění této virtualizace, ale protokoly používané pro virtualizaci prezentační vrstvy jsou v popředí virtualizace desktopů i serverové virtualizace. Jedná se o protokoly používané k přístupu, použití a správě virtuálních zátěží. [28] V současné době je stále ve vývoji virtualizace pro mobilní telefony. Jedná se o virtualizaci, která bude umožňovat firemním zaměstnancům používat jeden chytrý mobilní telefon, s možností přepínat mezi soukromým a firemním prostředím pomocí virtualizovaného operačního systému nebo virtuálního stroje. Pomocí virtualizace budou zaměstnanci mít stálý přístup k obchodním aplikacím. Mobilní virtualizace bude podporována čipovými architekturami Cortex-15 společnosti ARM. Vyvíjeným zástupcem je Horizon Mobile společnosti VMware. [21] Potřeba mít všechny potřebné informace a aplikace vždy u sebe vede k šíření tzv. chytrých telefonů a Cloud computingu. Díky připojení k internetu a mobilnímu zařízení v podobě telefonu nebo notebooku mohou uživatelé na cestách pracovat podobně, jako v kanceláři. 1.4 Cloud computing - virtualizace poskytovaná prostřednictvím internetu Cloud computing je označení pro již existující služby a programy, které jsou uloženy na internetových serverech a jsou poskytovány uživatelům prostřednictvím webového prohlížeče. Cloud computing lze dle služeb, které poskytuje, rozdělit na tři základní kategorie: Software as a Service neboli poskytování softwaru jako služba, Platform as a Service neboli poskytování platformy jako služba a Infrastructure as a Service neboli poskytování infrastruktury jako služba. [3] Cloud computing lze také rozdělit dle způsobu poskytování služeb do čtyř hlavních skupin: privátní cloud, komunitní cloud, veřejný cloud a hybridní cloud. Privátní cloudy jsou zpravidla využívány společnostmi, které mají více poboček a vysoké nároky na výpočetní kapacitu. Komunitní cloud umožňuje sdílení infrastruktury více společnostmi, které mají stejné zájmy. Veřejný cloud je služba nabízená širší veřejnosti ( , sociální sítě) a hybridní cloud vzniká kombinací předchozích typů. [3] 25

26 V privátním cloudu společnosti plně využívají možností virtualizace serverů. Jedná se o technické řešení umožňující provoz většího množství virtuálních strojů a tím v případě potřeby umožňuje ve větší míře čerpat jeho disponibilní kapacitu. Poskytovatelé cloudových služeb tak flexibilně reagují na požadavky proměnlivého využití prostředků uživatelů. Uživateli se projevuje část jeho využívaných prostředků jako celek bez ohledu na jeho skutečný rozsah využívání. Zdroje uživatelů jsou odděleny a nelze přistupovat ke zdrojům jiného uživatele. Prostředky a aplikace jsou poskytovány jako služba. Uživatelé tak mohou žádat o nové zdroje a aplikace a provádět konfigurace. Využití těchto služeb je možné měřit a následně jednoduše určit náklady spojené s jejich využitím. Uživatelé tak uhradí náklady pouze za zdroje, které skutečně využívají. [3], [22] 1.5 Dílčí závěr První kapitola popisuje význam virtualizace a dále výhody a nevýhody její implementace. Mezi hlavní výhody patří úspora nákladů na energii a místo, zjednodušené zálohování a zotavení po havárii, snížení nákladů na software a jeho správu. Z nevýhod nelze opomenout náklady na specializovaný hardware fyzického hostitelského serveru. V kapitole jsou také popsány jednotlivé druhy hypervizoru, který je zodpovědný za provoz všech virtualizovaných prostředků. Existuje několik typů virtualizace, každá z nich používá jinou konfiguraci hypervizoru, operačního systému a aplikací. V současné době převažují kombinace různých typů virtualizace, z nichž převažuje plná virtualizace, virtualizace s hardwarovou podporou a paravirtualizace. Virtualizaci lze provést na několika úrovních. Jedná se o virtualizaci serverů, desktopů, aplikací, úložišť, sítí, správy virtualizace, prezentační vrstvy. Nejčastěji je virtualizace uváděna v souvislosti s virtualizací serverů. 26

27 2 KOHONENOVY SAMOORGANIZUJÍCÍ SE MAPY Motivací pro vytvoření samoorganizujících se neuronových sítí byly biologické poznatky o funkci mozku a jeho organizaci do oblastí připomínajících mapy. Jedná se o neuronové sítě, které jsou schopny samoorganizace, tj. jsou schopny naučit se klasifikovat vzory bez informace o požadovaných výstupních hodnotách neuronů. Jedná se o tzv. učení bez učitele. Neuronové síti jsou poskytnuty pouze vstupní hodnoty proměnných. Podstata samoorganizujících se map spočívá v rozeznání stejných nebo podobných vlastností na svých vstupech a následné klasifikaci a sdružování předkládaných podobných vektorů do map nebo shluků. Samoorganizující se neuronová síť musí sama objevit prototypy, příznaky, kategorie nebo jiné statistické pravidelnosti a nepravidelnosti ve vstupních datech a zakódovat je na svém výstupu. Základním principem učení je hledání minimální vzdálenosti mezi vzory a aktuálními hodnotami. [16], [26] 2.1 Základní charakteristika KSOM Kohonenovy samoorganizující se mapy (KSOM - Kohonen`s Self-Organizing Feature Maps) patří do skupiny neuronových sítí, které nepotřebují ke svému učení učitele a které využívají soutěžní strategie učení (Competitive Learning). Síť navrhl v roce 1982 Teuvo Kohonen, ale principy, ze kterých vychází, byly popsány již například Vonder Malsburgerm nebo Willshawerm. Jedná se o dvouvrstvou neuronovou síť, ve které jsou vstupní a výstupní neurony úplně propojeny, tj. každý neuron ve výstupní vrstvě má informaci od všech vstupů, jak je znázorněno na obr. 11. [17], [26] kompetiční (výstupní) vrstva synaptické váhy vstupní vrstva Obrázek 11: Struktura KSOM Zdroj: upraveno podle [26] 27

28 Vstupní vrstva je tvořena z neuronů, které slouží k distribuci vstupních vzorů, kde. Váhový vektor neuronu, a, neboli synaptické váhy příslušející každému neuronu, představují souřadnice udávající konkrétní polohu neuronu v prostoru. V kompetiční vrstvě mají neurony mezi sebou postranní vazby, které jsou uspořádány do zvolené topologické mřížky, nejčastěji do čtvercové topologické mřížky. Na obr. 12 je znázorněna čtvercová topologická mřížka se dvěma vstupy a devíti výstupními neurony v kompetiční vrstvě. Neurony v kompetiční vrstvě plní funkci reprezentantů a výstupní mřížka určuje, které neurony spolu v neuronové síti sousedí. Počet neuronů je parametrem sítě, je volitelný a nejčastěji se pohybuje řádově v desítkách až stovkách neuronů. Neurony sítě vycházejí z formálních neuronů, které nemají práh a jejich výstup je nejčastěji dvouhodnotový (0 neaktivní, 1 aktivní). Aktivní je vždy jen jeden. [17], [26] Kompetiční vrstva Synaptické váhy Vstupy Obrázek 12: Příklad uspořádání KSOM Zdroj: upraveno podle [8] 2.2 Princip učení KSOM Učící algoritmus KSOM se snaží rozmístit neurony v mřížce tak, aby jejich rozdělení aproximovalo pravděpodobnostní rozdělení trénovacích vzorů. Při učení se porovnávají vstupní vzory a vektory uložené v každém neuronu. [17] Učení v KSOM Základní princip učení KSOM dle [9] a [26] spočívá ve stanovení Euklidovské vzdálenosti mezi předkládanými vstupními vzory a vahami všech neuronů v kompetiční vrstvě dle vztahu 28

29 kde: index prochází přes m neuronů kompetiční vrstvy, ; jsou předkládané vstupní vzory, jsou synaptické váhy neuronů. Ze všech neuronů se vybere vítězný neuron s indexem jehož vzdálenost je od předloženého vzoru minimální, tj. (BMU - Best matching unit), BMU je neuron, který je nejbližší zkoumanému vzoru. Pokaždé, když je nalezen neuron, který je nejblíže trénovacímu (vstupnímu) vzoru, jsou následně upraveny jeho váhy a dále váhy všech neuronů, které se nalézají v jeho sousedním okolí. Výstup tohoto neuronu je aktivní, výstupy ostatních neuronů jsou neaktivní. [9], [17] Jiným způsobem hledání BMU je dle literatury [29] rozšířené učící pravidlo WTA Winner Takes All. Princip spočívá v hledání maxima výstupu neuronu dle vztahu kde je index vítězného neuronu. Oba způsoby hledání míry podobnosti tj. pomocí Euklidovské vzdálenosti i pomocí rozšířeného učícího pravidla WTA jsou ekvivalentní. Hledání odpovídá hledání za předpokladu, že jsou v prvním případě váhové vektory normované. Neuron, jehož váhový vektor je nejblíže vstupnímu vzoru, je současně neuronem, jehož skalární součin je největší. [29] Po nalezení BMU následuje adaptace vah. Tím je zabezpečeno, že se váhové vektory BMU a jeho topologických sousedů posunou směrem k aktuálnímu vstupu. Funkce představuje parametr rychlosti učení, který časem klesá k 0 a tím je zabezpečeno ukončení procesu učení. [29] Jakmile je nalezen BMU, vytvoří se kolem BMU okolí, do kterého se klasifikují všechny vstupní vektory nejvíce podobné (dle zvoleného kriteria) BMU. Tímto se vytvoří shluk vstupních vektorů, které mají společné vlastnosti. Velikost, tvar a míra vlivu okolí jsou parametry sítě a během učení se mění. Velikost okolí se nevztahuje ke skutečné vzdálenosti neuronů v prostoru, ale je vztahována k topologické vzdálenosti neuronů v mřížce. [9], [17] 29

30 Topologie kompetitivní vrstvy i okolí budoucího vítěze jsou předem libovolně volitelné (např. čtvercové, hexagonální, kruhové). Záleží na uživateli a na charakteru úlohy, jakou topologii zvolí. Výsledné rozdělení neuronů v prostoru by mělo odpovídat pravděpodobnostnímu rozdělení trénovacích vzorů. Obr. 13 ukazuje příklad čtvercové a hexagonální topologie (mapy), včetně BMU a jeho okolí. [17], [35] Obrázek 13: Příklad čtvercové a hexagonální topologie Zdroj:[8] Dalším parametrem KSOM je dle [17], [35] způsob změny velikosti sousedního okolí. Okolí se může měnit např. lineárně či skokově. Velikost okolí se stanoví předem a na počátku je jeho velikost volena dostatečně velká. Postupem času se monotónně snižuje na předem stanovenou minimální velikost. Často je zvolena počáteční velikost okolí tak, že zahrnuje např. polovinu všech neuronů sítě. Postupem času se zmenšuje a na konci učení bývá její velikost tak malá, že obsahuje pouze jeden neuron. Cílem učení neuronové sítě je aproximovat hustotu pravděpodobnosti reálných vstupních vektorů pomocí konečného počtu reprezentantů, kde ;. Funkce okolí určuje rozsah spolupráce mezi neurony, tj, kolik reprezentantů v okolí BMU bude adaptováno a v jakém rozsahu. Lokální okolí neuronu lze vyjádřit, jako vhodnou adaptační funkci okolí. [9] Jak lze spatřit na následujícím obr. 14, jsou váhy nejbližšího okolí BMU jsou excitovány a s narůstající vzdáleností od středu se váhy přestávají adaptovat. Od určité hranice dochází k jejich inhibici tj. jsou potlačovány. Znamená to, že dochází k procesu odlučování a efektivnost učení se zvyšuje. Jak již bylo uvedeno, postupem času se lokální okolí neuronů zmenšuje a na konci učení obsahuje pouze jeden neuron. [17], [29] 30

31 Obrázek 14: BMU a aktivita neuronů v okolí Zdroj:[9] Následující obr. 15 ukazuje různou velikost okolí BMU definovanou pro různé časové okamžiky < <. Obrázek 15: Okolí BMU pro různé časové okamžiky Zdroj: upraveno podle [13] Nejjednodušší používanou funkcí je pravoúhlé okolí, které lze vyjádřit vztahem, (2.4) kde představuje Manhattanskou vzdálenost mezi neurony a v mřížce mapy, vyjádřenou vzorcem, (2.5) tj. sumou absolutních hodnot rozdílů jejich souřadnic. Lze použít také jiný tvar adaptační funkce, např. lineárně klesající k okrajům nebo ve tvaru Gaussovy funkce. [29] 31

32 Dle [9] je často používána Gaussova funkce okolí, která je definována takto, (2.6) kde: je funkce okolí; je Euklidovská vzdálenost neuronů a v mřížce; je velikost okolí v čase t Základní Kohonenův algoritmus učení Základní algoritmus učení KSOM lze dle [5] zapsat následně: Krok 0: Inicializace všech počátečních váhových hodnot. Inicializace parametru učení,. Inicializace velikosti poloměru sousedního okolí. Krok 1: Pokud není splněno kriterium pro ukončení, tj. předepsaný počet trénovacích kroků, opakovat kroky 2-8. Krok 2: Pro každý vstupní vektor, kde opakovat kroky 3 až 5. Krok 3: Pro každý výstupní neuron kde vypočítat Euklidovskou vzdálenost od předloženého vzoru. Krok 4: Nalezení nejbližšího (vítězného) neuronu jehož vzdálenost je od předloženého vzoru minimální. Krok 5: Úprava váhových vektorů všech neuronů, topologické sousední okolí vítězného neuronu., které tvoří Pro všechna platí: (2.7) Krok 6: Aktualizace parametru učení. Krok 7: Zmenšení poloměru topologického sousedního okolí. Krok 8: Test podmínky ukončení. Pokud není učící proces ukončen řádným doučením (nemění se hodnoty vah neuronů), je ukončen podmínkou pro ukončení, kterou může být nastavený trénovací čas nebo maximální počet iterací. 32

33 2.2.3 Dávkový a sekvenční učící algoritmus Během učení jsou dle [9] postupně předkládány trénovací vzory a pro každý tento vzor je nalezen jemu nejbližší neuron. Jakmile jsou nalezeni reprezentanti BMU, synaptické váhy neuronů mohou být adaptovány sekvenčním nebo dávkovým učícím algoritmem. Principem sekvenčního učícího algoritmu je skutečnost, že reprezentanti BMU a jeho sousedé v topologii (mapě) se posunou směrem k aktuálnímu vstupnímu vektoru dle vztahu, (2.8) kde: je rychlost učení závislá na čase; je funkce okolí, jejíž výpočet je dán vztahem 2.6; výraz představuje vzdálenost vstupního vektoru dat od vektoru vah daného výstupního neuronu v aktuálním čase. Po každé adaptaci je provedeno přizpůsobení parametru sítě a celý proces učení se opakuje dle předepsaného počtu trénovacích kroků - iterací. Pro KSOM není definována chybová funkce z důvodu jejího obtížného stanovení a proto je zde určován počet iterací místo požadované chyby, jak tomu bývá v případě jiných neuronových sítí. [17] Algoritmus sekvenčního učícího algoritmu lze dle [31] zapsat následovně: Krok 1: Najdi BMU pro vstupní vektor za použití vztahů 2.1 a 2.2. Krok 2: Aktualizuj váhy vektorů neuronů dle vztahů 2.8 a 2.6. Krok 3: Opakuj od kroku 1, dokud není splněno některé konvergenční pravidlo, se snižujícím se sousedním okolí neuronu. Tento algoritmus lze použít v situaci, kdy nemáme v čase k dispozici všechny vstupní vektory pro danou epochu učení. Váhy se mění s každým vstupem a máme tedy k dispozici jejich aktuální stavy. [31] Jinou variantou učícího algoritmu je dle literatury [26] a [31] dávkový učící algoritmus. Od předešlého algoritmu se liší tím, že celá trénovací množina projde KSOM pouze jednou. Adaptace synaptických vah nastane až na konci epochy a je realizována dle vztahu 33

34 kde: je čas začátku epochy; je čas konce epochy; je nová váha na konci epochy; je vstupní vektor v čase ; je funkce okolí. Nalezení BMU je dle [31] v případě dávkového učícího algoritmu proveden dle vztahu kde je váha na konci předchozí epochy a dle vztahu Algoritmus dávkového učícího algoritmu lze dle [31] zapsat následovně: Krok 1: Pro každou epochu: a) najdi BMU pro vstupní vektor za použití vztahů 2.10 a 2.11, b) najdi čitatele a jmenovatele rovnice 2.9 pro všechny neurony. Krok 2: Aktualizuj váhy vektorů neuronů dle vztahu 2.9. Krok 3: Opakuj od kroku 1, dokud není splněno některé konvergenční pravidlo, se snižujícím se sousedním okolí neuronu. Dávkový algoritmus může být použit pouze v případě, kdy máme k dispozici celý soubor vstupních dat. Oproti sekvenčnímu algoritmu nejsou váhy vstupních vektorů aktualizovány okamžitě a není zde závislost na pořadí, v jakém jsou vstupní vektory předkládány na vstupu do KSOM. [31] 2.3 Úvodní nastavení vah a volba parametrů učení Na začátku učení lze všechny váhy nastavit na náhodná čísla nebo mohou být nastaveny na hodnoty náhodně vybraných vzorů z trénovací množiny. V obou případech dochází ke konvergenci KSOM. Učení však může trvat dlouhou dobu. Jelikož jsou váhy nastaveny náhodně, jsou i neurony rozloženy v prostoru náhodně. Teprve vlivem učení se jejich rozmístění přibližuje rozdělení trénovacích vzorů. [17] Dle literatury [17] byla publikována metoda, která odhaduje tvar výsledné mřížky dle trénovacích dat. Metoda spočívá v náhodném a rovnoměrném výběru trénovacích vzorů 34

35 v takovém počtu, kolik je neuronů v mřížce. Výsledkem tohoto kroku je mřížka, kterou znázorňuje obr. 16a. Nejprve jsou rozděleny všechny neurony dle zvolené souřadnice a jim odpovídajících váhových vektorů do skupin o stejném počtu neuronů. Následně jsou neurony v každé skupině uspořádány dle druhé souřadnice a to nezávisle na neuronech ostatních skupin. V rámci jedné skupiny jsou neurony uspořádané a spojené vazbou. Stejným způsobem jsou pospojovány k sobě odpovídající neurony v rámci jednotlivých vrstev. Výsledkem je odhad výsledné mřížky, který je zachycen na obr. 16b. Tento odhad lze vylepšit metodou, která vyhladí mřížku v obou směrech pomocí vhodného filtru. Vyhlazená mřížka je znázorněna na obr. 16c. Konečný tvar mřížky po ukončení učení je zobrazen na obr. 16d. Obrázek 16: Počáteční inicializace vah a koncový stav mřížky Zdroj:[17] Parametr učení určuje velikost změn při adaptaci vah. Je nastaven na hodnotu blízkou jedné a během učení (s časem) se monotónně snižuje k nule. Tímto se zajistí ukončení procesu učení. Váhy se na začátku učení adaptují rychleji a dochází k hrubému rozmístění neuronů a později pomalu a tak dochází k přesnějšímu dolaďování. [17] Aby se předešlo přeučení KSOM, probíhá její učení dle [16] a [26] ve dvou fázích. Jedná se nejprve o fázi uspořádávání s vysokou hodnotou poloměru okolí a vysokou hodnotou rychlosti učení V této fázi klesá velikost okolí diskrétně s časem. Následuje druhá fáze dolaďování s nízkými hodnotami poloměru okolí a rychlosti učení. Během této druhé fáze je možné ponechat nejbližší sousedy součástí okolí, dokud učení neskončí. Způsob, jakým je možné upravovat velikost okolí i parametru učení ukazuje následující obr

36 Obrázek 17: Fáze učení Zdroj: upraveno podle [16] Dle literatury [40] se pro fázi uspořádání náhodně rozházených neuronů doporučuje používat parametr učení větší než 0,5. Ve fázi ladění, kdy se prování vlastní adaptace vah, se doporučuje velikost parametru učení použít hodnotu menší než 0,5. Dle literatury [16] a [33] na funkci poklesu parametru učení v praxi až tak nezáleží. Důležité je, aby byla funkce během první fáze monotónně klesající z nějaké hodnoty blízké 1 až na řádově 0,1-0,01 a během fáze dolaďování dále klesala k nule. Možnou volbou je např. lineárně lomená funkce nebo exponenciální funkce. Na přesném počtu iterací striktně nezáleží. Dle [13] by počet iterací měl být minimálně 500 násobek počtu neuronů v síti. Běžně se počet iterací pohybuje v rozmezí řádově 10 až 100 tisíc. Je důležité, aby během fáze uspořádávání, dokud je ještě parametr učení relativně velký, síť stihla správně zařadit svoje váhové vektory, které se s přibývajícím časem lokálně doladí. Na začátku simulací je vhodné rozdělit celkovou dobu trénovaní takovým způsobem, že na fázi doladění se ponechá více času než na fázi uspořádávání. Konvergence učení dle [35] závisí na mnoha parametrech - např. na inicializačních hodnotách počátečních váhových hodnot a parametrů, na počtu neuronů, na způsobu jejich organizace v mapě, na tvaru a velikosti sousedního okolí i-tého neuronu i na rychlosti učení. Přesnost mapování závisí na počtu iterací. Důležitá je i volba velikosti okolí. Malé okolí na začátku učení způsobí, že výsledné namapování nebude rovnoměrně rozložené. Doporučuje se proto zvolit minimálně ½ velikosti mapy. Dle literatury [33] může být velikost okolí zpočátku velká, srovnatelná s velikostí sítě, na konci první fáze dosáhnout hodnoty 1 a postupně v průběhu druhé fáze klesnout až na 0. Dle experimentů není podstatné, zda parametr učení a funkce okolí klesají lineárně, exponenciálně, či jinak. 36

37 Proces učení v KSOM proběhne úspěšně při poměrně širokém rozpětí jednotlivých volitelných parametrů. Existují ale podmínky, při kterých proces selhává. Nežádoucích efektů je dosaženo při špatné volbě velikosti okolí a rychlosti učení. Tyto nežádoucí efekty jsou zobrazeny na obr. 18. Všechny tři simulace byly na počátku nastaveny na iterací na datech s rovnoměrným rozložením, při použití sítě 20x20 neuronů. Efekt neúplného rozvinutí sítě ukazuje obr. 18a. Tento efekt vznikl v důsledku příliš rychlého poklesu rychlosti učení s nastavením poměru délek první a druhé fáze učení 1:500 při pravoúhlém okolí se standardním poklesem poloměru okolí. Z dalších příkladů nežádoucích efektů, které mohou nastat při učení KSOM lze uvést efekt motýlího křídla, který je znázorněn na obr. 18b a může vzniknout, pokud parametr velikosti okolí klesá příliš rychle v porovnání s parametrem učení. V simulaci byl při Gaussově okolí pokles na hodnotu 1 už po prvních 100 iteracích, zatímco rychlost učení klesala standardně. [16] Dle literatury [36] není jednoduché tento efekt odhalit. Lze jej vysledovat pomocí skokové změny ve střední chybě kvantizace. Je však nutné tento chybový stav detekovat zvlášť např. zkoumáním poloh jednotlivých neuronů. Musí platit, že sousedící neurony si musí být blízké i vzdáleností v prostoru vnitřních vah. Tuto kontrolu lze provádět po několika epochách, není nutné ji provádět v každém kroku. Obr. 18c znázorňuje tzv. pinch efekt, který vznikl v důsledku příliš pomalého poklesu velikosti okolí. Při simulaci měl v tomto případě parametr hodnotu 10 během první poloviny iterací, potom jeho hodnota klesla na hodnotu 9. [16] Obrázek 18: Efekty, které mohou nastat během učení Zdroj:[16] Výpočetní rychlost sítě je dána množstvím neuronů, které jsou v síti. V případě velkého množství neuronů bude vstupní prostor velmi dobře pokryt a naopak. [40] 37

38 2.4 Vybavovací fáze Vybavovací fáze představuje zařazení neznámého vzoru do odpovídajících tříd. Po naučení KSOM se na vstup přikládá analyzovaný neznámý vektor hodnot podobného druhu, jaké obsahovala trénovací množina. Následně je opět výpočtem vzdálenosti od vektoru vah jednotlivých neuronů vybrán BMU, který je nejvíce podobný vstupním hodnotám. BMU již představuje určitou definovanou skupinu (shluk) a tím je znám výsledek. Ten již představuje zařazení analyzovaného neznámého vstupu do některé skupiny a tím i jeho pojmenování a nalezení jeho vlastností. Správné zařazování nových předložených vzorů do odpovídajících tříd je podobné fázi učení. Při vybavování už ale neprobíhá inicializace, protože váhové vektory jsou už správně naučeny. [39], [32] Dle [39] jsou možné dva režimy: neadaptační a adaptační. V případě neadaptačního režimu dojde k zařazení vstupního vektoru do některého již vytvořeného shluku v mapě a ten již představuje výsledek. Na výstupu sítě se může objevit číslo shluku, jeho jméno nebo jiný údaj, který neznámý vstupní vektor charakterizuje. Adaptační režim představuje analýzu vstupního vektoru stejnou jako v neadaptačním režimu, pouze následně ještě dochází k malé úpravě vah BMU. To znamená, že se mapa neustále doučuje a je tedy schopna reagovat na dlouhodobě působící postupné změny. 2.5 Vlastnosti KSOM a hodnocení kvality učení KSOM jsou značně odolné proti náhodnému šumu, který je obsažen v trénovacích datech, což je výhoda při jejich použití. Pomocí KSOM jsou také odstraněny některé nedostatky shlukové analýzy, jako je např. vliv odlehlých objektů. Výsledky KSOM lze snadno vizualizovat a interpretovat. [17], [26] Z nevýhod lze uvést potřebu značného počtu trénovacích kroků a potřebu upravovat váhy v lokálním okolí příslušného BMU v každém kroku učení. Další nevýhodou je, že pro zachování aproximace pravděpodobnostního rozdělení bude počet neuronů v mřížce růst exponenciálně s dimenzí prostoru trénovacích dat. Pro správnou analýzu dat je důležité zvolit optimální počet neuronů. Příliš málo neuronů snižuje přesnost aproximace a příliš vysoký počet neuronů způsobuje nárůst výpočetní složitosti s možností neadekvátního zvýšení přesnosti aproximace. Úspěšnost natrénování KSOM může být ovlivněna způsobem určení vítěze, který může být proveden mnoha způsoby, např. volbou metrik pro určení vzdáleností nebo způsobem přivedení vstupních dat do sítě a způsobem jejich adaptace. [16], [36] 38

39 Kvalitu výsledků učení KSOM lze dle literatury [8] měřit pomocí kvantizační chyby (QE - Quantization Error) a topografické chyby (TE - Topographic Error). Topografická chyba je dána podílem všech vstupních vektorů, pro které první a druhý BMU na mapě nesousedí. Topografická chyba měří míru zachování struktury. Kvantizační chyba je vypočtena jako Eukleidovská vzdálenost testovaného vstupního vektoru a reprezentanta jeho vítězného neuronu BMU. Kvantizační a topografická chyba jsou závislé na počtu neuronů m v kompetiční vrstvě. Dle literatury [36] lze kvalitu natrénované mapy vyhodnotit také pomocí míry distorze, tj. chyby v zachování topologických vazeb vstupních dat do mapy a chyby ve spolehlivosti reprezentace vstupních vazeb. Míru distorze lze vyjádřit vztahem (2.12) kde: je lokální variace vstupních dat, míra kvality kvantizace; je to práh okolí, spojuje kvantizaci a pořadí dat; představuje variaci okolí, tedy míru spolehlivosti topologie mapy. 2.6 Varianty a rozšíření KSOM KSOM lze použít také pro úlohy, které je možné řešit pomocí modifikací základního učení. Jednou z těchto možností je hierarchické prohledávání, které používá tzv. prohledávací strom. Jeho výchozím bodem je vrchol tvořený jedním neuronem a určení vektoru kódové knihy (codebook vector). Následuje trénování větší mapy na nižší hladině a dále opět určení vektorů kódové knihy. Vítěz je určován vždy v nižší hladině. Do hierarchického prohledávání náleží také hypermapa, kterou lze použít k analýze hierarchických dat, tj. dat s prioritami, obsahujících kontext. Princip hypermapy spočívá v určení množin tzv. kandidátů na vítěze, které jsou určeny prostřednictvím podmnožin vstupních signálů a uzlů v neuronové síti. Každá podmnožina definuje množinu možných kandidátů na BMU, kteří jsou určováni na základě vzdáleností. Učení probíhá dávkovým učícím algoritmem. Při určování jednotlivých množin kandidátů si síť pamatuje pouze binární informace z neuronů a až v poslední operaci je konečný výsledek popsán jako spojitá hodnota. Příkladem může být segmentace řeči, při které je vstupní signál přiveden do hlavní KSOM, která obsahuje všechny hlásky. Následně je dle umístění ve shluku tvořeného podobnými vlastnostmi aktivována některá z vedlejších map. Hlavní mapa tedy klasifikuje hrubě a vedlejší mapy klasifikují přesněji. [35], [36] 39

40 KSOM mohou také zpracovávat řetězce symbolů, které mohou představovat uspořádanou množinu čísel symbolizujících množinu signálů, naměřených hodnot nebo statistických ukazatelů. Jelikož u řetězců záleží na vlivu okolí právě zpracovávaných symbolů, používá se tento algoritmus pouze v dávkovém režimu. [36] Důležité je také zmínit rozšíření KSOM pro učení s učitelem. V základním modelu je KSOM neuronová síť s učením bez učitele. Pro potřeby klasifikace byla panem profesorem Teuvo Kohonenem upravena na neuronovou síť, která je schopna učení s učitelem. Tato modifikovaná neuronová síť je označována jako vektorová kvantizace učením (LVQ - Learning Vector Quantization) a existuje v několika verzích označovaných jako LVQ1, LVQ2, LVQ3. Nejprve je nutné naučit klasickou KSOM na trénovací vzory bez příslušnosti k jednotlivým třídám a tím dosáhnout hrubého nastavení vektorů. Následně jsou předkládány na vstupy trénovací vzory a je shromažďována informace o četnosti výskytu jednotlivých tříd, které odpovídají jednotlivým trénovacím vzorům. Nakonec je každému výstupnímu neuronu přiřazena třída objektů, jejíž četnost zastoupení byla největší. [17] Dle literatury je KSOM také používána v hybridních systémech, např. ve spojení se systémy založenými na metodě učení s učitelem. Při použití hybridní kombinace KSOM a rozhodovacích stromů lze výsledná rozhodovací pravidla také použít pro predikci. V závěru kapitoly je také třeba zmínit příbuzné algoritmy KSOM, ze kterých lze jmenovat například následující: ASSOM (Adaptive-Subspace Self-Organizing Map), která ve vstupní vrstvě používá dvě vrstvy neuronů, GSOM (Growing Self-Organizing Map), jenž v průběhu učení vytváří nové neurony, SSOM (Spherical Self-Organizing Maps), MSSOM (Multiple Spherical Self-Organizing Maps) zobrazující data ve 3D prostoru a které se liší od klasických KSOM tím, že všechny neurony mají stejnou prioritu v průběhu kompetitivního soutěžení, TASOM (Time Adaptive Self-Organizing Map) síť, která je závislá na čase a jejíž neurony mají vlastní parametry rychlosti učení a okolí měnící se podle vstupních vzorů, Neural Gas, kde se během učení neurony šíří datovým prostorem jako plyn. 40

41 2.7 Využití KSOM Samoorganizující se mapy lze využít pro řešení složitých úloh, které mohou zpracovávat neúplné nebo neurčité informace. Jedná se např. o rozpoznávání vzorů a obrazů nebo složitých signálů. V současné době je možné nalézt využití KSOM v několika aplikacích. Jedná se například o tyto aplikace [13], [39]: zpracování řeči, úprava zvuku, organizace rozsáhlých textových souborů, robotika, zpracování obrazu (videa a fotek), hledání a detekce osob podle fotografií, bezpečnostní aplikace, přepis ručně psaného textu na tištění, hledání podobných znaků v úplně neznámých signálech, získávání znalostí z textů, automatické třídění. Další využití KSOM lze nalézt například v oblasti ekologie, kde lze pomocí KSOM modelovat kvalitu ovzduší [9], dále v oblasti marketingu pro tržní segmentaci, ale také v dalších oblastech, např. pro zpracování bonity obcí, tedy schopnosti plnit krátkodobé a dlouhodobé závazky, jak lze nalézt v literatuře [10]. 2.8 Softwarové produkty Pro modelování dat pomocí KSOM lze použít různé softwarové produkty od volně dostupných aplikací různé kvality až po komerční, které nabízejí širší možnosti upravování parametrů učení a vizualizace. Další možností je vlastní programování, pro které lze využít několik programovacích jazyků s využitím jejich knihoven. Mezi nejčastěji používané patří Java, jejíž API pro vytvoření, učení a vizualizaci KSOM lze nalézt na stránkách dále lze programovat v jazyce C# ( nebo např. v jazyce Python ( Lze také použít řadu open source produktů, které jsou taktéž většinou vytvořené v jazyce C++ nebo Java např. produkt WEKA ( produkt Databionic ESOM Tools nebo produkt OpenNeuron. Mezi volně dostupné softwarové produkty patří SNNS Stuttgart Neural Network Simulator, jehož součástí je JavaNNS ( K nejčastěji používaným komerčním nástrojům patří MATLAB od společnosti MathWorks. Jedná se o interaktivní programové prostředí a skriptovací jazyk pro výpočty, simulace a vizualizace a lze do něj implementovat různé druhy toolboxů. Mezi softwarové produkty, které lze použít pro modelování KSOM náleží SOM_PAK, který vytvořil tým pana profesora Teuvo Kohonena z laboratoře CIS na Helsinské technologické univerzitě. Tento volně dostupný balík byl částečně implementován do softwarového prostředí MATLAB 41

42 a v dnešní době není již udržovaný. Do prostředí MATLAB lze doinstalovat také volně šiřitelný SOM Toolbox ( což je knihovna určená pro práci s KSOM. Jedná se o reimplementaci SOM_PAKu. Ačkoliv také částečně ustal její vývoj, bývá nadále velmi používaným prostředkem, zvláště v akademické sféře. Dalším toolboxem, který je možné v MATLABU použít, je simulátor neuronových sítí Neural Network Toolbox ( Z dalších významných komerčních softwarových nástrojů lze jmenovat SPSS Modeler od společnosti IBM ( Lze však používat i spoustu dalších softwarových produktů. Jedná se např. komerční produkty Trajan Neural Network Simulator ( a NeuralWare ( od společnosti Trajan Software Ltd., dále produkt NeuroSolutions ( od společnosti NeuroDimension, Inc., produkt SOMine ( od společnosti Eudatptics, produkt NeuroShell společnosti Ward Systém Group nebo produkt SAS Neural Network od společnosti SAS Institute. 2.9 Dílčí závěr V kapitole jsou popsány KSOM, které implementují metodu učení bez učitele. Samoorganizující se neuronové sítě slouží ke shlukování dat, které mají k sobě určitý vztah. V úvodu kapitoly je uvedena charakteristika KSOM a její topologie. Další podkapitola obsahuje základní Kohonenův algoritmus učení a následuje bližší popis jednotlivých kroků tohoto algoritmu tj. výpočet vzdáleností, nalezení BMU, aktivace sousedního okolí BMU pomocí adaptační funkce a bližší popis dávkového a sekvenčního učícího algoritmu. Důležitou částí této kapitoly je popis počátečního nastavení vah a volba parametru učení. Poznatky z této podkapitoly budou využity v praktické části této diplomové práce. V kapitole je dále popsána vybavovací fáze KSOM, pomocí které dokáže KSOM zařadit i neznámý vzor na který nebyla naučena. Další podkapitoly popisují možnosti hodnocení kvality učení KSOM, různé varianty KSOM a příbuzné algoritmy. V další podkapitole je dále uveden popis aplikací, které jsou na principu KSOM založeny. Tyto aplikace pomáhají odhalit skryté souvislosti v datech, které není jednoduché rychle odhalit běžnými statistickými metodami. Pomáhají tak řešit složité úlohy v např. v oblastech zdravotnictví, ekologie nebo marketingu. V závěru kapitoly je uveden přehled softwarových produktů, které lze pro modelování dat pomocí KSOM použít. 42

43 3 NÁVRH MODELU KLASIFIKACE DAT POMOCÍ KSOM V této kapitole je uveden popis návrhu modelu pro klasifikaci dat pomocí KSOM. Nejprve je uveden algoritmus tvorby modelů, dále je proveden popis vstupních parametrů a postup předzpracování dat. Po určení vstupní datové matice následuje popis nastavování parametrů učení pro různé modely, které budou implementovány v softwarovém prostředí MATLAB. 3.1 Návrh modelu Tato diplomová práce je zaměřena na modelování dat charakterizujících virtuální server Portal a databázový server Oracle Univerzity Pardubice. Vstupní data jsou poskytnuta Univerzitou Pardubice v datovém formátu csv. Vzhledem k neznámé příslušnosti dat do tříd je pro modelování použita metoda učení bez učitele. Znamená to, že neznáme předem počet výstupních tříd ani příslušnost do tříd, ale KSOM sama rozezná stejné nebo podobné vlastnosti předkládaných vstupních vektorů a na základě podobnosti klasifikuje na výstupu objekty do shluků tříd na základě jejich podobnosti. Kromě zařazení dat do shluků nám KSOM také umožňuje nalézt možné souvislosti mezi jednotlivými parametry a to pomocí grafické reprezentace, která je snadno interpretovatelná. Algoritmus návrhu modelu pro klasifikaci začíná předzpracováním získaných dat a výběrem vstupních parametrů. Cílem je připravit data pro vstup do KSOM. Jedná se o zjištění a ošetření chybějících hodnot a korelační analýzu. Pokud je zjištěn korelační vztah mezi parametry, je pro další použití zvolen pouze jeden z těchto parametrů. Dále je provedeno normování dat, pomocí kterého je odstraněna závislost na měřených jednotkách. Takto připravená data mohou být použita v dalším kroku, kterým je návrh modelu KSOM v softwarovém prostředí MATLAB R2012b s využitím SOM Toolboxu. V průběhu modelování jsou testovány různé modely dle zvoleného učícího algoritmu a zjišťovány hodnoty topografické (TE) a kvantizační (QE) chyby. Jednotlivé modely jsou porovnány a dle získaných výsledků je proveden výběr nejvhodnějšího modelu. V dalším kroku následuje předložení testovacích dat, která slouží pro účely klasifikace. Pro interpretaci výsledků je v dalším kroku použit algoritmus K-means, který zařazuje objekty do shluků, jejichž počet by měl odpovídat počtu odlišných vlastností v datech. Následně je realizován popis vzniklých shluků a každému shluku je přiřazen popis třídy, kterou daný shluk reprezentuje. Tímto je proces klasifikace dat ukončen. 43

44 Návrh modelu je znázorněn na obr. 19. Jednotlivé kroky jsou blíže popsány v dalších podkapitolách. Začátek Předzpracování dat a návrh parametrů Návrh modelu Realizace modelu Předložení testovacích dat Shlukování algoritmem K-means Označení a popis shluků Konec Obrázek 19: Návrh modelu Zdroj: vlastní zpracování 3.2 Popis a analýza vstupních dat, určení parametrů Získaná data obsahují celkem 12 parametrů. Následuje popis těchto jednotlivých parametrů. Parametr 1 - CPU Usage in MHz (Portal) Využití CPU v MHz u webového serveru Portal. Virtualizační vrstva, která je přítomna mezi fyzickým a virtuálním hardwarem, řídí přístup virtuálního CPU k fyzickému. 44

45 Neprivilegované instrukce jsou vykonávány přímo na fyzickém CPU. Privilegované instrukce zpracovává hypervizor. K privilegovaným instrukcím patří zákaz přerušení, nastavení mapování paměti, práce s I/O zařízeními. Virtuální CPU disponuje vlastními registry a buffery. Výpočetní výkon virtuálního CPU může být s pomocí hypervizoru nastaven na odlišnou hodnotu oproti fyzickému CPU. Jedná se o omezení výkonu. [24] Parametr 2 - CPU Usage in MHz (ORA) Vyjadřuje využití CPU v MHz u databázového serveru Oracle. Popis tohoto parametru je shodný s popisem již uvedeným u parametru CPU Usage in MHz (Portal). Parametr 3 - CPU Ready (Portal) CPU připraven u webového serveru Portal. Jak již bylo uvedeno, virtualizační vrstva řídí přístup virtuálního CPU k fyzickému. Tento parametr vyjadřuje množství času, po který je VM připraven k použití prostředků CPU, ale čeká na naplánování a zpracování úloh plánovačem na fyzickém CPU. Čím delší je tento čas, tím pomalejší je VM a také pomalejší veškeré spuštěné procesy související např. s databázovým serverem Oracle. V závislosti na počtu fyzických procesorů může VM disponovat více než jedním virtuálním procesorem, které jsou při běhu VM mapovány na fyzické procesory. V tomto případě je možné při vyšší zátěži přiřadit odpovídající počet procesorů jiných virtuálních strojů, aby VM zvládl zátěž na konstantní úrovni. [24] Parametr 4 - CPU Ready (ORA) Tento parametr vyjadřuje množství času, po který je připraven CPU u databázového serveru Oracle. Popis tohoto parametru je shodný s výše uvedeným popisem u parametru CPU Ready (Portal). Parametr 5 - Memory Consumed (Portal) Množství spotřebované paměti u webového serveru Portal. VM přistupuje k RAM pomocí hypervizoru, resp. virtualizační vrstvy mezi fyzickým prostředkem a pamětí VM. Virtuální paměť je mapována na fyzickou paměť. Přidělovaná virtuální paměť může být stránkovaná (v rámci hostovaného OS nebo v rámci hypervizoru), nebo nestránkovaná. Stránkovaná alokuje pro virtuální počítače více paměti než fyzické a tím významně snižuje výkon VM. Stránkovaná paměť v rámci hostovaného OS přináší zátěž pro hostující systém resp. CPU a paměť. Nestránkovaná paměť je mapována přímo na fyzickou paměť. Součet přidělené paměti virtuálním strojům musí být menší, než jaká je velikost fyzické paměti. Správa virtuální paměti je pro VM zcela transparentní. Paměť VM je obvykle opětovně stránkovaná 45

46 OS virtuálního počítače. Hypervizor umožňuje nastavení (omezení) velikosti paměti předělené VM. Limity velikosti RAM se liší pro 32 bitový a 64 bitový hostitelský OS. [24] Parametr 6 - Memory Consumed (ORA) Množství spotřebované paměti u databázového serveru Oracle. Popis tohoto parametru je shodný s popisem již uvedeným u parametru Memory Consumed (Portal). Parametr 7 Disk Usage (Portal) Množství spotřebované kapacity datového úložiště pro webový server Portal. Stejně jako u fyzického PC, tak i u VM plní pevný disk funkci perzistentního media. Z VM je přístup k virtuálnímu pevnému disku realizován prostřednictvím hypervizoru, který vytváří iluzi reálného disku. Virtuální disk může být reprezentován souborem nebo kolekcí souborů v souborovém systému hostitelského OS, ale toto řešení má větší výkonnostní dopad než přímo mapovaný diskový oddíl. Na druhou stranu přináší výhodu v podobě snadné mobility. Druhou možností reprezentace virtuálního disku je přímé mapování fyzického oddílu. Jedná se o vytvoření lokálního oddílu na fyzickém disku hostitelského počítače. V obou případech je velikost disku (resp. maximální velikost, kterou může VM využívat) stanovena při jeho vytváření a je limitována možnostmi hypervizoru. Existuje několik typů virtuálních disků dynamické disky, alokované disky, fyzické disky mapované do VM. Výhodou virtuálního disku může být relativně snadné zvětšení kapacity. Zvětšuje se pouze disk VM, nikoliv souborový systém na něm. [24] Parametr 8 - Disk Usage (ORA) Množství spotřebované kapacity datového úložiště pro databázový server Oracle. Popis tohoto parametru je shodný s výše uvedeným popisem u parametru Disk Usage (Portal). Parametr 9 - Network Usage (Portal) Síťový provoz webového serveru Portal. Virtualizace síťového rozhraní umožňuje transparentní síťovou komunikaci z prostředí VM pomocí virtuálního nebo fyzického rozhraní, případně kombinaci obou typů. Vše je realizováno pomocí software obvykle ve vrstvě hypervizoru. Průchod dat vyžaduje asistenci procesoru, což vnáší zpoždění při předávání rámců a zatěžuje hostitelský systém. [24] Parametr 10 - Network Usage (ORA) Síťový provoz databázového serveru Oracle. Popis tohoto parametru je shodný s popisem již uvedeným u parametru Network Usage (Portal). 46

47 Parametr 11 - Uptime (ORA) Doba provozu bez přerušení u webového serveru Portal. Tento parametr, zobrazující časovou délku provozu, byl z modelování vyřazen. Parametr 12 - Uptime (Portal) Doba provozu bez přerušení u databázového serveru Oracle. Tento parametr, zobrazující časovou délku provozu, byl z modelování vyřazen. Univerzita Pardubice má v provozu dva virtuální webové servery a čtyři databázové servery Oracle. Virtuální webové servery pro svůj provoz využívají databázový server. Pokud je databázový server mimo provoz, nemají virtuální servery přístup k datům z databází, a proto není v provozu ani webové rozhraní virtuálního serveru Portal. Na základě uvedeného popisu vstupních parametrů lze navrhnout datovou matici P, která bude vstupovat do modelu, kde jsou objekty v čase t, je k-tý parametr v čase t, je hodnota parametru pro i-tý objekt je i-tý vzor, je vektor parametrů. P = Data charakterizující virtuální servery obsahují 10 parametrů a objektů. Objektem je záznam obsahující hodnoty 10 parametrů z měření. Záznamy jsou pořízeny z měření, které probíhalo v pětiminutových odstupech v časovém horizontu od do Příprava dat Příprava dat zahrnuje činnosti, které vedou k vytvoření datové matice, která bude použita pro vstup do modelu pro klasifikaci pomocí KSOM. Nejprve je třeba se s daty seznámit pomocí vybraných popisných statistik a datového slovníku. Pro získání správných výsledků klasifikace musí data splňovat několik podmínek. V jednotlivých měřeních musí být uvedeny hodnoty všech měřených parametrů. Dále nesmí být mezi jednotlivými parametry silná korelační závislost a data musí být mezi sebou porovnatelná. 47

48 Chybějící hodnoty Nejprve je třeba zjistit, zda datový soubor neobsahuje chybějící hodnoty, které mohou způsobit chybné výpočty při shlukování. Pro tento účel lze v prostředí MS Excel 2007 použít několik metod filtry, podmíněné formátování nebo funkci JE.PRÁZDNÉ(). Bylo nalezeno 29 chybějících hodnot, které nastaly restartem serveru. Tyto záznamy byly odstraněny. Výběr dat Vhledem k velikosti datového souboru je nutné učinit výběr dat. Je důležité, aby prvky výběrového souboru odrážely vlastnosti základního souboru, tj. aby byl výběr reprezentativní. Dle literatury [15] by měl reprezentativní výběr splňovat následující předpoklady: jednotlivé prvky základního souboru jsou vybírány nezávisle na sobě, všechny prvky pocházejí ze stejného základního souboru, každý prvek základního souboru má stejnou možnost dostat se do výběru. Vzhledem k výpočetní a časové náročnosti algoritmů pro učení KSOM byl náhodně vybrán vzorek o velikosti 1500 datových záznamů. Následně bylo pomocí softwarového produktu STATISTICA ověřeno, zda výběrový soubor má stejné rozdělení pravděpodobností se základním souborem. Korelace Vzájemný vztah mezi dvěma veličinami lze určit pomocí korelačního koeficientu, který nabývá hodnot z intervalu <-1;1>. Jestliže je korelační koeficient roven 0, znamená to, že náhodné veličiny X a Y jsou nekorelované. I když platí, že jsou dvě náhodné veličiny nekorelované, mohou být veličiny na sobě závislé. Hodnota -1 znamená negativní závislost, tedy čím více se zvětší hodnota jedné veličiny, tím se zmenší hodnota druhé veličiny. Hodnota +1 označuje přímou závislost mezi veličinami. [15] Pro výpočet Euklidovské vzdálenosti, na níž je algoritmus KSOM založen, je předpokládána nekorelovanost proměnných. Nevýhodou Euklidovské vzdálenosti je závislost na jednotkách, ve kterých byly měřeny jednotlivé znaky. V případě, kdy mají tyto znaky i různorodý charakter z hlediska jejich významnosti, není to žádným způsobem zohledněno při výpočtu vzdálenosti. Pokud jsou některé znaky silně korelované, mají tyto znaky nepřiměřeně velký vliv na velikost vzdálenosti takových dvou objektů, a tak i na výsledek shlukování. Toto lze řešit normováním údajů datové matice. Normované údaje nezávisí na měrných jednotkách. Při shlukování se normování nazývá standardizace údajů. [15] 48

49 Pomocí softwarového nástroje STATISTICA lze zjistit, že pro data není splněn předpoklad normality rozdělení pravděpodobností základního souboru. Výsledek lze také ověřit pomocí histogramů nebo normálně-pravděpodobnostních grafů. Pro zjištění korelační závislosti lze dle [1] použít Spearmanův korelační koeficient, který se používá pro měření síly vztahu u takových veličin, kdy nemůžeme očekávat normální rozdělení sledovaných proměnných. Výsledný koeficient je následně porovnán s tabelovanými kritickými hodnotami Spearmanova korelačního koeficientu pro zvolenou hladinu α a počet n a je určena jeho významnost. Pro dekorelaci dat lze použít metodu hlavních komponent (PCA) nebo faktorovou analýzu. Výstupem mohou být nové faktorové proměnné, které nejsou mezi sebou korelované a lze je použít pro další modelování. Protože bude následně provedeno normování dat a zjištěné závislosti některých proměnných lze využít pro interpretaci vztahů, budou odstraněny pouze parametry, mezi nimiž je silná korelační závislost. U parametrů, které spolu silně korelují, je třeba ponechat pouze jeden parametr a druhý vyloučit. Dle korelační matice, kterou ukazuje tabulka 1, lze zjistit silné korelační vztahy mezi parametry CPU Usage in MHz (Portal) a Disk Usage (Portal), a také mezi parametry CPU Usage in MHz (Portal) a Network Usage (Portal). Do další analýzy bude ponechán pouze jeden parametr z dvojice silně korelačně závislých parametrů. Pro rozhodnutí, který z korelovaných parametrů odstranit, lze využít otestování KSOM pomocí softwarového dataminingového nástroje SPSS Clementine. Výsledný stream je uveden v příloze A. KSOM byla vytvořena při defaultním nastavení a výsledky jsou přílohou B. Informaci o tom, zda je atribut důležitý lze spatřit v pravém sloupci nazvaném důležitost (Importance). Bylo zjištěno, že nejdůležitější parametry jsou CPU Redy ORA a Network Usage ORA. Žádný z výše uvedených silně korelovaných parametrů není důležitý. Pro zachování největšího počtu parametrů pro analýzu byl odstraněn parametr 1 - CPU Usage in MHz (Portal). Ostatní parametry byly ponechány. Po kontrole chybějících hodnot a korelační analýze byla provedena popisná statistika výsledných připravených dat v softwarovém prostředí STATISTICA 10, kterou ukazuje tabulka 2. 49

50 Tabulka 1: Korelační matice Parametr CPU Usage (Portal) CPU Ready (Portal) Memory Consumed (Portal) Disk Usage (Portal) Network Usage (Portal) CPU Usage (ORA) CPU Ready (ORA) Memory Consumed (ORA) Disk Usage (ORA) Network Usage (ORA) CPU Usage in MHz (Portal) 1,00 0,46 0,39 0,84 0,83 0,45-0,10 0,20 0,43 0,66 CPU Ready (Portal) 0,46 1,00 0,35 0,34 0,33 0,22 0,13-0,11 0,28 0,30 Memory Consumed (Portal) 0,39 0,35 1,00 0,33 0,26 0,21 0,14 0,09 0,06 0,13 Disk Usage (Portal) 0,84 0,34 0,33 1,00 0,73 0,37-0,04 0,17 0,36 0,53 Network Usage (Portal) 0,83 0,33 0,26 0,73 1,00 0,43-0,20 0,19 0,45 0,79 CPU Usage (ORA) 0,45 0,22 0,21 0,37 0,43 1,00-0,43 0,29 0,59 0,57 CPU Ready (ORA) -0,10 0,13 0,14-0,04-0,20-0,43 1,00-0,19-0,18-0,26 Memory Consumed (ORA) 0,20-0,11 0,09 0,17 0,19 0,29-0,19 1,00 0,12 0,13 Disk Usage (ORA) 0,43 0,28 0,06 0,36 0,45 0,59-0,18 0,12 1,00 0,66 Network Usage (ORA) 0,66 0,30 0,13 0,53 0,79 0,57-0,26 0,13 0,66 1,00 Zdroj: vlastní zpracování 50

51 Tabulka 2: Popisná statistika dat Popisná statistika CPU Ready (Portal) Memory Consumed (Portal) Disk Usage (Portal) Network Usage (Portal) CPU Usage in MHz (ORA) CPU Ready (ORA) Memory Consumed (ORA) Disk Usage (ORA) Network Usage (ORA) Počet 1 500, , , , , , , , ,00 Průměr 3 585, ,49 66,77 198, , , ,29 543,47 421,88 Medián 3 195, ,00 25,00 86, , , ,00 60,00 20,00 Minimum 1 602, ,00 10,00 0,00 267,00 10, ,00 35,00 0,00 Maximum , , , , , , , , ,00 Dolní kvartil 2 940, ,50 18,00 21,50 778, , ,50 49,50 6,00 Horní kvartil 3 449, ,00 38,00 271, , , ,50 91,00 80,00 Rozpětí , , , , , , , , ,00 Sm.odch , ,89 310,01 268,03 965, , , , ,85 Šikmost 25,39-0,73 12,25 2,51 2,19 22,28-5,65 9,21 10,14 Špičatost 669,25-0,81 173,48 9,33 9,44 509,65 30,10 89,79 105,40 Průměr 1 500, , , , , , , , ,00 Zdroj: vlastní zpracování 51

52 Standardizace Z tabulky 2 je zřejmé, že mezi hodnotami vstupních parametrů jsou vysoké rozdíly z důvodu rozlišných měrných jednotek a hodnoty tak nelze mezi sebou porovnávat. Z důvodu odstranění této závislosti hodnot na měřených jednotkách je provedena standardizace dat. Nechť je dána matice dat Z typu n x p, jejíž řádky jsou -rozměrné vektory čísel, které charakterizují n objektů. Standardizace se provede ve dvou krocích [12]: výpočet střední hodnoty j-tého znaku a směrodatné odchylky pro podle vztahů přepočet původní hodnoty hodnoty j-tého znaku i-tého objektu na tzv. standardizované Výsledné standardizované hodnoty znaků mají střední hodnotu rovnu 0 a rozptyl Rozdělení na trénovací a testovací data Dle literatury [16] pro rozklad množiny objektů na trénovací a testovací množinu platí vztah. Pomocí zvolené klasifikační metody dojde k rozkladu množiny na disjunktní podmnožiny neboli shluky, které obsahují podobné objekty z hlediska metriky, která je v dané klasifikační metodě použita. Potom platí vztah:, (3.4) kde i-tý shluk obsahuje objektů z množiny, platí: (3.5) kde objekt je objekt z i-tého shluku, který leží nejblíže k jeho centru. Tento objekt slouží jako reprezentant objektů ze shluku dána objekty: Potom tréninková a testovací množina je 52

53 , (3.6), (3.7) kde tréninková množina je složená ze všech reprezentantů shluků a testovací množina obsahuje zbylé objekty. Počet objektů v trénovací množině je stejný jako počet shluků,. (3.8) Obvyklým způsobem rozdělování dat na trénovací a testovací množinu je také náhodný výběr. Nejčastěji bez opakování, ale je možné toto rozdělení provést i s opakováním. Pro učení KSOM a pro otestování modelu, jak úspěšně byla KSOM natrénována, jsou data náhodně rozdělena pomocí uzlu Partition softwarového produktu SPSS Clementine na trénovací a testovací data v poměru 60:40. Ověření správnosti rozdělení je provedeno pomocí porovnání rozdělení pravděpodobností parametrů dat z trénovací množiny s parametry dat z testovací množiny. 3.5 Všeobecný klasifikační problém Cílem modelování je klasifikovat data charakterizující virtuální server do shluků, které budou představovat třídu Tento problém lze chápat jako všeobecný klasifikační problém. Dle literatury [16] je všeobecná formulace klasifikačního problému zavedena pomocí pojmu zobrazení, tj. funkce definované nad dvěma množinami a. Nechť je funkce definovaná na množině, která přiřazuje každému elementu obraz (funkční hodnotu z množiny ),, pro který platí vztah. (3.9) Dále dle [16] nechť je funkce, jejíž parametry jsou z konečné podmnožiny, nazývané tréninková množina, a je parametr (nebo parametry) zobrazení, potom a platí následující vztah. (3.10) Dle [16] lze říci, že zobrazení je restrikce zobrazení nad množinou. Komplement vzhledem k množině je označen a nazývá se testovací množina, pro kterou platí. Nechť pro každé známe požadovaný obraz (funkční hodnotu), platí,,,. (3.11) 53

54 Následující obr. 22 ukazuje zobrazení. Při podrobnějším zobrazení na podmnožinu získáme nové modelové zobrazení. Tvar funkce tohoto zobrazení je určen parametrem (parametry). [16] Obrázek 20: Schematické znázornění zobrazení F:A->B Zdroj:[16] Požadované funkční hodnoty jsou dle [16] interpretovány jako obrazy funkce, ve tvaru:. (3.12) Dle [16] je cílem najít takový parametr (parametry) funkce, aby funkční hodnoty argumentů z tréninkové mmnožiny byly co nejblíže obrazem funkce, tedy nejblíže požadovaným hodnotám. Nechť je definována účelová funkce vyjadřující sumu kvadratických odchylek funkce od požadovaných hodnot braných z tréninkové množiny. Je důležité, aby vypočítané hodnoty byly co nejblíže požadovaným hodnotám. Tento požadavek je realizován pomocí požadavku minimálnosti účelové funkce vzhledem k parametru. Funkci nazýváme adaptovanou, pokud její parametr je vybrán tak, aby se rovnal své optimální hodnotě, tj. takové hodnotě, ve které má účelová funkce globální minimum. [16] 54

55 3.6 Návrh modelů KSOM Pro klasifikaci dat bude navržena KSOM v softwarovém prostředí MATLAB R2012b společnosti MathWorks. Jak již bylo uvedeno, v MATLABU lze použít SOM Toolbox nebo Neural Network Toolbox, který se spouští příkazem nntool a nabízí pro práci jednoduché a příjemné uživatelské rozhraní (GUI Graphical User Interface). Všechny funkčnosti pro tvorbu KSOM lze také vytvořit pomocí skriptu a upravovat dle dostupné knihovny funkcí. Pomocí dostupných skriptů z MATLAB Centra lze např. doplnit také shlukování dle algoritmu K-means a Dunn Index pro určení počtu shluků pro K-means. Bohužel knihovna Neural Network toolboxu nedisponuje výpočtem topografické ani kvantizační chyby, dle kterých se provádí hodnocení KSOM a nebyl nalezen jednoduchý způsob jak propojit funkčnost se SOM toolboxem. Navržený model bude ověřován pomocí SOM toolboxu. Uživatelské rozhraní lze spustit pomocí příkazu som_gui. Druhou možností je využít knihovny SOM toolboxu a vytvořit vlastní m-file. Tento postup byl zvolen. Výsledný m-file je uveden v příloze C. Po spuštění skriptu je nejprve vytvořena datová struktura ze vstupní datové matice a názvů parametrů (som_data_struct). Dále jsou data normována (som_normalize) a je provedena inicializace vah. Je možné zvolit inicializaci náhodnou (som_randinit) nebo lineární pomocí PCA analýzy (som_lininit). Pro inicializaci lze nastavit následující vstupní parametry (argumenty) a jejich hodnoty: Velikost mapy počet vertikálních a počet horizontálních neuronů nebo počet neuronů (reprezentantů) v kompetiční vrstvě. Dle literatury [37] lze počet neuronů zvolit dle výpočtu, kde je počet trénovacích vzorů a je doporučeno, aby mřížka měla jednu stranu delší, tj. aby tvořila obdélník. Dle výpočtu byl zvolen počet 150 neuronů v kompetiční vrstvě a odpovídající velikost mapy [15 10]. Struktura KSOM šestiúhelník (hexa), čtyřúhelník (rect). Obvykle je doporučováno používat šestiúhelník. Pro vyhodnocení budou testovány modely pro obě možnosti. Tvar mapy dvourozměrná mřížka (shape), válec (cyl), prstenec (toroid). U všech modelů bude nastavována dvourozměrná mřížka, která odpovídá tvaru dat. Následuje nastavení parametrů učení KSOM. Parametry pro nastavení jsou odlišné dle zvoleného algoritmu učení. Učení je možné provádět sekvenčním učícím algoritmem 55

56 (som_seqtrain) nebo dávkovým učícím algoritmem (som_batchtrain). V obou případech probíhá učení ve dvou fázích. Jedná se o fázi uspořádávání a fázi dolaďování. Pro učení ve fázi uspořádávání jsou pro sekvenční i dávkový učící algoritmus nastaveny následující parametry a jejich hodnoty: Funkce okolí - lze zvolit Gaussovu (gaussian), Epanechikovu (ep), bublinkovou (buble) nebo ohraničenou Gaussovu (cutgauss). Pro vyhodnocení modelu budou testovány všechny možnosti. Počáteční poloměr okolí. Dle poznatků z předešlých kapitol má ve fázi uspořádávání poloměr okolí vysokou hodnotu. Malé okolí na začátku učení může způsobit neúplné rozvinutí mapy. Počáteční poloměr je nastaven z intervalu <3;7>. Konečný poloměr okolí Konečný poloměr je nastaven na hodnotu 1. Délka učení (v epochách). Ve fázi uspořádání je počet epoch nižší než pro fázi dolaďování. Délka učení v epochách je nastavována z intervalu <4;500>. Pro učení ve fázi dolaďování jsou pro sekvenční i dávkový učící algoritmus nastaveny tyto parametry a jejich hodnoty: Počáteční poloměr okolí Ve fázi dolaďování má poloměr okolí nízké hodnoty. Počáteční poloměr je nastaven z intervalu <1;3>. Konečný poloměr okolí Konečný poloměr je nastaven na hodnotu 1. Délka učení (v epochách). Pro fázi dolaďování je doporučeno zvolit délku učení v epochách jako čtyřnásobek délky učení ve fázi uspořádávání. Délka učení v epochách je nastavována z intervalu <20;2000>. Kromě výše uvedených parametrů lze dále pro oba učící algoritmy nastavit tyto parametry: Maska vyhledávání vítězných neuronů. Sledování výsledků učení neboli tracking. Pomocí tohoto nastavení lze sledovat průběh kvantizační chyby - QE. Nastavená hodnota 0 zobrazí dobu učení, hodnota 1 zobrazí dobu učení a kvantizační chybu, nastavená hodnota 2 zobrazí graf kvantizační chyby a hodnota 3 zobrazí graf kvantizační chyby a prvních dvou komponent. Sledování je nastaveno na hodnotu 3. Pokud dochází k velkým výkyvům chybových funkcí, lze spatřit skokové změny v průběhu kvantizační chyby. 56

57 Pro sekvenční algoritmus lze doplnit ještě následující parametry: Rychlost učení (t). Dle poznatků z předchozích kapitol je ve fázi uspořádávání funkce rychlosti učení klesající z nějaké hodnoty blízké 1 až na řádově 0,1-0,01 a během fáze dolaďování dochází k postupnému snižování až k nule. Pokud rychlost učení klesá velmi rychle a délka učení ve fázi uspořádávání je krátká, může dojít k nežádoucím efektům. Důležité je, aby pokles poloměru okolí nebyl příliš rychlý nebo příliš pomalý v porovnání s poklesem rychlosti učení (t). U sekvenčního algoritmu je nastavena rychlost učení ve fázi uspořádávání na hodnoty z intervalu <0,5;0,8>, ve fázi dolaďování jsou nastavovány hodnoty z intervalu <0,01;0,05>. Funkce rychlosti učení inverzní (inv), lineární (linear), mocninná (power). Jsou testovány všechny možnosti. Doba učení epochy (epochs) nebo trénovací objekty (samples). U tohoto parametru jsou nastaveny epochy. Pořadí trénovacích objektů náhodné (random) nebo seřazené (ordered). Výsledek řešení může záviset na pořadí případů. Vykonání skriptu dále pokračuje zobrazením matice vzdáleností (som_show), určením reprezentantů a počtu objektů k nim příslušejících (som_bmus, hits). Natrénovanou mapu lze uložit ve formátu SOM_PAK (som_write_cod). Další možností je uložit natrénovanou mapu ve formátu *.map přímo z workspace MATLABU. Kvalitu výsledků KSOM lze měřit pomocí hodnot TE a QE (som_quality), které byly blíže popsány v kapitole 2.5 a na jejichž základě bude vyhodnocen nejvhodnější model. Následuje stanovení počtu shluků pomocí výpočtu nejnižší hodnoty Davies Bouldinova indexu a dále shlukováním pomocí algoritmu K-means (kmeans_clusters), který je blíže popsán v následující kapitole. Cílem různého nastavování parametrů je dosáhnout dobře oddělených shluků, jejichž objekty mají podobné vlastnosti. Počet shluků by měl odpovídat počtu odlišných vlastností. 3.7 K-means Pro nalezení shluků lze na naučenou KSOM aplikovat algoritmus K-means neboli K-průměrů. Pak je proces shlukování realizován ve dvou úrovních. V první úrovni jsou objekty redukovány pomocí KSOM do n reprezentantů a následně je ve druhé úrovni těchto n reprezentantů o m znacích shlukováno do k shluků. Tímto způsobem je dosaženo snížení 57

58 výpočetní náročnosti. Počet shluků musí být určen předem. Pro stanovení počtu shluků slouží indexy hodnotící kvalitu shlukování. [26] Metoda K-means, neboli metoda nejbližších těžišť poskytuje pouze jediné řešení pro zadaný počet požadovaných shluků, který je předem zadán uživatelem. Objekt je zařazen do shluku s nejmenší vzdáleností mezi objektem a těžištěm shluku, tj. s nejbližším těžištěm. Jsou-li těžiště shluku známá, mohou být v datech specifikována a zařazení objektů je založeno na nich. V opačném případě, tj. když těžiště nejsou známá, jsou těžiště shluků určována iteračním výpočtem z dat. Princip metody K-means spočívá v rozdělení n objektů o m znacích do k shluků tak, že mezishluková suma čtverců je minimalizována. Počet možných uspořádání je však veliký, nelze tedy očekávat vždy jediné a nejlepší řešení. Existuje několik metod pro výpočet těžišť. Většina z nich vyšetřuje data několikrát. Jedna strategie vybírá objekty, které mají velké vzdálenosti mezi sebou. Následně tyto hodnoty užívá jako počáteční odhady těžišť shluků. Algoritmus pracuje tak, že prvních m objektů v datech (kde m je počet požadovaných shluků) je vybráno jako dočasná těžiště. V následujících krocích dojde k nahrazení objektu těžiště, když jako nejmenší vzdálenost k těžišti bude větší než vzdálenost mezi dvěma nejbližšími těžišti. Těžiště, které je bližší k objektu, je pak vyměněno. Algoritmus pro každý pokus zcela náhodně přiřazuje každý objekt jednomu shluku. Toto uspořádání je následně optimalizováno. Start procesu z rozličných náhodných uspořádání velmi zvyšuje pravděpodobnost nalezení nejlepšího řešení, tj. nalezení globálního optima počtu shluků. [19] V literatuře [19] a [20] je také definováno Kriterium věrohodnosti, čili těsnosti proložení. Předpokládejme objektů rozdělených do shluků, kde -tý shluk obsahuje objektů. Každý objekt je popsán m znaky. Chybějící hodnota -tého znaku v j-tém řádku u k-tého shluku je označena. Data jsou předem standardizována a označena Kriterium těsnosti proložení mezishlukové sumy čtverů, které je založeno na rozličných konfiguracích shluků, je definováno vztahem kde je střední hodnota (průměr) i-tého znaku v -tém shluku. Procento variace (proměnlivosti) je definováno vztahem 58

59 Dle literatury [2] je algoritmus K-means následující: Krok 1: Náhodně zvol rozklad do shluků. Krok 2: Urči centroidy pro všechny shluky v aktuálním rozkladu. Krok 3: Pro každý příklad a) urči vzdálenosti d(x, ),, kde je centroid k-tého shluku, b) nechť =, c) není-li součástí shluku l (k jehož centroidu má nejblíže), přesuň do shluku l. Krok 4: Došlo-li k nějakému přesunu, potom jdi na 2, jinak konec. Jak již bylo uvedeno, počet shluků musí být určen předem. Pro stanovení počtu shluků slouží dle [30] indexy hodnotící kvalitu shlukování. Jedná se např. o Dunn Index, Alternativní Dunn Index, Davies Bouldin Index, Root Mean Square Standard Deviation Index. K určení počtu shluků pro vytvořenou KSOM bude sloužit Davies Bouldin Index (DB). Dle literatury [14] je DB index založen na míře podobnosti shluků dle vztahu jehož základem je měření rozptylu uvnitř shluku a měření nepodobnosti shluku, (4.5) Jakmile jsou vypočítány všechny míry podobnosti shluků hodnoty nepodobností mezi shluky výpočtem dle vztahu, vyberou se maximální kde. Konečné výsledné kritérium se získá ze vztahu DB index měří průměr podobnosti shluků mezi sebou. Vzhledem k tomu, že shluky mají být kompaktní a oddělené, nižší hodnota DB indexu znamená lepší shlukovací konfiguraci. 59

60 3.8 Dílčí závěr V úvodu kapitoly je uveden algoritmus návrhu modelu pro klasifikaci včetně stručného popisu jednotlivých kroků. Dále je v kapitole popsáno seznámení se s dostupnými daty a jejich předzpracování pro potřeby klasifikace. Seznámení s daty bylo uskutečněno pomocí popisných statistik a datového slovníku. Korelační analýza odhalila závislost mezi parametry. Do další analýzy zůstal ponechán pouze jeden parametr z dvojice silně korelačně závislých parametrů. S daty byla realizována standardizace, pomocí které lze odstranit závislosti na měrných jednotkách. Následně byla data rozdělena na trénovací a testovací množinu. Takto připravená data lze použít pro modelování pomocí KSOM. V kapitole byl uveden také popis návrhu modelů, které budou testovány, včetně uvedení návrhu hodnot jednotlivých nastavovaných parametrů. Navržené modely budou ověřovány v prostředí SOM Toolboxu v MATLABU. 60

61 4 VERIFIKACE MODELŮ A ANALÝZA VÝSLEDKŮ Ověření navržených modelů je provedeno v softwarovém prostředí MATLAB R2012b pod operačním systémem Windows 7, pomocí skriptu s využitím knihovny SOM Toolbox. Pro jednotlivé modely jsou nastavovány parametry různých hodnot. Hodnocení modelů je rozděleno dle učícího algoritmu na modely se sekvenčním učícím algoritmem a modely s dávkovým učícím algoritmem. Modely jsou hodnoceny dle QE a TE. Cílem je získat model vhodný pro následující klasifikaci dat. Nejprve je provedeno učení KSOM pomocí trénovacích dat. Pro otestování nalezených znalostí v datech lze dle literatury [2] použít testování v celých trénovacích datech, křížovou validaci (cross-validation), metodu leave-one-out, metodu bootstrap nebo testování v testovacích datech. Testování v datech použitých při učení má nejmenší vypovídací schopnost o tom, jak jsou nalezené znalosti použitelné pro klasifikování nových případů. Často může dojít k přeučení (overfitting), kdy nalezené znalosti popisují více náhodné charakteristiky trénovacích dat a neodhalí podstatné znalosti, které lze použít pro generalizaci. Trénovací data tedy nejsou vhodná pro testování nalezených znalostí zobecnění. Je však důležité, aby se data použitá pro testování podobala datům trénovacím. Na základě hodnocení modelů dle TE a QE je pro vybrané modely, které dosahovaly nízkých hodnot, následně použito testovacích dat a je provedena klasifikace. Modely jsou hodnoceny s ohledem na vznik v praxi interpretovatelných shluků. Následně je každému shluku přiřazena třída. Výsledné KSOM mohou sloužit pro nalezení možných souvislostí mezi parametry jednotlivých stavů serverů. 4.1 Modely KSOM se sekvenčním učícím algoritmem Pro ověření navržených modelů jsou modely rozděleny do dvou hlavních podskupin. První podskupinu tvoří modely pro jednotlivé funkce rychlosti učení (lineární, inverzní a mocninná), které se dále dělí na modely s lineární inicializací a na modely s náhodnou inicializací. Druhou podskupinu modelů tvoří modely dle rozdílné funkce okolí (Gassova, Epanechikova, bublinková, ohraničená Gaussova). Dle doporučení literatury je u většiny modelů nastavena struktura mapy šestiúhelník, ale jsou také testovány modely s nastavením struktury čtyřúhelník. Výsledky základních modelů jsou uvedeny v příloze D. 61

62 4.1.1 Porovnání modelů Dle výsledných hodnot TE a QE bylo zjištěno, že modely s lineární inicializací dosahují lepších výsledků než modely s náhodnou inicializací. Dále bylo zjištěno, že modely s inverzní funkcí rychlosti učení dosahují vyšších hodnot QE oproti ostatním modelům a modely s Epanechikovou funkcí okolí dosahují vyšších hodnot TE, ale výrazně nižších hodnot QE. Modely se strukturou čtyřúhelníku dosahovaly vyšších hodnot QE oproti modelům se strukturou šestiúhelníku. Je vhodné dodržet, aby poměr doby učení mezi fází uspořádávání a fází dolaďování byl nastaven v poměru 1:4 a konečný poloměr okolí klesal na hodnotu Analýza výsledků Analýzou výsledků bylo zjištěno, že nejlepšího výsledku dosáhl model s lineární inicializací, lineární funkcí rychlosti učení a Gaussovou funkcí okolí a to s hodnotami TE = 0,0078 a QE = 0,4995. Rychlost učení byla nastavena pro fáze uspořádání a dolaďování v poměru 1:10. Nastavené hodnoty tohoto modelu ukazuje tabulka č. 3. Tabulka 3: Parametry modelu sekvenční algoritmus Parametr Algoritmus učení Inicializace Hodnota Sekvenční Lineární Velikost mapy [15 10] Struktura KSOM Fáze učení Funkce rychlosti učení Doba učení Pořadí trénovacích objektů Funkce okolí Fáze uspořádávání Šestiúhelník Lineární Epochy Náhodné Gaussova Počáteční poloměr okolí λ(t) 3 Konečný poloměr okolí λ(t) 1 Délka učení (v epochách) 100 Rychlost učení η 0,5 Fáze ladění Počáteční poloměr okolí λ(t) 2 Konečný poloměr okolí λ(t) 1 Délka učení (v epochách) 400 Rychlost učení η 0,05 Zdroj: vlastní zpracování 62

63 Výsledky KSOM lze vizualizovat několika způsoby. Vzdálenosti ve výstupním prostoru lze dle literatury [26] znázornit pomocí matice vzdáleností, která znázorňuje čtvercové euklidovské vzdálenosti mezi reprezentanty. Tyto vzdálenosti jsou znázorněny v barevné škále. Matice vzdáleností může být zobrazena v trojrozměrném prostoru, nebo v dvojrozměrném prostoru tzv. U-maticí. V U-matici lze spatřit ohraničené úseky vyšších hodnot znázorňující reprezentaty, které spolu nějak souvisí a liší se od ostatních oblastí. Pro snadnou interpretaci lze zobrazit U-matici ve škále šedi, kde světlejší oblasti ukazují menší vzdálenost mezi reprezentanty. Znamená to, že vektory vah jsou těsněji obklopeny ostatními vektory a tvoří shluk. Tmavší oblasti ukazují oblasti vzdálené, které se výrazně liší od ostatních reprezentantů a označují hranice shluků. V U-matici na obr. 21 lze spatřit oblast v levém dolním rohu, která se vyznačuje velkou vzdáleností mezi reprezentanty. Z tohoto lze usuzovat, že tato oblast bude tvořit samostatný shluk. Oblast vlevo nahoře se vyznačuje také velkou vzdáleností mezi reprezentanty. Tato oblast je ohraničena tmavší oblastí a lze usuzovat, že zde vzniknou dva samostatné shluky. Naopak oblasti na pravé straně U-matice se vyznačují téměř stejnou vzdáleností mezi reprezentanty. Obrázek 21: U-matice, sekvenční učící algoritmus, trénovací data Zdroj: vlastní zpracování Následující obr. 22 ukazuje matice vzdáleností jednotlivých parametrů. Podle výskytu vysokých (nebo nízkých) hodnot ve stejné pozici u jednotlivých parametrů lze nalézt existující vztah mezi jednotlivými parametry. 63

64 Obrázek 22: Hodnoty jednotlivých parametrů, sekvenční učící algoritmus, trénovací data Zdroj: vlastní zpracování Na základě výskytu vysokých hodnot ve stejné oblasti lze spatřit závislost mezi parametry CPU připraven u databázového serveru (CPU Ready ORA), CPU připraven u webového serveru (CPU Ready Portal), spotřeba paměti databázového serveru (Memory Consumed ORA) a také spotřeba paměti webového serveru (Memory Consumed Portal). V této pozici lze také spatřit vyšší hodnoty parametru využití procesoru u databázového serveru (CPU Usage ORA). Z těchto závislostí lze vyvodit domněnku, že zvýšení doby odezvy pro oba VM může způsobit nějaká další VM, která spotřebovává vice času procesoru a tím oběma serverům narůstá čekací doba na procesor. Hypervizor zřejmě přiděluje procesor jiným VM a dochází tak ke zvýšení času, po který servery čekají na naplánování a zpracování plánovačem na fyzickém procesoru. Tento stav může způsobit zpomalení veškerých spuštěných operací. Dalším zkoumáním lze také nalézt závislost mezi parametry spotřeba paměti databázového serveru (Memory Consumed ORA), využití CPU databázového serveru 64

65 (CPU Usage ORA), využití síťového provozu webového serveru (Network Usage Portal) a spotřeba paměti webového serveru (Memory Consumed Portal). Z této závislosti lze usuzovat operace související s vyšším přenosem objemu dat a náročnější na výpočetní výkon. Průchod dat vyžaduje asistenci procesoru. Při pohledu na KSOM jednotlivých parametrů lze také spatřit závislost vysokých hodnot u parametrů množství spotřebované kapacity datového úložiště databázového serveru (Disk Usage ORA), využití síťového provozu databázového serveru (Network Usage ORA), spotřeba paměti databázového serveru (Memory Consumed ORA) a středních hodnot parametrů využití procesoru databázového serveru (CPU Usage ORA) a spotřeba paměti webového serveru (Memory Consumed Portal). Tento vztah může ukazovat na operace související s exportem dat, jakými mohou být zálohování či replikaci dat. Další zajímavou oblast představuje pozice v levém horním rohu, která je charakteristická nízkými hodnotami všech parametrů a může představovat stav například krátce po restartu (spuštění) serveru, kdy má databázový server uvolněnou paměť. U parametru množství spotřebované kapacity datového úložiště webového serveru (Disk Usage Portal) byla shledána závislost s vysokou hodnotou parametru spotřeba paměti databázového serveru (Memory Consumed ORA) a také vyšší hodnotou spotřeby paměti webového serveru (Memory Consumed Portal). Z této závislosti lze vyvodit domněnku, že se jedná o diskové operace nebo tato závislost může ukazovat swapování Testovací data Pro otestování, jak úspěšně byla KSOM natrénována lze připojit k naučené mapě data, která nebyla použita v průběhu trénování a ověřit tak chování KSOM při vybavování. Generalizace (zevšeobecnění) je schopnost neuronových sítí správně klasifikovat i vstupní vzory, které nejsou součástí tréninkové množiny. Při testování KSOM je použita vstupní datová matice, která nyní obsahuje testovací množinu dat podobného druhu, jaké obsahovala trénovací množina. Následně je načtena natrénovaná mapa. Vzhledem k velikosti mapy, která je vyhovující pro 900 objektů, bylo původních 600 testovacích objektů navýšeno na počet 900 přidáním 300 objektů, které byly náhodně vybrány z původní testovací množiny. Inicializace již není provedena, protože KSOM je již naučena a její váhové vektory jsou nastaveny. Ostatní parametry zůstanou nezměněny. Následně dochází opět k výpočtu vzdáleností mezi vstupním vzorem od vektoru vah a k výběru BMU. Dochází k úpravě vah BMU a KSOM se doučuje. Výsledný model lze porovnat dle hodnot TE a QE. Pro modely s nízkými hodnotami TE nebo QE bylo provedeno vyhodnocení shluků. Shluky jsou vyhodnocovány jak vizuálně 65

66 porovnáním oblastí shluku se stejnou oblastí jednotlivých parametrů, tak pomocí rozkladu v softwarovém produktu Microsoft Excel a následně vyhodnoceny popisnou statistikou pomocí analýzy po skupinách (shlucích) v softwarovém prostředí STATISTICA10. Nejčastější počet shluků dle nejnižší hodnoty Davies Bouldinova Indexu byl počet 9. V těchto případech, kdy došlo ke vzniku více shluků, se však jednalo o shluky podobných objektů, které byly rozděleny do několika menších shluků. Při shlukování do menšího počtu shluků naopak data v některých shlucích nabývala hodnot v plném rozsahu a nebylo možné jednotlivé shluky jednoznačně interpretovat. Pro další popis shluků lze použít metody učení s učitelem, které dokáží extrahovat znalosti naučené pomocí KSOM. Znalosti by měly mít tvar podobný lidskému úsudku, tj. v podobě podmíněných pravidel. Tato pravidla mohou být vytvořena např. pomocí rozhodovacích stromů. Shluky lze také interpretovat na základě centroidů (průměrných hodnot všech parametrů v rámci jednoho shluku), skupinou vzdálených bodů nebo logickými výroky. [10] U testovací množiny dat bylo dosaženo těchto výsledků: TE = 0,0083; QE = 0,5178. Hodnota TE je téměř stejná jakou trénovacích dat a značí, že mapa zachovává topologii původních dat. Následující obr. 23 zobrazuje U-matici testovacích dat. Obrázek 23: U-matice, sekvenční učící algoritmus, testovací data Zdroj: vlastní zpracování U-matice zobrazuje ohraničené úseky vyšších hodnot znázorňující reprezentaty, které spolu nějak souvisí a liší se od ostatních oblastí. Tmavší oblasti ukazují oblasti vzdálené, které se výrazně liší od ostatních reprezentantů. Jedná se o oblasti vlevo uprostřed, vpravo 66

67 uprostřed a vpravo dole. Lze usuzovat, že zde vzniknou samostatné shluky. Nejvzdálenější oblast vlevo uprostřed představují vysoké hodnoty parametrů množství spotřebované kapacity datového úložiště databázového serveru (Disk Usage ORA) a vysoké hodnoty síťového provozu databázového serveru (Network Usage ORA). Další oblasti zvýšených hodnot lze spatřit v pravém a levém horním rohu U-matice. Je zřejmé, že zde vzniknou dva oddělené shluky. Následující obr. 24 zobrazuje matice vzdáleností jednotlivých parametrů. Mezi jednotlivými parametry lze spatřit stejné závislosti, které byly popsány u trénovacích dat v předchozí podkapitole. Obrázek 24: Hodnoty jednotlivých parametrů, sekvenční učící algoritmus, testovací data Zdroj: vlastní zpracování Následně bylo provedeno shlukování pomocí algoritmu K-means. Dle nejnižší hodnoty Davies-Bouldinova indexu 0,7364 bylo určeno nejvhodnější shlukování do 7 shluků. Hodnoty Davies-Bouldinova indexu a vhodné počty shluků k nim příslušejících jsou zobrazeny na obr

68 Obrázek 25: Davies-Bouldin index, sekvenční učící algoritmus, testovací data Zdroj: vlastní zpracování Obr. 26 zobrazuje počet a rozmístění shluků. Shluky lze interpretovat dle shodných oblastí s jednotlivými parametry na základě hodnot těchto parametrů. Obrázek 26: Shluky, sekvenční učící algoritmus, testovací data Zdroj: vlastní zpracování Následující obr. 27 zobrazuje rozdělení dat dle shluků do jednotlivých tříd. V tabulce 4 jsou uvedeny charakteristiky jednotlivých shluků. 68

69 Obrázek 27: Klasifikace do tříd, sekvenční učící algoritmus, testovací data Zdroj: vlastní zpracování Tabulka 4: Popis tříd dle shluků, sekvenční učící algoritmus, testovací data Shluk Počet Popis Třída Shluk je charakteristický objekty, které mají vysokou spotřebu síťového provozu webového serveru (Network Usage Portal), vysoké množství spotřebované paměti webového serveru (Memory Consumed Portal), vysoké množství spotřebované paměti databázového serveru (Memory Consumed ORA) 1 85 a vysoké využití procesoru databázového serveru (CPU Usage ORA). Tento shluk může představovat operace náročné na přenos většího objemu dat. Lze také usuzovat na vysoký počet uživatelů webového serveru Portal. Shluk obsahuje objekty s vysokou spotřebou databázového serveru (Memory Consumed ORA), nízkou až střední spotřebou paměti webového serveru (Memory Consumed Portal) a využití procesoru databázového serveru (CPU Usage ORA). Jedná se o jednoduché operace představující běžný provoz. Lze usuzovat, že malá zátěž využívá pouze cache paměť databázového serveru. 69

70 Tento shluk je charakteristický nízkou spotřebou paměti databázového serveru (Memory Consumed ORA) a střední spotřebou paměti webového serveru (Memory Consumed Portal). Ostatní parametry nabývají nízkých hodnot. Tento shluk může zastupovat operace, při kterých má databázový server uvolněnou paměť. Může se jednat například o stav databázového serveru krátce po jeho restartu (spuštění). Sluk je charakteristický vysokou spotřebou paměti webového serveru (Memory Consumed Portal) a vysokou spotřebou paměti databázového serveru (Memory Consumed ORA) Lze usuzovat na operace nenáročné na výkon. Zabraná paměť zřejmě představuje stav běžného provozu, kdy je malá zátěž serveru a je využívána pouze cache. Tento shluk je charakteristický vysokou hodnotou parametru CPU připraven webového serveru (CPU Ready Portal), dále vysokou hodnotou databázového serveru (CPU Ready ORA), vysokou spotřebou paměti webového serveru (Memory Consumed Portal), vysokou spotřebu paměti databázového serveru (Memory Consumed ORA) a také vysokým množstvím spotřebované kapacity datového úložiště webového serveru (Disk Usage Portal). Tento shluk může představovat operace, při kterých dochází ke zvýšení času, po který servery čekají na naplánování a zpracování plánovačem na fyzickém procesoru. Lze usuzovat, že hypervizor přiděluje procesor ještě další VM a tím dochází k nárůstu čekací doby. Tím mohou být pomalejší veškeré spuštěné operace. Vzhledem k vysokému množství spotřebované kapacity datového úložiště může představovat také diskové operace. Tento shluk obsahuje objekty, které mají vysokou spotřebu paměti webového serveru (Memory Consumed Portal) a paměti databázového serveru (Memory Consumed ORA) a také vysokou hodnotu využití CPU databázového serveru (CPU Usage ORA). Tento shluk představuje operace náročné na výpočetní výkon. 70

71 7 8 Tento shluk je charakteristický objekty s vysokým množstvím spotřebované kapacity datového úložiště databázového serveru (Disk Usage ORA) a vysokou hodnotou síťového provozu databázového serveru (Network Usage ORA) a také vyšší hodnotou spotřebované paměti webového serveru (Memory Consumed Portal) a vysokou spotřebu paměti databázového serveru (Memory Consumed ORA). Hodnoty parametru využití CPU databázového serveru (CPU Usage ORA) nabývají středních hodnot. Tento shluk může představovat operace související s exportem dat, jakými mohou být zálohování či replikace dat. Průchod dat vyžaduje spolupráci procesoru. Zdroj: vlastní zpracování 4.2 Modely KSOM s dávkovým učícím algoritmem Hodnocené modely lze rozdělit do dvou podskupin dle struktury KSOM šestiúhelník, čtyřúhelník. Pro každou podskupinu byly vytvořeny modely pro jednotlivé funkce okolí (Gaussova, Epanechikova, ohraničená Gaussova, bublinková) a pro inicializaci jak náhodnou, tak lineární. Výsledky některých modelů jsou uvedeny v příloze E Porovnání modelů Dle výsledků bylo zjištěno, že modely se strukturou mapy tvaru šestiúhelníku dosahují lepších výsledků než modely se strukturou čtyřúhelníku. Modely s Epanechikovou funkcí okolí dosahovaly nejnižších hodnot QE, ale vysokých hodnot TE. Dle zvolené inicializace nebyly nalezeny velké rozdíly ve výsledcích. Je vhodné dodržet, aby poměr doby učení ve fázi uspořádávání a doby učení ve fázi dolaďování byl nastaven v poměru 1: Analýza výsledků Nejlepšího výsledku s hodnotami TE = 0,0089 a QE = 0,5187 bylo dosaženo u modelu 10 s lineární inicializací a Gaussovou funkcí okolí. Nastavené hodnoty tohoto modelu ukazuje tabulka 5. 71

72 Tabulka 5: Parametry modelu dávkový algoritmus Parametr Hodnota Algoritmus učení Inicializace Dávkový Lineární Velikost mapy [15 10] Struktura mapy Fáze učení Funkce okolí Fáze uspořádávání Šestiúhelník Gaussova Počáteční poloměr okolí λ(t) 5 Konečný poloměr okolí λ(t) 1 Délka učení (v epochách) 200 Fáze ladění Počáteční poloměr okolí λ(t) 3 Konečný poloměr okolí λ(t) 1 Délka učení (v epochách) 800 Zdroj: vlastní zpracování Obr. 28 znázorňuje U-matici vytvořenou dávkovým učícím algoritmem. V pravé dolní části lze spatřit tmavou oblast charakterizující reprezentanty, kteří se vyznačují velkou vzdáleností. Je zřejmé, že tato oblast bude tvořit samostatný shluk. Tato oblast představuje vysoké hodnoty parametrů množství spotřebované kapacity datového úložiště databázového serveru (Disk Usage ORA) a vysoké hodnoty síťového provozu databázového serveru (Network Usage ORA). Další oblasti, vyznačující se vyššími hodnotami, lze spatřit v pravém horním rohu a v levém dolním rohu. Tyto oblasti také budou náležet do oddělených shluků. Obrázek 28: U-matice, dávkový učící algoritmus, trénovací data Zdroj: vlastní zpracování 72

73 Následující obr. 29 zobrazuje matice vzdáleností jednotlivých parametrů. Po prozkoumání všech závislostí bylo zjištěno, že jsou téměř totožné se závislostmi v modelu se sekvenčním učícím algoritmem. Jedná se tedy o závislosti mezi parametry CPU připraven u databázového serveru (CPU Ready ORA), CPU připraven u webového serveru (CPU Ready Portal), spotřeba paměti databázového serveru (Memory Consumed ORA) a také spotřeba paměti webového serveru (Memory Consumed Portal). Obrázek 29: Hodnoty jednotlivých parametrů, dávkový učící algoritmus, trénovací data Zdroj: vlastní zpracování Při pohledu na jednotlivé parametry KSOM lze také nalézt závislost mezi parametry spotřeba paměti databázového serveru (Memory Consumed ORA), využití CPU databázového serveru (CPU Usage ORA), využití síťového provozu webového serveru (Network Usage Portal) a spotřeba paměti webového serveru (Memory Consumed Portal). Dále lze spatřit závislost vysokých hodnot u parametrů množství spotřebované kapacity datového úložiště databázového serveru (Disk Usage ORA), využití síťového provozu databázového serveru (Network Usage ORA), spotřeba paměti databázového serveru (Memory Consumed ORA) 73

74 a středních hodnot parametrů využití procesoru databázového serveru (CPU Usage ORA). Jedinou odlišností je pozice parametru množství spotřebované kapacity datového úložiště webového serveru (Disk Usage Portal). Při učení dávkovým učícím algoritmem měl tento parametr pozice vysokých hodnot opakovaně shodné s parametry CPU připraven webového serveru (CPU Ready Portal) a CPU připraven databázového serveru (CPU Ready ORA), ale při učení sekvenčním algoritmem nebyla tato přímá závislost odhalena Testovací data Pro otestování, jak úspěšně byla KSOM natrénována je opět použita vytvořená testovací množina dat. Výsledný model lze porovnat dle hodnot TE a QE. Pro modely s nízkými hodnotami TE nebo QE bylo opět provedeno vyhodnocení shluků. U testovací množiny bylo dosaženo těchto výsledků: TE = 0,0111; QE = 0,4967. Hodnota TE značí, že mapa zachovává topologii původních dat. Následující obr. 30 zobrazuje U-matici testovacích dat. Lze spatřit podobnost s U-maticí trénovacích dat. Také pozice vyšších hodnot v U-matici testovacích dat jsou shodné s U-maticí trénovacích dat. Obrázek 30: U-matice, dávkový učící algoritmus, testovací data Zdroj: vlastní zpracování Následující obr. 31 zobrazuje matice vzdáleností jednotlivých parametrů. Podle výskytu stejných hodnot parametrů lze nalézt existující vztah mezi jednotlivými parametry. Lze spatřit stejné závislosti jako v případě trénovacích dat. Popis těchto závislostí je uveden v předchozí podkapitole. Následně bylo provedeno shlukování pomocí algoritmu K-means. Dle nejnižší hodnoty Davies-Bouldinova indexu 0,7673 bylo určeno nejvhodnější shlukování do 6 shluků, jak lze spatřit na obr

Pokročilé architektury počítačů

Pokročilé architektury počítačů Pokročilé architektury počítačů Tutoriál 2 Virtualizace a její dopady Martin Milata Obsah Virtualizace Jak virtualizace funguje Typy HW podpora virtualizace Dopady virtualizace Jak virtualizace funguje?

Více

Státnice odborné č. 20

Státnice odborné č. 20 Státnice odborné č. 20 Shlukování dat Shlukování dat. Metoda k-středů, hierarchické (aglomerativní) shlukování, Kohonenova mapa SOM Shlukování dat Shluková analýza je snaha o seskupení objektů do skupin

Více

VirtualBox desktopová virtualizace. Zdeněk Merta

VirtualBox desktopová virtualizace. Zdeněk Merta VirtualBox desktopová virtualizace Zdeněk Merta 15.3.2009 VirtualBox dektopová virtualizace Stránka 2 ze 14 VirtualBox Multiplatformní virtualizační nástroj. Částečně založen na virtualizačním nástroji

Více

Algoritmy a struktury neuropočítačů ASN P3

Algoritmy a struktury neuropočítačů ASN P3 Algoritmy a struktury neuropočítačů ASN P3 SOM algoritmus s učitelem i bez učitele U-matice Vektorová kvantizace Samoorganizující se mapy ( Self-Organizing Maps ) PROČ? Základní myšlenka: analogie s činností

Více

RHEV for Desktops & SPICE příklad nasazení v akademickém prostředí. Milan Zelenka, RHCE Enlogit s.r.o.

RHEV for Desktops & SPICE příklad nasazení v akademickém prostředí. Milan Zelenka, RHCE Enlogit s.r.o. RHEV for Desktops & SPICE příklad nasazení v akademickém prostředí Milan Zelenka, RHCE Enlogit s.r.o. Red Hat Enterprise Virtualization for Desktops (RHEV-D) Desktop virtualization Vlastnosti efektivní

Více

NÁSTROJE PRO VIRTUALIZACI POČÍTAČE

NÁSTROJE PRO VIRTUALIZACI POČÍTAČE NÁSTROJE PRO VIRTUALIZACI POČÍTAČE Název školy Obchodní akademie, Vyšší odborná škola a Jazyková škola s právem státní jazykové zkoušky Uherské Hradiště Název DUMu Nástroje pro virtualizaci Autor Martin

Více

Virtualizace. Lukáš Krahulec, KRA556

Virtualizace. Lukáš Krahulec, KRA556 Virtualizace Lukáš Krahulec, KRA556 Co je vitualizace Způsob jak přistupovat ke zdrojům systému jako k univerzálnímu výkonu a nezajímat se o železo Způsob jak využít silný HW a rozložit ho mezi uživatele,

Více

Virtuální učebna: VMware VDI zefektivňuje výuku, zjednodušuje správu a snižuje náklady

Virtuální učebna: VMware VDI zefektivňuje výuku, zjednodušuje správu a snižuje náklady Virtuální učebna: VMware VDI zefektivňuje výuku, zjednodušuje správu a snižuje náklady Jaroslav Prodělal, solution consultant, OldanyGroup Petr Škrabal, správce sítě, SOŠP a SOUS Hranice Představení společnosti

Více

Virtualizace desktopů

Virtualizace desktopů Jaroslav Dvořák 8.8.2013 Telč Virtualizace desktopů Móda nebo skutečné přínosy? Agenda Vysvětlení pojmů Demo Srovnání jednotlivých přístupů Omezení technologií Požadavky na nasazení Licence Diskuze 2 Pojmy

Více

Integrace formou virtualizace

Integrace formou virtualizace Integrace formou virtualizace Jiří Jarema Radek Vojkůvka Úvod Integrace Virtualizace Cloud Virtualizace Serverová Desktopová Virtualizace aplikací Desktops Apps 2 Výchozí stav Uživatelé v různých lokalitách

Více

Cloud Computing pro státní správu v praxi. Martin Vondrouš - Software602, a.s. Pavel Kovář - T-Systems Czech Republic a.s.

Cloud Computing pro státní správu v praxi. Martin Vondrouš - Software602, a.s. Pavel Kovář - T-Systems Czech Republic a.s. Cloud Computing pro státní správu v praxi Martin Vondrouš - Software602, a.s. Pavel Kovář - T-Systems Czech Republic a.s. Portál SecuStamp.com Proč vznikl portál SecuStamp.com Na trhu chybělo» Jednoduché

Více

Moderní privátní cloud pro město na platformě OpenStack a Kubernetes

Moderní privátní cloud pro město na platformě OpenStack a Kubernetes Moderní privátní cloud pro město na platformě OpenStack a Kubernetes Agenda O TCP Produkt TCP CityCloud K čemu slouží Z čeho se skládá Reálné nasazení pro město Strakonice Projekt Bezpečnost infrastruktury

Více

Praha, 31.3. 2011. Martin Beran

Praha, 31.3. 2011. Martin Beran Datová centra Design studie Praha, 31.3. 2011 Martin Beran martin.beran@simac.cz cz 1 Design studie 2 Implementace virtuálních pracovních stanic na platformě FlexPod + VMWare View 2 Výchozí stav Provozování

Více

Samoučící se neuronová síť - SOM, Kohonenovy mapy

Samoučící se neuronová síť - SOM, Kohonenovy mapy Samoučící se neuronová síť - SOM, Kohonenovy mapy Antonín Vojáček, 14 Květen, 2006-10:33 Měření a regulace Samoorganizující neuronové sítě s učením bez učitele jsou stále více využívány pro rozlišení,

Více

ANALÝZA A KLASIFIKACE BIOMEDICÍNSKÝCH DAT. Institut biostatistiky a analýz

ANALÝZA A KLASIFIKACE BIOMEDICÍNSKÝCH DAT. Institut biostatistiky a analýz ANALÝZA A KLASIFIKACE BIOMEDICÍNSKÝCH DAT prof. Ing. Jiří Holčík,, CSc. NEURONOVÉ SÍTĚ otázky a odpovědi 1 AKD_predn4, slide 8: Hodnota výstupu závisí na znaménku funkce net i, tedy na tom, zda bude suma

Více

VÝPOČETNĚ NÁROČNÉ APLIKACE S VYUŽITÍM VIRTUALIZACE PRACOVNÍCH STANIC NA BÁZI INTEGRACE TECHNOLOGIÍ MICROSOFT VDI A SUN RAY

VÝPOČETNĚ NÁROČNÉ APLIKACE S VYUŽITÍM VIRTUALIZACE PRACOVNÍCH STANIC NA BÁZI INTEGRACE TECHNOLOGIÍ MICROSOFT VDI A SUN RAY VÝPOČETNĚ NÁROČNÉ APLIKACE S VYUŽITÍM VIRTUALIZACE PRACOVNÍCH STANIC NA BÁZI INTEGRACE TECHNOLOGIÍ MICROSOFT VDI A SUN RAY Ivo Martiník, David Bochenek VŠB-Technická univerzita Ostrava Ekonomická fakulta

Více

TSM for Virtual Environments Data Protection for VMware v6.3. Ondřej Bláha CEE+R Tivoli Storage Team Leader. TSM architektura. 2012 IBM Corporation

TSM for Virtual Environments Data Protection for VMware v6.3. Ondřej Bláha CEE+R Tivoli Storage Team Leader. TSM architektura. 2012 IBM Corporation TSM for Virtual Environments Data Protection for VMware v6.3 Ondřej Bláha CEE+R Tivoli Storage Team Leader TSM architektura 2012 IBM Corporation Tradiční zálohování a obnova dat ze strany virtuálního stroje

Více

Algoritmy a struktury neuropočítačů ASN - P10. Aplikace UNS v biomedicíně

Algoritmy a struktury neuropočítačů ASN - P10. Aplikace UNS v biomedicíně Aplikace UNS v biomedicíně aplikace v medicíně postup při zpracování úloh Aplikace UNS v medicíně Důvod: nalezení exaktnějších, levnějších a snadnějších metod určování diagnóz pro lékaře nalezení šetrnějších

Více

VIRTUALIZACE POČÍTAČE HISTORIE A VÝVOJ

VIRTUALIZACE POČÍTAČE HISTORIE A VÝVOJ VIRTUALIZACE POČÍTAČE HISTORIE A VÝVOJ Název školy Obchodní akademie, Vyšší odborná škola a Jazyková škola s právem státní jazykové zkoušky Uherské Hradiště Název DUMu Virtualizace počítače historie a

Více

IBM Cloud computing. Petr Leština Client IT Architect. Jak postavit enterprise cloud na klíč. 2011 IBM Corporation

IBM Cloud computing. Petr Leština Client IT Architect. Jak postavit enterprise cloud na klíč. 2011 IBM Corporation IBM Cloud computing Jak postavit enterprise cloud na klíč Petr Leština Client IT Architect Agenda Úvod Architektura privátního cloudu (IaaS a PaaS) Smart Cabinet pro provoz cloud infrastruktury Závěr Cloud

Více

Přechod na virtuální infrastrukturu

Přechod na virtuální infrastrukturu Přechod na virtuální infrastrukturu Tomáš Halman, ANECT a.s. Virtualizace 4. 3. 2009, Praha Obsah prezentace Virtualizace s VMware Infrastructure (obecné přínosy) Případová studie implementace pro dceřinou

Více

5. Umělé neuronové sítě. Neuronové sítě

5. Umělé neuronové sítě. Neuronové sítě Neuronové sítě Přesný algoritmus práce přírodních neuronových systémů není doposud znám. Přesto experimentální výsledky na modelech těchto systémů dávají dnes velmi slibné výsledky. Tyto systémy, včetně

Více

Registrační číslo projektu: CZ.1.07/1.5.00/34.0553 Elektronická podpora zkvalitnění výuky CZ.1.07 Vzděláním pro konkurenceschopnost

Registrační číslo projektu: CZ.1.07/1.5.00/34.0553 Elektronická podpora zkvalitnění výuky CZ.1.07 Vzděláním pro konkurenceschopnost Registrační číslo projektu: CZ.1.07/1.5.00/34.0553 CZ.1.07 Vzděláním pro konkurenceschopnost Projekt je realizován v rámci Operačního programu Vzdělávání pro konkurence schopnost, který je spolufinancován

Více

Virtualizace na Linuxu

Virtualizace na Linuxu Virtualizace na Linuxu Silicon Hill 13.4.2010 zdroj:xkcd.com Outline 1 2 3 Co to je virtualizace obecně = abstrakce počítačových zdrojů konkrétně pro nás = technika, který na jednom fyzickém počítači umožní

Více

Data Protection Delivery Center, s. r. o. JEDNODUCHOST, SPOLEHLIVOST a VÝKONNOST. DPDC Protection. zálohování dat

Data Protection Delivery Center, s. r. o. JEDNODUCHOST, SPOLEHLIVOST a VÝKONNOST. DPDC Protection. zálohování dat Data Protection Delivery Center, s. r. o. JEDNODUCHOST, SPOLEHLIVOST a VÝKONNOST zálohování dat DPDC Protection DPDC Protection Jednoduchost, spolehlivost a výkonnost zálohování dat DPDC Protection je

Více

Od virtualizace serverů k virtualizaci desktopů. Nebo opačně? Jaroslav Prodělal, OldanyGroup VMware VCP, consultant

Od virtualizace serverů k virtualizaci desktopů. Nebo opačně? Jaroslav Prodělal, OldanyGroup VMware VCP, consultant Od virtualizace serverů k virtualizaci desktopů. Nebo opačně? Jaroslav Prodělal, OldanyGroup VMware VCP, consultant Virtuální desktopová infrastruktura I. Virtuální desktopová infrastruktura II. využívání

Více

Red Hat Enterprise Virtualization

Red Hat Enterprise Virtualization Red Hat Enterprise Virtualization Technologie KVM Milan Zelenka, RHCE Enlogit s.r.o. Část 1 Virtualizace obecně Virtualizace Systém umožňující využívat jeden zdroj pro více systémů Hardware jako zdroj

Více

MATLABLINK - VZDÁLENÉ OVLÁDÁNÍ A MONITOROVÁNÍ TECHNOLOGICKÝCH PROCESŮ

MATLABLINK - VZDÁLENÉ OVLÁDÁNÍ A MONITOROVÁNÍ TECHNOLOGICKÝCH PROCESŮ MATLABLINK - VZDÁLENÉ OVLÁDÁNÍ A MONITOROVÁNÍ TECHNOLOGICKÝCH PROCESŮ M. Sysel, I. Pomykacz Univerzita Tomáše Bati ve Zlíně, Fakulta aplikované informatiky Nad Stráněmi 4511, 760 05 Zlín, Česká republika

Více

Cloudová Řešení UAI/612

Cloudová Řešení UAI/612 Cloudová Řešení UAI/612 Kontakt Ondřej Urbánek ondrej.urbanek@orchitech.cz Výuka 7.3. 2014 13:00 21.3.2014 13:00 11.4. 2014 13:00 24.5. 2014 13:00 Cloudová Řešení Co je to cloud? Co je pro něj charakteristické?

Více

Antonín Přibyl - Virtualizace Windows serveru s KVM hypervisorem

Antonín Přibyl - Virtualizace Windows serveru s KVM hypervisorem Výchozí stav Virtualizace je na Vysoké škole polytechnické Jihlava intenzivně využívána při výuce předmětu Počítačové sítě I. (dále jen PS1), Počítačové sítě II. (dále jen PS2) a Operační systémy. Předměty

Více

Služby datového centra

Služby datového centra Služby datového centra Společnost DataSpring je poskytovatelem služeb ICT infrastruktury a provozu IT řešení, veškeré služby provozuje ve vlastních datových centrech v Praze a v Lužicích u Hodonína. Lužické

Více

Služby datového centra

Služby datového centra Služby datového centra Společnost DataSpring je poskytovatelem služeb ICT infrastruktury a provozu IT řešení, veškeré služby provozuje ve vlastních datových centrech v Praze (Lucerna) a v Lužicích u Hodonína.

Více

Inovace výuky prostřednictvím ICT v SPŠ Zlín, CZ.1.07/1.5.00/ Vzdělávání v informačních a komunikačních technologií

Inovace výuky prostřednictvím ICT v SPŠ Zlín, CZ.1.07/1.5.00/ Vzdělávání v informačních a komunikačních technologií VY_32_INOVACE_31_15 Škola Název projektu, reg. č. Vzdělávací oblast Vzdělávací obor Tematický okruh Téma Tematická oblast Název Autor Vytvořeno, pro obor, ročník Anotace Přínos/cílové kompetence Střední

Více

Red Hat Enterprise Virtualization

Red Hat Enterprise Virtualization Red Hat Enterprise Virtualization Nové produkty Red Hat v oblasti virtualizace Ondřej Suchý, RHCVSP Enlogit s.r.o. Část 1 O Enlogit Enlogit: o nás IT pro firmy primární zaměření: služby významný implementátor

Více

Vzdálený přístup k počítačům

Vzdálený přístup k počítačům Vzdálený přístup k počítačům jedna z nejstarších služeb vzdálený přístup k sálovým počítačům nejprve vzdálené terminály později terminálová emulace jako jedna ze služeb počítačové sítě současnost využíváno

Více

Část 1. Technická specifikace. Posílení ochrany demokratické společnosti proti terorismu a extremismu

Část 1. Technická specifikace. Posílení ochrany demokratické společnosti proti terorismu a extremismu příloha č. 1 k PPR-15689-2/ČJ-2013-990656 Část 1 Technická specifikace Posílení ochrany demokratické společnosti proti terorismu a extremismu Předmět Veřejné zakázky: Řešení pro dodání speciálního SW pro

Více

Virtualizační platforma ovirt

Virtualizační platforma ovirt Úvod Virtualizační platforma ovirt 12.11.2015 Jiří Sléžka CIT, Slezská univerzita v Opavě Virtualizační platforma ovirt, ORS2015, Jiří Sléžka, CIT SLU 1 Virtualizace Provoz více virtuálních instancí počítače

Více

Acronis. Lukáš Valenta lukas.valenta@acronis.cz www.acronis.cz

Acronis. Lukáš Valenta lukas.valenta@acronis.cz www.acronis.cz Acronis Lukáš Valenta lukas.valenta@acronis.cz www.acronis.cz Acronis Kdo jsme? Společnost se sídlem v USA Zálohovací software Software pro ochranu proti haváriím Nástroje pro správu disků Nástroje pro

Více

CA AppLogic platforma typu cloud pro podnikové aplikace

CA AppLogic platforma typu cloud pro podnikové aplikace INFORMACE O PRODUKTU: CA AppLogic CA AppLogic platforma typu cloud pro podnikové aplikace agility made possible CA AppLogic je platforma na klíč založená na technologii cloud computing, která pomáhá podnikům

Více

Vzdálená správa v cloudu až pro 250 počítačů

Vzdálená správa v cloudu až pro 250 počítačů Vzdálená správa v cloudu až pro 250 počítačů S pomocí ESET Cloud Administratoru můžete řídit zabezpečení vaší podnikové sítě bez nutnosti nákupu, instalace nebo údržby dalšího hardwaru. Řešení je poskytováno

Více

Vlákno (anglicky: thread) v informatice označuje vlákno výpočtu neboli samostatný výpočetní tok, tedy posloupnost po sobě jdoucích operací.

Vlákno (anglicky: thread) v informatice označuje vlákno výpočtu neboli samostatný výpočetní tok, tedy posloupnost po sobě jdoucích operací. Trochu teorie Vlákno (anglicky: thread) v informatice označuje vlákno výpočtu neboli samostatný výpočetní tok, tedy posloupnost po sobě jdoucích operací. Každá spuštěná aplikace má alespoň jeden proces

Více

ního bezpečnostního úřadu známý jako kauza nbusr123 mluví za vše.

ního bezpečnostního úřadu známý jako kauza nbusr123 mluví za vše. ního bezpečnostního úřadu známý jako kauza nbusr123 mluví za vše. Antivirová bouře Doprovodné technologie, mezi které patří i zabezpečovací subsystémy, hlavně EPP (Endpoint Protection Platforms), se snaží

Více

CLOUD COMPUTING PRO MALÉ A STŘEDNÍ FIRMY

CLOUD COMPUTING PRO MALÉ A STŘEDNÍ FIRMY 1 CLOUD COMPUTING PRO MALÉ A STŘEDNÍ FIRMY Ing. Martin Pochyla, Ph.D. VŠB TU Ostrava, Ekonomická fakulta Katedra Aplikovaná informatika martin.pochyla@vsb.cz Informační technologie pro praxi 2010 Definice

Více

Cloud Slovník pojmů. J. Vrzal, verze 0.9

Cloud Slovník pojmů. J. Vrzal, verze 0.9 Cloud Slovník pojmů J. Vrzal, verze 0.9 Typické poskytované služby SaaS (Software as a Service): software jako služba Poskytování softwarové aplikace prostřednictvím internetu tak, že aplikace běží na

Více

Algoritmy a struktury neuropočítačů ASN - P11

Algoritmy a struktury neuropočítačů ASN - P11 Aplikace UNS při rozpoznání obrazů Základní úloha segmentace obrazu rozdělení obrazu do několika významných oblastí klasifikační úloha, clusterová analýza target Metody Kohonenova metoda KSOM Kohonenova

Více

Programové vybavení počítačů operační systémy

Programové vybavení počítačů operační systémy Programové vybavení počítačů operační systémy Operační systém Základní program, který oživuje hardware a poskytuje prostředí pro ostatní programy Řídí využití procesoru, síťovou komunikaci, tisk, ovládá

Více

Semináˇr Java X J2EE Semináˇr Java X p.1/23

Semináˇr Java X J2EE Semináˇr Java X p.1/23 Seminář Java X J2EE Seminář Java X p.1/23 J2EE Složitost obchodních aplikací robusní, distribuované, spolehlivé aplikace s transakcemi na straně serveru, klientské aplikace co nejjednodušší Snaha : Návrh,

Více

Alternativy k SAP HANA appliance? Představení možnosti TDI a cloudové infrastruktury

Alternativy k SAP HANA appliance? Představení možnosti TDI a cloudové infrastruktury Alternativy k SAP HANA appliance? Představení možnosti TDI a cloudové infrastruktury Jiří Vrbický Senior Architekt 10. září 2015 Infrastruktura pro SAP HANA Možnosti zajištění infrastruktury pro SAP HANA:

Více

Architektura rodiny operačních systémů Windows NT Mgr. Josef Horálek

Architektura rodiny operačních systémů Windows NT Mgr. Josef Horálek Architektura rodiny operačních systémů Windows NT Mgr. Josef Horálek = Velmi malé jádro = implementuje jen vybrané základní mechanismy: = virtuální paměť; = plánování vláken; = obsluha výjimek; = zasílání

Více

KAPITOLA 1 Úvod do zkoušky VMware Certified Professional pro vsphere 25. KAPITOLA 2 Úvod do serverové virtualizace a řady produktů VMware 43

KAPITOLA 1 Úvod do zkoušky VMware Certified Professional pro vsphere 25. KAPITOLA 2 Úvod do serverové virtualizace a řady produktů VMware 43 Stručný obsah KAPITOLA 1 Úvod do zkoušky VMware Certified Professional pro vsphere 25 KAPITOLA 2 Úvod do serverové virtualizace a řady produktů VMware 43 KAPITOLA 3 Instalace, upgrade a konfigurace serveru

Více

OPS Paralelní systémy, seznam pojmů, klasifikace

OPS Paralelní systémy, seznam pojmů, klasifikace Moorův zákon (polovina 60. let) : Výpočetní výkon a počet tranzistorů na jeden CPU chip integrovaného obvodu mikroprocesoru se každý jeden až dva roky zdvojnásobí; cena se zmenší na polovinu. Paralelismus

Více

Přednáška 13 Redukce dimenzionality

Přednáška 13 Redukce dimenzionality Vytěžování Dat Přednáška 13 Redukce dimenzionality Miroslav Čepek Fakulta Elektrotechnická, ČVUT Evropský sociální fond Praha & EU: Investujeme do vaší budoucnosti ČVUT (FEL) Redukce dimenzionality 1 /

Více

Cloud. historie, definice, modely a praktické využití. 7.4.2014 Ing. Karel Stýblo K2 atmitec s.r.o.

Cloud. historie, definice, modely a praktické využití. 7.4.2014 Ing. Karel Stýblo K2 atmitec s.r.o. Cloud historie, definice, modely a praktické využití 7.4.2014 Ing. Karel Stýblo K2 atmitec s.r.o. Agenda Agenda Cloud jak to začalo? Definice Cloudu Modely cloudových služeb Modely nasazení cloudových

Více

VIRTUALIZACE POČÍTAČE

VIRTUALIZACE POČÍTAČE VIRTUALIZACE POČÍTAČE Název školy Obchodní akademie, Vyšší odborná škola a Jazyková škola s právem státní jazykové zkoušky Uherské Hradiště Název DUMu Virtualizace počítače Autor Martin Šimůnek Datum 29.

Více

IBM Tivoli Monitoring pro Virtuální prostředí

IBM Tivoli Monitoring pro Virtuální prostředí IBM Tivoli Monitoring pro Virtuální prostředí Virtuální infrastruktura je dnes samozřejmostí a investicemi do ní získáváte stále větší užitnou hodnotu všech vašich dostupných prostředků. Společnosti se

Více

Paralelní výpočty ve finančnictví

Paralelní výpočty ve finančnictví Paralelní výpočty ve finančnictví Jan Houška HUMUSOFT s.r.o. houska@humusoft.cz Výpočetně náročné úlohy distribuované úlohy mnoho relativně nezávislých úloh snížení zatížení klientské pracovní stanice

Více

Využití moderních přístupů při budování Technologického centra kraje

Využití moderních přístupů při budování Technologického centra kraje Využití moderních přístupů při budování Technologického centra kraje Tomáš Horák, CCIE #11783 Systems Engineer, Data Center & Collaboration Email/XMPP: tohorak@cisco.com 2012 Cisco and/or its affiliates.

Více

Rozpoznávání písmen. Jiří Šejnoha Rudolf Kadlec (c) 2005

Rozpoznávání písmen. Jiří Šejnoha Rudolf Kadlec (c) 2005 Rozpoznávání písmen Jiří Šejnoha Rudolf Kadlec (c) 2005 Osnova Motivace Popis problému Povaha dat Neuronová síť Architektura Výsledky Zhodnocení a závěr Popis problému Jedná se o praktický problém, kdy

Více

Procesy a vlákna (Processes and Threads)

Procesy a vlákna (Processes and Threads) ÚVOD DO OPERAČNÍCH SYSTÉMŮ Ver.1.00 Procesy a vlákna (Processes and Threads) Správa procesů a vláken České vysoké učení technické Fakulta elektrotechnická 2012 Použitá literatura [1] Stallings, W.: Operating

Více

verze GORDIC spol. s r. o.

verze GORDIC spol. s r. o. Compatibility List verze 01.1 199-01 GORDIC spol. s r. o. Obsah 1 Obsah 1 Úvodní informace Podporované databázové systémy Klientské prostředí Webový aplikační server Kancelářský software Úložiště souborů

Více

PROJEKT ŘEMESLO - TRADICE A BUDOUCNOST Číslo projektu: CZ.1.07/1.1.38/ PŘEDMĚT PRÁCE S POČÍTAČEM

PROJEKT ŘEMESLO - TRADICE A BUDOUCNOST Číslo projektu: CZ.1.07/1.1.38/ PŘEDMĚT PRÁCE S POČÍTAČEM PROJEKT ŘEMESLO - TRADICE A BUDOUCNOST Číslo projektu: CZ.1.07/1.1.38/02.0010 PŘEDMĚT PRÁCE S POČÍTAČEM Obor: Studijní obor Ročník: Druhý Zpracoval: Mgr. Fjodor Kolesnikov PROJEKT ŘEMESLO - TRADICE A BUDOUCNOST

Více

Dobývání znalostí. Doc. RNDr. Iveta Mrázová, CSc. Katedra teoretické informatiky Matematicko-fyzikální fakulta Univerzity Karlovy v Praze

Dobývání znalostí. Doc. RNDr. Iveta Mrázová, CSc. Katedra teoretické informatiky Matematicko-fyzikální fakulta Univerzity Karlovy v Praze Dobývání znalostí Doc. RNDr. Iveta Mrázová, CSc. Katedra teoretické informatiky Matematicko-fyzikální fakulta Univerzity Karlovy v Praze Dobývání znalostí Pravděpodobnost a učení Doc. RNDr. Iveta Mrázová,

Více

Neuronové časové řady (ANN-TS)

Neuronové časové řady (ANN-TS) Neuronové časové řady (ANN-TS) Menu: QCExpert Prediktivní metody Neuronové časové řady Tento modul (Artificial Neural Network Time Series ANN-TS) využívá modelovacího potenciálu neuronové sítě k predikci

Více

PROVOZOVÁNÍ PRIVATE CLOUD VE VEŘEJNÉ SPRÁVĚ

PROVOZOVÁNÍ PRIVATE CLOUD VE VEŘEJNÉ SPRÁVĚ PROVOZOVÁNÍ PRIVATE CLOUD VE VEŘEJNÉ SPRÁVĚ Juraj Žoldák Vítkovice IT Solutions, Michal Osif Microsoft Services 2.4.2012 ISSS Hradec Králové http://itsolutions.vitkovice.cz Cíle a stav IT systémů ve veřejné

Více

Virtualizace jako nástroj snížení nákladů. Periodické opakování nákladů nové verze Licence na pevný počet klientů

Virtualizace jako nástroj snížení nákladů. Periodické opakování nákladů nové verze Licence na pevný počet klientů Model Mainframe Centralizované řešení Cena za strojový čas Klientská zařízení nedisponují výkonem Vysoké pořizovací náklady na hardware Bez softwarových licencí software na míru Model Klient Server Přetrvává

Více

Networking v hypervisoru Hyper-V

Networking v hypervisoru Hyper-V Networking v hypervisoru Hyper-V Bc. Daniel Šudřich Abstrakt: Tento dokument slouží jako úvod do Networkingu v hypervisoru Hyper-V. Stručně uvede co je to vizualizace a samotné Hyper-V. Dále uvedete čtenáře

Více

09. Memory management. ZOS 2006, L.Pešička

09. Memory management. ZOS 2006, L.Pešička 09. Memory management ZOS 2006, L.Pešička Správa paměti paměťová pyramida absolutní adresa relativní adresa počet bytů od absolutní adresy fyzický prostor adres fyzicky k dispozici výpočetnímu systému

Více

Ostrava. 16. dubna 2014

Ostrava. 16. dubna 2014 Ostrava 16. dubna 2014 1 SoftLayer Managed Services Roman Hlaváč 2 Co je a není SoftLayer 1-stránkový přehled Globální poskytovatel cloud služeb Poskytuje následující služby IaaS PaaS Virtuální Privátní

Více

Virtualizace síťových prvků

Virtualizace síťových prvků Virtualizace síťových prvků Martin Pustka Martin.Pustka@vsb.cz EUROPEN, Herbertov, 11.-14.května 2014 O čem se budeme bavit... o virtualizaci síťových prvků provozovaných jako VM v virtualizačních infrastrukturách

Více

1 Slovník pojmů Zákaznická data jsou data, která mají být zahrnuta do záložní kopie vytvořené pomocí Služby v závislosti na zálohovacím schématu.

1 Slovník pojmů Zákaznická data jsou data, která mají být zahrnuta do záložní kopie vytvořené pomocí Služby v závislosti na zálohovacím schématu. 1 Slovník pojmů Zákaznická data jsou data, která mají být zahrnuta do záložní kopie vytvořené pomocí Služby v závislosti na zálohovacím schématu. Překročení objednané kapacity pro zálohu (Backup Burst)

Více

Město Varnsdorf, nám. E. Beneše 470, 407 47 Varnsdorf, Česká republika SPECIFIKACE

Město Varnsdorf, nám. E. Beneše 470, 407 47 Varnsdorf, Česká republika SPECIFIKACE Město Varnsdorf, nám. E. Beneše 470, 407 47 Varnsdorf, Česká republika SPECIFIKACE VYBUDOVÁNÍ TECHNOLOGICKÉHO CENTRA ORP VARNSDORF část I Pořízení technické infrastruktury pro vybavení Technologického

Více

FUJITSU PRIMEFLEX. Human Centric Innovation in Action. Integrované systémy pro Vaše řešení. 30. května 2017 Pavel Čáslavský. 0 Copyright 2017 FUJITSU

FUJITSU PRIMEFLEX. Human Centric Innovation in Action. Integrované systémy pro Vaše řešení. 30. května 2017 Pavel Čáslavský. 0 Copyright 2017 FUJITSU FUJITSU PRIMEFLEX Human Centric Innovation in Action Integrované systémy pro Vaše řešení 30. května 2017 Pavel Čáslavský 0 Copyright 2017 FUJITSU Integrované systémy FUJITSU PRIMEFLEX Definice Před-konfigurované,

Více

Moderní systémy pro získávání znalostí z informací a dat

Moderní systémy pro získávání znalostí z informací a dat Moderní systémy pro získávání znalostí z informací a dat Jan Žižka IBA Institut biostatistiky a analýz PřF & LF, Masarykova universita Kamenice 126/3, 625 00 Brno Email: zizka@iba.muni.cz Bioinformatika:

Více

ZJEDNODUŠENÍ SÍŤOVÉ BEZPEČNOSTI UVNITŘ DATOVÉHO CENTRA. Jaroslav Sedláček network architect

ZJEDNODUŠENÍ SÍŤOVÉ BEZPEČNOSTI UVNITŘ DATOVÉHO CENTRA. Jaroslav Sedláček network architect ZJEDNODUŠENÍ SÍŤOVÉ BEZPEČNOSTI UVNITŘ DATOVÉHO CENTRA Jaroslav Sedláček network architect SÍŤOVÁ BEZPEČNOST UVNITŘ DATOVÉHO CENTRA SIEM Firewall IDS a IPS Antimalware WAF SIEM a log management VYUŽITÍ

Více

Příloha č. 1 k Č.j.: OOP/10039/2-2011 Specifikace zařízení

Příloha č. 1 k Č.j.: OOP/10039/2-2011 Specifikace zařízení Příloha č. 1 k Č.j.: OOP/10039/2-2011 Specifikace zařízení Zadavatel požaduje dodávku 16 kusů serverů a 4kusů síťových datových úložišť. Servery se požadují bez dodání operačního systému. Specifikace minimálních

Více

Budování infrastruktury v době digitalizace společnosti

Budování infrastruktury v době digitalizace společnosti Budování infrastruktury v době digitalizace společnosti Vladimír Střálka, VMware Country Manager, CZ/SK Mikulov, září 2016 2016 VMware Inc. Všechna práva vyhrazena. Co říkají o infrastruktuře manažeři

Více

Umělé neuronové sítě

Umělé neuronové sítě Umělé neuronové sítě 17. 3. 2018 5-1 Model umělého neuronu y výstup neuronu u vnitřní potenciál neuronu w i váhy neuronu x i vstupy neuronu Θ práh neuronu f neuronová aktivační funkce 5-2 Neuronové aktivační

Více

www.cdc-monitoring.cz

www.cdc-monitoring.cz Monitoring sítí a serverů Dnešní požadavky na výkon ethernetových, wifi nebo jiných sítí, jejich serverů a aktivních prvků jsou velmi striktně nastaveny. Síť musí být koncipována tak, aby byla zaručena

Více

Osobní počítač. Zpracoval: ict Aktualizace: 10. 11. 2011

Osobní počítač. Zpracoval: ict Aktualizace: 10. 11. 2011 Osobní počítač Zpracoval: ict Aktualizace: 10. 11. 2011 Charakteristika PC Osobní počítač (personal computer - PC) je nástroj člověka pro zpracovávání informací Vyznačuje se schopností samostatně pracovat

Více

IBM Tivoli Storage Manager 6.2 a IBM Tivoli Storage Manager FastBack 6.1.1

IBM Tivoli Storage Manager 6.2 a IBM Tivoli Storage Manager FastBack 6.1.1 IBM Tivoli Storage Manager 6.2 a IBM Tivoli Storage Manager FastBack 6.1.1 Reporting a Monitoring Ondřej Bláha CEE+R CoP Team / Tivoli Storage Team Leader Září 2010 2010 IBM Corporation TSM 6: Reporting

Více

Tomáš Kantůrek. IT Evangelist, Microsoft

Tomáš Kantůrek. IT Evangelist, Microsoft Tomáš Kantůrek IT Evangelist, Microsoft Správa a zabezpečení PC kdekoliv Jednoduchá webová konzole pro správu Správa mobilních pracovníků To nejlepší z Windows Windows7 Enterprise a další nástroje Cena

Více

ešení pro správu klientských počítač a mobilní tisk Číslo dokumentu:

ešení pro správu klientských počítač a mobilní tisk Číslo dokumentu: ešení pro správu klientských počítač a mobilní tisk Číslo dokumentu: 410173-221 Leden 2006 Obsah 1 ešení pro správu klientských počítač Konfigurace a nasazení....................... 1 2 Správa a aktualizace

Více

Management virtualizace Management of virtualization

Management virtualizace Management of virtualization Jihočeská Univerzita v Českých Budějovicích Katedra informatiky, pedagogická fakulta Management virtualizace Management of virtualization Autor: Lukáš Komárek Vedoucí práce: Ing. Václav Novák, Csc. Datum

Více

Fujitsu Day Praha 2018

Fujitsu Day Praha 2018 Fujitsu Day Praha 2018 Human Centric Innovation Co-creation for Success Hyper-konvergovaná infrastruktura zjednodušení datového centra Radek Procházka Head of Pre-Sales Fujitsu Technology Solutions Hyper-konvergovaná

Více

Představení Kerio Control

Představení Kerio Control Představení Kerio Control UTM - Bezpečnostní řešení bez složitostí Prezentující Pavel Trnka Agenda O společnosti Kerio Kerio Control Přehled jednotlivých vlastností Možnosti nasazení Licenční model O společnosti

Více

CHARAKTERISTIKA VEŘEJNÉ ZAKÁZKY

CHARAKTERISTIKA VEŘEJNÉ ZAKÁZKY Příloha č. 1 CHARAKTERISTIKA VEŘEJNÉ ZAKÁZKY Veřejná zakázka Poskytování služeb outsourcingu Zadavatel: Nemocnice Český Krumlov a.s., sídlem: Český Krumlov, Horní Brána 429, PSČ 381 27 IČ: 260 95 149 DIČ:

Více

Přednáška. Vstup/Výstup. Katedra počítačových systémů FIT, České vysoké učení technické v Praze Jan Trdlička, 2012

Přednáška. Vstup/Výstup. Katedra počítačových systémů FIT, České vysoké učení technické v Praze Jan Trdlička, 2012 Přednáška Vstup/Výstup. Katedra počítačových systémů FIT, České vysoké učení technické v Praze Jan Trdlička, 2012 Příprava studijního programu Informatika je podporována projektem financovaným z Evropského

Více

FORPSI Cloud Computing Virtuální datacentrum v cloudu

FORPSI Cloud Computing Virtuální datacentrum v cloudu FORPSI Cloud Computing Virtuální datacentrum v cloudu Milan Leszkow CTO INTERNET CZ, a. s. Květen 20, 2013 Cloud Computing Charakteristika Používání a správa výpočetních zdrojů (HW,SW) poskytovaných jako

Více

Efektivní ochrana dat ve virtualizovaném prostředí. Marek Bradáč

Efektivní ochrana dat ve virtualizovaném prostředí. Marek Bradáč Efektivní ochrana dat ve virtualizovaném prostředí Marek Bradáč Agenda Představení TSM for Virtual Environments 6.2 Praktická ukázka (video) 2 Úvod IBM Tivoli Storage Manager Vám může pomoci: Snížením

Více

Daniela Lišková Solution Specialist Windows Client. daniela.liskova@microsoft.com

Daniela Lišková Solution Specialist Windows Client. daniela.liskova@microsoft.com DESKTOP: Windows Vista Daniela Lišková Solution Specialist Windows Client daniela.liskova@microsoft.com TCO desktopů analýzy spol. Gartner Téměř 80% všech nákladů v IT vzniká po nákupu tj. na správě, opravě,

Více

Zkušenosti z průběhu nasazení virtualizace a nástrojů pro správu infrastruktury v IT prostředí České správy sociálního zabezpečení

Zkušenosti z průběhu nasazení virtualizace a nástrojů pro správu infrastruktury v IT prostředí České správy sociálního zabezpečení Zkušenosti z průběhu nasazení virtualizace a nástrojů pro správu infrastruktury v IT prostředí České správy sociálního zabezpečení Konference ISSS, Hradec Králové, 5. 4. 2011 Michal Osif, Senior Architect

Více

Z internetu do nemocnice bezpečně a snadno

Z internetu do nemocnice bezpečně a snadno Z internetu do nemocnice bezpečně a snadno Petr Hron, S.ICZ a.s. 2014 1 Z internetu do nemocnice bezpečně a snadno Identifikace problému Co je k tomu potřeba Bezpečný vzdálený přístup Bezpečnostní architektura

Více

Ambasadoři přírodovědných a technických oborů. Ing. Michal Řepka Březen - duben 2013

Ambasadoři přírodovědných a technických oborů. Ing. Michal Řepka Březen - duben 2013 Ambasadoři přírodovědných a technických oborů Ing. Michal Řepka Březen - duben 2013 Umělé neuronové sítě Proč právě Neuronové sítě? K čemu je to dobré? Používá se to někde v praxi? Úvod Umělé neuronové

Více

ODBORNÝ VÝCVIK VE 3. TISÍCILETÍ. MEIV - 2.3.1.1 Windows server 2003 (seznámení s nasazením a použitím)

ODBORNÝ VÝCVIK VE 3. TISÍCILETÍ. MEIV - 2.3.1.1 Windows server 2003 (seznámení s nasazením a použitím) Object 12 3 Projekt: ODBORNÝ VÝCVIK VE 3. TISÍCILETÍ Téma: MEIV - 2.3.1.1 Windows server 2003 (seznámení s nasazením a použitím) Obor: Mechanik Elektronik Ročník: 4. Zpracoval(a): Bc. Martin Fojtík Střední

Více

Konference economia - outsourcing

Konference economia - outsourcing Konference economia - outsourcing Tomáš Knoll 27. února 2013 Member of the Agenda 1. Představení společnosti 2. Reální zákazníci jak Cloud pomáhá 3. DEMO 4. Q&A, závěr 2. Představení společnosti O společnosti

Více

Virtualizace desktopu virtuální realita, nebo skutečnost?

Virtualizace desktopu virtuální realita, nebo skutečnost? Virtualizace desktopu virtuální realita, nebo skutečnost? Tomáš Horák, CCIE # 11783 Systems Engineer Email/XMPP: tohorak@cisco.com 2010 Cisco and/or its affiliates. All rights reserved. 1 Post-PC World

Více

Příloha č.2 - Technická specifikace předmětu veřejné zakázky

Příloha č.2 - Technická specifikace předmětu veřejné zakázky Příloha č.2 - Technická specifikace předmětu veřejné zakázky Popis stávajícího řešení u zadavatele Česká centra (dále jen ČC ) provozují 8 fyzických serverů, připojené k local storage. Servery jsou rozděleny

Více

Jednotlivé hovory lze ukládat nekomprimované ve formátu wav. Dále pak lze ukládat hovory ve formátu mp3 s libovolným bitrate a také jako text.

Jednotlivé hovory lze ukládat nekomprimované ve formátu wav. Dále pak lze ukládat hovory ve formátu mp3 s libovolným bitrate a také jako text. 1.0 Nahrávání hovorů Aplikace Nahrávání hovorů ke svému chodu využívá technologii od společnosti Cisco, tzv. Built-in bridge, která snižuje nároky na síťovou infrastrukturu, snižuje náklady a zvyšuje efektivitu

Více