Michael Chen | strateg ds. treści | 25 listopada 2024 r.
Uczenie maszynowe stało się w ostatnich latach powszechnie używanym terminem, ponieważ koncepcja ta przeszła ewolucję od science fiction do kluczowego sposobu przetwarzania danych przez przedsiębiorstwa i inne organizacje. Wraz z gwałtownym wzrostem tempa powstawania danych narzędzia uczenia maszynowego mają kluczowe znaczenie dla organizacji, które chcą poznać wzorce, wyodrębnić trendy i wyznaczyć najbardziej opłacalną ścieżkę rozwoju.
Jak powszechne jest uczenie maszynowe? Każda osoba, która kliknęła rekomendację w witrynie e-commerce lub na platformie streamingowej, otrzymała powiadomienie o potencjalnym niewłaściwym użyciu karty kredytowej lub korzystała z oprogramowania do transkrypcji, miała do czynienia z uczeniem maszynowym. Uczenie maszynowe jest stosowane w finansach, opiece zdrowotnej, marketingu, handlu detalicznym i wielu innych branżach do wyodrębniania cennych informacji z danych i do automatyzacji procesów.
Uczenie maszynowe (ML) to podzbiór sztucznej inteligencji, który skupia się na budowaniu systemów, które się uczą i robią to coraz lepiej, w miarę przetwarzania kolejnych danych. Sztuczna inteligencja to szersze pojęcie, które oznacza systemy lub maszyny naśladujące ludzką inteligencję. Samouczenie się maszyn i sztuczną inteligencję często omawia się razem, a terminów tych niekiedy używa się zamiennie, choć nie znaczą one tego samego.
Ogólnie rzecz biorąc, uczenie maszynowe to zawsze sztuczna inteligencja, ale nie zawsze sztuczna inteligencja to uczenie maszynowe.
Kluczowe wnioski
Uczenie maszynowe to technika, która pozwala na wykrycie nieznanych wcześniej zależności w danych poprzez przeszukiwanie potencjalnie bardzo dużych zestawów danych w celu znalezienia wzorców i trendów wykraczających poza prostą analizę statystyczną. Uczenie maszynowe korzysta z zaawansowanych algorytmów trenowanych pod kątem identyfikacji wzorców w danych i tworzenia modeli. Modele te mogą posłużyć do przewidywania i kategoryzacji danych.
Należy pamiętać, że algorytm ≠ model. Algorytm to zestaw reguł i procedur używanych do rozwiązania określonego problemu lub wykonania określonego zadania, podczas gdy model to dane wyjściowe lub wynik zastosowania algorytmu na zbiorze danych.
Przed treningiem ma się algorytm. Po treningu ma się model.
Na przykład uczenie maszynowe jest szeroko stosowane w opiece zdrowotnej do zadań z zakresu analizy obrazowania medycznego, analityki predykcyjnej i diagnozowania chorób. Modele uczenia maszynowego idealnie nadają się do analizy obrazów medycznych, na przykład obrazów z rezonansu magnetycznego, zdjęć rentgenowskich i skanów z tomografii komputerowej, w celu identyfikacji wzorców i wykrywania nieprawidłowości, które mogą być niewidoczne gołym okiem lub które przepracowany diagnosta mógłby przeoczyć. Systemy uczenia maszynowego mogą również analizować objawy, informacje genetyczne i inne dane pacjenta, aby sugerować testy pod kątem na przykład raka, cukrzycy i chorób serca.
Kluczowe cechy uczenia maszynowego to:
Można wyróżnić cztery główne typy uczenia maszynowego. Każda z nich ma swoje mocne i słabe strony, co sprawia, że należy wybrać typ odpowiedni dla danego zadania.
Uczenie maszynowe wzmocnione, na przykład uczenie maszynowe nienadzorowane, wykorzystuje nieoznaczone zbiory danych i pozwala algorytmom na ocenę danych. Uczenie wzmocnione różni się jednak tym, że działa w kierunku ustalonego celu, zamiast badać dane, aby dowiedzieć się, jakie wzorce mogą istnieć. Mając na uwadze cel, algorytm działa na zasadzie prób i błędów. Każdy krok otrzymuje pozytywne, negatywne lub neutralne informacje zwrotne, które algorytm wykorzystuje do doskonalenia ogólnego procesu podejmowania decyzji. Algorytmy uczenia maszynowego wzmocnionego mogą działać na poziomie makro w kierunku celu projektu, nawet jeśli oznacza to radzenie sobie z krótkoterminowymi negatywnymi konsekwencjami. W ten sposób trening ze wzmocnieniem obsługuje bardziej złożone i dynamiczne sytuacje niż inne metody, ponieważ pozwala kontekstowi celu projektu wpływać na ryzyko wyboru. Dobrym przykładem jest uczenie komputera gry w szachy. Ogólnym celem jest wygranie gry, ale może to wymagać poświęcenia pionów w trakcie rozgrywki.
Którą metoda jest najlepsza? Wybór metody zazwyczaj zależy od struktury i ilości danych, budżetu, godzin, które można przeznaczyć na trening modelu, a także celu, do którego ma zostać zastosowany finalny model. Warto pamiętać, że niektóre błędy są tu akceptowalne. Nietrafiona sugestia bluzki do spódnicy jakoś ujdzie. Przeoczenie guza — już niekoniecznie.
Jak sama nazwa wskazuje, uczenie maszynowe polega na tworzeniu komputerowych modeli statystycznych, które są doskonalone pod kątem określonego celu poprzez ocenę danych treningowych, a nie poprzez klasyczne podejście, w którym programiści opracowują statyczny algorytm, który próbuje rozwiązać problem. Gdy zbiory danych są przetwarzane przez model uczenia maszynowego, uzyskane dane wyjściowe są oceniane pod kątem dokładności, umożliwiając danologom dostosowanie modelu za pomocą szeregu ustalonych zmiennych, zwanych hiperparametrami, oraz algorytmicznie dostosowanych zmiennych, zwanych parametrami treningu.
Algorytm dostosowuje się, gdy ocenia dane treningowe, procesy ekspozycji i obliczeń dotyczących nowych danych trenują więc algorytm, aby stał się jeszcze lepszy. Algorytm jest obliczeniową częścią projektu, podczas gdy termin „model” oznacza wytrenowany algorytm, który może być użyty w rzeczywistych zastosowaniach.
Zakres, zasoby i cele projektów uczenia maszynowego określą najbardziej odpowiednią ścieżkę treningową, przy czym większość tych ścieżek obejmuje szereg etapów.
1. Zbieranie i kompilowanie danych
Trening modeli uczenia maszynowego wymaga dużej ilości danych bardzo dobrej jakości. Znalezienie ich bywa trudne, a ich ewentualne oznaczenie może wymagać znacznych nakładów. Po zidentyfikowaniu potencjalnych źródeł danych, należy je ocenić pod kątem ogólnej jakości i zgodności z istniejącymi zasobami integracji / repozytorium danych projektu. Źródła te stanowią podstawę treningu w projekcie uczenia maszynowego.
2. Wybór odpowiedniego algorytmu w celu uzyskania pożądanego modelu
W zależności od tego, czy w projekcie planowane jest wykorzystanie uczenia nadzorowanego, nienadzorowanego czy półnadzorowanego, danolodzy mogą wybrać najbardziej odpowiednie algorytmy. Na przykład prostszy projekt z oznaczonym zbiorem danych może wykorzystywać drzewo decyzyjne, podczas gdy klastrowanie, czyli dzielenie próbek danych na grupy podobnych obiektów, wymaga więcej zasobów obliczeniowych, ponieważ algorytm działa w sposób nienadzorowany, aby określić najlepszą ścieżkę do celu.
3. Zawężenie i przygotowanie danych do analizy
Istnieje prawdopodobieństwo, że dane przychodzące nie będą gotowe do użycia. Proces przygotowania danych ma na celu oczyszczenie zbiorów danych, aby zapewnić, że wszystkie rekordy mogą być łatwo pozyskane podczas treningu. Przygotowanie obejmuje szereg zadań przekształceniowych, takich jak ustalanie formatów daty i czasu, ewentualne łączenie lub oddzielanie kolumn oraz ustawianie innych parametrów formatu, na przykład dopuszczalnych cyfr znaczących w danych pozyskiwanych w czasie rzeczywistym. Inne kluczowe zadania obejmują oczyszczanie zduplikowanych rekordów, zwane także d deduplikacją danych, oraz określanie i ewentualne usuwanie wartości odstających.
4. Uczenie modelu w ramach treningu
Po wybraniu odpowiedniego modelu finalnego zaczyna się trening modelu. Podczas treningu do algorytmu jest przesyłany wyselekcjonowany zbiór danych (oznaczony lub nieoznaczony). W początkowych przebiegach rezultaty mogą nie być najlepsze, ale danolodzy dostosują je w razie potrzeby, aby poprawić wyniki i zwiększyć dokładność. Następnie algorytmowi ponownie przesyła się dane, zwykle w większych ilościach, aby precyzyjniej go dostroić. Im więcej danych przetwarza algorytm, tym lepsze rezultaty powinien uzyskiwać model finalny.
5. Ocena wyników i dokładności modelu
Po wytrenowaniu modelu do wystarczającej dokładności przychodzi czas na przekazanie mu nowych danych, aby przetestować jego działanie. Często dane używane do testowania są podzbiorem danych treningowych odłożonych do wykorzystania po wstępnym treningu.
6. Dostrajanie i ulepszanie parametrów modelu
Na tym etapie model jest już najprawdopodobniej bliski wdrożenia. Przebiegi ze zbiorami danych testowych powinny dawać bardzo dokładne wyniki. Ulepszenia polegają na dodatkowym treningu z wykorzystaniem konkretnych danych, często unikatowych dla działalności przedsiębiorstwa, w celu uzupełnienia ogólnych danych użytych w pierwotnym treningu.
7. Uruchomienie produkcyjne modelu
Dzięki optymalizacji wyników model jest już gotowy do przetwarzania nowych danych w zwykłych zastosowaniach produkcyjnych. Po uruchomieniu modelu zespoły projektowe będą zbierać dane na temat tego, jak się sprawdza w rzeczywistych scenariuszach. Można to zrobić monitorując kluczowe wskaźniki wydajności, takie jak dokładność (ogólna poprawność przewidywań modelu) i czułość (procent poprawnie przewidzianych pozytywnych przypadków). Ponadto należy rozważyć, w jaki sposób przewidywania modelu wpływają na rezultaty biznesowe w terenie, czyli czy model przynosi korzyści, na przykład w postaci zwiększonej sprzedaży bluzek lub lepszej diagnostyki?
Dzięki regularnym audytom i ocenom działania modelu można zidentyfikować problemy lub zniekształcenia, które mogły pojawić się po jego wdrożeniu produkcyjnym, a także zapewnić, że model działa efektywnie i spełnia pożądane cele.
Algorytmy to obliczeniowa część projektu uczenia maszynowego. Wytrenowane algorytmy tworzą modele, które generują prawdopodobieństwo statystyczne dla odpowiedzi na pytanie lub osiągnięcia określonego celu. Celem tym może być znalezienie określonych cech na obrazach, na przykład „identyfikacja wszystkich kotów”, lub wykrycie w danych anomalii, które mogą wskazywać na oszustwo, spam lub problem z konserwacją maszyny. Jeszcze inne algorytmy mogą próbować przewidywać, na przykład jakie elementy garderoby mogą spodobać się kupującemu na podstawie tego, co aktualnie znajduje się w jego koszyku.
Poniżej przedstawiono kilka najpopularniejszych algorytmów stosowanych w uczeniu maszynowym:
Wyjście poza sieci neuronowe
Uczenie maszynowe wykorzystuje szeroki wachlarz algorytmów. Algorytmy omówione powyżej są najbardziej popularne, ale poniżej przedstawiamy pięć mniej popularnych, ale wciąż przydatnych algorytmów.
Wzmocnienie gradientowe | Tworzy modele sekwencyjnie, skupiając się na poprzednich błędach w sekwencji. Algorytm przydatny do wykrywania oszustw i spamu. |
k najbliższych sąsiadów (KNN) | Prosty, ale skuteczny algorytm, który klasyfikuje punkty danych na podstawie oznaczeń ich najbliższych sąsiadów w danych treningowych. |
Analiza głównych składowych (PCA) | Ogranicza wymiarowość danych, identyfikując ich najważniejsze cechy. Algorytm przydatny do wizualizacji i kompresji danych, na przykład do wykrywania anomalii. |
Q-learning | Używa agenta, który uczy się metodą prób i błędów, otrzymując nagrody za dobre decyzje i kary za złe decyzje. |
Maszyna wektorów nośnych (SVM) | Tworzy hiperpłaszczyznę, aby efektywnie oddzielić punkty danych należące do różnych klas, na przykład w klasyfikacji obrazów. |
Uczenie maszynowe pozwala wyodrębniać z danych informacje, których nie dałoby się znaleźć w żaden inny sposób. Kilka najczęstszych korzyści płynących z integracji uczenia maszynowego z procesami to m.in:
Projekty uczenia maszynowego są tylko tak efektywne, jak system i zasoby, na bazie których powstały. Wskazuje to na potrzebę inwestowania w odpowiednie planowanie i przygotowanie.
Poniżej przedstawiono kilka najczęstszych wyzwań związanych z projektami uczenia maszynowego:
Uczenie maszynowe może przynieść istotne korzyści dla niemal każdej branży i każdego działu w przedsiębiorstwie. Jeśli dane są dostępne i można je analizować, uczenie maszynowe pozwala zwiększyć efektywność oraz odkrywać nowe sposoby zaangażowania odbiorców. Poniżej przedstawiono typowe zastosowania uczenia maszynowego w różnych branżach:
Machine Learning in Oracle Database oferuje szereg funkcji i narzędzi przyspieszających proces uczenia maszynowego. Dzięki możliwości przechowywania danych bezpośrednio w bazie danych, danolodzy mogą uprościć swój przepływ pracy i zwiększyć bezpieczeństwo, jednocześnie korzystając z ponad trzydziestu wbudowanych, wydajnych algorytmów; obsługi popularnych języków, w tym R, SQL i Python; zautomatyzowanych funkcji uczenia maszynowego; oraz interfejsów umożliwiających trenowanie modeli bez konieczności pisania kodu.
W przypadku organizacji dysponujących dużymi zbiorami danych uczenie maszynowe w bazie danych w ramach rozwiązania HeatWave MySQL eliminuje potrzebę przenoszenia danych do oddzielnego systemu na potrzeby treningu, co może pomóc zwiększyć bezpieczeństwo, obniżyć koszty i zaoszczędzić czas. HeatWave AutoML automatyzuje cykl uczenia maszynowego, w tym wybór algorytmu, inteligentne próbkowanie danych do szkolenia, wybór funkcji i dostrajanie, często oszczędzając jeszcze więcej czasu i nakładów.
Zaletą uczenia maszynowego jest możliwość szybkiej i dokładnej analizy i interpretacji dużych ilości danych. Wytrenowane modele uczenia maszynowego mogą w ciągu kilku sekund lub minut zidentyfikować wzorce, trendy i informacje, których wykrycie zajęłoby ludziom tygodnie lub które nigdy nie zostałyby wykryte. W rezultacie można podejmować trafniejsze decyzje, lepiej rozwiązywać problemy i tworzyć prognozy oparte na danych. Ponadto modele uczenia maszynowego mogą automatyzować rutynowe procesy, oszczędzając czas i zasoby. Uczenie maszynowe wykorzystuje swój potencjał do zrewolucjonizowania miejsca pracy i stymulowania rozwoju innowacji.
Jest kluczem do odkrywania wartości w danych i stanowi pierwszy krok do skutecznej implementacji programu sztucznej inteligencji.
Czym różni się sztuczna inteligencja i uczenia maszynowego ?
Sztuczna inteligencja to nazwa nadana szerokiej dziedzinie informatyki, która skupia się na budowaniu i doskonaleniu systemów mających na celu myślenie jak ludzie. Uczenie maszynowe to podzbiór tej dziedziny, który skupia się w szczególności na obliczeniowym aspekcie procesu uczenia się. Oba terminy są często używane zamiennie, a opisywane przez nie technologie stoją przed podobnymi wyzwaniami, ale mimo tego nie są to synonimy.
Jakie są cztery główne typy uczenia maszynowego ?
Cztery typy uczenia maszynowego są następujące:
Czy trudno jest nauczyć się korzystania z uczenia maszynowego?
Jak w przypadku każdego technicznego rzemiosła, poznanie tajników uczenia maszynowego wymaga czasu i zaangażowania. Dobrym punktem wyjścia do uczenia maszynowego jest znajomość języków programowania (Python lub R) oraz statystyki. Wiele elementów związanych z oceną danych wyjściowych uczenia maszynowego wymaga znajomości różnych pojęć statystycznych, w tym regresji, klasyfikacji, dopasowania i parametrów.
Co jest przykładem uczenia maszynowego?
Jednym z najczęstszych przykładów zastosowań uczenia maszynowego jest aparat sugestii. W branży e-commerce jest to sugerowanie produktów, które mogą się również spodobać kupującemu. W serwisach streamingowych jest to podpowiadanie następnych pozycji wartych obejrzenia. W obu tych przypadkach algorytm pobiera historię użytkownika i na tej podstawie tworzy prognozy dotyczące tego, co użytkownik może uznać za interesujące, przy czym im więcej punktów danych doda użytkownik, tym lepsze będą prognozy algorytmu.