Uczenie maszynowe dla menedżerów

Piotr Szulc
Ikona kalendarza
4 września 2020

W tym artykule przedstawię w możliwie prosty sposób, na czym polega uczenie maszynowe. Pisząc, wyobrażałem sobie czytelnika, który bezpośrednio nie zajmuje się tym problemem, ale musi lub chciałby wiedzieć na pewnym ogólnym poziomie, jak wygląda praca ludzi odpowiedzialnych za budowę modelu. Taką osobą może być na przykład członek zarządu lub osoba pracująca w projekcie równolegle z innymi, ale odpowiedzialna za kwestie niezwiązane bezpośrednio z budową modelu uczenia maszynowego.

Zakładam, że czytelnik miał choć trochę do czynienia z danymi w formie elektronicznej i wie, że można je podsumować, na przykład licząc średnią w Excelu. Poniżej podaję niektóre z pytań, na które w tej serii postaram się odpowiedzieć. Zdecydowanie nie jest ona wyczerpująca, ale ma dać ogólny pogląd o charakterze artykułów. Niektóre z tych pytań warto sobie zadać, zanim rozpoczniemy budowę modelu, inne w trakcie, na przykład podczas prezentacji wyników.

  • Ile czasu zajmie budowa modelu? Ilu osób przeznaczyć do tego celu?
  • Jaką mam pewność, że dany model będzie działał? Jakie są jego ograniczenia?
  • Jak dobry model jesteśmy w stanie zbudować? Czy obecny można ulepszyć?
  • W zasadzie co to jest ,,model’’?
  • Jak na podstawie danych historycznych jesteśmy w stanie przewidywać przyszłość?
  • Co to jest macierz błędów? Jak zinterpretować zaprezentowane wykresy?
  • Co oznaczają różne miary: MSE, R2, AUC? Jak z nich wywnioskować, czy model jest dobry?

Z konieczności pewne aspekty zostaną poruszone w dużym uproszczeniu. Na niektóre pytania (na przykład o czas potrzebny na budową modelu) nie udzielę żadnych konkretnych odpowiedzi. Na pewno też nie dowiesz się, czytelniku, jak samemu zbudować model uczenia maszynowego. Mam natomiast nadzieję, że będziesz mniej więcej rozumiał, co robią członkowie twojego zespołu oraz będziesz potrafił ocenić, czy model, który stworzyli, rzeczywiście jest dobry.

obraz1.webp

Do jakich problemów stosujemy uczenie maszynowe?

Zacznijmy od tego, po co w ogóle używa się metod uczenia maszynowego. Załóżmy, że jesteśmy firmą oferującą kredyty. Z pewnością nie będziemy ich dawać wszystkim, ale tylko osobom, co do których jest duża szansa, że je spłacą. Chcielibyśmy określić liczbowo tę szansę (prawdopodobieństwo). Spodziewamy się, że zależy ona od pewnych czynników: sytuacji finansowej klienta, historii kredytowej, sytuacji rodzinnej, pewnych cech charakteru. Przynajmniej niektóre z tych czynników jesteśmy w stanie zmierzyć, choćby w przybliżeniu. O ile takich danych mamy wystarczająco dużo i rzeczywiście są związane ze spłacalnością, to dzięki metodom uczenia maszynowego będziemy w stanie znaleźć relacje między nimi, a prawdopodobieństwem spłaty kredytu (czyli zbudować model).

Inny przykład. Jesteśmy firmą ubezpieczeniową i do wyceny trzeba nam oszacować przewidywaną długość życia danej osoby. Zależy ona od czynników, które jesteśmy w stanie zmierzyć: płeć, zawód, historia chorób. Możemy zbudować model, który na podstawie takich informacji będzie przewidywał oczekiwaną długość życia.

W powyższych przykładach terminy ,,model’’ i ,,uczenie maszynowe’’ pojawiły się w bardzo podobnych kontekstach. Uściślijmy: naszym celem jest budowa modelu, który na podstawie pewnych informacji będzie w stanie oszacować (przewidzieć) inną, kluczową dla nas informację. W celu zbudowania takiego modelu używamy pewnego podejścia, które nazywamy uczeniem maszynowym.

W dalszym ciągu tę kluczową informację będę nazywał Y (prawdopodobieństwo spłaty kredytu, długość życia), a informacje, które posłużą do jej oszacowania przez X (zarobki, zawód, płeć). Zwykle w konkretnym problemie informacja Y jest jedna (ma jeden wymiar), natomiast cech X (tak zwanych predyktorów) może być bardzo dużo (wiele wymiarów).

Proces budowy modelu

Spójrzmy ogólnie na etapy budowy modelu. Wyszczególnię pięć, choć od razu zaznaczę, że jest to moje, częściowo subiektywne spojrzenie. Poza tym w konkretnych sytuacjach cały proces może wyglądać inaczej: pewne etapy mogą być praktycznie pominięte, inne mocno rozszerzone. Co ważne, zwykle jest to proces iteracyjny, to znaczy: do poszczególnych etapów wielokrotnie wracamy. Zdarzają się sytuacje, że po ,,końcowej’’ walidacji modelu wyniki będą na tyle niezadowalające, że będzie trzeba wrócić do pierwszego etapu.

  1. Kluczowym aspektem jest zebranie odpowiedniej ilości i jakości danych. Jest to materiał, z którego budujemy model (jak cegły dla domu). Czym powinny się charakteryzować? Załóżmy ponownie, że jesteśmy firmą oferującą kredyty. Po pierwsze, potrzebujemy informacji Y, czyli czy poszczególne osoby spłaciły zaciągnięte kredyty. Jeśli tego nie wiemy, takie dane wciąż mogą się przydać, ale w bardzo ograniczonym stopniu. Po drugie, potrzebujemy informacji X o tych osobach, na przykład ile zarabiają, czy posiadają mieszkanie na własność, czy spłacili poprzednie zobowiązania. Te informacje powinny w jakiś sposób (choć być może niewielki) wiązać się ze spłacalnością. W praktyce najlepiej dostarczyć osobom odpowiedzialnym za budowę modelu wszystkie informacje o danej osobie, jakie tylko posiadamy — to one stwierdzą (przy pomocy metod uczenia maszynowego), czy konkretna cecha jest przydatna, czy nie.

  2. Kolejny etap to przetworzenie danych do postaci zrozumiałej przez komputer. Najczęściej będzie to forma tabeli, w której w kolejnych wierszach znajdują się informacje o poszczególnych klientach, jak poniżej.

obraz2.webp
  1. Następnie próbujemy dane zrozumieć, wydobyć z nich wiedzę. Opowiadają one pewną historię, którą chcemy poznać, ,,przesłuchując’’ je. Zadajemy pytania i korzystając z odpowiednich narzędzi (miar, wykresów), odpowiadamy na nie.

  2. Gdy zrozumiemy dane, w szczególności relację między Y a X, próbujemy ją opisać przy pomocy konkretnych wyrażeń matematycznych, korzystając z odpowiednich algorytmów uczenia maszynowego. Ten etap można nazwać sercem budowy modelu.

  3. Jeśli wyniki będą zadowalające, możemy przejść do podsumowania, na przykład w formie raportu lub prezentacji.

Pozostaje jeszcze wdrożyć model, być może stworzyć aplikację — ale tymi etapami nie będziemy się tu zajmować.

Jak duży powinien być zespół?

Być może wystarczy jedna osoba. Zasadniczo wszystkie wymienione etapy jest w stanie wykonać jeden pracownik, a ponieważ są one mocno powiązane, zaangażowanie większej liczby osób może nie przynieść efektów. Są jednak sytuacje, w których zebranie zespołu jest koniecznie. Danych może być tak dużo i w takiej formie, że będziemy potrzebować specjalisty od bazy danych. Podobnie, jeśli końcowym produktem ma być sprawnie działająca i efektowna aplikacja, nie powinniśmy oczekiwać, że wykona ją analityk. Jeśli budowany model jest kluczowy dla firmy i możemy przeznaczyć na niego więcej środków, dobrym pomysłem jest przydzielenie do projektu kilku osób (zespołów), które będą pracować całkowicie niezależnie i dopiero pod koniec połączą siły.

Pamiętajmy jednak, że analityk pracujący w izolacji ma niewielką szansą stworzyć dobry model. Koniecznie powinien mieć możliwość konsultacji z innymi pracownikami firmy, którzy dobrze rozumieją pewne konkretne aspekty danych: koszt pozyskania informacji, dostęp do nich w momencie dokonywania predykcji, kwestie prawne. Wiele wzorów, które analityk zobaczy w danych, są w stanie wytłumaczyć pracownicy, którzy nie muszą nic wiedzieć na temat analizy. Mogą też bardzo pomóc w wyborze informacji przydatnych w budowie modelu.

Gdzie można nabyć odpowiednie umiejętności?

Jeżeli jesteś menedżerem i chcesz poznać holistyczne spojrzenie na całość zagadnień związanych z Big Data i Data Science oraz praktycznych kompetencji w wykorzystaniu ich w kierowaniu działem lub przedsiębiorstwem, a w szczególności wiedzy w zakresie specyfiki dużych danych, integracji i gromadzenia danych z różnych źródeł oraz architektury rozwiązań klasy Big Data, sprawdź program studiów podyplomowych Data Science i Big Data w zarządzaniu.

W trakcie studiów nauczysz się:

  • skutecznie przeprowadzić transformację przedsiębiorstwa/działu w stronę przedsiębiorstwa opartego o analizę danych
  • skutecznie prowadzić projekty o charakterze BigData i Data Science
  • organizować i zarządzać infrastrukturą Big Data i Data Science
  • wykorzystać wyniki analizy danych w zarządzaniu przedsiębiorstwem

Studia przeznaczone są dla osób ze szczebla średniej i wyższej kadry managerskiej pełniącej swoje funkcje m.in. (ale nie wyłącznie) w obszarach marketingu, finansów, IT, zarządzania łańcuchem produkcji, HR, zarządzanie strategiczne.

Ile to może potrwać?

Czas potrzebny na zbudowanie modelu jest bardzo trudny do oszacowania, w dużej mierze zależy od konkretnego przypadku. Etap zbierania danych może być bardzo długi (trwać na przykład rok), jeśli do tej pory tego nie robiliśmy, to znaczy nie zapisywaliśmy informacji niezbędnych dla modelu. Zwykle jednak te dane istnieją, dodatkowo w formie elektronicznej, trzeba je tylko pozyskać z różnych działów w firmie. Jeśli w danym momencie nie posiadamy wszystkich danych, dobrym rozwiązaniem może być konstrukcja modelu na podstawie tego, co mamy w tej chwili, a następnie zbieranie dodatkowych informacji, dzięki czemu kolejny model będzie lepszy.

Etap przekształcania danych do odpowiedniej postaci jest zwykle najbardziej uciążliwy i czasochłonny. Zdarzają się co prawda sytuacje, w których od razu są one w odpowiednim formacie, zwykle jednak jest inaczej i potrzeba dość dużej biegłości w posługiwaniu się narzędziami analitycznymi, by przez ten etap przejść. Warto dodać, że jeśli oczekujemy okresowych raportów od analityków, to ciężko zaprezentować, co się właściwie na tym etapie zrobiło.

Zrozumienie danych to krok, który część osób prawie w ogóle pomija, choć zdecydowanie nie jest to dobra strategia. Modele budowane ,,w ciemno’’ mogą być w praktyce niestabilne, a czasem całkowicie bezużyteczne (mimo że łatwo przekonać siebie i innych, że wszystko jest w porządku). Poza tym dzięki temu etapowi można zyskać bardzo dużo praktycznych informacji, niekoniecznie związanych z samym modelem, które dodatkowo mogą być w stosunkowo prosty sposób przekazane innym w formie prezentacji.

Etap czwarty, czyli opisanie szukanej relacji przy pomocy wzorów matematycznych, mimo że nazwałem sercem budowy modelu, w praktyce może zająć najmniej czasu. Można powiedzieć, że tę część w dużej mierze przeprowadza za nas komputer. Końcowe opisywanie wyników również nie musi być czasochłonne, gdyż częściowo powinno zostać wykonane w poprzednich etapach. Natomiast zwykle zajmuje więcej, niż się wcześniej zakłada. Czas zależy też mocno od tego, dla kogo przygotowujemy raport.

Na koniec dwie uwagi. Po pierwsze, zwykle im więcej danych, tym więcej czasu zajmuje cały proces. Jeśli nie dysponujemy dobrym sprzętem komputerowym, może to bardzo spowolnić budowę modelu, szczególnie etap czwarty. Po drugie, jak wspomniałem wyżej, proces budowy modelu jest iteracyjny, do poszczególnych etapów wracamy wielokrotnie. W związku z tym ,,jakiś’’ model możemy otrzymać (i jest to dobra praktyka) stosunkowo szybko. W kolejnych iteracjach modele powinny być coraz lepsze.

Ostatnia uwaga ma ogromne znaczenie, gdy chcemy zaplanować całkowity czas na budowę modelu. Otóż najczęściej nie ma czegoś takiego jak ,,ostateczny model’’, w sensie, że nic lepszego nie jesteśmy w stanie stworzyć. Ostateczny model to jedynie ten rzeczywiście ostatni — ale gdybyśmy dysponowali dodatkowym miesiącem, pewnie bylibyśmy w stanie otrzymać coś lepszego (choć może minimalnie). Jedną ze strategii jest dążenie do pewnej zadanej dokładności, to znaczy projekt trwa tak długo, aż ten poziom się osiągnie. Niestety, może to powodować trudności z finansowaniem, a co gorsza, taki poziom może nie być w zasięgu (nieważne, ile czasu przeznaczymy).

Przeczytaj także

Ikona kalendarza

14 luty

Co to jest Docker i dlaczego warto go używać?

Co to jest Docker i jak działa? Jakie korzyści niesie Docker dla programistów, testerów, administratorów i architektów IT? Przeczytaj...

Ikona kalendarza

18 styczeń

Jak się przygotować do zdania ISTQB® Foundation Level?

Jak przygotować się do zdania egzaminu ISTQB® Foundation Level? Sprawdź cenne wskazówki przed przystąpieniem do egzaminu.

Ikona kalendarza

11 styczeń

Dofinansowanie KFS na szkolenie w 2024 roku

Z artykułu dowiesz się, jak wygląda budżet KFS w 2024 roku, poznasz priorytety wydatkowania oraz dowiesz się, jak wnioskować o dofina...