38
Uczenie maszynowe a Big Data

Machine learning and Big Data (lecture in Polish)

Embed Size (px)

Citation preview

Page 1: Machine learning and Big Data (lecture in Polish)

Uczenie maszynowe a Big Data

Page 2: Machine learning and Big Data (lecture in Polish)

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

Page 3: Machine learning and Big Data (lecture in Polish)

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

Page 4: Machine learning and Big Data (lecture in Polish)

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

Page 5: Machine learning and Big Data (lecture in Polish)

Machine learning

Wprowadzenie

Page 6: Machine learning and Big Data (lecture in Polish)

Geneza

machine learning

sztuczna inteligencja

statystykaalgorytmy klasyczne

metody heurystycznemodele biologiczne

Page 7: Machine learning and Big Data (lecture in Polish)

Historia

● Fundamenty: algorytmy klasyczne, sztuczna inteligencja● Lata 80: systemy ekspertowe● Lata 90: sieci neuronowe● Machine learning a data mining

Page 8: Machine learning and Big Data (lecture in Polish)

Przykład

Page 9: Machine learning and Big Data (lecture in Polish)

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

Page 10: Machine learning and Big Data (lecture in Polish)

Uczenie z nadzorem

Klasyfikacja Regresja

Page 11: Machine learning and Big Data (lecture in Polish)

Uczenie bez nadzoru

Grupowanie (clustering)

Page 12: Machine learning and Big Data (lecture in Polish)

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.

Page 13: Machine learning and Big Data (lecture in Polish)

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

Page 14: Machine learning and Big Data (lecture in Polish)

Deep learning: rezultat Google’a

Page 15: Machine learning and Big Data (lecture in Polish)

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.

Page 16: Machine learning and Big Data (lecture in Polish)

Big Data

Page 17: Machine learning and Big Data (lecture in Polish)

Big Data - co to znaczy?

“Big Data is any data set too big to fit into Excel”

Page 18: Machine learning and Big Data (lecture in Polish)

Big Data - co to znaczy?

● Dane niemożliwe (lub niepraktyczne) do przetwarzania na pojedynczej maszynie.

Page 19: Machine learning and Big Data (lecture in Polish)

Ź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?

Page 20: Machine learning and Big Data (lecture in Polish)

Źródła dużych danych

Data Lake:

Data Lake

CRMs Logs Mobile Apps ...

Data Center Infrastructure

Social media

Page 21: Machine learning and Big Data (lecture in Polish)

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

Page 22: Machine learning and Big Data (lecture in Polish)

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.

Page 23: Machine learning and Big Data (lecture in Polish)

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.

Page 24: Machine learning and Big Data (lecture in Polish)

Technologie

Czego można użyć?

Page 25: Machine learning and Big Data (lecture in Polish)

Apache Hadoop

Page 26: Machine learning and Big Data (lecture in Polish)

Apache Tez

Page 27: Machine learning and Big Data (lecture in Polish)

Apache Storm

Page 28: Machine learning and Big Data (lecture in Polish)

Apache Spark

Page 29: Machine learning and Big Data (lecture in Polish)

Apache Spark - wydajność

Page 30: Machine learning and Big Data (lecture in Polish)

Machine learningw CodiLime

Page 31: Machine learning and Big Data (lecture in Polish)

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

Page 32: Machine learning and Big Data (lecture in Polish)

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

Page 33: Machine learning and Big Data (lecture in Polish)

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

Page 34: Machine learning and Big Data (lecture in Polish)

Realny case: Kaggle.com

Zadanie:

K

PCaML

Page 35: Machine learning and Big Data (lecture in Polish)

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).

Page 36: Machine learning and Big Data (lecture in Polish)
Page 37: Machine learning and Big Data (lecture in Polish)

Pytania?

Page 38: Machine learning and Big Data (lecture in Polish)

Dziękujemy za uwagę!