Omówienie problemu

Aby zrozumieć problem, wykonaj te czynności:

  • Określ cel produktu, który tworzysz lub refaktoryzujesz.
  • Określ, czy cel można najlepiej osiągnąć za pomocą predyktywnej ML, generatywnej AI czy rozwiązania innego niż ML.
  • Jeśli korzystasz z systemów uczących się do przewidywania, sprawdź, czy masz dane potrzebne do trenowania modelu.

Określ cel

Zacznij od określenia celu w terminach innych niż związane z ML. Cel to odpowiedź na pytanie „Co chcę osiągnąć?”.

W tabeli poniżej wyraźnie określono cele dla hipotetycznych aplikacji:

Aplikacja Cel
Aplikacja pogodowa Oblicza opady w odstępach 6-godzinnych w danym regionie geograficznym.
Aplikacja modowa wygenerować różne projekty koszulek,
Aplikacja do odtwarzania filmów polecać przydatne filmy.
Aplikacja Poczta wykrywać spam,
Aplikacja finansowa podsumowywać informacje finansowe z różnych źródeł wiadomości;
Aplikacja do map Oblicz czas podróży.
Aplikacja bankowa wykrywać oszustwa związane z transakcjami;
Aplikacja dotycząca restauracji Określ rodzaj kuchni na podstawie menu restauracji.
Aplikacja e-commerce odpowiadać na opinie, udzielając pomocnych odpowiedzi;

Jasny przypadek użycia systemów uczących się

Niektórzy uważają, że ML to uniwersalne narzędzie, które można stosować do wszystkich problemów. W rzeczywistości uczenie maszynowe to specjalistyczne narzędzie odpowiednie tylko do rozwiązywania konkretnych problemów. Nie chcesz wdrażać złożonego rozwiązania ML, jeśli wystarczy prostsze rozwiązanie bez ML.

Systemy uczenia maszynowego można podzielić na 2 duże kategorie: uczenie maszynowe z wyprzedzeniemgeneratywna AI. W tabeli poniżej wymieniono ich cechy charakterystyczne:

Wejście Dane wyjściowe Technika treningu
Prognostyczne uczenie maszynowe Tekst
Zdjęcie
Audio
Film
Liczby
Wykonuje prognozę, np. klasyfikuje e-maila jako spam lub niespam, przewiduje jutrzejszą ilość opadów lub prognozuje cenę akcji. Wyniki można zwykle zweryfikować w stosunku do rzeczywistości. Zwykle wykorzystuje dużą ilość danych do trenowania modelu nadzorowanego, nienadzorowanego lub wzmacniania w celu wykonania określonego zadania.
Generative AI Tekst
Image
Audio
Video
Liczbowy
generuje dane wyjściowe na podstawie intencji użytkownika, na przykład streszcza artykuł lub tworzy klip audio lub krótki film. Zwykle do trenowania dużego modelu językowego lub generatora obrazów używa się dużej ilości danych bez etykiet, aby uzupełnić brakujące dane. Model można następnie wykorzystać do zadań, które można sformułować jako zadania typu „uzupełnij luki”, lub dostroić go, trenując na danych z etykietami w celu wykonania określonego zadania, np. klasyfikacji.

Aby mieć pewność, że uczenie maszynowe to właściwe podejście, najpierw sprawdź, czy Twoje obecne rozwiązanie bez uczenia maszynowego jest zoptymalizowane. Jeśli nie masz zaimplementowanego rozwiązania niezwiązanego z ML, spróbuj rozwiązać problem ręcznie, korzystając z heurystyki.

Rozwiązanie bez użycia ML to punkt odniesienia, który pozwoli Ci określić, czy ML jest odpowiednim rozwiązaniem w Twoim przypadku. Porównując podejście bez użycia uczenia maszynowego z zastosowaniem uczenia maszynowego, weź pod uwagę te pytania:

  • Jakość. Jak bardzo Twoim zdaniem rozwiązanie oparte na ML może być lepsze? Jeśli uważasz, że rozwiązanie oparte na ML może przynieść tylko niewielką poprawę, może to oznaczać, że obecne rozwiązanie jest najlepsze.

  • Koszty i utrzymanie. Jak drogie jest rozwiązanie oparte na ML w krótkim i długim okresie? W niektórych przypadkach wdrożenie uczenia maszynowego może być znacznie droższe pod względem zasobów obliczeniowych i czasu. Zastanów się nad tymi pytaniami:

    • Czy rozwiązanie oparte na ML uzasadnia wzrost kosztów? Pamiętaj, że niewielkie ulepszenia w dużych systemach mogą łatwo uzasadnić koszty i utrzymanie wdrożenia rozwiązania opartego na systemach ML.
    • Jak często trzeba będzie konserwować rozwiązanie? W wielu przypadkach wdrożenia rozwiązań opartych na ML wymagają długoterminowej konserwacji.
    • Czy Twój produkt ma zasoby, które umożliwiają szkolenie lub zatrudnianie osób z doświadczeniem w zakresie systemów uczących się?

Sprawdź swoją wiedzę

Dlaczego przed analizą rozwiązania opartego na ML warto mieć rozwiązanie nieoparte na ML lub heurystyki?
Rozwiązania niewykorzystujące uczenia maszynowego pomagają określić koszt rozwiązania wykorzystującego uczenie maszynowe.
Rozwiązanie inne niż ML jest punktem odniesienia do pomiaru rozwiązania ML.

Prognostyczny ML i dane

Dane są siłą napędową predykcyjnego ML. Aby tworzyć dobre prognozy, potrzebujesz danych zawierających cechy, które mają zdolność przewidywania. Dane powinny mieć te cechy:

  • Obfita. Im więcej trafnych i przydatnych przykładów znajdziesz w zbiorze danych, tym lepszy będzie Twój model.

  • Spójność i niezawodność. Dane zbierane w sposób konsekwentny i wiarygodny pozwolą uzyskać lepszy model. Na przykład model pogody oparty na ML będzie korzystać z danych zebranych przez wiele lat z tych samych niezawodnych instrumentów.

  • Zaufane. skąd pochodzą Twoje dane; Czy dane będą pochodzić z kontrolowanych przez Ciebie zaufanych źródeł, takich jak dzienniki Twojego produktu, czy z źródeł, na temat których nie masz zbyt wielu informacji, np. z wyjścia innego systemu ML?

  • Dostępny. Upewnij się, że wszystkie dane wejściowe są dostępne w prognozowanym czasie we właściwym formacie. Jeśli w momencie prognozowania trudno będzie uzyskać określone wartości cech, pomiń te cechy w swoich zbiorach danych.

  • Dobrze. W przypadku dużych zbiorów danych nieuniknione jest, że niektóre etykiety będą miały nieprawidłowe wartości. Jeśli jednak więcej niż niewielki odsetek etykiet jest nieprawidłowy, model będzie generował słabe prognozy.

  • Representative. Zbiory danych powinny być jak najbardziej zbliżone do rzeczywistego świata. Inaczej mówiąc, zbiory danych powinny dokładnie odzwierciedlać zdarzenia, zachowania użytkowników lub zjawiska w rzeczywistym świecie, które są modelowane. Trenowanie na niereprezentatywnych zbiorach danych może spowodować niską skuteczność, gdy model będzie miał prognozować w rzeczywistych warunkach.

Jeśli nie możesz uzyskać danych w wymaganym formacie, model będzie generował złe prognozy.

Prognozy

Aby model mógł generować dobre prognozy, cechy w Twoim zbiorze danych powinny mieć moc predykcyjną. Im większa korelacja cechy z etykietą, tym większa szansa na jej przewidzenie.

Niektóre funkcje będą miały większą moc przewidywania niż inne. Na przykład w zbiorze danych o pogodzie cechy takie jak cloud_coverage, temperaturedew_point lepiej przewidują opady niż moon_phase czy day_of_week. W przypadku aplikacji do filmów można założyć, że funkcje takie jak video_description, lengthviews mogą być dobrymi wskaźnikami tego, które filmy użytkownik chce obejrzeć.

Określanie, które cechy mają zdolność przewidywania, może być czasochłonnym procesem. Możesz ręcznie sprawdzić zdolność do przewidywania danej cechy, usuwając ją i dodając podczas trenowania modelu. Możesz zautomatyzować znajdowanie mocy predykcyjnej funkcji, korzystając z takich algorytmów jak korelacja Pearsona, skorygowana wzajemna informacja (AMI)wartość Shapleya, które zapewniają ocenę numeryczną umożliwiającą analizę mocy predykcyjnej funkcji.

Sprawdź swoją wiedzę

Jakich 3 kluczowych atrybutów należy szukać podczas analizowania zbiorów danych?
Zawiera prawidłowe wartości.
odzwierciedlać rzeczywistość;
Cechy mają zdolność przewidywania etykiety.
pochodzą z różnych nieprzewidywalnych źródeł.
Niewielkie, aby można je było wczytać na komputer lokalny.

Więcej wskazówek dotyczących analizowania i przygotowywania zbiorów danych znajdziesz w artykule Przygotowanie danych i tworzenie cech na potrzeby systemów uczących się.

Prognozy a działania

Prognozy nie mają sensu, jeśli nie można ich przekształcić w działania, które pomagają użytkownikom. Oznacza to, że Twoja usługa powinna podejmować działania na podstawie danych wyjściowych modelu.

Na przykład model, który przewiduje, czy użytkownik uzna film za przydatny, powinien być wykorzystywany w aplikacji polecającej przydatne filmy. Model, który przewiduje, czy będzie padać, powinien być przekazywany do aplikacji pogodowej.

Sprawdź swoją wiedzę

Na podstawie tego scenariusza określ, czy użycie uczenia maszynowego jest najlepszym podejściem do rozwiązania problemu.

Za zarządzanie przychodzącymi połączeniami telefonicznymi odpowiada zespół inżynierów w dużej organizacji.

Cel: poinformowanie dzwoniących, jak długo będą musieli czekać na linii, biorąc pod uwagę obecną liczbę połączeń.

Nie mają żadnego rozwiązania, ale uważają, że można zastosować heurystyczny sposób: podzielić aktualną liczbę klientów oczekujących na połączenie przez liczbę pracowników odpowiadających na telefony, a następnie pomnożyć przez 10 minut. Wiedzą jednak, że niektóre problemy klientów są rozwiązywane w ciągu 2 min, a inne mogą zająć nawet 45 minut lub dłużej.

Ich heurystyka prawdopodobnie nie pozwoli im uzyskać wystarczająco dokładnej liczby. Mogą one tworzyć zbiory danych z tymi kolumnami: number_of_callcenter_phones, user_issue, time_to_resolve, call_timetime_on_hold.

Nie używaj systemów uczących się. Mimo że mają jasno określony cel, powinni najpierw wdrożyć i zoptymalizować rozwiązanie inne niż oparte na uczeniu maszynowym. Poza tym ich zbiór danych nie wydaje się zawierać wystarczającej liczby cech o możliwościach predykcyjnych.
Korzystanie z systemów uczących się Zespół inżynierów ma jasno określony cel. Ich heurystyka nie będzie wystarczająco dobra do ich przypadku użycia. Zbiór danych wydaje się mieć cechy predykcyjne dla etykiety time_on_hold.