24. července 2015

Úvod do Azure Machine Learning

Součástí Analytických služeb SQL Serveru je již po několik verzí Data Mining (od 2000). Azure Machine Learning je na druhou stranu pro veřejnost poměrně nová záležitost (z preview verze se překlenulo na začátku roku 2015). Nabízí se tedy několik otázek. Jaký je vlastně rozdíl mezi Data Miningem a Machine Learningem. Není Azure Machine Learning jen nový marketingový název pro starý Data Mining převlečený do Azure? K čemu by tahle technologie mohla být dobrá a bude mi k něčemu i když nejsem datový věděc?
Na začátek definice obou pojmů
Data Mining (DM)
Data Mining je pokročilá statistická analýza dat, která zkoumá historická data za účelem objevení korelací a vazeb mezi daty.
Data Miningová funkčnost je součástí analytických služeb SQL Serveru. Tedy pro tvorbu řešení budete potřebovat SSAS, Visual Studio pro design řešení a Management Studio pro psaní DMX (Data Mining eXtensions)
Machine Learning (ML)
Machine Learning je definován jako technologie, které používá prediktivní modely, které se učí z dat za účelem předvídat budoucí chování, výstupy, trendy. Jiná definice by mohla znít, že se jedná o: “Počítačové systémy, které se stávají chytřejší na základě předchozí zkušenosti.” Kde zkušenost může být brána z historických dat, nebo lidských vstupů.
Rozdílem v definici mezi DM a ML tedy je, že ML se systém může učit z předchozí zkušenosti. Hranice mezi tím, co je DM a ML je ale tenká :)
Kde se ML používá a jaké jsou scénáře použití
·        Prodej a marketing
o   forecasting prodejů
o   forecasting poptávky
o   cílená reklama
·        Finance a risk management
·        Segmentace zákazníků
·        Doporučení zboží
·        Fraud detection (odhalování podvodů)
·        Předpověd počasí
·        Analýza lidské řeči
o   sentiment analýza spokojenosti zákazníků
o   detekece SPAMu
·        a další.
Azure ML klíčové vlastnosti
Azure Machine learning je služba v MS Azure. Oproti SQL Server Data Miningu nebudeme potřebovat SQL Server, stačí nám Azure Subscription a libovolný internetový prohlížeč. Při tvorbě řešení se začíná tvorbou Machine Learning Workspace v Azure Portálu https://manage.windowsazure.com/ Když ML Workspace hotov, můžeme se přihlásit do ML Studia, které najdeme na adrese https://studio.azureml.net Zde se tvoří Experimenty. Experiment můžeme tvořit nad demo daty, nebo daty vlastními. Data můžeme importovat jako csv, textový soubor, načíst z databáze, nebo jiných podporovaných zdrojů. Proces analýzy dat máme možnost ovlivnit od začátku do konce transformacemi, nebo i vlastními skripty (R nebo Python). Experiment se dá vypublikovat jako webová služba a k této můžeme přistupovat z externích aplikací.
Tvorba experimentu
Když klikneme na velké plusko, vyskočí na nás možnost tvořit Experimenty, Datasety, Moduly. Když se podíváme na Experimenty je tu solidní základna ukázek. Najdeme zde například aplikace jako je sentiment analýza tweetů (o sentiment analýze přes PowerBI jsem psal zde http://www.neoral.cz/2015/06/sentiment-analyza-pres-powerbi.html), příklady z analýzy retailu, fraud detection, doporučení restaurací, filmů a mnohé další. Pokud by Vám pro inspiraci nestačily ukázky od Microsoftu, můžete kouknout do galerie na tvorbu komunity https://gallery.azureml.net/ Pro milovníky vína je zde například „Wine quality predictor“ Takže až při dlouhých teplých letních večerech nebudete vědět co dělat, můžete se věnovat Machine Learningu :)
Když zvolíme prázdný experiment, tvorba experimentu připomíná SQL Server Integration Services. Do prázdné plochy experimentu můžeme drag & drop  přetahovat datasety, transformace, moduly a tyto mezi sebou spojovat a konfigurovat.
Na závěr jde vypublikovat experiment jako webovou službu s vstupními a výstupními parametry. Webovou službu poté může volat aplikace a tímto ML využívat.
Experiment “Movie recommender”
Zde stručně textově popisuji proces, který taktéž můžete shlédnout na videu https://youtu.be/5AAxrjbVtCg

Ve vyhledávači můžeme najít zdrojový dataset Movie ratings, který obsahuje 4 sloupce UserID, MovieID, Rating a Timestamp. Už nyní by se dalo jít na transformaci Project Columns, kde vybereme jen relevantní sloupce UserID, MovieID a Rating, které očekává Train Matchbox Recommender. Dalo by se ale dohledat i název filmu z druhého datasetu IMDB Movie Titles přes „Join“. Transformace Split rozdělí dataset na část pro trénování a část pro testování přesnosti, aby se ML mohl učit. Score Matchbox Recomender slouží k samotnému doporučení. Zde se dá zvolit kolik filmů chceme minimálně  a maximálně doporučit.

Závěr
Machine Learning posouvá hranice a hlavně dostupnost analýzy zase o něco dál. Jako největší přednosti Machine Learningu spatřuji. Nenáročnost – jediné co potřebujete pro tvorbu jsou Azure subscription a internetový prohlížeč. Rozšiřitelnost – můžete vystačit s “klikacími” komponentami, ale můžete psát pro analýzy dat vlastní skripty. Svůj výtvor můžete vystavit jako webovou službu a tuto volat z aplikace. Tedy pokud jste datový věděc, umíte psát R skripty a vytvořit řešení , které bude užitečné pro širší spektrum lidí. Vystavte svůj výtvor a vydělejte na něm peníze. Nejste datový věděc? Přesto můžete používat výtvory jiných. To dělá z Machine Learningu technologii pro všechny.
Další zdroje informací

Žádné komentáře:

Okomentovat