Definicja celu

Opublikowany: 2015-08-21

Metody uczenia maszynowego można podzielić na dwie szerokie kategorie: nadzorowane i nienadzorowane. Uczenie nadzorowane uczy się na podstawie oznakowanego zbioru obserwacji, gdzie wiadomo, że obserwacje należą do pewnych klas (dla problemów klasyfikacyjnych) lub mają określone wartości (problem regresji). Nienadzorowane uczenie się uczy się na podstawie nieoznakowanych obserwacji, w których nie wiadomo nic poza samymi obserwacjami.

W przypadku nadzorowanych metod uczenia się zasadniczo mówimy, że „spójrz na te „prawdziwe” dane i powiedz mi, żebym wiedział „prawdę” o niewidocznych danych”. W przypadku nienadzorowanych metod uczenia się jest to równoznaczne z „spójrz na te dane i powiedz mi coś interesującego, czego nie wiem”. Choć wyraźna dychotomia jest przydatna, w tym poście porozmawiamy o ciekawych wariantach, w których samo zdefiniowanie celu może stać się bardzo ciekawym zadaniem!

Częściowo nadzorowane

Jest to środek pośredni między danymi nadzorowanymi i nienadzorowanymi, gdzie „prawdziwe” etykiety istnieją tylko dla niektórych obserwacji, ale nie dla wszystkich. Ignorowanie dostępnych informacji jest niesprawiedliwe dla jakości modeli analitycznych, ale wykorzystanie tych informacji może sprawić, że problem stanie się niezwykły. W świecie, w którym generowanie danych jest łatwe – pomyśl o Internecie – a etykietowanie jest drogie, wiele problemów dotyczy domeny częściowo nadzorowanej.

Jednym z podejść może być nieuwzględnianie informacji o etykiecie do modelowania, a jedynie do walidacji modelu i porównania wydajności. Na przykład możemy podzielić dane na k klastrów za pomocą nienadzorowanego grupowania, a następnie zweryfikować kompetencje naszego modelu, porównując przewidywany klaster z rzeczywistym klastrem. Może to pomóc nam w lepszym wyborze spośród wielu rozwiązań klastrowych.

Innym podejściem może być wykorzystanie tych informacji do modelowania. W poprzednim poście na blogu omawialiśmy klastrowanie częściowo nadzorowane.

Dyskretne a ciągłe

Chociaż wiele sytuacji oczywiście należy do kategorii klasyfikacji lub regresji – gdzie „prawdziwa” wartość jest klasą dyskretną lub wartością ciągłą – istnieją przypadki, w których transformacja docelowa ma sens.

Rozważ przychody na poziomie klienta jako funkcję demograficznych i przeszłych zachowań transakcyjnych klienta. Jest to dość powszechny problem w branży detalicznej, bankowej, ubezpieczeniowej i telekomunikacyjnej. Dochód, często z ostatnich N miesięcy, jest oczywiście liczbą ciągłą. Mówisz, że może tu pasować (być może liniowa) regresja! Istnieją jednak bardziej złożone i wyrafinowane metody rozwiązywania problemów klasyfikacji, takie jak sieci neuronowe, które potencjalnie mogą działać lepiej, ale nie mają zastosowania do ciągłego celu. W zależności od kontekstu biznesowego może nie być konieczne przewidywanie rzeczywistych przychodów, ale tylko wtedy, gdy przychody będą wysokie, średnie lub niskie. Jeśli tak, możesz przejrzeć rozkład przychodów dla wszystkich klientów i zdefiniować granice dla wysokich-średnich i średnio-niskich i voila! Przekształciłeś ciągły problem docelowy w problem trzyklasowej klasyfikacji dyskretnej.

Jeśli Twoim celem ciągłym jest wartość procentowa – powiedzmy ułamek uczniów zdających egzamin przez szkoły – i chcesz przewidzieć również odsetek dla nowej/niewidzianej szkoły, masz inną opcję niż model regresji. Możesz podzielić dane! Parceling przekształca ciągłe ułamki na klasy binarne, replikując obserwacje. Dla obserwacji z wartością docelową 40% replikujesz obserwację 100 razy i dla 40 z nich przypisujesz klasę 1, a dla pozostałych 60 przypisujesz klasę 60. Dana obserwacja jest taka sama i zestaw cech jest taki sam, model spróbuje zróżnicować 1 od 0 i wywnioskuj, że prawdopodobieństwo tego rodzaju obserwacji wynosi 40%, a prawdopodobieństwo, że w 60% będzie 0. Możesz zrobić to samo dla wszystkich obserwacji. (Tak, zwiększy to rozmiar kolektora danych uczących.) Większość popularnych modeli klasyfikacji i tak daje prawdopodobieństwo, że klasa=1 jako wynik, a i tak jest to wynik, którego chcesz!

Czy byłoby możliwe przekształcenie klas dyskretnych w wartość ciągłą? Przeważnie nie, ale są przykłady. Kiedy próbujesz przewidzieć czyjś wiek w latach – który jest zasadniczo dyskretną liczbą całkowitą od 0-100 (lub mniej więcej) – możesz traktować wiek jako ciągły cel. Podobnie, jeśli masz wystarczająco szczegółowe kategorie dochodów, powiedzmy 0-50k, 50k-100k, 100k-150k itd., możesz skorzystać na traktowaniu dochodu jako zmiennej ciągłej zamiast rozwiązywania problemu 20-klasowego.

Sprawa bez klasy

Wszystkie dane są oznakowane lub nieoznakowane. Dane oznaczone etykietą (załóżmy, binarne) należą do jednej lub innej klasy. Ale w praktyce dane nie mogą należeć do żadnej klasy.

Na przykład wśród wielu roszczeń ubezpieczeniowych możesz mieć pewność, że niektóre roszczenia są oszustwem, a inne nie, ale możesz nie wiedzieć o wielu, które nigdy nie zostały zbadane. Rozważ wśród wnioskodawców kart kredytowych, którzy są akceptowani lub którzy zostali odrzuceni w ramach modelu scoringu wniosku w bankowości. Ale jest wielu klientów, którzy w ogóle nie aplikowali i nie wiesz, czy zostaliby przyjęci, czy nie. Często nie możemy poradzić sobie z danymi bez etykiety i musimy je wykluczyć z naszej populacji rozwojowej. Musimy jednak pamiętać, czy powoduje to stronniczość w modelowaniu. W powyższym przykładzie ubezpieczeniowym, być może roszczenia, które zostały zbadane, były początkowo podejrzane (nawet te, które nie były oszustwami), lub w bankowym, klienci, którzy nie złożyli wniosku, nie byli nagabywani przez siły sprzedaży, które całkowicie wykluczyły kategorię demograficzną.

Jeśli dokonasz transformacji docelowej, jak opisano w poprzedniej sekcji, możesz samodzielnie utworzyć dane bezklasowe. Załóżmy, że definiujesz przychód na poziomie powyżej 5000/- rocznie maksimum i mniej niż 5000/- rocznie minimum, aby przekonwertować ciągły cel na cel binarny. Będzie to jednak zły projekt, ponieważ istnieje arbitralny punkt odcięcia na poziomie 5000. Klient z przychodami 4999/- nie różni się zbytnio od tego z przychodami 5001/- a jednak dzielisz ich światy. Twoja definicja będzie implikować, że przychód 5001/- jest bardziej podobny do przychodu 10000/- niż 4999/-. Widzisz problem? Z technicznego punktu widzenia możesz to zrobić, ale wynikowy model nie będzie dobry i solidny, ponieważ prosisz go, aby nauczył się różnic od podobnych klientów.

Zazwyczaj dobrą praktyką jest uwzględnienie strefy buforowej/strefy bezklasowej. Możesz więc określić przychód 6000/- lub więcej jako wysoki i 4000/- lub mniej jako niski i zignorować obserwacje z przychodem między 4000/- a 6000/-. Podczas gdy tracisz część danych, model wykona znacznie lepszą robotę, ponieważ to, co definiujesz jako inne, jest naprawdę inne.

Chociaż zasłużenie kładzie się duży nacisk na przygotowanie danych, generowanie funkcji i metodę uczenia maszynowego, zdefiniowanie właściwego celu może być również przydatne dla jakości ogólnego wyniku analitycznego.