Marcin Orchel
AGH University of Science and Technology in Poland
2
Dlaczego warto poznać tematykę uczenia maszynowego
3
Podstawy uczenia maszynowego
4
Przykłady
5
Wybrane zagadnienia
Nazwa przedmiotu Obliczeniowa teoria uczenia, po ang.
Computational learning theory https:
//en.wikipedia.org/wiki/Computational_learning_theory Z wiki “In computer science, computational learning theory (or just learning theory) is a subfield of Artificial Intelligence devoted to studying the design and analysis of machine learning algorithms.”
Obliczenia teoria uczenia inaczej nazywana jest algorytmiczną teorią indukcji. Określana jest skrótem COLT.
Z wiki “Machine learning is a field of computer science that gives
computers the ability to learn without being explicitly programmed.”
Paweł Cichosz, Systemy uczące się, Wydawnictwa Naukowo-Techniczne, 2007
Mirosław Krzyśko i in., Systemy uczące się, Wydawnictwa Naukowo-Techniczne, 2008
Pedro Domingos, Naczelny algorytm, jak jego odkrycie zmieni świat, Helion, 2016
Mehryar Mohri, Foundations of Machine Learning, MIT Press, 2012.
S. Shalev-Shwartz and S. Ben-David, Understanding Machine Learning: From Theory to Algorithms, Cambridge University Press, 2014
M.J. Kearns and U.V. Vazirani. An Introduction to Computational Learning Theory , MIT Press, Cambridge, MA, 1994.
N. Cristianini and J. Shawe-Taylor. An introduction to support vector machines : and other kernel-based learning methods. Cambridge University Press, 2000.
B. Scholkopf, and A. Smola, Learning with Kernels. MIT Press, 2002.
Michael Kearns and Umesh Vazirani. An Introduction to Computational Learning Theory, MIT Press, 1995.
M. Anthony and N. Biggs. Computational Learning Theory, Cambridge University Press, 1992.
M. Anthony and P. Bartlett. Learning in Neural Networks : Theoretical Foundations. Cambridge University Press, 1999.
Understanding Machine Learning From Theory to Algorithms, S. Ben David and S. Shalev-Shwartz
F. Cucker and D-X. Zhou. Learning theory: an approximation theory
viewpoint.
maszynowego
Dlaczego warto poznać tematykę uczenia
firmy oferujące produkty w dziedzinie uczenia maszynowego Skytree, na stronie internetowej zamieszczone loga 28 klientów, Kaggle, 20 przedsiębiorstw z listy Fortune 500 korzysta z jej usług, wymienione 7 firm w przypadkach użycia oraz 16 przedsiębiorstw dla których podane są osiągnięte rezultaty, opis 213 konkursów
zamieszczonych przez organizacje i przedsiębiorstwa.
Lista firm które sponsorowały w 2015 r. konferencje NIPS powiązaną z uczeniem maszynowym zawiera 41 firm.
Liczba startupów, które zamiesciły frazę machine learning w swoim opisie na stronie https://angel.co wynosi 1626.
Liczba firm i instytucji, które w ogłoszeniach o pracę na rynku USA
na portalu https://indeed.com zamieściły w opisie oferty pracy
frazę machine learning to 2528.
Dla exact phrase na portalu Indeed dla frazy machine learning zwracane są następujące informacje:
Salary Estimate: $80,000 (10322), $95,000 (8531), $105,000 (6942),
$120,000 (4320), $130,000 (2654);
Job Type: Full-time (13361), Contract (558), Internship (450), Part-time (219), Temporary (209), Commission (46);
Location: Seattle, WA (1279), New York, NY (1172), San Francisco, CA (1017), Palo Alto, CA (399), Chicago, IL (382); Company Amazon Corporate LLC (1296), Microsoft (411), Apple (321), IBM (184), Google (152);
Experience Level: Mid Level (5955), Entry Level (2969), Senior Level (2762)
Dlaczego warto poznać tematykę uczenia
Przykładowe tytuły ogłoszeń: Machine Learning Engineer, Data Science & Machine Learning Internship, Apple Maps, Natural Language Processing & Machine Learning Engineer, Software
Engineer III - Big Data/Machine Learning, Machine Learning Systems
Engineer, Machine Learning Software Engineer - Client, Machine
Learning Engineer- Data Science Cortex, Researcher/Robotics
Software Engineer, Waymo, Deep Learning Software Engineer,
Machine Learning Software Engineer - Core ML, Entry Level Data
Scientist (June 2018), Software Engineer, Machine Learning, Machine
Learning Engineer, NLP, CJK, applied machine learning intern,
Computational support for Machine Learning and LSTM, Data
Scientist Entry Level, Data Scientist.
Job Trends na portalu indeed.com
liczba ofert pracy wzrosła od 0.087% 1 stycznia 2014 do 0.252% 15 czerwca 2017 roku
Rysunek 1:Źródło: indeed.com
Dlaczego warto poznać tematykę uczenia
Job Trends na portalu https://indeed.com
zainteresowanie wzrosło od 0.0092% 1 stycznia 2014 roku do 0.0261% 20 lipca 2017 roku
Rysunek 2:Źródło: indeed.com
Google Trends dla hasła machine learning, zainteresowanie we wrześniu 2017 roku 100 punktów, w styczniu 2004 roku 22 punkty
Rysunek 3:Źródło: google.com
Dlaczego warto poznać tematykę uczenia
Google Trends dla hasła machine learning, obszary zainteresowania
Rysunek 4:Źródło: google.com
liczba przyznawanych patentów (status grant) z frazą machine learning, liczba ogółem przyznawanych patentów wzrosła od 2006 do 2014 o około 65%, dla frazy machine learning o ponad 100%
Time
Series1
2004 2006 2008 2010 2012 2014 2016
050100150200
Rysunek 5:Miesięczny wykres liczby przyznawanych patentów z frazą “machine learning”.
Dlaczego warto poznać tematykę uczenia
liczba otwierających się nowych start-upów wykorzystujących uczenie maszynowe
Time
Series1
2013 2014 2015 2016 2017
010203040
Rysunek 6:Miesięczny wykres liczby otwierających się nowych startupów związanych z uczeniem maszynowym.
Lista firm oferująca produkty z zakresu uczenia maszynowego: Dato, BigML, SKYTREE, H2O.ai, RapidMiner, Nutonian, Seldon.io, DataRobot, Yottamine.
Problemem rynku uczenia maszynowego jest brak wystarczającej liczby wykwalifikowanych osób na stanowiska data scientist. Według raportu Society of Human Resource Management data scientist jest jednym z 10 zawodów, dla których natrudniej znaleźć odpowiednio wykwalifikowanego pracownika. Według powyższego raportu w 2016 roku 6000 firm będzie chciało zatrudnić około 4.4 miliona osób na stanowiska związane z analizą danych.
Dlaczego warto poznać tematykę uczenia
Krajowe Inteligentne Specjalizacje (KIS) - preferencje w udzielaniu wsparcia rozwoju prac badawczych, rozwojowych i innowacyjności uczenie maszynowe znajduje się w kategorii Zdrowie i
społeczeństwo->KIS 1 Technologie inżynierii medycznej, w tym biotechnologie medyczne, punkt VIII Informatyczne narzędzia
medyczne w opisie “Proponowane działania w tej dziedzinie powinny wykorzystywać i tworzyć innowacyjne rozwiązania informatyczne, programistyczne, zaawansowane metody obliczeniowe i symulacyjne, w tym algorytmy uczenia maszynowego i algorytmy analizy Big Data, opracowywane wspólnie ze specjalistami opieki zdrowotnej i
płatnikami.”
uczenie maszynowe znajduje się także w kategorii Innowacyjne
technologie i procesy przemysłowe (w ujęciu horyzontalnym)->KIS 15 Inteligentne sieci i technologie geoinformacyjne, punkt IV.
Zarządzanie informacją w inteligentnych sieciach, w opisie
“Opracowanie innowacyjnych produktów, technologii, procesów (lub istotne udoskonalenie istniejących) w obszarze inteligentnych sieci, w następującym zakresie: [...] 4. Uczenie maszynowe (ang. machine learning)”
Dlaczego warto poznać tematykę uczenia
kategoria patentowa International Patent Classification (IPC) zawierająca frazę machine learning to G Physics->G06
COMPUTING; CALCULATING; COUNTING-> G06F ELECTRIC DIGITAL DATA PROCESSING (computer systems based on specific computational models G06N)-> G06F 19/00 Digital computing or data processing equipment or methods, specially adapted for specific applications (G06F 17/00 takes precedence; data processing systems or methods specially adapted for administrative, commercial,
financial, managerial, supervisory or forecasting purposes G06Q)
[2011.01]-> G06F 19/24 ... for machine learning, data mining or
biostatistics, e.g. pattern finding, knowledge discovery, rule extraction,
correlation, clustering or classification [2011.01]
ze słownika języka polskiego PWN, uczyć się - 1. przyswajać sobie pewien zasób wiedzy, zdobywać jakąś umiejętność, 2. wdrażać się do czegoś, biorąc przykład z kogoś lub czegoś, wyciągając wnioski z doświadczeń
Umiejętności mogą być wrodzone lub nabyte.
Jak powinna wyglądać definicja uczenia się?
Uczeniem się systemu jest każda autonomiczna zmiana w systemie zachodząca na podstawie doświadczeń, która prowadzi do poprawy jakości jego działania.
programy uczące się
ze słownika języka polskiego PWN, uczyć się - 1. przyswajać sobie pewien zasób wiedzy, zdobywać jakąś umiejętność, 2. wdrażać się do czegoś, biorąc przykład z kogoś lub czegoś, wyciągając wnioski z doświadczeń
Umiejętności mogą być wrodzone lub nabyte.
Jak powinna wyglądać definicja uczenia się?
Uczeniem się systemu jest każda autonomiczna zmiana w systemie zachodząca na podstawie doświadczeń, która prowadzi do poprawy jakości jego działania.
programy uczące się
ze słownika języka polskiego PWN, uczyć się - 1. przyswajać sobie pewien zasób wiedzy, zdobywać jakąś umiejętność, 2. wdrażać się do czegoś, biorąc przykład z kogoś lub czegoś, wyciągając wnioski z doświadczeń
Umiejętności mogą być wrodzone lub nabyte.
Jak powinna wyglądać definicja uczenia się?
Uczeniem się systemu jest każda autonomiczna zmiana w systemie zachodząca na podstawie doświadczeń, która prowadzi do poprawy jakości jego działania.
programy uczące się
ze słownika języka polskiego PWN, uczyć się - 1. przyswajać sobie pewien zasób wiedzy, zdobywać jakąś umiejętność, 2. wdrażać się do czegoś, biorąc przykład z kogoś lub czegoś, wyciągając wnioski z doświadczeń
Umiejętności mogą być wrodzone lub nabyte.
Jak powinna wyglądać definicja uczenia się?
Uczeniem się systemu jest każda autonomiczna zmiana w systemie zachodząca na podstawie doświadczeń, która prowadzi do poprawy jakości jego działania.
programy uczące się
Ustalenie wyników i reklam w oknie wyszukiwarki.
Filtrowanie spamu mailowego.
Podpowiadanie rzeczy, które mogłyby się spodobać na portalu Amazon, lub filmów na portalu Netflix.
Wybór postów do pokazania na portalu Facebook, wybór twitów do pokazania na portalu Twitter.
Budzik puszczający nową piosenkę, która może się spodobać.
Internetowe radio Pandora uczy się gustów muzycznych użytkownika.
Termostaty firmy Nest uczą się harmonogramu użytkownika i np.
zmniejszają ogrzewanie podczas jego nieobecności.
Aplikacja mobilna INRIX Traffic przewiduje drogę do pracy tak, aby uniknąć korków.
automatyczne sortowanie maili po kategoriach translator Google
sprawdzanie gramatyki i ortografii przez np. Microsoft Word
przewidywanie cen biletów przez Bing Travel airfare price predictor
zarządzanie funduszami inwestycyjnymi
przewidywanie kategorii danego obiektu/firmy na mapach Yelp (agregator opinii)
monitoring z kamer przemysłowych na parkingu i wykrywanie czegoś podejrzanego
ułożenie produktów na alejkach w supermarkecie automatyczne oferty np. karty kredytowej
odczytywanie ręcznie zapisanych adresów na listach przewidywanie miejsc największego prawdopodobieństwa przestępczości i wysyłanie w to miejsce patroli
wybór niezdecydowanych wyborców (wykorzystanie uczenia maszynowego w kampani prezydenckiej Obamy)
wybór zawodników do składu drużynowego interpretowanie zdjęć RTG
ocena wypracowań, esejów np. GMAT
przewidywanie wartości nieruchomości np. na portalu Zillow.com
serwisy randkowe (match.com) autonomiczny pojazd Google osobista asystentka Siri
pokonanie mistrza Jeopardy! przez IBM Watson
SKICAT: automatyczne katalogowanie i analizowanie obrazów nieba
1
Metoda reprezentacji wiedzy lub umiejętności. Przykładowo drzewa decyzyjne, reguły, formuły logiki predykatów, rozkłady
prawdopodobieństw i automaty skończone. Reprezentacja symboliczna i subsymboliczna.
2
Sposób używania wiedzy lub umiejętności. Wykorzystanie wiedzy.
Problem klasyfikacji, aproksymacji.
3
Źródło i postać informacji trenującej. Uczenie się z nadzorem i bez nadzoru (np. grupowanie). Uczenie się z nadzorem, mamy do czynienia z nauczycielem/krytykiem. Uczenie się na podstawie zapytań. Uczenie się przez eksperymentowanie. Uczenie się ze wzmocnieniem.
4
Mechanizm nabywania i doskonalenia wiedzy lub umiejętności. Np.
indukcja – uogólnianie jednostkowej informacji trenującej w celu
uzyskania ogólnej wiedzy. Wyjaśnianie – informacja trenująca służy do
konkretyzacji wiedzy wrodzonej ucznia. Przypisanie zasługi – określenie
wpływu poszczególnych akcji na otrzymane nagrody.
teoretyczny – ocena trudności różnych problemów uczenia się, szacowanie czasu i ilości informacji trenującej wymaganej do uczenia się, określanie jakości wiedzy możliwej do nauczenia się, tworzenie jednolitego słownika teoretycznego
biologiczny – obliczeniowe modele procesów uczenia się występujących w naturalnych systemach biologicznych systemowy – opracowywanie algorytmów uczenia się oraz
konstruowanie, badanie i stosowanie wykorzystujących je systemów
uczących się
teoria prawdopodobieństwa teoria informacji
logika formalna statystyka
teoria sterowania - zadaniem regulatora jest oddziaływanie na sterowany obiekt lub proces w sposób zapewniający osiągnięcie lub utrzymanie jego pożądanego stanu
psychologia, np. uczenie się ze wzmocnieniem stosowane przez psychologów w eksperymentach nad uczeniem się zwierząt
neurofizjologia - nauka o systemie nerwowym ludzi i zwierząt, sieci
neuronowe
system inteligentny: system, który myśli jak człowiek, system który myśli racjonalnie, system, który zachowuje się jak człowiek, system, który zachowuje się racjonalnie
silna i słaba sztuczna inteligencja. Silna – sztuczne systemy myślące o poziomie intelektualnym zbliżonym do ludzkiego lub go
przewyższającym. Słaba sztuczna inteligencja – wykonywanie zadań przez systemy informatyczne, których złożoność powoduje, że wymagają one inteligencji, jeśli są wykonywane przez człowieka.
maszynowe uczenie się to dział słabej sztucznej inteligencji działy sztucznej inteligencji: wnioskowanie, przeszukiwanie, planowanie, uczenie się.
uczenie się wiedzy do wnioskowania, uczenie się heurystyk
uczenie się jako wnioskowanie. Inferencyjna teoria uczenia się. Uczenie się jest wynikiem łącznego zachodzenia dwóch procesów:
wnioskowania, które prowadzi do generowania wiedzy i
zapamiętywania. Wyróżniamy wnioskowanie indukcyjne i dedukcyjne.
P ∧ W |= K , gdzie P to zbiór przesłanek, W - wiedza wrodzona ucznia, K - zbiór konkluzji, symbol |= to logiczna konsekwencja (rachunek predykatów). K wynika z P i W w drodze logicznej
dedukcji. Traktując K jako informację trenującą, A P jako generowaną w procesie uczenia się wiedzę otrzymujemy wnioskowanie indukcyjne.
Uczenie się jako przeszukiwanie przestrzeni hipotez.
Wnioskowanie indukcyjne to stosowanie wstecz reguły logicznej konsekwencji
P ∧ W |= K , (1)
gdzie W to wiedza wrodzona ucznia, K to otrzymana przez niego informacja trenująca, P - wiedza generowana w wyniku uczenia się Zapisujemy T zamiast K , oraz h zamiast P, czyli T to informacja trenująca, h to hipoteza, którą uczeń otrzymuje w wyniku
wnioskowania indukcyjnego, czyli
h ∧ W |= T . (2)
dedukcja: Sokrates jest człowiekiem, Wszyscy ludzie są śmiertelni, Zatem Sokrates jest śmiertelny.
indukcja: Sokrates jest człowiekiem. ...? Zatem Sokrates jest śmiertelny.
Dla każdej pary faktów tworzymy regułę, która pozwala nam
wywnioskować drugi fakt z pierwszego i ją uogólniamy. Kiedy ta sama reguła zostanie wywnioskowana wielokrotnie, to możemy mieć
względną pewność, że jest ona prawdą.
indukowanie reguł z reguł, wszyscy filozofowie są ludźmi i są
śmiertelni, wnioskujemy, że wszyscy ludzie są śmiertelni
5 głównych szkół uczenia maszynowego
1
symboliści - przeciwieństwo dedukcji, algorytm indukcji
2
koneksjoniści - odtwarzanie mózgu, inspiracją jest neurologia i fizyka, algorytm propagacji wstecznej
3
ewolucjoniści - symulacja ewolucji w komputerach, posiłkowanie się genetyką i biologią ewolucyjną, programowanie genetyczne
4
uczenie bayesowskie - uczenie jest formą wnioskowania statystycznego, wnioskowanie bayesowskie
5
analogiści - uczenie się poprzez ekstrapolację z oceny podobieństwa,
posiłkowanie się psychologią i optymalizacją matematyczną, maszyny
wektorów wspierających
inteligencja może być sprowadzona do manipulowania symbolami potrzebna jest wiedza początkowa oprócz danych
jak włączyć wcześniejszą wiedzę do uczenia?
indukcja – jakiej wiedzy brakuje aby dokończyć dedukcję
uczenie się to coś co robi mózg inżynieria odwrotna mózgu
mózg uczy się regulując siłę połączeń między neuronami
należy rozpoznać, które połączenia odpowiadają za jakie błędy i je dostosowywać
propagacja wsteczna – porównanie danych wyjściowych z pożądanym
wynikiem i stopniowo zmiana połączeń w kolejnych warstwach
neuronów, tak aby zbliżyć dane wyjściowe do oczekiwanego wyniku
uczenie jest pochodną doboru naturalnego zbudowanie symulacji ewolucji w komputerze naśladowanie ewolucji organizmów żywych
nie tylko regulacja wartości parametrów jak w propagacji wstecznej, ale stworzenie struktury uczenia się (stworzenie mózgu), który taką regulację będzie doskonalił
programowanie genetyczne – ewolucja programów komputerowych
niepewność, każda wyuczona wiedza jest niepewna
radzenie sobie z informacjami pełnymi szumu, niepełnymi, a nawet sprzecznymi
wnioskowanie statystyczne
twierdzenie bayesa
rozpoznawanie podobieństw między sytuacjami i na tej podstawie wnioskowanie o innych podobieństwach między nimi
rozstrzyganie na ile podobne do siebie są dwie rzeczy maszyny wektorów wspierających
jakie doświadczenia zapamiętać i jak je połączyć, żeby przewidywać
nowe rzeczy
Czy zaprosić koleżankę na randkę? Czy się zgodzi? Dane historyczne:
Sytuacja dzień tygodnia rodzaj randki pogoda co jest w TV poszliśmy?
nr 1 dzień roboczy kolacja ciepło nic specjalnego nie
nr 2 weekend klub ciepło nic specjalnego tak
nr 3 weekend klub ciepło nic specjalnego tak
nr 4 weekend klub zimno dobry program nie
nr 5dzisiaj weekend klub zimno nic specjalnego pójdziemy?
Jak połączyć ludzi w pary?
mamy informacje z kwestionariuszy
mamy informacje o parach, które spotkały się na randce i wyniku tej randki
założenie: wszystkie dopasowania są dobre, następnie wybieramy te cechy danej osoby, które pozwolą na wykluczenie najwięcej złych dopasowań
przykład: dopasowanie jest dobre, kiedy on jest osobą otwartą przykład: dopasowanie jest dobre, kiedy on jest osobą otwartą i ona również jest osobą otwartą
przykład: Para jest dobrze dopasowana tylko wtedy, gdy oboje są
otwartymi osobami, on lubi psy, a ona nie jest miłośniczką kotów.
W jaki sposób uczyć się zbioru reguł? W jaki sposób tworzyć reguły dysjunktywne (alternatywa).
Przykład zbioru reguł: Jeśli podobały ci się Gwiezdne Wojny, to spodoba ci się Avatar. Jeśli podobały ci się Star Trek i Titanic, to spodoba ci się Avatar. Jeśli czytujesz książki science fiction, to spodoba ci się Avatar.
Jeżeli twojej karty kredytowej użyto wczoraj w Chinach, Kanadzie i Nigerii, to została skradziona. Jeżeli twojej karty kredytowej użyto dwa razy w dzień roboczy po godzinie 23:00, to została skradziona.
Jeżeli twojej karty kredytowej użyto do zakupu paliwa za złotówkę, to została skradziona.
W jaki sposób nauczyć się tych reguł? Wyszukujemy regułę, która wykluczy najwięcej złych dopasowań
po nauczeniu jednej reguły, znajdujemy drugą regułę ale bez tych
przykładów już wyuczonych, itd, aż reguły będą opisywały wszystkie
pozytywne przykłady
Dziedzina oznaczana jako X to zbiór obiektów, których dotyczy wiedza nabywana przez ucznia.
Każdy element dziedziny X jest nazywany przykładem.
Przykłady są zapisywane za pomocą atrybutów. Atrybut to dowolna funkcja określona na dziedzinie. Zbiór atrybutów to
A = {a
1, a
2, . . . , a
m}.
Przykład (Płaszczyzna z punktami)
Dla dziedziny X = R
2, przykłady to punkty na płaszczyźnie z dwoma atrybutami ciągłymi a
1: X → R i a
2: X → R będących współrzędnymi tych punktów.
Przykład (Łańcuchy binarne)
Dana jest dziedzina X = {0, 1}
mdla m ≥ 1. A więc mamy m atrybutów.
Każdy przykład jest m-elementowym łańcuchem binarnym.
Zakładamy, że na dziedzinie może być określony zbiór pojęć
oznaczany jako C
p. Pojęcie c ∈ C
pjest funkcją c : X → C , gdzie C to skończony zbiór kategorii. Dla pojęcia pojedynczego C = {0, 1}.
Przykład (Prostokąty na płaszczyźnie)
Dla dziedziny R
2mamy klasę pojęć C
preprezentowanych przez wszystkie prostokąty o bokach równoległych do osi układu współrzędnych. Każdy prostokąt jest określony przez lewy dolny i prawy górny wierzchołek (l
c, d
c) ∈ R
2i (p
c, g
c) ∈ R
2. Zbiór przykładów pozytywnych jest zdefiniowany jako zbiór wszystkich punktów należących do wnętrza lub brzegu prostokąta, czyli
X
c= {x ∈ X : l
c≤ a
1(x ) ≤ p
c∧ d
c≤ a
2(x ) ≤ g
c} (3)
Rysunek 7