O Machine Learning ostatnio mówią wszyscy. Co chwila pojawiają się doniesienia o kolejnych zastosowaniach. Firmy z branży IT, od gigantów po start-upy, chwalą się wykorzystaniem algorytmów uczenia maszynowego w swoich produktach. Forbes pisze: "Machine Learning Will Change Economics". Prasa biznesowa zamieszcza poradniki dla prezesów "How Machine Learning And Big Data Can Boost Your Business". Profesor Tadeusiewicz z AGH, zamęczany po raz kolejny przez dziennikarzy o to, czy już mamy się bać, że komputery będą mądrzejsze od nas, odpowiada, że "lepsza sztuczna inteligencja niż naturalna głupota". Wydaje się więc, że to całkiem dobry moment, żeby dowiedzieć się, jakie są technologiczne podstawy tej gorączki i jak to wygląda z punktu widzenia programisty. W czasie prezentacji postaram się opowiedzieć skąd się wzięło tak wielkie zainteresowanie, czym jest Machine Learning i jakie są jego związki z Big Data, omówię matematyczne podstawy na przykładowym algorytmie i wyjaśnię podstawowe pojęcia stosowane przez data scientistów, a na koniec pokażę jak zbudować model i wykorzystać go w aplikacji, używając do tego open-source'owej platformy TAP (Trusted Analytics Platform) i zintegrowanego z nią systemu do Machine Learningu - również open-source'owego - H2O.Prezentacja jest przeznaczona dla początkujących i będę zaczynać od samej definicji Machine Learningu , więc jeśli ktoś już wykonuje ten okrzyknięty "The Sexiest Job of the 21st Century" zawód, jakim jest data scientist, to może się lekko nudzić, przynajmniej w pierwszej części prezentacji.
3. Machine Learning Hype
Rosnąca ilość danych i potrzeba ich analizy i przetwarzania
Rosnąca moc obliczeniowa i coraz mniejszy koszt przetwarzania
danych:
• 40% spadek kosztu serwerów oraz
• 90% spadek kosztu storage’u w ciągu ostatniej dekady
• prawo Moore’a
11. Machine Learning Hype – AlphaGo
08.03.2016: AlphaGo wygrał 4:1 z Lee Se-dol, mistrzem świata w Go
12. Machine Learning Hype – AlphaGo, Tay
08.03.2016: AlphaGo wygrał 4:1 z Lee Se-dol, mistrzem świata w Go
23.03.2016: Microsoft uruchamia (i zamyka po 16h) Tay – bota Twitterowego,
który miał się uczyć z konwersacji z użytkownikami Twittera
14. Machine Learning - definicja
„Giving a computer ability to learn, without being explicitly
programmed.”
Arthur Lee Samuel, 1959
15. Machine Learning - definicja
„Giving a computer ability to learn, without being explicitly
programmed.”
Arthur Lee Samuel, 1959
Machine learning explores the study and construction of
algorithms that can learn from and make predictions on data.
16. Machine Learning - definicja
„Giving a computer ability to learn, without being explicitly
programmed.”
Arthur Lee Samuel, 1959
Machine learning explores the study and construction of
algorithms that can learn from and make predictions on data.
Such algorithms operate by building a model from example inputs
in order to make data-driven predictions or decisions expressed as
outputs, rather than following strictly static program instructions.
22. Machine Learning – czym jest model
To zależy od algorytmu:
• Wzór matematyczny (lub wiele wzorów: GLM)
• Drzewo decyzyjne (lub wiele drzew: RF, GBM)
• Sieć neuronowa (ANN)
• Wiele warstw sieci neuronowych (Deep Learning)
24. ID3 – problem do rozwiązania
Dane zebrane w ankiecie ulicznej:
Źródło: http://people.revoledu.com/kardi/tutorial/DecisionTree/index.html
25. ID3 – problem do rozwiązania
Jaki środek transportu wybierze osoba:
Gender Car ownership Travel cost ($)/km Income Level Transportation mode
Female 1 Cheap High ?
27. ID3 – budowanie drzewa
1. Wybieramy atrybut, który daje największy przyrost informacji
2. Wstawiamy go do drzewa jako kolejny wierzchołek
3. Usuwany atrybut ze zbioru danych treningowych
4. Wracamy do punktu 1
69. TAP – Trusted Analytics Platform
Trusted Analytics Platform (TAP) is open source software, optimized for
performance and security, that accelerates the creation of cloud-native
applications driven by Big Data Analytics.
70. TAP – Trusted Analytics Platform
Trusted Analytics Platform (TAP) is open source software, optimized for
performance and security, that accelerates the creation of cloud-native
applications driven by Big Data Analytics.
TAP makes it easier for developers and data scientists to collaborate by
providing a shared, flexible environment for advanced analytics in public and
private clouds.