Uczenie maszynowe dla menedżerów

sages.pl 4 lat temu
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, iż czytelnik miał choć trochę do czynienia z danymi w formie elektronicznej i wie, iż 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ść, iż 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ę, iż 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](/uploads/obraz1_6b007079f1.webp)


## Do jakich problemów stosujemy uczenie maszynowe?

Zacznijmy od tego, po co w ogóle używa się metod uczenia maszynowego. Załóżmy, iż 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, iż je spłacą. Chcielibyśmy określić liczbowo tę szansę (prawdopodobieństwo). Spodziewamy się, iż 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ę, iż 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, iż po ,,końcowej’’ walidacji modelu wyniki będą na tyle niezadowalające, iż 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, iż jesteśmy firmą oferującą kredyty. Po pierwsze, potrzebujemy informacji Y, czyli czy poszczególne osoby spłaciły zaciągnięte kredyty. jeżeli 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](/uploads/obraz2_9ada2d5b76.webp)


3. 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.

4. 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.

5. jeżeli 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, iż będziemy potrzebować specjalisty od bazy danych. Podobnie, jeżeli końcowym produktem ma być sprawnie działająca i efektowna aplikacja, nie powinniśmy oczekiwać, iż wykona ją analityk. jeżeli budowany model jest najważniejszy 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, iż 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](https://www.zarzadzanie.ai/index.html).

**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żeli 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żeli 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 we właściwym 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ć, iż jeżeli oczekujemy okresowych raportów od analityków, to ciężko zaprezentować, co się adekwatnie 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 iż łatwo przekonać siebie i innych, iż 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 iż nazwałem sercem budowy modelu, w praktyce może zająć najmniej czasu. Można powiedzieć, iż 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żeli 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, iż 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).
Idź do oryginalnego materiału