Cykl eksperymentu Data Science

Danologia bo tak nazywa się interdyscyplinarna dziedzina nauki wykorzystująca zbiory danych do wnioskowania i wyciągania spostrzeżeń , związana jest z wykorzystaniem statystyki, eksploatacją danych, uczeniu maszynowemu, wiedzą dziedzinową a na końcu prezentacją danych i wyciągniętych wniosków.

Danologia, bo tak nazywa się interdyscyplinarna dziedzina nauki wykorzystująca zbiory danych do wnioskowania i wyciągania spostrzeżeń, związana jest z wykorzystaniem statystyki, eksploatacją danych, uczeniem maszynowym, wiedzą dziedzinową, a na końcu prezentacją danych i wyciągniętych wniosków.

Pierwsze metody naukowe do badania otaczającego nas świata i wyjaśniania przyczyn zjawisk wprowadził w XVII Francis Bacon. Były to empiryczne metody zbierana danych dotyczących danego problemu, które następnie były uogólniane, formułując ogólne prawa i twierdzenia. Dzisiejsze metody Data Science są “nieco” inne i polegają na zbieraniu wszelkich możliwych danych w postaci cyfrowej, aby móc je później przerobić za pomocą komputerowych algorytmów, w ten sposób wydobywając z nich wiedzę.

Analiza danych może odbywać się na dwa sposoby:

  • predykcja
  • deskrypcja

Predykcja pozwala uzupełnić brakujące dane, również te, które dotyczą przyszłości. W tego typu analizie używa się modeli na zasadzie black boxa. Analityk nie jest w stanie zajrzeć do skrzynki i zinterpretować to, co tam się dzieje. W predykcji przeszkadzają dane odstające i błędne.

Deskrypcja umożliwia wykrycie wzorców występujących w danych. Tu wartości odstające mogą stanowić cenne informacje, gdyż model ten jest przejrzysty dla analityka. Model może pomóc w interpretacji analitykowi.

Przykładowy cykl eksperymentu data science może składać się z kilku etapów mających charakter iteracyjny.

  1. Wyznaczenie celu eksperymentu – na jaki problem szukamy rozwiązania
  2. Dane – zdobycie danych nie zawsze jest banalne i czasami wymaga rozwiązania problemu zbierania ich
  3. Ocena przydatności danych – to wstępna ocena zbioru pod kątem informacji w nim zawartych
  4. Przygotowanie danych – czyszczenie, transformacje, wzbogacanie, selekcja, ale też analiza ze zrozumieniem
  5. Modelowanie – tworzenie modeli do eksploracji danych polegających na użyciu wybranego algorytmu uczenia maszynowego
  6. Ewaluacja – ocena i selekcja najbardziej obiecujących modeli
  7. Wdrożenie – to etap prezentacji wyników i wniosków niejednokrotnie w postaci graficznej

Powyższe etapy od 1 do 4 stanowią jedynie przygotowanie do eksperymentu, a samo sedno kryje się w etapie 5 modelowaniu. Dziś łatwo jest wykorzystać gotowe modele, które umożliwiają w kilku liniach uruchomienie i otrzymanie wyników. Trudność polega również na tym, że należy posiadać wiedzę dziedzinową umożliwiającą ewaluację wyników, ocenę przydatności danych oraz obiektywną ocenę modelu.

W eksperymencie DS tak jak w życiu ważne jest prawidłowe określenie celu. Celem może być, dla przykładu, wyjaśnienie przyczyn jakiegoś problemu, zbudowanie systemu, który wspiera podejmowanie decyzji, klasyfikacja np. zdjęć czy szacowanie ryzyka. Ważne, żeby określić też, jak osiągnięcie celu będziemy ewaluowali. Inaczej mówiąc – jak sprawdzimy, czy faktycznie jesteśmy w posiadaniu najlepszego rozwiązania.

Mając cel i przechodząc do kolejnego etapu oceniamy dane pod różnymi względami. Może być to wykrycie brakujących atrybutów, odstających atrybutów, błędnych danych czy nadmiarowych (powtarzających się) danych, co niepotrzebnie zwiększa rozmiar datasetu. Narzędzi do tego celu jest na rynku bardzo dużo np. biblioteka Pandas, Numpy czy użycie RStudio. Wyżej wymienione narzędzia posiadają funkcje do oceny rozrzutu, korelacji, rozkładu, wykrycia wartości odstających czy na końcu wizualizacji, która jest najprostszym narzędziem do “zrozumienia” co się dzieje.

W zależności od tego jaki algorytm użyjemy, dane należy mniej lub więcej przygotować. Na takie przygotowania składają się zróżnicowane operacje.

  • poprawa błędnych wartości
  • uzupełnienie brakujących wartości (np. średnią z całego zbioru)
  • normalizacja, standaryzacja
  • numerowanie stanów
  • selekcja atrybutów
  • redukcja wymiarów (PCA)

Po tych wszystkich zabiegach przychodzi pora na to, co tygryski lubią robić najbardziej, czyli modelowanie. Esencja uczenia maszynowego. 🙂 Tu zasada jest prosta – wkładasz śmietnik, wyjmujesz śmietnik. Inaczej mówiąc – jeśli dane są “zaszumione”, to nie da się z nich nic wyciągnąć.

Za typowy format danych gotowych do wykorzystania w algorytmach ML uważa się dane w formacie tzw. tabeli decyzyjnej. Wiersze stanowią o poszczególnych obserwacjach, a kolumny to atrybuty (zmienne) opisujące daną obserwację. Atrybuty są jednego określonego typu i mogą być kategoryczne lub ilościowe. W ilościowych można jeszcze rozróżnić ciągłe i dyskretne.

Nie wszystkie problemy można rozwiązać za pomocą uczenia maszynowego. Powodów jest masa: od braku wiedzy na temat pewnych zjawisk, po zmienność tych zjawisk. Poza tym uczenie maszynowe nie dostarczy gotowych rozwiązań (np. na zmniejszenie bezrobocia na świecie), ale może odpowiedzieć na pytanie, z jakimi innymi czynnikami jest ono skorelowane, co pozwoli podjąć właściwe decyzje.

UWAGA SUCHAR !!!

Jak rozwiązać problem głodu i bezrobocia na świecie??? Niech głodni zjedzą bezrobotnych BADUM TSSS.

Na zakończenie tego przydługiego wpisu przedstawię jakie rodzaje uczenia maszynowego wyróżniamy oraz jakie są problemy z ich użyciem.

Dwa najbardziej podstawowe typy ML, to uczenie z nadzorem i bez.

Uczenie bez nadzoru polega na tym, że algorytm wykrywa pewne struktury, zależności czy też wzorce w podanych danych i na ich podstawie następuje predykcja.

Uczenie z nadzorem jest bardzo podobne do wymienionego wyżej z tą różnicą, że podajemy do algorytmu specjalnie spreparowany zbiór treningowy, na którym algorytm się uczy. Dwa podstawowe zadania uczenia z nadzorem to klasyfikacja i regresja.

Ponadto są jeszcze pośrednie typy, jak uczenie z częściowym nadzorem czy też uczenie ze wzmocnieniem. To ostatnie jest bardzo interesujące, bo polega na tym, że algorytm podejmuje pewne akcje ze środowiskiem. Po czym obserwuje, czy akcja przyniosła pożądany skutek, czy też nie. Dzięki temu wybiera odpowiednią strategię (wzmocnienie), na bazie której podejmuje dalsze akcje. W ten sposób uczy się na bazie doświadczenia jak małe dziecko – prawda, że pięknie WOW!

Algorytm można albo przetrenować, albo nie douczyć. Oba zjawiska są niepożądane. Pierwsze polega na tym, że za bardzo algorytm uczy się konkretnych danych i w momencie dostania nowych przypadków nie będzie w stanie trafić w cel. Niedouczenie często jest spowodowane tym, że model jest zbyt uproszczony, gdyż dane nie są odpowiednio przygotowane.

To byłoby na tyle wiedzy, aby mieć zarys tego, jak wygląda eksperyment data science. Nie mogę doczekać się już tego, co można osiągnąć dzięki ALGO ML!

Leave your comment: