Dzienne archiwum: 12 listopada 2014


Czym jest Machine Learning

Coraz więcej instytucji na świecie interesuje się analizą predykcyjną. Technologia ta stosowana jest w wielu obszarach m.in. do rozpoznawania obrazu, ale aby możliwe było korzystanie z niej potrzebna jest sprawna, dobrze zasilana informacjami hurtownia danych, na podstawie której można przygotować odpowiednią analizę, a następnie predykcję. Rodzący się nowy trend w naukach informatycznych zyskał miano Data Science i jest dziedziną wymagającej perspektywicznego spojrzenia, interdyscyplinarną. Ze względu na szeroki zakres umiejętności potrzebnych w tym obszarze wiedzy niewiele jest obecnie osób przygotowanych do wykonywania zawodu Data Scientist. Data Science wykorzystuje procesy Machine LearningAzure Machine Learning (Azure ML) ułatwia pracownikom Data Scientist projektowanie procesów Machine Learning. Uwalnia specjalistów od konieczności samodzielnego lub wspomaganego przez deweloperów, programowania algorytmów. Azure ML zawiera własny zestaw algorytmów, umożliwiających tworzenie modeli oraz porównywanie ich ze sobą. Dzięki usłudze Azure ML Data Scientist mogą w łatwy sposób tworzyć własne, nowe modele, udostępniać je wielu użytkownikom poprzez dowolną przeglądarkę i tym samym przyczynić się do poprawy wyników finansowych i zwiększania wartości organizacji.
Przedstawiamy fragment webinarium prezentujący wprowadzenie do Machine Learning.

Zapoznaj się z całością webinarium. UWAGA: Aby je obejrzeć należy być zarejestrowanym użytkownikiem. Jeżeli nie posiadacie Państwo konta w serwisie można je założyć.
W ostatnich latach ilość gromadzonych danych staje się coraz większa, a zjawisko to można określić jako swoistą eksplozję danych. Ilość informacji jest już liczona w zetabajtach. Jednostki terabajtów są odnoszone obecnie praktycznie do pojedynczego użytkownika.
Drugim ważnym czynnikiem występującym obecnie jest zmienność tych danych. Co roku obserwujemy około 20 procentowy przyrost w stosunku do wszystkich danych, które istniały w historii do tego czasu. Zależność ta więc nie jest już nawet nie liniowa, lecz wykładnicza. Wiąże się z tym trend Big Data.
Trzecim ważnym czynnikiem determinującym naszą rzeczywistość jest różnorodność danych, które otrzymujemy do analizy. Mamy do czynienia z danymi tradycyjnymi, ale również z danymi nowych typów.
Wszystko to sprawia, że analityka staje się dużym wyzwaniem, chociaż sam trend Big Data nie jest już uznawany na rynku za nowy.


Przykłady zastosowań Machine Learning

Usługa Azure Machine Learning jest usługą platformy Azure i z punktu widzenia dewelopera, składa się z 3 części:
1. standardowego portalu administracyjnego Azure, który służy do zarządzania machine learning, poprzez tworzenie work spaces czyli obszarów roboczych,
2. narzędzia ML Studio – graficznego edytora przepływów,
3. ML API Service.
Usługa Azure integruje się z funkcjami języka R i Python, a także Azure Data Factory. Może również integrować przepływy danych z SQL Data Base, Hadoop, i źródłami dodatkowymi tzw. on premise. Z architektury tej wynika bogactwo zastosowań Azure: dla Data Scientist, dla klasycznego dewelopera oraz możliwość integracji danych z web serwisów. Najważniejszą cechą Azure jest ułatwienie dla użytkownika procesu machine learning.
Zapoznaj się z całością webinarium. UWAGA: Aby je obejrzeć należy być zarejestrowanym użytkownikiem. Jeżeli nie posiadacie Państwo konta w serwisie można je założyć.
Azure Machine Learning jest usługą płatną. Płatność za usługę Azure zależy od liczby godzin wykorzystanych na uruchamianie procesów w ML Studio i odwołań z API do gotowych modeli.
ML Studio posiada szereg funkcjonalności. Jest to aplikacja działająca w chmurze. Służy do tworzenia modeli i ich trenowania. Można do tego narzędzia ładować własne dane, można też korzystać z przykładowych danych, dzielić dane, pracować na meta danych. Cały proces w ML Studio kończy się stworzeniem wytrenowanego modelu, który możemy zapisać i wykorzystywać rozwiązaniu problemu. Można także porównywać użyteczność różnych modeli dla danego problemu. Stworzone modele nadają się automatycznie do użycia w web serwisach, poprzez które będziemy wykorzystywać stworzone modele do zadań praktycznych na danych rzeczywistych.
Podstawową kwestią w procesie Machine Learning są źródła danych. Można korzystać z własnych danych lokalnych, które załadujemy do chmury. Z uwagi na pracę z dużymi źródłami danych może być zastosowana usługa Hadoop lub Azure Storage. W wymienionych narzędziach Microsoft można dane zarówno czytać jak i zapisywać, a następnie wykorzystywać w późniejszym okresie do tworzenia modeli w usłudze Azure.
Część algorytmów znana jest użytkownikom, którzy korzystali wcześniej z SQL Servera. Inne, nowe algorytmy są bardzo nowoczesne a dodatkowo, , ponieważ jest to usługa działająca w chmurze, kolejne algorytmy będą stopniowo dodawane do usługi Azure ML. Algorytmy te występują w grupach: regresja, klasyfikacja i grupowanie. Występuje m.in. kilka odmian drzew decyzyjnych. W Azure można porównywać różne algorytmy ze sobą, co ułatwia Data Scientist tworzenie nowych modeli.
Usługa Azure Machine Learning ma tę zaletę, że nie wymaga samodzielnego programowania. Można budować modele wykorzystując gotowe algorytmy i dzięki temu w łatwy i szybki sposób tworzyć modele i wizualizować je w postaci tabel, wykresów lub nawet map. Szybkość budowania, nawet skomplikowanych, modeli w Azure ML silnie zależy od doświadczenia Data Scientist. Automatyzacja procesu tworzenia i korzystania z modeli w Microsoft Azure jest tak daleko posunięta, że może zająć czasami tylko kilkanaście minut, co pokazują demonstracje.

Demonstracja machine learning – planowanie lokalizacji sieci sklepów

Sieć sklepów planuje rozwój. Należy wybrać najlepsze lokalizacje dla nowych sklepów. Dostępne są dane: parametry istniejących sklepów, lista dostępnych lokalizacji i dane demograficzne.

Przebieg demonstracji:
1. Logowanie na platformę Microsoft Azure
2. Wybór z listy dostępnych usług rozwiązań Machine Learning
3. Stworzenie środowiska roboczego i nadanie uprawnień dla właściciela obszaru roboczego
4. Właściciel obszaru, po zalogowaniu się może stworzyć nowy eksperyment korzystając z puli dostępnych eksperymentów.
5. Tworzenie nowego eksperymentu w taki sposób, by wyuczony model był w stanie przewidywać zysk (stworzyć predykcję zysku).
6. Wczytanie i połączenie danych w modelu.
7. Filtrowanie istotnych danych (Project Columns) i podział danych na dwa zbiory (Split) – zbiór, którym będziemy maszynę uczyć i zbiór na podstawie którego będziemy oceniać wyniki predykcji przez nauczony model.
8. Uruchomienie gotowego modelu przyciskiem Run.
9. Wizualizacja wyników predykcji modelu czyli prognozowanego przez model zysku dla danej lokalizacji.
10. Korzystając z tak wytrenowanego modelu możemy uzyskiwać wyniki predykcji dla nowych – proponowanych lokalizacji oceniając ich przydatność dla sieci sklepów na podstawie szacowanego przez model zysku. Z wcześniejszego drzewa usuwamy dane, na podstawie których trenowaliśmy model i wstawiamy w jego miejsce wytrenowany model.
11. Zapisane w Azure Storage wyniki możemy obejrzeć w Microsoft Excel korzystając z danych dostępowych (nazwa konta, klucz).
12. Wizualizacja danych.
Zapoznaj się z całością webinarium. UWAGA: Aby je obejrzeć należy być zarejestrowanym użytkownikiem. Jeżeli nie posiadacie Państwo konta w serwisie można je założyć.

Scoring klientów: demonstracja

Scoring klientów i ocena ryzyka kredytowego na podstawie historycznych danych scoringowych o klientach.

Przebieg demonstracji:
1. Przygotowanie danych wejściowych i nadanie nazw poszczególnym kolumnom tabeli.
2. Podgląd na nazwy kolumn po poprawnym zintegrowaniu pliku z danymi z plikiem z nazwami kolumn. W komunie Credit risk podane jest ryzyko kredytowe: 1 – niskie, 2 – wysokie.
3. Implementujemy uczenie z nadzorowaniem w proporcjach 70:30.
4. Dodajemy blok z językiem R, który używamy w celu zmiany zbioru danych. Dane poprzez ten skrypt w języku R są modyfikowane w taki sposób, by zwiększyć wagę danych mówiących o zagrożeniu ryzykiem kredytowym i niewypłacalnością klienta.
5. Wybieramy 2 algorytmy, którymi uczyć będziemy model. Docelowo wybierzemy ten, który okaże się efektywniejszy przy rozwiązywaniu tego problemu.
6. Dodajemy blok normalizacji danych wejściowych czyli transformacji ich zakresu na zakres od 0 do 1.
7. Dodajemy blok ewaluacji czyli oceny stworzonych przez nas modeli.
8. Uruchomienie obliczeń modelu. Obydwa modele są trenowane na danych służących do nauki, a następnie wyniki, które zwracają modele dla danych testowych podlegają ocenie (są ewaluowane).
9. Wizualizacja procesu ewaluacji danych. Na podstawie tych danych dokonujemy wyboru lepszego algorytmu dla naszego problemu. Decydujemy się na algorytm drzewa decyzyjnego.
10. Wyuczony model łączymy z docelowymi danymi scoringowymi, po to by zyskać ocenę kredytową nowych klientów. Następnie publikujemy rezultaty w celu otrzymania do nich dostępu za pomocą web serwisu.
11. Narzędzie w portalu Azure samo przygotowuje kod w języku R, który odpytuje web serwis – możemy go użyć do dalszego przetwarzania otrzymanych danych w RStudio.
12. W RStudio podstawiamy do otrzymanego kodu klucz API, po to by móc korzystać ze stworzonego na platformie Azure web serwisu. Podobny zabieg możemy wykonać jeżeli korzystamy z innych języków np. Python.
13. W Excelu korzystamy ze stworzonego przez społeczność bezpłatnego dodatku, który odpytuje web serwis i podaje wynik. Używamy funkcji, która jest dostępna w tym dodatku i otrzymujemy w komórce, w której stosowana jest ta funkcja gotowy wynik w postaci wartości scoringu: 1 lub 2.

Podsumowanie

Azure ML posiada wbudowane zadanie „Execute R Script” oraz prawie 400 pakietów z CRAN w standardzie. Narzędzie Microsoft pozwala wykorzystywać dotychczasowe osiągnięcia naukowców w języku R. Kluczową zaletą Azure ML jest integracja różnych rozwiązań, niewidoczna infrastruktura ukryta w chmurze, łatwość tworzenia modeli, dostępność gotowych rozwiązań dla osób, które nie znają programowania w języku R.
Machine Learning może być wykorzystywane m.in. do:
1. Rozpoznawania i klasyfikacji obrazów, np. wykorzystywania ich do badania dostępności produktów klienta w sklepach,
2. Wykrywania nadużyć,
3. Klasyfikacji klientów,
4. Klasyfikacji zainteresowań klientów – proponowanie klientom nowych, dodatkowych produktów, którymi „podobni” do nich klienci byli zainteresowani.
Narzędzie Azure ML jest dużym ułatwieniem dla Data Scientist – analityków, którzy nie muszą już angażować innych osób, w tym deweloperów, do realizacji własnych pomysłów analitycznych. Dzięki usłudze Azure ML mogą oni w łatwy sposób tworzyć własne, nowe modele i tym samym zwiększać swoją wartość dla organizacji.