Machine Learning

Teoria i praktyka

Uczenie maszynowe jest metodą analizy danych, która bazuje na technikach sztucznej inteligencji i polega na automatyzacji procesu tworzenia modeli analitycznych. Dzięki wykorzystaniu algorytmów uczących się komputery mogą samodzielnie analizować dane oraz automatycznie dostosowywać modele do zmiennych zjawisk i wymagań w celu nabywania nowej wiedzy i zwiększenia swojej zdolności do rozwiązania postawionego problemu.

Ewolucja uczenia maszynowego

Koncepcja uczenia maszynowego wywodzi się z obszaru rozpoznawania wzorców oraz założenia, że komputery mogą samodzielnie uczyć się z danych, nie będąc zaprogramowane do wykonywania konkretnych zadań. Bardzo ważny w uczeniu maszynowym jest aspekt powtarzalności (iteracyjności). Kiedy modele napotykają na nowe dane, mogą je samodzielnie adaptować i wykorzystywać w procesie analizy. Uczą się na podstawie poprzednich doświadczeń, by generować rzetelne, powtarzalne decyzje i wyniki, również dla nowych danych. Machine learning nie jest niczym nowym, ale, dzięki obecnemu postępowi technologicznemu, rozwój tej dziedziny właśnie nabiera rozpędu. Praktyczne wykorzystanie uczenia maszynowego w zastosowaniach biznesowych staje się nie tylko możliwe - dzięki nowym, wydajnym technologiom obliczeniowym, ale także konieczne - ze względu na lawinowy przyrost dostępnych danych. Choć wiele algorytmów uczenia maszynowego powstało wiele lat temu, zdolność do automatycznego stosowania złożonych obliczeniowo metod oraz do analizy dużych wolumenów danych (Big Data) jest zjawiskiem relatywnie nowym.

Oto kilka przykładów praktycznego wykorzystania uczenia maszynowego:

  • Bezzałogowy samochód Google jest kwintesencją osiągnięć uczenia maszynowego.
  • Rekomendacje online, znane na przykład z serwisów Amazon lub Netflix – to uczenie maszynowe w codziennym życiu.
  • Wiedza o tym, co klienci mówią o Twojej firmie na Twitterze – to uczenie maszynowe powiązane z tworzeniem reguł lingwistycznych, czyli text miningiem.
  • Wykrywanie nadużyć – to jedno z najważniejszych zastosowań uczenia maszynowego w dzisiejszym świecie.

 

 

Podstawy uczenia maszynowego

Czym jest uczenie maszynowe i dlaczego jest coraz bardziej popularne? W tym krótkim materiale wideo znajdziesz informacje o dostępnych rozwiązaniach SAS i ich praktycznych zastosowaniach biznesowych.

Dlaczego uczenie maszynowe jest ważne?

Rosnące zainteresowanie uczeniem maszynowym wynika z gwałtownego rozwoju technologicznego ostatnich lat, w wyniku którego powstała potrzeba analizowania coraz większych ilości danych pochodzących z różnorodnych źródeł, a z drugiej strony pojawiły się znacznie bardziej wydajne technologie obliczeniowe i dużo tańsze platformy przechowywania danych. To wszystko zapewnia organizacjom możliwość automatycznego generowania modeli, które są w stanie analizować większe i bardziej złożone zbiory danych oraz szybciej dostarczać precyzyjne wyniki analiz. Dzięki temu organizacja może odkryć nowe szanse biznesowe i uniknąć nieznanego wcześniej ryzyka.

 

Co jest potrzebne do opracowania dobrych systemów uczenia maszynowego?

  • Wydajne technologie do przetwarzania danych.
  • Algorytmy - podstawowe i zaawansowane.
  • Automatyczne i powtarzalne procesy.
  • Skalowalność.
  • Tworzenie modeli złożonych (ensemble).
Machine learning infographic

Czy wiesz, że...

  • W uczeniu maszynowym zmienna celu jest nazywana etykietą (label).
  • W statystyce zmienną celu określa się mianem zmiennej zależnej.
  • W statystyce mówimy o zmiennych, a w uczeniu maszynowym o cechach.
  • W statystyce dokonujemy transformacji zmiennych, zaś w uczeniu maszynowym tworzymy cechę.

Uczenie maszynowe we współczesnym świecie

Wykorzystując algorytmy uczenia maszynowego do budowania modeli, które pozwalają odkrywać powiązania i wzorce w danych bez interwencji człowieka, firmy i instytucje mogą podejmować lepsze decyzje. Dowiedz się więcej o tym, jak te rozwiązania zmieniają świat.

 

White Paper

Uczenie maszynowe w biznesie

Przeczytaj raport Ewolucja analityki, aby zrozumieć, w jaki sposób rozwój technologiczny doprowadził do wzrostu zainteresowania wykorzystaniem uczenia maszynowego w zastosowaniach biznesowych.




Pobierz raport

Uczenie maszynowe + ubieralne urządzenia medyczne

W jaki sposób połączenie tych technologii może pomóc pacjentom? Dowiedz się, jak, dzięki wykorzystaniu uczenia maszynowego i technologii wearables, można szybciej diagnozować pacjentów i zapewnić im lepszą opiekę przy niższych kosztach.

Przeczytaj podsumowanie

Uczenie maszynowe - teoria i praktyka

Poznaj podstawy uczenia maszynowego oraz czynniki, które należy wziąć pod uwagę, planując wykorzystanie tej technologii w konkretnych zastosowaniach biznesowych.






Obejrzyj webinarium

Zastosowanie uczenia maszynowego w IoT

Dowiedz się, jak zastosowanie uczenia maszynowego zwiększa zakres i efektywność wykorzystania technologii Internet of Things.





Przeczytaj podsumowanie

Kto korzysta z machine learning?

Większość branż, których działalność opiera się na analizie dużych zbiorów danych, docenia technologie uczenia maszynowego. Możliwość wydobycia z tych danych wartościowej wiedzy - często w czasie rzeczywistym - sprawia, że przedsiębiorstwa mogą działać efektywniej lub zdobyć przewagę nad konkurencją.

Usługi finansowe

Banki i inne instytucje finansowe wykorzystują technologie machine learning w dwóch głównych obszarach: do identyfikowania ważnych informacji zawartych w danych o klientach oraz do zapobiegania oszustwom i wyłudzeniom. Informacje te mogą być pomocne w identyfikowaniu szans biznesowych lub wskazywać inwestorom optymalny moment zawarcia transakcji. Eksploracja danych może również służyć do identyfikowania klientów obarczonych wysokim ryzykiem lub stanowić element cyber nadzoru, który pozwala wyodrębnić sygnały ostrzegawcze przed potencjalnym oszustwem.

Administracja publiczna

Instytucje publiczne, począwszy od organów bezpieczeństwa po przedsiębiorstwa komunalne, wykazują szczególne zapotrzebowanie na uczenie maszynowe, ponieważ dysponują danymi z wielu różnych źródeł, w których można znaleźć wiele przydatnych informacji. Przykładowo analiza danych z czujników pozwala zidentyfikować metody poprawy efektywności i obniżenia kosztów. Uczenie maszynowe może również pomóc w wykrywaniu nadużyć i ograniczyć przypadki kradzieży tożsamości.

Ochrona zdrowia

Uczenie maszynowe szybko zdobywa popularność w sektorze ochrony zdrowia dzięki rozwojowi telemedycyny i powszechnemu dostępowi do wyposażonych w sensory urządzeń ubieralnych, które mogą gromadzić dane umożliwiające diagnozę stanu zdrowia pacjenta w czasie rzeczywistym. Technologia ta pomaga specjalistom także w identyfikowaniu trendów i skuteczności terapii w ramach większych populacji, co może przyczynić się do poprawy diagnostyki i skuteczności leczenia.

Sprzedaż i marketing

Uczenie maszynowe jest wykorzystywane przez sklepy internetowe do analizowania historii zakupów klienta. Na podstawie tych danych na stronie internetowej można rekomendować i promować towary i usługi, które mogłyby zainteresować konkretną osobę. Taka możliwość gromadzenia danych oraz ich analizy i wykorzystywania do personalizacji procesu zakupów (lub prowadzenia kampanii marketingowej) jest przyszłością handlu detalicznego.

Przemysł wydobywczy

Poszukiwanie nowych źródeł energii. Analiza składu mineralnego gruntu. Przewidywanie awarii czujników w rafinerii. Usprawnienie dystrybucji ropy naftowej pod kątem poprawy efektywności i racjonalizacji kosztów. Spektrum możliwości wykorzystania uczenia maszynowego w tej branży jest ogromne i wciąż się powiększa.

Transport

Analizowanie danych pod kątem identyfikacji wzorców i trendów ma istotne zastosowanie w branży transportowej, w której wytyczanie efektywniejszych tras i przewidywanie potencjalnych problemów w całym łańcuchu dostaw przekłada się na wzrost rentowności. Analiza danych i aspekty związane z modelowaniem w uczeniu maszynowym są ważnymi narzędziami dla firm kurierskich, sektora transportu publicznego i innych przedsiębiorstw transportowych.

Wybrane popularne metody uczenia maszynowego

Dwie z najszerzej stosowanych metod uczenia maszynowego to uczenie nadzorowane i uczenie nienadzorowane - ale są dostępne również inne metody. Oto przegląd najpopularniejszych z nich.

Uczenie nadzorowane (supervised learning) - algorytmy uczą się, korzystając z opatrzonych etykietami przykładów, takich jak dane wejściowe przy znanych pożądanych danych wyjściowych. Na przykład urządzenie może mieć punkty danych oznaczone „F” (niepowodzenie, ang. failed) lub „R” (działa, ang. runs). Algorytm uczący się otrzymuje zestaw danych wejściowych razem z odpowiadającymi im poprawnymi danymi wyjściowymi i uczy się, porównując prognozowane dane wyjściowe z poprawnymi danymi wyjściowymi w celu znalezienia błędów. Następnie odpowiednio dostosowuje model. Dzięki metodom klasyfikacyjnym, regresyjnym, predykcyjnym czy opartym na gradient boostingu, uczenie nadzorowane wykorzystuje rozpoznawanie wzorców do przewidywania etykiet dla nowych danych. Uczenie nadzorowane jest szeroko wykorzystywane w zastosowaniach, w których, na podstawie danych historycznych, przewiduje się prawdopodobne przyszłe zdarzenia. Przykładowo, można określić, które z transakcji na rachunku karty kredytowej mogą być podejrzane lub który z klientów firmy ubezpieczeniowej ma duże prawdopodobieństwo złożenia wniosku o wypłatę świadczenia.

Uczenie ze wzmocnieniem (reinforcement learning) wykorzystuje się najczęściej w robotyce, grach i nawigacji. Algorytmy uczące się ze wzmocnieniem odkrywają metodą prób i błędów, które działania przynoszą najlepsze wyniki. Na ten rodzaj uczenia się składają się trzy główne elementy: agent (uczący się lub podejmujący decyzje), środowisko (wszystko, z czym agent wchodzi w interakcje) i działania (to, co agent może zrobić). Celem jest wybranie przez agenta działań, które maksymalizują prawdopodobieństwo osiągnięcia pożądanego rezultatu w określonym czasie. Agent osiągnie cel znacznie szybciej, jeśli będzie kierował się dobrą strategią. Dlatego celem uczenia ze wzmocnieniem jest jej optymalizacja.

Uczenie nienadzorowane (unsupervised learning) jest wykorzystywane w odniesieniu do danych bez etykiet historycznych. System nie otrzymuje „prawidłowej odpowiedzi”. Algorytm musi sam rozszyfrować, co zostało mu dostarczone. Celem jego działania jest przeszukanie danych i znalezienie istniejącej struktury. Uczenie nienadzorowane sprawdza się dobrze przy danych transakcyjnych. Może służyć na przykład do wytypowania segmentów klientów z podobnymi atrybutami, którzy następnie będą podlegali tym samym procedurom podczas kampanii marketingowych. Innym zastosowaniem może być znalezienie głównych atrybutów, które odróżniają jedne segmenty klientów od innych. Wśród powszechnie stosowanych technik uczenia nienadzorowanego można wymienić: sieci Kohonena, mapowanie metodą najbliższych sąsiadów, klasteryzację metodą k-średnich czy dekompozycja głównych składowych (SVD, ang. Singular value decomposition). Algorytmy te są również wykorzystywane do kategoryzowania danych tekstowych, przygotowywania rekomendacji i wyszukiwania obserwacji odstających.

Uczenie częściowo nadzorowane (semisupervised learning) jest wykorzystywane do tych samych zastosowań, co uczenie nadzorowane. W procesie uczenia używa się jednak zarówno danych oznaczonych atrybutem, jak i danych nieoznaczonych - zazwyczaj z niewielkiej ilości oznaczonych i ogromnej ilości nieoznaczonych (ze względu na to, że dane nieoznaczone są tańsze, a zdobycie ich wymaga mniejszego wysiłku). Ten rodzaj uczenia może być wykorzystywany z metodami klasyfikacyjnymi, regresyjnymi czy predykcyjnymi. Uczenie częściowo nadzorowane jest przydatne, kiedy koszt związany z oznaczaniem danych jest za wysoki, aby umożliwić przeprowadzenie procesu uczenia opartego wyłącznie na danych oznaczonych. Wczesne przykłady zastosowań tego rodzaju uczenia obejmują rozpoznawanie twarzy przez kamerę internetową.

W ciągu tygodnia ludzie są w stanie stworzyć jeden lub dwa dobre modele, uczenie maszynowe w tym samym czasie może stworzyć ich tysiące.

Thomas H. Davenport, ekspert w zakresie analityki biznesowej
cytat z wypowiedzi dla The Wall Street Journal

 

Jakie są różnice między data miningiem, uczeniem maszynowym a uczeniem pogłębionym?

Choć wszystkie te metody służą temu samemu celowi - odkrywaniu informacji i wiedzy, wzorców oraz powiązań, które mogą być podstawą podejmowanych decyzji - każda z nich jest oparta na innym podejściu i różnych możliwościach.


Data mining

Data mining można uznać za szersze pojęcie obejmujące wydobywanie wiedzy i informacji z danych. Może on obejmować tradycyjne metody statystyczne i uczenie maszynowe. W data miningu stosuje się metody z wielu różnych obszarów w celu zidentyfikowania wśród danych nieznanych wcześniej wzorców. Metodami tymi mogą być algorytmy statystyczne, uczenie maszynowe, text mining, analiza szeregów czasowych oraz techniki typowe dla innych dziedzin analityki. Data mining obejmuje także badania i praktykę w zakresie przechowywania i przetwarzania danych.

 


Uczenie maszynowe

Celem uczenia maszynowego jest - podobnie jak w modelach statystycznych - zrozumienie struktury danych, czyli jak najlepsze dopasowanie modelu do danych rzeczywistych. Modele statystyczne oparte są o teoretyczne i matematycznie uzasadnione podstawy, co zazwyczaj wymaga przyjęcia rygorystycznych założeń względem danych - w rzeczywistości takie założenia rzadko są spełnione. Uczenie maszynowe rozwinęło się natomiast dzięki możliwości wykorzystania komputerów do sondowania struktury danych, bez dostępnej teorii opisującej rzeczywisty układ tej struktury. Na tym właśnie polega główna różnica między tymi podejściami. Testem dla modelu uczenia maszynowego jest błąd walidacji na nowych danych, a nie test teoretyczny sprawdzający hipotezę zerową, charakterystyczny dla modeli statystycznych opartych na teoriach ekonomicznych i wiedzy biznesowej. W uczeniu maszynowym często stosuje się podejście iteracyjne, dlatego proces ten można łatwo zautomatyzować. W podejściu tym dane są wielokrotnie analizowane aż do wyodrębnienia rzetelnego wzorca.

 


Uczenie pogłębione

Uczenie pogłębione (deep learning) łączy postęp w zakresie rozwoju mocy obliczeniowej komputerów ze specjalnymi typami modeli hierarchicznych (np. wielowarstwowych sieci neuronowych) w celu uczenia się przez model skomplikowanych wzorców na podstawie dużej ilości danych. Techniki uczenia pogłębionego są obecnie najbardziej zaawansowaną metodą rozpoznawania obiektów w obrazach czy słów w dźwiękach. Naukowcy poszukują teraz możliwości wykorzystania tych sukcesów w zakresie rozpoznawania wzorców do bardziej złożonych zadań, takich jak automatyczne tłumaczenie na inne języki czy diagnostyka medyczna, a także do rozwiązywania wielu innych ważnych problemów społecznych i biznesowych.

Jak to działa?

Aby maksymalnie wykorzystać potencjał uczenia maszynowego, trzeba wiedzieć, jak łączyć najlepsze algorytmy z właściwymi narzędziami i procesami. Bogate doświadczenie SAS w dziedzinie statystyki, eksploracji danych i data miningu, wraz z nową platformą technologiczną, zapewnia efektywne wykorzystanie technologii machine learningu w biznesie.

 

Algorytmy: graficzne interfejsy użytkownika SAS ułatwiają budowanie modeli i implementację powtarzalnych procesów uczenia maszynowego. Aby ich używać, nie musisz być doświadczonym statystykiem. Szeroki wybór gotowych algorytmów uczenia maszynowego, zawartych w wielu produktach SAS, pomoże Ci w szybkim wydobyciu cennych informacji z wielkich zbiorów danych. Algorytmy uczenia maszynowego dostępne w SAS:

Sieci neuronowe
 
Drzewa decyzyjne
 
Lasy losowe
 
Metody odkrywania powiązań i sekwencji
 
Gradient boosting oraz bagging
 
Maszyny wektorów nośnych (SVM, ang. Support vector
machine)
 
Mapowanie metodą najbliższych sąsiadów
 
Klasteryzacja metodą k-średnich
 
Sieci Kohonena
 
 
Lokalnle przeszukiwanie (local search) - np. algorytmy genetyczne

Algorytm expectation-maximization

Nieparametryczne metody regresyjne (MARSplines) 

Sieci bayesowskie
 
Estymator jądrowy gęstości (kernel density
estimation)
 
Analiza głównych składowych
 
Dekompozycja głównych składowych (SVD -  ang. Singular Value Decomposition)
 
Gaussowskie modele mieszanine (Gaussian mixture
models)
 
Algorytmy generowania reguł decyzyjnych (np.
sekwencyjne pokrywanie, ang.  Sequential
covering rule building)

 

Narzędzia i procesy: jak wiadomo, algorytmy to nie wszystko. Sekret wydobycia wartościowych informacji z danych leży w połączeniu najlepszych algorytmów, do realizacji określonego zadania, z następującymi aspektami:

Kompleksowe zarządzanie danymi i ich jakością 
 
Graficzne interfejsy użytkownika do budowania
modeli i przebiegu procesu
 
Interaktywna eksploracja danych i wizualizacja
wyników modelu
 
Porównanie różnych modeli uczenia maszynowego
w celu szybkiego znalezienia najlepszego z nich 
 
 
Automatyczna ocena modelu złożonego (ensemble) w celu znalezienia najlepszych wyników

Łatwe wdrożenie modelu w celu szybkiego uzyskania powtarzalnych, rzetelnych wyników

Zintegrowana kompleksowa platforma automatyzująca proces podejmowania decyzji opartych na danych

Do you need some basic guidance on which machine learning algorithm to use for what? This blog by Hui Li, a data scientist at SAS, provides a handy cheat sheet.