Czym jest model uczenia maszynowego? - przewodnik dla menedżerów
Author
Piotr Szulc
blog_date_icon
25 września

W tym artykule odpowiemy sobie na pytanie, czym tak naprawdę jest model, w jakim celu moglibyśmy chcieć go zbudować i jak nauczyć komputer czegoś nowego. Jeżeli chcecie się dowiedzieć czym jest uczenie maszynowe, koniecznie zapoznajcie się z poprzednim artykułem pt. “Uczenie maszynowe dla menedżerów”.

Cele modelowania

Prognozowanie

Pierwszym powodem, aby zainteresować się modelowaniem, jest potrzeba przewidywania. Chcemy, aby model pomógł nam odpowiedź na przykład na poniższe pytania.

  • Czy dany email to spam?
  • Jakie jest prawdopodobieństwo, że klient spłaci kredyt?
  • Ile sztuk danego produktu (na przykład książki) sprzedamy?
  • Czy klient zrezygnuje z usług naszej firmy?
  • Czy pacjent odpowie pozytywnie na terapię?
  • Ile warte jest moje mieszkanie?
  • Czy dana transakcja finansowa jest oszustwem?

Problemy te można podzielić na dwa rodzaje: regresyjne (gdy przewidywana cecha jest ilościowa, na przykład wartość mieszkania) i klasyfikacyjne (gdy przewidywana cecha jest jakościowa, na przykład spłata kredytu). Skupmy się na chwilę nad pytaniem drugim, o prawdopodobieństwo spłaty kredytu. Jakie zalety ma konstrukcja modelu, który takie prawdopodobieństwo będzie w stanie przewidzieć? Odpowiedź wydaje się oczywista, ale żeby dobrze zrozumieć, w jakim celu budujemy modele, zastanówmy się nad tym dłużej. Najpierw ustalmy referencję, to znaczy w jaki sposób bank mógłby udzielać kredytów, gdyby takiego modelu nie posiadał. Załóżmy, że zatrudniłby eksperta, który na podstawie teorii i swojego doświadczenia stwierdzałby, komu warto udzielić kredytu. Można powiedzieć, że taki ekspert szacowałby prawdopodobieństwo spłaty — czyli nasz model po prostu go zastępuje. W czym zatem miałby być lepszy?

  1. Model zwraca wyniki automatycznie, zwykle w ułamku sekundy, dzięki czemu jest znacznie szybszy od eksperta.

  2. Poza kosztem budowy modelu, jego użycie (czyli przewidywania dla kolejnych osób) nie wiążą się zwykle z dodatkowym wydatkiem, także taki model może być znacznie tańszy.

  3. Człowiek ma ograniczone możliwości zapamiętywania, może wykorzystać ograniczoną ilość informacji. Model budujemy przy użyciu komputera, który nie ma tych ograniczeń. Jeśli danych jest odpowiednio dużo, możemy być w stanie uwzględnić pewne subtelne lub wielowymiarowe zależności, które umknęłyby ekspertowi.

  4. Decyzje człowieka mogą być obciążone różnymi czynnikami, na przykład może on zaniżać prawdopodobieństwa spłat dla niektórych osób w wyniku pewnych życiowych doświadczeń, niekoniecznie reprezentatywnych.

  5. Mimo że ekspert może szacować prawdopodobieństwa, nie należy się spodziewać, że rzeczywiście będzie można je tak traktować, to znaczy wynik 60% wcale nie musi oznaczać, że 60 na 100 podobnych klientów spłaci kredyt. Najpewniej taką wartość będzie można rozumieć jedynie jako “trochę więcej niż pół na pół”. Dla banku tacy klienci wciąż mogą być zyskowni, ale żeby móc oszacować wartość tego zysku, potrzebujemy właśnie informacji o prawdopodobieństwie — i dzięki odpowiednio skalibrowanym modelom taką informację będziemy w stanie uzyskać.

Jednym słowem, model powinien być szybszy, tańszy i dokładniejszy. Czy rzeczywiście taki będzie, zależy to od wielu czynników i temat ten omówimy w jednym z kolejnych artykułów.

Wnioskowanie

Mimo że wyżej opisany powód modelowania króluje w świecie uczenia maszynowego, nie jest on jedyny. Co więcej, patrząc trochę szerzej na analizę danych, niekoniecznie jest najważniejszy. Może nas bowiem interesować nie tylko to, czy dany klient spłaci kredyt, ale dlaczego. Jakie czynniki decydują o tym, że pewne osoby spłacają, a inne nie? Dlaczego terapia nie ma szans zadziałać w przypadku danego pacjenta? Jakie czynniki zwiększają ryzyko zachorowania na chorobę X? By odpowiedzieć na te pytania, budowa modelu będzie pomocna, a może nawet konieczna. Choć jak się później okaże, niekoniecznie użyjemy tych samych narzędzi co w sytuacji, gdy celem jest prognoza.

W tym miejscu można mieć zastrzeżenie, że aby znaleźć czynniki wpływające na interesującą nas cechę, nie są potrzebne żadne specjalne narzędzia, a w szczególności model. Czyż nie wystarczy na przykład policzyć, jaki procent kobiet spłaca kredyty i jaki procent mężczyzn, by rozstrzygnąć, czy płeć wpływa na prawdopodobieństwo spłaty? Niestety nie, a wytłumaczymy to na bardziej obrazowym przykładzie zarobków. Obecnie dość popularna jest teza o różnicy w wysokości zarobków kobiet i mężczyzn. W internecie bardzo łatwo natknąć się na wykresy pokazujące, że na przykład w Stanach Zjednoczonych zarobki kobiet stanowią około 80% zarobków mężczyzn. Przyjmijmy to za fakt, ale zastanówmy się, jakie wnioski możemy z tego wyciągnąć. Czy wynik ten świadczy o dyskryminacji? Czy kobiety zarabiają mniej dlatego, że są kobietami?

Tego typu statystyki jak wyżej liczone są zwykle w prosty sposób: mediana zarobków kobiet dzielona jest przez medianę zarobków mężczyzn. Ale przecież jeśli mężczyźni przepracowują średnio większą liczbę godzin w tygodniu (co jest faktem), to należałoby to wziąć pod uwagę. Dalej, musimy uwzględnić, że mężczyźni wybierają zwykle lepiej płatne zawody, częściej proszą o podwyżkę, są bardziej skłonni zmienić miejsce zamieszkania i tak dalej. Uwzględnienie tych wszystkich czynników jest konieczne, by zweryfikować hipotezę o bezpośrednim wpływie płci na zarobki — i jest to możliwie, jeśli użyjemy odpowiedniego modelu. Ostatecznie może się okazać, że taka skorygowana różnica w zarobkach jest mniejsza, nie ma jej w ogóle lub to mężczyźni zarabiają mniej.

Podsumowując, możemy wyróżnić dwa cele modelowania: prognozowanie i wnioskowanie. Może nas interesować tylko jeden z nich, choć tworzenie modeli, których nie da się zinterpretować, może okazać się ryzykowne. W dalszym ciągu jednak będziemy się skupiać raczej na pierwszym celu budowy modelu, jako że to właśnie on zwykle jest łączony z uczeniem maszynowym.

Jak na podstawie przeszłości przewidzieć przyszłość?

obraz1.webp

Uczenie maszynowe ma bardzo dobry marketing i jest często przedstawiane w sposób magiczny. Gdy zbieramy fundusze na realizację projektu, dobrze jest powiedzieć, że “uczymy komputer” albo “robimy sztuczną inteligencję”, ale co się za tym kryje? Jak można nauczyć komputer czegoś nowego? W rzeczywistości jest to bardzo proste i przedstawię to na przykładzie jednego z algorytmów uczenia maszynowego, metody najbliższych sąsiadów.

Do banku przychodzi nowy klient wnioskujący o kredyt. Zbieramy o nim informacje: ile zarabia, czym się zajmuje, w jakim jest wieku, ile ma osób na utrzymaniu i tak dalej. Następnie szukamy w danych historycznych pewnej liczby (na przykład 10) najbardziej podobnych do niego klientów (najbliższych sąsiadów): o zbliżonych zarobkach i wieku, pracujących w podobnych branżach i posiadających podobnie dużo (może tyle samo) osób na utrzymaniu. Załóżmy, że dziewięciu takich klientów spłaciło kredyty, jeden nie. Można zatem przypuszczać, że nasz klient również spłaci, z prawdopodobieństwem 90%. I już, właśnie nauczyliśmy czegoś komputer: przewidywania, jak zachowa się NOWY klient. Naprawdę? To chyba nie może być takie proste? A jednak co do istoty jest.

W praktyce dochodzi szereg problemów (wcale niemałych), jak na przykład wybór liczby podobnych klientów, których szukamy, czy też definicja miary podobieństwa. Poza tym większość metod uczenia maszynowego nie ma aż tak prostej interpretacji jak przedstawiona wyżej. Mimo to podany przykład pokazuje, że w nauczeniu komputera czegoś nowego nie ma nic magicznego, a na dodatek można to osiągnąć w prosty sposób.

Czym jest model?

Na koniec definitywnie obedrzemy uczenie maszynowe z magii, podchodząc do sprawy czysto matematycznie. Załóżmy, jak w poprzednim artykule, że naszym celem jest przewidzieć wartość Y na podstawie pewnych cech X. Konkretniej, rozbijmy X na poszczególne cechy: X<sub>1</sub>, X<sub>2</sub>, X<sub>p</sub>. Chcemy znaleźć relację między nimi a Y, a mówiąc językiem matematyki — funkcję. Weźmy jednak pod uwagę, że prawie na pewno Y nie jest całkowicie wytłumaczalny przez zestaw cech, jakie mamy do dyspozycji. To, czy dany klient spłaci kredyt, może na przykład zależeć od pewnych cech jego charakteru, które niekoniecznie łatwo uzyskać. Te nieznane informacje oznaczmy przez ε. Czyli budując model, szukamy funkcji f z poniższej równości:

Y=f(X<sub>1</sub>,X<sub>2</sub>, X<sub>p</sub>)+ε

Funkcję tę możemy nazwać modelem, a uczenie maszynowe dostarcza nam narzędzi, by móc tę funkcję znaleźć w sposób optymalny.

Podsumowując tematy poruszone w tym artykule, jeśli postać funkcji f będzie dostatecznie prosta, będziemy mogli wyciągnąć wnioski co do zależności między Y a cechami X. Jeśli interesuje nas prognoza, funkcja może być bardzo skomplikowana (tak zwana czarna skrzynka), bo zależy nam jedynie na tym, by dla zestawu cech X otrzymać najbliższy prawdzie Y. Na poszczególne algorytmy uczenia maszynowego można spojrzeć jak na różne postacie funkcji f. Co więcej, możemy testować te algorytmy, po prostu je stosując i obserwując, czy przewidywane przez nie wartości Y na danych historycznych są bliskie rzeczywistym. W ten sposób możemy też wybrać optymalną liczbę najbliższych sąsiadów we wcześniej opisanym algorytmie. Jest to tak ważny temat, że poświęcimy mu kolejny odcinek.

Jeżeli ten artykuł wydał Ci się interesujący, a dodatkowo jesteś menedżerem, który chce nabyć kompetencje w wykorzystywaniu zagadnień związanych z Big Data i Data Science oraz zdobyć wiedzę 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.

Przeczytaj także