Czy zrozumienie biznesu i danych (domain undestanding) w uczeniu maszynowym jest potrzebne?



Jakiś czas temu obejrzałem bardzo ciekawą prezentację Przemka Biecka. Dotyczyła ona tego, że wyjaśnienie i zrozumienie dlaczego zbudowany model ML daje takie, a nie inne wyniki jest niezbędnym etapem projektów budowy rozwiązań ML.

Zachęcam do zapoznania się z prezentacją „Uważaj na czarne skrzynki! O tym jak odpowiedzialnie stosować uczenie maszynowe w biznesie”, autor dr hab. Inż. Przemysław Biecek, Principal Data Scientist, Samsung: https://drive.google.com/file/d/1z8zBP5K8TY12mh-JYxz--yn6NkxUeYjj/view (prezentacja z VIII Polish Business Analytics Summit).


W prezentacji jest między innymi poniższy slajd, który pokazuje, że:

  • Dawniej główny nacisk (a tym samym czas) w projektach ML był na etapie zrozumienia biznesu oraz przygotowaniu danych. Metod ML było mało i były proste, więc modelowanie nie zajmowało zbyt dużo czasu.

  • Obecnie nacisk jest na sam proces uczenia maszynowego. Wynika to z bardzo dużej i ciągle rozszerzającej się gamy metod ML.

  • W przyszłości większość czasu będziemy zaś poświęcić na zrozumienie jak działa model. I to będzie najważniejszy etap projektów ML.


Nie mam wątpliwości, że zrozumienie modelu jest bardzo ważne. Jest, było i będzie. Dlatego ciągle chętnie są używane drzewa decyzyjne. A dawniej były używane w większości projektów ML. Przejrzenie wynikowego drzewa pozwala od razu zrozumieć działanie modelu. Jednak istnieje wiele problemów, które wymagają bardziej złożonych metod. Zrozumienie modelu zbudowanego przy użyciu takich metod nie jest już takie proste. Czasami bardzo skomplikowane. Bez odpowiednich narzędzi nie da się tego zrobić. Dlatego jest obecnie rozwijane wiele narzędzi do wyjaśniania modeli ML. Między innymi takie narzędzie są budowane przez zespół P. Biecka.


Jednym z pakietów do wyjaśniania modeli jest pakiet LIME (https://github.com/marcotcr/lime). Jego autor, Marco Tulio Ribeiro, jest współautorem razem z Sameer Singh i Carlos Guestrin z University of Washington artykułu “Why Should I Trust You?Explaining the Predictions of Any Classifier” (https://arxiv.org/pdf/1602.04938v1.pdf). Pochodzi z niego znany przykład modelu, którego zadaniem było rozpoznawanie wilków i husky. Poniżej zdjęcie hasky zaklasyfikowanego jako wilk. A obok pokazane jest jakie obszary zdjęcia są brane pod uwagę przez model do klasyfikacji wilk/husky. Okazuje się, że wilk jest klasyfikowany na podstawie tego, że na zdjęciu pojawia się śnieg. Model tak naprawdę nauczył się rozpoznawać na zdjęciu śnieg.

Rys. 1 - "Why Should I Trust You?": Explaining the Predictions of Any Classifier. Ribeiro, Singh, Guestrin



I dochodzę do clou mojego artykułu.

Co z tego przykładu wynika?


Że trzeba wyjaśniać działanie modeli? Oczywiście tak. Ale o tym jest prezentacja P. Biecka. Nie pisałbym tego artykułu, żeby tylko oznajmić, że zgadzam się z autorem.

Podpowiedź: wniosek dotyczy Ciebie czytelniku.

To weźmy jeszcze inny przykład. Mamy model prognozujący czy klient biorący właśnie kredyt jest oszustem. Model dla klienta X podejmuje decyzję, że to jest oszustwo – choć wiemy, że jest to nieprawidłowa odpowiedź modelu.

Sprawdzamy działanie modelu i dowiadujemy się, że model podjął taką decyzję na podstawie następujących przesłanek:

* Parametr1 < 17 i

* Parametr1 > -3 i

* Parametr7 jest nieokreślony i

* Data4 < Daty3 i

* Wartość7 < 2*Wartość2

Czy potrafisz czytelniku wskazać co w tych warunkach powoduje, że wynik modelu jest błędny?

Nie? A przecież z husky, wilkiem i śniegiem poradziłeś sobie bez problemu.

Dlaczego nie potrafisz tego wyjaśnić?

Bo NIE MASZ WIEDZY DZIEDZINOWEJ.


Nie wiesz co to Parametr1, Parametr7, Data3, Data4, Wartość7, Wartość2.

A bez takiej wiedzy wyjaśnienie modelu w niczym Ci nie pomoże.

Wilk, husky, śnieg – bardzo dobrze wiesz co oznaczają te pojęcia. Więc bez problemu zrozumiałeś wyjaśnienie złego działania pierwszego przypadku.

WIEDZA na temat badanego, modelowanego zjawiska jest kluczowa!

Bez niej nie liczmy na sukces w ML.

Dlatego slajd, który wkleiłem na początku powinien wyglądać trochę inaczej (zmiany na czerwono).


Zrozumienie biznesu, którego ma dotyczyć ML, zawsze było, jest i będzie bardzo ważne.

Według mnie jest wręcz najważniejsze.


Andrzej Szczechla

BI/BigData Architect w BitPeak

andrzej.szczechla@bitpeak.pl

147 wyświetlenia

Ostatnie posty

Zobacz wszystkie