Ocena jakości modelu segmentacyjnego

silhouette score, purity score, inertia, grupowanie, klasteryzacja, segmentacja

Czy wynik algorytmu działającego „bez nadzoru” można ocenić? I czy „bez nadzoru” zawsze oznacza: bez miary jakości?

Z tego artykułu dowiesz się:
1. Jak oceniać jakość modelu segmentacyjnego?
2. Jakie miary jakości sa dostępne dla modeli segmentacyjnych?

Zwykło się mówić o problemach, które rozwiązują algorytmy segmentacyjne – uczenie bez nadzoru. Nie jest to do końca trafne określenie. O ile same algorytmy segmentacyjne nie posiadają wbudowanej metody optymalizacji pod kątem statystyki bazującej na którejkolwiek zmiennej, to już ich kalibracja, jak i interpretacja wyników wymagają nadzoru eksperta.

W moich wpisach staram się być możliwie obiektywny, lecz w tym akapicie chciałbym się podzielić z Tobą moją opinią dotyczącą omawianego tematu. Być może pozwoli Ci ona lepiej zrozumieć proces segmentacji. Bazując na moim dotychczasowym doświadczeniu, odnoszę wrażenie, że rola eksperta w procesie uczeniu bez nadzoru jest nieoceniona. Uważam, że jest jeszcze ważniejsza niż w przypadku problemów: regresji i klasyfikacji.

Rozkład pomiędzy umiejętności techniczne i wiedzę biznesową eksperta powinien być znacznie bardziej skośny niż w przypadku pozostałych problemów, z jakimi spotykamy się w ML. W przeciwieństwie do uczenia z nadzorem ekspert bezwarunkowo musi rozumieć biznes i oczekiwania stawiane przed modelem. Tylko to pozwoli na iteracyjne udoskonalanie rozwiązania poprzez:

  • odpowiednie przygotowanie danych,
  • budowanie (ew. korzystanie z gotowych) obiektywnich statystyk opisowych dotyczących powstałych segmentów,
  • interpretację uzyskanych wyników,
  • nanoszenie odpowiednich korekt.

K-średnich – wprowadzenie teoretyczne.

Uważam, że to powyższe punkty, to w uproszczeniu najlepsza droga do osiągnięcia sukcesu w tym zagadnieniu. Celowo pogrubiłem dwa punkty dotyczące statystyk i interpretacji wyników.

Chciałbym podzielić się z Tobą czterema metodami oceny jakości modelu segmentacyjnego. Czemu cztery? Ponieważ pierwszy traktuje o ocenie subiektywnej, a drugi i trzeci to ocena obiektywna, kolejno: wewnętrzna i zewnętrzna, a czwarta jest używana przy optymalizacji bodaj najpopularniejszego algorytmu grupującego. Daje to więc kompletne spojrzenia na rezultat naszych prac. 🙂 Oczywiście poniższa lista nie wyczerpuje tematu. Po pozostałe metryki zapraszam do dokumentacji biblioteki sklearn.

  1. Analiza wybranych statystyk – subiektywna ocena procesu segmentacji.
    Jak mawia klasyczne już powiedzenie: najpierw rzeczy najważniejsze. Pierwszą czynnością do wykonania po zakończeniu wykonywania algorytmu jest przygotowanie odpowiednich statystyk. Poprzez „odpowiednie” należy rozumieć statystyki miarodajne (m.in. średnie, mediany i dominanty dla poszczególnych cech opisujących obserwacje), pozwalające na sprawdzenie jakości podziału obserwacji pomiędzy grupy.

    Wspomniane miary pozwolą ocenić, jak bardzo poszczególne segmenty różnią się od siebie, zakładając, że chcemy minimalizować wariancje wewnątrz i maksymalizować wariancje na zewnątrz. Co więcej, pozwolą nam one zweryfikować, czy dokonaliśmy poprawnego wyboru liczby grup. Dla przykładu: jeśli dwie lub więcej grup mają podobne wartości statystyk dla kluczowych zmiennych, to być może warto w kolejnej iteracji zredukować ich liczbę.

  2. Miara wewnętrzna – wskaźnik sylwetkowy (ang. silhouette score).
    Silhouette nazywany jest miarą wewnętrzną, ponieważ wykorzystuje w swej ocenie średnią odległość pomiędzy obserwacjami wewnątrz grupy (a) i średnią odległość obserwacji do najbliższej „obcej” grupy (b). Silhouette obliczany jest dla każdej obserwacji w następujący sposób: (a – b)/max(a, b). W zależnosci od implementacji funkcja zwraca średnią wartość dla każdej obserwacji lub średnią dla całego zbioru.

    Wskaźnik sylwetkowy jest świetnym wyborem w przypadku, gdy nie wiemy, jaki jest właściwy (naturalny) podział obserwacji na grupy – do jej obliczenia nie jest wymagane wskazanie zmiennej celu. W przeciwieństwie do punktu pierwszego jest on statystyką w 100% obiektywną, choć nie zawsze miarodajną – łatwo to zaobserwować poprzez wizualizację segmentacji na zbiorze dwu lub trzywymiarowym. Dobrą praktyką jest zatem używanie kilku statystyk, co pozwala ograniczać ryzyko i szanse na zajście ewentualnej pomyłki przy ocenie.

  3. Miara zewnętrzna – wskaźnik czystości (ang. purity score)
    Do wyznaczenia tej miary niezbędna jest znajomość prawdziwych (lub oczekiwanych) klas poszczególnych obserwacji. Wykorzystujemy ją przy problemach semi-supervised i w problemach klasyfikacji wieloklasowej. W uproszczeniu: mierzy ona spójność w przydziale obserwacji do grup. W idealnej sytuacji wszystkie obserwacje oznaczone tym samym  numerem trafiają do tej samej grupy.
  4. Inercja (ang. inertia).
    Ostatnia i najbardziej intuicyjna miara. Dotyczy ona głównie algorytmu k-means. Inercja jest sumą kwadratów odległości obserwacji wewnątrz segmentu od jego centrum. W implementacji k-means w bibliotece sklearn inercją mierzona jest jakość segmentacji. Algorytm minimalizuje ją i spośród kilku wykonań wybierane jest to, w którym wartość inercji jest najmniejsza.

    Co istotne dla procesu modelowania, inercja może być również wykorzystywana to wyboru odpowiedniej liczby segmentów (więcej o tym już w kolejnym wpisie).

K-średnich – praktyka.

W poprzednim wpisie pokazywałem, w jaki sposób ocenić potencjał zbioru przed segmentacją. Ten wpis opisywał metody oceny zbioru po wykonaniu segmentacji. Pokazuje to, jak ważna jest rola eksperta, który przeprowadza proces i że „bez nadzoru” nie oznacza bez kontroli. 😉

Źródła:

photo: pixabay.com (stokpic)

Podobał Ci się ten artykuł?

Jeśli tak, to zarejestruj się, by otrzymywać informacje o nowych wpisach. Dodatkowo w prezencie wyślę Ci bezpłatny poradnik 🙂

Bądź pierwszy, który skomentuje ten wpis!

Dodaj komentarz

Twój adres email nie zostanie opublikowany.


*