Uczenie maszynowe z sukcesem wykorzystywane jest do rozwiązywania problemów biznesowych w rozmaitych obszarach. Naturalnym elementem rozwoju algorytmów w praktyce jest poprawa ich skuteczności - jeżeli uda się przebić dotychczasowe osiągi, to rozwiązanie może zostać zaktualizowane (pod warunkiem, że nowa wersja spełnia inne przyjęte założenia, jak np. szybkość działania). Wyzwanie pojawia się wtedy, kiedy uczenie maszynowe chcemy po raz pierwszy zastosować do rozwiązania danego problemu. W takiej sytuacji nie mamy żadnego punktu referencyjnego, z którym moglibyśmy się porównywać. Oznacza to, że ciężko jest oceniać czy dane rozwiązanie jest dobrej jakości, czy nie, a w szczególności problemem może być ocena samej poprawność otrzymanych wyników. Jak zatem można stwierdzić czy model działa, czy też nie?
Kluczem do odpowiedzi na to pytanie jest poszukiwanie punktów odniesienia do rozwiązywanych problemów biznesowych. To one stanowią podstawę, aby zweryfikować jakość modelu. W praktyce niestety nie zawsze o tym pamiętamy, a w szczególności osobom, które dopiero rozpoczynają swoją przygodę z uczeniem maszynowym, zdarza się czasem pominąć ten etap, a sam fakt stworzenia modelu przysłania refleksję nad jego faktyczną użytecznością. Podpowiadamy jak sprawdzić, czy Wasz model naprawdę działa.
Uczenie maszynowe: punkty odniesienia
Punkt odniesienia to coś, z czym porównujemy skuteczność naszego algorytmu. Mogą to być istniejące rozwiązania danego problemu, ale jeśli takowe jeszcze nie istnieją, to musimy określić je sami. Poszukiwanie punktów odniesienia to konieczność, jeśli Waszym założeniem jest tworzenie użytecznych modeli, czyli takich, które dają rzetelne odpowiedzi na realne problemy. To ważne, aby ustrzec osoby, które będą podejmowały decyzje na podstawie wyników modelu przed poważnymi błędami. Tak jak w niektórych dziedzinach konsekwencje mogą być mniej bolesne w skutkach (rekomendacja filmu do obejrzenia), tak w niektórych przypadkach - mogą być bardzo poważne (inwestycje na rynkach finansowych). W zależności od okoliczności określenie punktu odniesienia może być mniej lub bardziej skomplikowane, jednak zawsze jest konieczne ze względu na zapewnienie wiarygodności wyników modelu.
Uczenie maszynowe: przykłady punktów odniesienia
Wiesz już, jak ważne w modelowaniu jest poszukiwanie punktów odniesienia. Teraz poznasz 3 scenariusze jak tego dokonać w praktyce.
Scenariusz 1: Klasyfikacja
Dla przykładu załóżmy, że firma ubezpieczeniowa zmaga się z wyzwaniem oceny, czy zgłoszenia o wypłatę odszkodowania są zasadne, czy też są próbą wyłudzenia. W praktyce zdecydowana większość zgłoszeń nie jest próbą oszustwa, a próby wyłudzenia mogą stanowić przykładowo 1% wszystkich spraw.
Załóżmy, że został opracowany algorytm, który będzie wykorzystywany przez firmę ubezpieczeniową do oceny zgłoszenia i skuteczność opracowanego klasyfikatora (przyporządkowującego zgłoszenie od jednej z dwóch „klas”: prawdziwe zgłoszenie vs wyłudzenie) wynosi 99%. Powstaje pytanie, czy jest to „dobry” algorytm. Choć wydawać by się mogło, że skuteczność na poziomie 99% może świadczyć o tym, że model jest wprost rewelacyjny, tak prawdziwa odpowiedź na pytanie o jego jakość brzmi: „To zależy!”.
A zależy właśnie od punktu odniesienia. Zauważmy, że algorytm, który wszystkie zgłoszenia uzna za uczciwe, będzie miał skuteczność… 99%! Tym samym, aby model był użyteczny, jego trafność powinna przekraczać procent obserwacji najczęstszej klasy, tj. w tym przypadku do 99% uczciwych zgłoszeń. I to właśnie ta liczba będzie tu podstawowym punktem odniesienia. Na marginesie, zwróćmy uwagę, że w takich sytuacjach ocena algorytmu na podstawie procentu poprawnych decyzji może nie być najlepszym podejściem.
Scenariusz 2: Szereg czasowy
Dla przykładu załóżmy, że celem jest zbudowanie modelu, który będzie przewidywał cenę bitcoina w czasie (np. średnią ceną bitcoina w danym dniu). Aby sprawdzić jakość modelu, musimy porównać realną cenę bitcoina z prognozowaną. Oczywiście im wartości te będą bliższe, tym model będzie lepszy. Jednak, aby ustalić, czy model w ogóle ma jakąś wartość, znów należy zadać pytanie o punkt odniesienia.
Jednym ze bardzo prostych sposobów sporządzenia prognozy bez żadnego modelu, jest przyjęcie, że cena bitcoina danego dnia będzie taka sam jak dnia poprzedniego. Jeżeli cena zmienia się mało dynamicznie, taki sposób prognozowania może okazać się całkiem dokładny (dla naszego przykładu możemy założyć, że średnio będziemy się mylić o 1 PLN). Nie jest to jednak modelowanie, a tak naprawdę „zgadywanie”.
Zatem jeśli chcemy stworzyć użyteczny inteligentny algorytm przewidujący cenę bitcoina, to tym konkretnym przypadku, punktem odniesienia dla modelu może być opisane „zgadywanie” ceny. Oznacza to, że model zostanie uznany za wartościowy, jeśli będzie się mylił średnio o mniej niż 1 PLN.
Scenariusz 3: System rekomendacyjny
Załóżmy, że naszym celem jest zbudowanie modelu, który na bazie historycznych ocen, będzie rekomendował widzom filmy do obejrzenia. Precyzując: celem jest przewidzenie, jak dana osoba oceni dany film (np. w skali 1-10). Taki algorytm możemy wykorzystać do tego, ale podpowiadał widzom te tytuły, które prawdopodobnie się im spodobają. Załóżmy, że zastanawiamy się, jak dana osoba oceni pewien film i przyjrzyjmy się dwóm perspektywom przewidywania oceny:
- Zacznijmy od spojrzenia na dotychczasowe oceny innych filmów tej osoby. Jeżeli przykładowo ta osoba zawsze oceniła obejrzane filmy na 8 lub 9, to z dużym prawdopodobieństwem kolejny film oceni podobnie.
- Z drugiej strony, jeśli dany film był oceniany przez osoby go oglądająca zawsze na ocenę 7 lub 8, to z dużym prawdopodobieństwem kolejna osoba ocenia go podobnie.
Możemy zatem przyjąć tym przypadku dwa punkty odniesienia:
- predykcja dla danego filmu jako średnia z dotychczasowych ocen tego filmu (wartość niezależna od użytkownika),
- predykcja oceny filmu dla danego użytkownika jako średnia z dotychczas udzielonych ocen (wartość niezależna od filmu).
Za skuteczny uznamy taki model, który będzie miał trafniejsze predykcje niż te dla wspomnianych powyżej dwóch podejść. W przeciwnym razie (jeśli błąd jest większy), model nie będzie miał wartości merytorycznej i będzie bezużyteczny.
Uczenie maszynowe dla początkujących
Osoby dopiero zaczynające swoją przygodę z uczeniem maszynowym powinny przywiązać szczególną uwagę do poszukiwania punktów odniesienia. Warto tutaj dodać, że poza prostymi, ale rozsądnymi metodami „zgadywania”, dobrą praktyką jest zaczynanie od modeli bardzo prostych. To one same w sobie mogą być punktami odniesienia, do tworzonych później bardziej złożonych rozwiązań. Zanim więc zaczniesz tworzyć zaawansowane narzędzia oparte na sieciach neuronowych, zrób prosty model z solidnymi punktami odniesienia. Jeśli okaże się dobry, zrób upgrade i sprawdź, czy ulepszenia w ogólne wnoszą jakąkolwiek wartość dodaną do wyników. Zadbaj o wyrobienie tego zwyczaju już teraz, a będzie to procentowało w przyszłości.
Uczenie maszynowe znajduje zastosowanie praktycznie w każdej branży. Jeśli chcesz zdobyć cenną wiedzę w tym zakresie i zdobyć kompetencje przyszłości, zapisz się na kurs Uczenie Maszynowe Masterclass. Szkolenie uczenie maszynowe dla początkujących to szansa na poznanie najważniejszych algorytmów i nauczenie się ich stosowania w praktyce, co pozwoli na rozwiązywanie rzeczywistych problemów biznesowych.