Model results

Ha már felépítettük a kísérletet, minden rendben van, akkor ideje kinyerni belőle a hasznos adatot amiért végül is dolgoztunk. Átfutunk gyorsan és egyszerűen egy  recommender system dolgon. Mint már korábban említettem valamikor, van elég sok olyan alkalmazása a gépi tanulásnak, hogy például a vásárlásaid alapján, vagy tervezett vásárlásaid alapján (i mean wishlist) a rendszer kidobálja, hogy más vásárolók miket vettek meg, vagy néztek még meg, és nagy valószínűséggel az neked is tetszene (erősen próbálnak rávenni arra, hogy termeld szépen a profitot nekik 😀 ).

Continue reading

Predikciós kísérletünk tesztelése

Először is létrehoztam egy példa kísérletet, amit tesztelhetünk. A próba egy mérleget szimulál. Meg lehet adni, hogy mekkora súlyt rakunk a bal és a jobb oldalra, illetve azt, hogy ezek milyen messze vannak a középponttól. Végül a program megmondja, hogy a mérleg balra (L) vagy jobbra (R) dől, esetleg egyensúlyban (B) van.

1experiment

Continue reading

Azure Machine Learning algorithm choice

Oké, milyen algoritmust is kellene választanom a kísérletemben? Alapvetően sok-sok tényezőtől függ (méret, minőség, az adatok típusa, mit akarok kezdeni a kapott eredménnyel, hogyan tudom az adatokat a gép számára legjobban átadni és igazából mennyi időm is van arra, hogy eljátszadozzak az adatokkal). valójában még nagy tapasztalattal rendelkező ML guruk sem képesek minden egyes helyzethez megmondani, hogy melyik algoritmus fogja a legjobb eredményt adni az adott problémára (Ugye milyen jó, hogy néhány kattintással módosíthatunk mindent az ML Studióban? :D).

A nehéz fegyverzet

A Microsoft összeállított egy segédletet, ami megadja a kellő támogatást ahhoz, hogy ezen az aknamezőn átsétáljunk és minél jobb algoritmust válasszunk. Ez persze nem egy olyan dolog, hogy na akkor én ezt akarom csinálni ahhoz pedig pont az az algoritmus kell, sajnos vagy szerencsére nem. Sok algoritmus nincs is felsorolva benne, ezért csupán egy rendes útmutatást kapunk a nagyoktól, hogy ne lőjünk teljesen mellé a dolgoknak. Ez az egész segédlet nem csupán a Microsoft által kigondolt irányvonalak alapján készült, hanem nagy mennyiségű visszajelzések is alakítottak rajta.

Continue reading

Saját algoritmus írása az ML Studioban

Időnként szükséges lehet, hogy egyedi transzformációkat hajtsunk végre az adatokon. Ilyenkor lehet hasznos valamelyik támogatott nyelven implementálni.

R nyelven:

Execute R Script:

Segítségével elvégezhetünk egyedi transzformációkat az adatainkon, a saját metrikáink szerint építhetjük fel, illetve értékelhetjük ki a modelleket. Continue reading

Azure ML Studio and experiments

Tudjuk, hogy hogyan vigyünk fel adatokat az ML Studio-ba. Most dolgozzunk az adatokkal. A Studióban nagyon könnyen hozhatunk létre kísérleteket (erről már beszéltem egy korábbi bejegyzésben), egyszerű drag-n-drop módszerrel illesztjük össze a megfelelő modulokat, melyből a végén egy értelmes modell áll össze. A Studió számos előre rögzített szerszámot biztosít számunkra, legyen szó tesztelésről, adatmanipulációról vagy tanító algoritmusról. Azonban ha valamivel nem vagyunk kellőképpen megelégedve, vagy szükségünk van egy egyedi megoldásra akkor sokmindent felüldefiniálhatunk, lecserélhetjük saját megoldásunkkal, amelyeket R vagy Python kódban írhatunk meg.

A munka elkezdéséhez csupán két dologra lesz szükség:

  • egy böngészőre (hiszen a teljes Azure ML Studió a felhőben fut, nincs szükségünk telepítésre vagy egyéb lokális konfigurációkra).
  • és a tanító adatokra (hiszen adatok nélkül nem sok értelme van bármit is csinálni)

Continue reading

Adatok transzformálása a Studioban

1normA Normalize Data modul segítségével az adatainkat azonos volumenűre hozhatjuk. Erre akkor van szükség, ha nagyságrendbeli különbségek vannak köztük. A kisebb skálájú adatokat kevésbé veszik fontosnak az algoritmusok, hiszen ott jóval kisebb eltérés van, így hajlamosak szinte „megfeledkezni” róluk. A normalizálással viszont azonos mértékűre hozhatjuk az egyes adatokat, így azonos lesz a „súlyuk” is.

Continue reading

Azure ML Studio

ML Studio

A gépi tanulásra a Microsoft megoldása az ML Studio. Teljes mértékben a felhőben futó alkalmazás, így semmiféle telepítést nem igényel, bárhonnan elérhetjük a https://studio.azureml.net címen.

Nagyban megkönnyíti a munkát, hogy az egyes modulokat csak behúzzuk a munkaasztalunkra, és összekötjük őket, nem kell időt fecsérelni sok programozásra. Rengeteg gyakran használt összetevő készen van, csak paraméterezni kell őket:
Adat bemenet/kimenet, szűrők, szétválasztók, skálázók, illetve természetesen algoritmusok osztályozásra, regresszióra, klaszterizálásra, anomáliák felfedezésére.

Körbenézhetünk a Cortana Analytics Gallery-ben, ahol kész megoldásokat találhatunk gyakori problémákra:
arcfelismerés, lemorzsolódás, kézíráselemzés…

Természetesen, ha úgy érezzük, hogy nincsen számunkra megfelelő eszköz, mert egyedi dologra van szükségünk, bővíthetjük a programunkat R és Python szkriptekkel.

A továbbiakban megnézzük, hogyan lehet egy kísérletet megcsinálni elejétől a végéig, milyen alap egységeket lehet felhasználni a sikeres jóslás érdekében.

Continue reading

Azure Machine Learning Studio and data import

Az előző bejegyzésemben megnéztük, hogy mi is az a Machine Learning és egy kicsit bővebben tárgyaltuk a Supervised Learning elméletét is. (Most egy kicsit gyakorlatiasabb téma jön.)

Azure Machine Learning

A Microsoft Azure szolgáltatásban az ML rendkívül egyszerűen elérhető , és nagyon egyszerűen használható az Azure ML Studio webes környezet segítségével.
A rendszer egy “fogd és vidd” (maradjunk az angol drag-and-drop kifejezésnél) módszerrel lehet használni (azaz nem igényel túlzott kódolási tudást MÉG). A drag-and-drop módszerrel lehet egy “kísérletet” felépíteni, tesztelni és telepíteni, alkalmazni a saját adatainkon. A Studio képes a szépen felépített modellünket egy webes szolgáltatásként publikálni, így az könnyen felhasználható akár mások által is.

Mit kell tenni azért, hogy elkezdjük a munkát az Azure ML Studio felületén?

Hasznos ha rendelkezünk Azure accounttal, így csak egyszerűen bejelentkezünk (ha nem rendelkezünk windows LiveID-val akkor itt van lehetőség az elkészítésre). Azonban a rendszer ingyenesen kipróbálható egy hónapig. Mind a két opció a következő linken érhető el: Azure ML Studio

Continue reading

Microsoft Azure Machine Learning alapok

Mi is az az Azure?

A Microsoft 2008 óta fejlesztett számítási felhő platformja és infrastruktúrája. Ezzel az egyes programok nem a helyi munkaállomáson, hanem egy távoli kiszolgálón futnak. Rengeteg programozási nyelvet, keretrendszert támogat, nem csak a saját fejlesztésűeket, így sokak által megfelelő választás lehet.

Microsoft Azure

Milyen szolgáltatások érhetőek el?

Infrastructure as a Service (IaaS) és Platform as a Service (PaaS) megoldások is léteznek. Azaz kérhet a felhasználó egy nyers Windows/Linux szervert is, amit aztán saját belátása szerint használhat, de konkrét platformokat is, többek között adatbázist, web szervert, vagy akár Big Data eszközöket.
Egy hónapig ingyenesen használható a szolgáltatás, ehhez mindössze egy bankkártya és egy Microsoft Account szükséges a https://azure.microsoft.com/hu-hu/pricing/free-trial/ oldalon.

Azure Services

 

Continue reading