Upload
michal-iwanowski
View
531
Download
0
Embed Size (px)
Citation preview
Uczenie maszynowe a Big Data
Kim jesteśmy?Michał Iwanowski
● absolwent Politechniki Warszawskiej● 2.5 roku w IBM (Netezza):
○ hurtownie danych○ machine learning, analityka
predykcyjna○ zrównoleglanie algorytmów
● od lipca 2014 w CodiLime:○ machine learning w praktyce:
consulting, konkursy na Kaggle.com○ platforma DeepSense.io
● w tle:○ analiza statystyczna danych
(medycyna, biologia)
Robert Pohnke● absolwent Uniwersytetu Warszawskiego● wcześniej praca w IBM, UBS, Goldman
Sachs○ systemy rozproszone, machine
learning, tuning wysokowydajnych aplikacji
● od lipca 2014 w CodiLime:○ odpowiedzialny za rozwój biznesu oraz
pozyskiwanie nowych klientów○ platforma DeepSense.io
Agenda● O CodiLime● Machine learning:
○ wprowadzenie, historia○ rodzaje zagadnień○ przykłady realnych problemów○ bieżące trendy
● Big Data:○ kiedy dane są już duże?○ źródła danych, data lakes, IoT○ problem skalowalności
● Technologie:○ Hurtownie danych,○ Hadoop + Map-Reduce○ Spark
● Machine learning i Big Data w CodiLime:○ DeepSense.io○ kierunki rozwoju
O CodiLime• Firma założona ponad 3 lata temu przez wybitnych algorytmików z
Wydziału Matematyki, Informatyki i Mechaniki Uniwersytetu Warszawskiego
• Zwycięzcy i laureaci międzynardowych zawodów programistycznych – International Olympics in Informatics, TopCoder Open, Google Code Jam, ACM ICPC
• Doświadczenie w międzynarodowych firmach - Google, Facebook, Microsoft, IBM, nVidia, Goldman Sachs, UBS
• Większość klientów pochodzi z Doliny Krzemowej
Machine learning
Wprowadzenie
Geneza
machine learning
sztuczna inteligencja
statystykaalgorytmy klasyczne
metody heurystycznemodele biologiczne
Historia
● Fundamenty: algorytmy klasyczne, sztuczna inteligencja● Lata 80: systemy ekspertowe● Lata 90: sieci neuronowe● Machine learning a data mining
Przykład
Machine learning - zagadnienia
Uczenie z nadzorem Uczenie bez nadzoru
znane “prawdziwe” etykiety brak etykiet
uczenie w oparciu o dane trenujące odkrywanie nieznanych wzorców
zastosowanie: predykcja zastosowanie: eksploracja
przykładowe zadania: klasyfikacja, regresja przykładowe zadania: grupowanie (clustering), HMM
Uczenie z nadzorem
Klasyfikacja Regresja
Uczenie bez nadzoru
Grupowanie (clustering)
Trendy: Deep learning
● “Renesans” sieci neuronowych● Automatyczna inżynieria cech (uczenie się reprezentacji danych)● Złożone architektury sieci● Nowe algorytmy uczenia● Główne zastosowania:
○ widzenie maszynowe (rozpoznawanie obrazów),○ rozpoznawanie mowy.
Deep learning: rezultat Google’a
● 9 warstw sieci● 109 połączeń pomiędzy neuronami● 10 mln obrazków 200x200 pikseli (kadry z YouTube)● Klaster 1000 maszyn (16 000 rdzeni)● Sieć trenowana 3 dni
Deep learning: rezultat Google’a
Trendy: NLP
Przetwarzanie języka naturalnego:● automatyczne tłumaczenie,● ekstrakcja wiedzy -> bazy wiedzy,● analiza wydźwięku,● kategoryzacja dokumentów.
Techniki:● wektoryzacja (word2vec),● hashowanie cech, uczenie on-line (vowpal wabbit),● deep learning.
Big Data
Big Data - co to znaczy?
“Big Data is any data set too big to fit into Excel”
Big Data - co to znaczy?
● Dane niemożliwe (lub niepraktyczne) do przetwarzania na pojedynczej maszynie.
Źródła dużych danych
Internet of Things (IoT):“There will be nearly 26 billion devices on the Internet of Things by 2020” - Gartner Inc.:● środki transportu,● elektronika osobista,● inteligentny dom,● urządzenia przemysłowe,● bio-chipy?
Źródła dużych danych
Data Lake:
Data Lake
CRMs Logs Mobile Apps ...
Data Center Infrastructure
Social media
Big Data a skalowalność
● Wzrost rozmiaru pamięci operacyjnej, dysków oraz mocy obliczeniowej nie idzie w parze ze wzrostem objętości danych.
● Potrzeba skalowania poziomego (scale out).
+scaling up scaling out
Problemy w osiąganiu skalowalności
● Konieczność współdzielenia danych pomiędzy węzłami.● Narzut na komunikację sieciową.● Problem awaryjności węzłów: utrata zasobów, danych oraz wyników.● Konieczność opracowania równoległych wersji algorytmów.
Architektura shared-nothing
● Istnieje N węzłów mających osobny zestaw rdzeni i osobną pamięć.● Każdy z węzłów ma bezpośredni dostęp tylko do fragmentu danych.● Istnieje możliwość komunikacji i przesyłu danych, ale jest to kosztowne.
Technologie
Czego można użyć?
Apache Hadoop
Apache Tez
Apache Storm
Apache Spark
Apache Spark - wydajność
Machine learningw CodiLime
Machine learning w CodiLime
● Zawody na Kaggle.com - największej platformie konkursowej skupiającej data scientists z całego świata
● Projekt R&D oparte na Machine Learning oraz NLP dla klientów CodiLime● DeepSense.io - platforma pozwalająca na zastosowanie algorytmów z
ML, statystyki oraz NLP na Big Data
Kaggle• Największa społeczność skupiająca Data Scientists na świecie –
dziesiątki tysięcy naukowców z ponad 100 krajów, reprezentujących ponad 200 uniwersytetów
• Zespół CodiLime regularnie zajmuje wysokie (top 5) lokaty
Realny case: Kaggle.com
Problem: predykcja składu gleb w Afryce.Dane: wyniki spektrografii podczerwonej.Cel: obniżenie kosztu metod pomiarowych.
Problem regresji (wielokrotnej, wielowymiarowej)
Team CodiLime: 3 miejsce spośród > 1200 zespołów
Realny case: Kaggle.com
Zadanie:
K
PCaML
Realny case: Kaggle.com
Metody:● Inżynieria cech:
○ wygładzanie widma,○ detekcja maksimów,○ transformaty falkowe,
● Algorytmy:○ sieci neuronowe,○ regresja w oparciu o wektory wspierające (SVR),○ lasy losowe (RF) oraz boosting (GBM),
● Meta-algorytmy:○ autotuning modeli,○ modele złożone (łączenie modeli).
Pytania?
Dziękujemy za uwagę!