Aby zrozumieć problem, wykonaj te czynności:
- Podaj 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 sposób niezwiązany z systemami uczącymi się. Celem jest uzyskanie odpowiedzi na pytanie „Co chcę osiągnąć?”
W tej tabeli wyraźnie podano cele hipotetycznych aplikacji:
Aplikacja | Cel |
---|---|
Aplikacja pogodowa | Oblicza opady w odstępach 6-godzinnych w danym regionie geograficznym. |
Aplikacja modowa | Generowanie różnych wzorów koszul. |
Aplikacja do odtwarzania filmów | polecać przydatne filmy. |
Aplikacja Mail | Wykrywaj spam. |
Aplikacja finansowa | podsumowywać informacje finansowe z wielu źródeł wiadomości; |
Aplikacja do map | Oblicz czas podróży. |
Aplikacja bankowa | Rozpoznawanie fałszywych transakcji. |
Aplikacja dotycząca restauracji | Określ rodzaj kuchni na podstawie menu restauracji. |
Aplikacja e-commerce | Odpowiadaj na opinie, podając pomocne odpowiedzi. |
Wyczyść przypadek użycia dla systemów uczących się
Niektórzy postrzegają ML jako uniwersalne narzędzie, które można zastosować do wszystkich problemów. W że systemy uczące się to specjalistyczne narzędzie, które poradzi sobie tylko z konkretnymi problemami. Ty Nie chcą wdrażać złożonego rozwiązania ML, gdy jest to prostsze rozwiązanie inne niż systemy uczące się będzie działać.
Systemy ML można podzielić na 2 ogólne kategorie: systemów uczących się (predictive ML) generatywnej AI. W poniższej tabeli wymieniono ich cechy charakterystyczne:
Wejście | Dane wyjściowe | Technika treningu | |
---|---|---|---|
Systemy uczące się prognozujące |
Tekst Zdjęcie Audio Film Liczby |
Tworzy prognozę, na przykład klasyfikuje jako spam czy nie spam, zgadywanie jutrzejszego deszczu, przewidywane ceny akcji. Wyniki można zwykle zweryfikować w porównaniu z rzeczywistością. | Zwykle używa dużych ilości danych do trenowania nadzorowanego, nienadzorowany lub przez wzmacnianie modelu uczenia się przez wzmacnianie, aby przeprowadzić danego zadania. |
Generative AI |
Tekst Zdjęcie Audio Film Liczby |
Generuje dane wyjściowe na podstawie zamiaru użytkownika, np. podsumowuje artykuł albo tworzy klip audio lub krótki film. | Zwykle używa wielu danych bez etykiet do trenowania dużego modelu językowego lub generatora obrazów, by 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 potwierdzić, że systemy uczące się to właściwy sposób, najpierw sprawdź, czy Twoje obecne systemy uczące się i optymalizacji rozwiązania. Jeśli nie masz zaimplementowanego rozwiązania niezwiązanego z ML, spróbuj rozwiązać problem ręcznie, korzystając z heurystyki.
Rozwiązanie inne niż systemy uczące się to punkt odniesienia, którego użyjesz do określenia, czy ML to dobry przypadek użycia Twojego problemu. Porównując podejście bez użycia uczenia maszynowego z podejściem z użyciem uczenia maszynowego, weź pod uwagę te pytania:
Jakość. Jak bardzo Twoim zdaniem może być lepsze rozwiązanie oparte na ML? Jeśli uważa, że rozwiązanie ML może być tylko niewielką ulepszeniem, co może wskazywać na to, ż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 koszty są znacznie wyższe, zasobów obliczeniowych i czasu na wdrożenie systemów uczących się. Weź pod uwagę te kwestie pytania:
- 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.
- Ile utrzymania będzie wymagało to rozwiązanie? W wielu przypadkach wdrożenia rozwiązań opartych na ML wymagają długoterminowej konserwacji.
- Czy Twoja usługa zapewnia zasoby potrzebne do prowadzenia szkoleń lub zatrudniania? osób z doświadczeniem w zakresie systemów uczących się?
Sprawdź swoją wiedzę
Prognostyczny ML i dane
Dane to siła napędowa predykcyjnych systemów uczących się. Na dobre prognozy, potrzebujesz danych, które zawiera funkcje z prognozowaniem . Dane powinny mieć te cechy:
Obfite. Im bardziej trafne i przydatne przykłady w dataset, tym lepiej taki model.
Spójność i niezawodność. Dysponowanie spójnymi i niezawodnymi danymi pozwoli 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. Dowiedz się, skąd będą pochodzić Twoje dane. Czy dane będą pochodzić z kontrolowanych przez Ciebie zaufanych źródeł, takich jak dzienniki Twojego produktu, czy z źródeł, których nie znasz zbyt dobrze, np. z wyjścia innego systemu ML?
Dostępny. Upewnij się, że wszystkie dane wejściowe są dostępne w prognozowanym czasie w w prawidłowym formacie. Jeśli w momencie prognozowania trudno będzie uzyskać określone wartości cech, pomiń te cechy w swoich zbiorach danych.
Dobrze. W dużych zbiorach danych nie da się uniknąć etykiety będą miały nieprawidłowe wartości, ale jeśli tylko niewielki odsetek etykiet jest niepoprawny, model generować słabe prognozy.
Reprezentatywny. Zbiory danych powinny być reprezentatywne dla rzeczywistych jak to tylko możliwe. Innymi słowy, zbiory danych powinny dokładnie odzwierciedlać zdarzenia, zachowania użytkowników i/lub zjawiska w rzeczywistym świecie, modelowane. Trenowanie na zbiorach danych, które nie są reprezentatywne, może spowodować niską skuteczność modelu, gdy będzie on prognozować w rzeczywistych warunkach.
Jeśli nie możesz uzyskać danych w wymaganym formacie, model złych prognoz.
Prognozy
Aby model mógł generować dobre prognozy, cechy w Twoim zbiorze danych powinny mieć moc predykcyjną. Im bardziej obiekt jest skorelowany z etykietą, tym większe prawdopodobieństwo jest prognozowanie.
Niektóre funkcje będą miały większą moc predykcyjną niż inne. Na przykład w zbiorze danych o pogodzie cechy takie jak cloud_coverage
, temperature
i dew_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
, length
i views
mogą być dobrymi wskaźnikami tego, które filmy użytkownik chce obejrzeć.
Pamiętaj, że zdolność przewidywania danej funkcji może się zmieniać w zależności od kontekstu lub domeny. Na przykład w aplikacji wideo funkcja taka jak upload_date
mogą być, przeważnie, słabo powiązane z etykietą. Jednak w przypadku filmów z grami upload_date
może być silnie skorelowany z etykietą.
Określanie, które funkcje mają moc predykcyjną, może być czasochłonne proces tworzenia konta. Możesz ręcznie sprawdzić zdolność predykcyjną 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) i wartość Shapleya, które zapewniają ocenę numeryczną umożliwiającą analizę mocy predykcyjnej funkcji.
Sprawdź swoją wiedzę
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 Twój produkt powinien podjąć działanie na poziomie danych wyjściowych modelu.
Na przykład model, który prognozuje, czy dla użytkownika film będzie przydatny powinny trafiać do aplikacji polecającej przydatne filmy. Model, który przewiduje, czy będzie padać, powinien być podawany 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.
Zarządzanie przychodzącymi połączeniami telefonicznymi w dużej organizacji jest zadaniem zespołu inżynierów.
Cel: poinformowanie dzwoniących, jak długo będą musieli czekać na linii, biorąc pod uwagę obecną liczbę połączeń.
Nie ma żadnego rozwiązania, ale według nich heurystyka aby podzielić bieżącą liczbę zablokowanych klientów według liczby pracowników odbierających telefony, i pomnóż wynik 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 da im wystarczająco dokładnej liczby. Mogą one utworzyć zbiór danych z tymi kolumnami: number_of_callcenter_phones
, user_issue
, time_to_resolve
, call_time
, time_on_hold
.
time_on_hold
.