Czym jest Machine Learning i jak zmieniło się podejście do analizy danych? Część 1.

Podczas bezpłatnego webinaru „Czy i jak zacząć przygodę z uczeniem maszynowym (ML). Jak wygląda nowoczesne podejście do analityki?” gościliśmy Michała Grochowskiego, głównego inżyniera sprzedaży w Oracle, z ponad 10-letnim doświadczeniem w IT. W rozmowie z Robertem Górzyńskim z Future Collars Michał opowiedział, co to jest machine learning i jakie są jego zastosowania. Rozmowa kipi od przykładów i daje obraz, jak faktycznie zmieniło się podejście do analizy danych. 

Robert Górzyński: Michale, czy możesz powiedzieć kilka słów o sobie?

Michał Grochowski: Od lat pomagam naszym klientom przekuć dane w jakąś informację i pokazać ludzką twarz analityki. Próbuję udowodnić, że jest to proste i przyjemne, a rzeczy z pozoru bardzo trudne – są wykonywalne!

R.G.: Jak zaczynałeś swoją przygodę z analityką i machine learning?

M. G.: Chyba nikogo nie zaskoczę – zaczynałem dość standardowo od studiów na Politechnice Śląskiej na kierunku Informatyka i później naturalnie wyszło, że zacząłem się interesować analityką od rynkowego podejścia do wizualizacji danych. Elementy machine learningowe – to nieodłączna część całej tej zabawy.

R.G.: Proszę, wprowadź nas do zagadnienia machine learning. 

M. G.: Kiedy zastanawiałem się jak, zacząć dzisiejsze spotkanie, przyszło mi do głowy coś takiego: co wyniknie z połączenia Pythona i pierwszej księgi Pana Tadeusza? Co można z tym zrobić ciekawego? Przeprowadziłem eksperyment – ściągnąłem z Internetu fragment książki i uruchomiłem narzędzie Oracle, choć może to być dowolne narzędzie, które posiada funkcjonalność machine learningu. Poddałem fragment Pana Tadeusza analizie tekstu.  

Analiza tekstu to podzbiór jakiejś funkcjonalności machine learningowej. Chciałem zobaczyć, co właściwie wyskoczy mi po drugiej stronie i okazuje się, że pojawiło się to dużo różnych wyrazów, które są bez znaczenia. Ale pojawiło się też słowo kluczowe hrabia i widzimy, że ono występuje dość często w tekście. Jest to tego typu analiza, która dużo nie zmieni w naszym życiu i właściwie nie wnosi nic ciekawego. Powoduje tylko postawienie pytania, kim jest hrabia.

Po co właściwie wykonałem tę analizę? Ona jest bardzo podobna do analiz, które wykonujemy u klientów. Na przykład klienci chcą przeanalizować skargi w mediach społecznościowych pod kątem słów kluczowych. W warsztacie samochodowym ktoś zgłosił awarię wału korbowego, ktoś inny skarżył się, że silnik nie odpalił. Zasadniczym pytaniem jest, co jest największym problemem w kontekście funkcjonowania naszego biznesu, np. warsztatu samochodowego. Można manualne analizować tysiące rekordów, spędzić dużo czasu, by w końcu okazało się, że coś znajdziemy albo nie. 

Zapisz się na  kurs Data Science i zostań mistrzem danych

Można też skorzystać z mechanizmów machine learningowych, które przeanalizują za nas dane. Pokażą na przykład: zgłoszenia od 0 do 30 dni, główny problem związany był z szeroko pojętym silnikiem, ale pojawił się problem z hamulcami, czy z jakimiś innymi częściami. Krok po kroku szybciutko możemy zdiagnozować problemy, korzystając z uproszczenia w postaci algorytmów machine learningowych, automatyzacji, która wykona tę żmudną robotę za nas. 

Analiza tekstu jednym z przykładów wykorzystania ML. Innym klasycznym przykładem może być też klastrowanie, czyli uczenie nienadzorowane. Można w ten sposób przedstawić, która część biznesu przynosi większe zyski i warto ją rozwijać, a jakie obszary wymagają poprawy lub dokładnej analizy. Decydujemy, czy chcemy wyodrębnić z tego zbioru klientów, którzy nie przynoszą dochodu, sprawdzić, czemu jakiś produkt nie daje zysku. 

Wykonywałem też analizę związaną z analizą obrazu. Istnieje taki podzbiór algorytmów ML, które pozwalają na poznawanie obrazu. W czasie warsztatów w biurze Oracle, kiedy ludzie schodzili się, zajmowali miejsca, przygotowywali się do ćwiczeń, stała kamera i analizowała obraz ludzi. Rozpoznawaliśmy, czy dana osoba jest w pozytywnym nastroju, czy w negatywnym, czy może gdzieś pół na pół i badaliśmy tę zmianę w czasie. Powstał z tego ciekawy raport.

To przykłady mało życiowe, ale pokazujące możliwości technologiczne. Bardziej życiowy przykład zrealizowaliśmy u klienta, który zgłosił nam potrzebę analizy linii energetycznych pod kątem potencjalnej awarii. Wyobraźmy sobie, że takie linie energetyczne są rozciągnięte na jakimś znacznym obszarze. Żeby zdiagnozować, czy dana linia wymaga interwencji fachowców, trzeba kogoś wysłać w teren. Jeśli wykryje miejsce potencjalnej awarii, może odpowiednio zareagować, ale może się okazać, że pokona 100 kilometrów zupełnie niepotrzebnie.  

Wysłaliśmy drona, który z góry monitorował całą strukturę na podstawie rozpoznawania obrazu, czyli możliwości machine learningowych. System nauczony jest, jak wygląda poprawna i niepoprawna linia energetyczna,  jak wygląda właściwie funkcjonujący słup wysokiego napięcia czy latarnia. Dzięki temu w przeciągu krótszego czasu możemy określić, gdzie dana ekipa ma się przemieścić. Nie możemy ufać w 100% wykrywaniu błędów przez maszyny, bo okazało się, że wykryły też osobę ubraną na biało (podobną do latarni). Ale w jakiś stopniu jesteśmy w stanie nauczyć tę maszynę myślenia ludzkiego. 

R.G.: Czym są sieci neuronowe?

M. G.: To zaawansowany zbiór algorytmów wyspecjalizowanych maszyn learningowych, które odwzorowują troszeczkę sposób funkcjonowania ludzkiego mózgu. Sieć neuronową możemy nauczyć, że to jest obrazek i później ten szablon spróbuje gdzieś zastosować na inne obrazki, żeby wykrywać jakieś obiekty. Jest to takie uczenie nadzorowane, które obserwuje troszeczkę sposób funkcjonowania ludzkiego mózgu.

Przykładem niech będzie moduł, który został wykorzystany do tego, żeby przewidywać też potencjalne awarie sieci energetyczne. Zadaniem maszyny learningowej może być analiza historii pogody w przeciągu ostatnich kilku dni i zebranie dziesiątek różnych parametrów: punktu rosy, prędkość wiatru, zmienność tego wiatru w czasie, itd. To wiele takich rzeczy, które trudno byłoby opisać jakimiś sztywnym regułami. Przenosimy te dane całkowicie na uczenie maszynowe i dzięki temu jesteśmy w stanie przewidzieć, które obszary w danym dniu wymagały jakichś ingerencji człowieka, po to,  żeby trzymać ekipę w gotowości i szybko potencjalne awarie naprawić.  

Możemy wykorzystać ML do przewidywania zapotrzebowania na wypożyczalnie rowerów. W wielu miastach można wypożyczać sprzęt. Można zebrać informacje historyczne o tym, kto, gdzie i kiedy wypożyczył i jak się przemieszczał, a potem odpowiednio zagospodarować uzyskane dane, żeby zbudować model przewidujący odpowiednie rozlokowane tego sprzętu. W tym biznesie chodzi o to, żeby maksymalnie ludzie wykorzystali sprzęt i za to płacili. Chcemy uniknąć sytuacji, że na północy miasta będzie mnóstwo sprzętu, a na południu, gdzie ludzie chcą korzystać, nie będzie go w ogóle. Możemy robić prognozę na kolejny dzień.  

Jest to już wykorzystanie algorytmów ML do redukcji różnych zdarzeń od prostego przegrupowania danych, żeby to wszystko uporządkować, by podjąć decyzję aż do sieci neuronów, które są bardzo złożone i pozwalają już na analizę obrazu.  

To bardzo szeroki obszar, który możemy ująć jako podzbiór machine learning, który realizuje jakieś konkretne cele, zadania biznesowe, które byłyby niemożliwe do zrealizowania poprzez manualne opisywanie regułami czy w sposób stricte programistyczny.

R.G.: Czy machine learning tylko buduje sieci neuronowe, czy wykorzystuje je do zadań?

M. G.: To nie jest tak, że ML to tylko sieci neuronów, ale możemy mieć różnego rodzaju modele, machine learning to jest jakby jeden z podzbiorów. Od klastrowania poprzez regresje, wykorzystanie sieci neuronowych –  cel, który chcemy osiągnąć czy rzecz, którą chcemy zbadać, będzie decydować o grupach algorytmów dostosowanych do naszych potrzeb. Można zacząć od uczenia nienadzorowanego, czyli klastrowania i później przejść do tematów bardziej zaawansowanych.

Nie zaczynałbym od sieci neuronowych, bo to jest trudne zagadnienie. Zacząłbym od takich z pozoru prostych, ale bardzo przydatnych algorytmów uczenia nienadzorowanego. 

Naucz się programować w Pythonie!

R.G.: Możesz jeszcze raz wymienić te prostsze modele, od których warto zacząć? 

M. G.: Najczęściej zaczyna się od takich algorytmów jak klastrowanie, poszukiwanie jakichś wspólnych zbiorów na danych rozrzuconych, posiadających jakieś wartości. 

Mogą to być też szeregi czasowe, np. mamy jakieś informacje historyczne dotyczące danych giełdowych, chcemy zobaczyć, jak ta giełda będzie wyglądała jutro, pojutrze itd. 

Są klasyfikacje, czyli na podstawie danych historycznych (im więcej danych, tym lepiej) dotyczących jakiegoś zdarzenia (np. co się psuje i jak często w jakimś urządzeniu; jak często i dlaczego pracownicy odchodzą z firmy; co klient kupuje najchętniej) przewidujemy, co zdarzy się w przyszłości.  

Do tego dodam regresje, a sieci neuronowe na końcu.

R.G.: Jak mógłbyś zdefiniować machine learning?

M. G.: To zbiór algorytmów i metodologii, które porządkują świat danych, pomagają go lepiej zrozumieć oraz podejmować jak najbardziej trafne decyzje. W historii transakcji kartą kredytową chcielibyśmy wykryć nadużycia, to, że ktoś chciał ukraść nasze pieniądze. Można manualnie definiować reguły – nadużycia dokonał 22-latek o godz. 1. w nocy, logując się w Bangkoku. Jednak następnym razem te reguły ulegną zmianie. Opisanie wszystkich możliwych reguł jest niewykonalne, więc możemy zastosować uczenie maszynowe. Budujemy model, który wykona pracę za nas. Na wejściu dajemy dane, że takie zdarzenie miało miejsce przy takich parametrach, atrybutach i ten model sam już będzie mógł podejmować decyzje. Później model musimy odświeżyć i pielęgnować, żeby zawierał aktualne dane, natomiast to jest duże ułatwienie. To kwestia porównania miesiąca pracy do kilku godzin zautomatyzowanego machine learningu. 

R.G.: Jak wykorzystuje się machine learning i jakie są jego główne cele na rynku. Wiadomo, że tych zastosowań jest wiele, ale gdzie ML króluje? 

M. G.: Projekty, w których ja brałem, dotyczyły np. analizy sprzedaży, organizacji wysyłek, analizy do kogo jaką ofertę warto wysłać, z jaką propozycją wyjść, by sprzedaż była bardziej skuteczna. Można e automatycznymi algorytmami wskazać jakieś dane na pierwszy rzut oka niewidoczne – np. karuzele VATowskie czy defraudacje, podejrzane ruchy niewidoczne w zwykłej tabelce z danymi. 

R.G.: Jak Twoim zdaniem zmieniło się podejście do analityki na przestrzeni lat? Czym się różni tradycyjne podejście od tego współczesnego? 

M. G.: Doszło do uproszczenia narzędzi, które służą do wykonywania analiz, co ma swoje dobre i złe strony. Warto pokazać machine learning, jako coś, co jest dla ludzi i nie trzeba się z tego doktoryzować. Ale ma to też złą stronę – używanie algorytmów bez zrozumienia, jak one funkcjonują. Ważna jest świadomość, że dane nie zawsze są strawne dla jakiegoś algorytmu. Musimy wiedzieć, jak z tego korzystać. 

Pojawiło się pojęcie auto ML – narzędzia same proponują wiele rzeczy i wykonują automatycznie. Na przykład wyrzucają to, co nie wniesie nic ciekawego z poziomu statystycznego, a podkreślają to, co jest fajne do budowy modelu, sprawdzają jakość danych lub wypełniają jakieś puste miejsca. Generalnie to ułatwi nam proces przygotowania danych i wybór odpowiednich danych w odpowiednim modelu do tego celu, który chcemy osiągnąć.

Obserwujemy też trend, że właściwie dowolne dane możemy już wykorzystać, nie tylko dane zgromadzone w Excelu, ale też dane najczęściej wykorzystywane, czyli źródło relacyjne w postaci bazy Oracle, świat big data, dane ze Smart City – dane nie gromadzą się miesiącami, one nieraz spływają z różnych sensorów  bez przerwy. 

To, co się zmieniło to – dowolne dane, uproszczenie interfejsu i duża automatyzacja. 


Drugą część rozmowy z Michałem przeczytasz tutaj  – sprawdź, z jakimi pytaniami od uczestników mierzył się nasz ekspert. Jeśli chcesz dowiedzieć się więcej na temat pracy z danymi, przeczytaj rozmowę z Dorotą, która jest absolwentką i mentorką kursu Data Science – Kim jest i czym się zajmuje Data Scientist?

Jak zacząć przygodę z Machine Learning z Future Collars?

  1. Kurs Data Science – fragment kursu jest poświęcony uczeniu maszynowemu.  Tam uczymy się przede wszystkim przetwarzać duże zbiory danych, wyciągać konkretne informacje, które będą nam potrzebne. 
  2. Kurs Python Developer – ten kurs  jest dosyć elastyczny pod względem projektu końcowego. Możecie wybrać jako zadanie zaliczeniowe projekt opaty o ML bądź użycie gotowych bibliotek związanych z maszyną. Dzięki temu też będziecie w stanie wejść w ten temat płynnie i na rynku pracy wykazać się odpowiednią wiedzą poświadczoną w portfolio.

Co wyróżnia nasze kursy?

  1. Praca na realnych projektach. 
  2. Lekcje na żywo 2 razy w tygodniu po 1,5 h to duża dawka teorii, która jest poparta praktyką.
  3. Projekt końcowy, który można dołączyć do portfolio.
  4. Intensywne szkolenie – szyte dla osób, które faktycznie chcą szybko zmienić swój zawód.
  5. Język angielski w IT – dzięki partnerstwu z Eklektiką, kursanci mają bezpłatny dostęp do platformy i mogą uczyć się języka na poziomie od B2 do C1.  
  6. Praktyczny wymiar szkolenia, dzięki czemu można gładko przejść z kursu do pracy.  
  7. Indywidualne konsultacje z mentorem. Kursanci bardzo doceniają tę formę wsparcia. 
  8. Po zakończeniu kursu – wsparcie w procesie rekrutacyjnym.

Nasze kursy są bardzo intensywne. Większość czasu spędza się, rozwiązując zadania.  Uczymy online już od początku istnienia i wiemy, jak to robić skutecznie.  Chcesz poznać różne możliwości dofinansowania kursów? Przeczytaj, jak zdobyć środki na kształcenie. Nasz doradca pomoże Ci wybrać właściwą ścieżkę zawodową – skontaktuj się.