Artykuł pochodzi z wydania: Luty 2021
Jedną z barier ograniczających stosowanie uczenia maszynowego do rozwiązywania problemów biznesowych jest wymóg posługiwania się językiem programowania, np. Pythonem lub R. Ten problem można jednak rozwiązać za pomocą graficznych środowisk. Jednym z nich jest projektant Azure Machine Learning Service.
Modele uczenia maszynowego udowodniły swoją przydatność do rozwiązywania wielu problemów, których przy użyciu klasycznych technik nie dałoby się rozwiązać. Najprościej mówiąc, uczenie maszynowe polega na uczeniu maszyn na przykładach – dane historyczne wykorzystywane są do uzupełniania brakujących danych o nowych obserwacjach różniących się od informacji treningowych. Możemy na przykład użyć historycznych danych o transakcjach finansowych do wykrywania prób oszustwa albo danych o działaniu urządzeń w celu przewidzenia zbliżających się awarii. Takie podejście pozwala rozwiązywać problemy, których nie dałoby się rozwiązać w sposób algorytmiczny. Przykładem może być rozpoznawanie obrazów – wciąż nie potrafimy dokładnie opisać, jak ten proces zachodzi w mózgu człowieka, a nie znając algorytmu, nie możemy go zaimplementować w jakimkolwiek języku programowania. Mimo to maszyny doskonale radzą sobie z rozpoznawaniem obrazów.
Uczenie na przykładach okazało się też skutecznym sposobem radzenia sobie z problemami, dla których znamy algorytmiczne rozwiązania, ale próby zaimplementowania takich algorytmów byłyby bardzo kosztowne albo nieskuteczne. Przykładem problemów tego typu jest wykrywanie możliwych oszustw popełnianych za pomocą kart kredytowych. Nawet po udanym zakodowaniu wszystkich reguł, na podstawie których transakcja powinna być sklasyfikowana jako próba oszustwa, otrzymalibyśmy niezwykle skomplikowany program. Oprócz ogólnych reguł typu „ta sama karta została użyta w odstępie krótszym niż godzina w dwóch odległych od siebie o ponad 100 km miejscach” należałoby uwzględnić reguły specyficzne dla danej osoby, np. „karta po raz pierwszy została użyta w nocnym klubie w Bangkoku”. Co gorsza, reguły tego typu często się zmieniają. Użytkownicy kart kredytowych nie zachowują się przez cały czas w ten sam sposób, a oszuści dostosowują swoje działania, by obejść wdrożone zabezpieczenia. Aby nasz program był skuteczny, musielibyśmy go na bieżąco aktualizować.
> Azure Machine Learning Service
Rozwiązaniem tego problemu, które nie wymaga znajomości jakiegokolwiek języka programowania, jest usługa Azure Machine Learning Service. Była już ona opisywana na łamach „IT Professional” w licznych artykułach poświęconych automatycznemu uczeniu maszynowemu. Przypomnijmy, że pozwala ona przeprowadzić kompletny eksperyment uczenia maszynowego – od zaimportowania danych, poprzez ich przygotowanie, modelowanie, na wdrożeniu wybranego modelu kończąc. Żeby z niej skorzystać, wymagana jest subskrypcja Azure i w niej zasobu typu Azure Machine Learning. Pozwoli nam to połączyć się z portalem ml.azure.com, czyli ze studiem Azure Machine Learning. Z jego poziomu zarządza się zasobami i przeprowadza eksperymenty.
Ponieważ w kręgu naszych zainteresowań jest graficzny projektant, potrzebować będziemy zasobu obliczeniowego typu Compute cluster – to na nim nauczymy nasz model, to tego zasobu użyjemy także do uruchomienia zapytań predykcyjnych. Polecamy utworzenie klastra z jednym węzłem typu STANDARD_D12_V2 – koszt jego użycia to nieco ponad 1,5 zł za godzinę pracy, a oferowana wydajność w zupełności wystarczy do trenowania i korzystania z prostych modeli uczenia maszynowego.
Oprócz zasobów obliczeniowych potrzebne będą jeszcze dane treningowe i testowe. Należy więc utworzyć zbiór danych treningowych i zarejestrować go w środowisku Azure ML. Dane testowe wgramy do magazynu danych później.
Żeby utworzyć zbiór treningowy: należy kliknąć znajdujący się po lewej stronie interfejsu studia przycisk Datasets, wybrać polecenie Create dataset/From web files. W polu Web URL wpisujemy https://raw.githubusercontent.com/szelor/Titanic/master/train.csv, podajemy nazwę tworzonego zbioru (Titanic) i klikamy Next.
[…]
Marcin Szeliga
Pracownik naukowy Wyższej Szkoły Bankowej w Poznaniu Wydział Zamiejscowy w Chorzowie, jest autorem książek poświęconych analizie danych i posiada tytuł Microsoft Most Valuable Professional.