You are on page 1of 32

GTSz

Machine Learning módszerek


IBM GTSz
GTSz

Tartalom
• Gépi tanulás – definíció; divat, helye, feltételei
• Korreláció, kauzalitás, vizualizáció, magyarázat
• Példák és ellenpéldák
• Predikció
• Feltételei, fajtái, ellenpéldák
• Becslések fajtái. Becslők osztályozási szempontjai
• Accuracy (egy mérés és a valóság-bias), precision (mérések szórása – véletlen hiba,
variability), trueness (ISO 5725: mérések átlaga és a valóság – szisztematikus hiba)
• Gépi tanulás kategorizálása
• Felügyelet szerint
• Feladattípus szerint
• Általánosságok:
• A folyamat: tanítás-teszt-validálás
• adatok néha fontosabbak, mint a módszer (variance vs bias. High Variance, komplex modell esetén segít.
High bias esetén, egyszerű modellnél nem. Ekkor további feature-ök bevezetésével növelni kell a
dimenziószámot)
GTSz

Gépi tanulás – Machine learning (Arthur Samuel, IBM,1959)

A computer program is said to learn from experience E with


respect to some class of tasks T and performance measure P if
its performance at tasks in T, as measured by P, improves with
experience E. (Tom M. Mitchell, CMU)

E: adatok
P: “jó találat”, elfogadható
T: megmondja a tutit
GTSz

ML? AI? DL? STAT?


GTSz

TIPIKUS FELADATOK (DM, ML)


• DATA MINING: ÚJ ISMERETEK KINYERÉSE
• MACHINE LEARNING: MEGLÉVŐ ISMERETEK ALAPJÁN ÁLTALÁNOSÍTÁS,
“REPRODUKCIÓ”
• NAGYON SOK KÖZÖS TECHNIKA, STATISZTIKAI MÓDSZER

• LEÍRÁS: TÖMÖR JELLEMZÉSE A MEGTÖRTÉNT JELENSÉGNEK


• KÖVETKEZTETÉS: ISMERT ESETEK ALAPJÁN BECSLÜNK NEM ISMERT
JELLEMZŐKET
GTSz

ELEMZÉS TIPIKUS FOLYAMATA


• FELADAT ÉS PEREMFELTÉTELEK MEGHATÁROZÁSA
• ADATOK KÖRÉNEK FELMÉRÉSE (SOKASÁG,
MINTA)
• STRATÉGIA
• ADATGYŰJTÉS
• ELŐFELDOLGOZÁS ÉS TISZTÍTÁS
• hiányzó érték 50-70%
• formátumeltérés
• érvénytelen adat
• normalizálás
• standardizálás
• ELEMZÉS
• ÉRTELMEZÉS
GTSz

ADATAINK
ISMÉRVEK

MINŐSÉGI
MENNYISÉGI
(kategóriák;
(számok; mérhető)
csoportosítható)

NOMINÁLIS ORDINÁLIS INTERVALLUM ARÁNY

KÖZÉP- Módusz, medián, Módusz, medián,


Módusz Módusz, medián átlag
ÉRTÉK átlag

SZÓRÓDÁS Range, Variancia, Range, Variancia,


- IQR
Szórás, IQR Szórás, IQR
GTSz

KAPCSOLAT, FÜGGÉS
• FÜGGETLENSÉG
• IDŐJÁRÁS ÉS TESTMAGASSÁG
• FÜGGVÉNYSZERŰ KAPCSOLAT
• ÚT-IDŐ-SEBESSÉG
• SZTOCHASZTIKUS KAPCSOLAT
• TANULÁSRA FORDÍTOTT IDŐ, PIHENÉS ÉS ÉRDEMJEGY
GTSz

KORRELÁCIÓ, KAUZALITÁS
• EGYÜTTJÁRÁS
• KORRELÁCIÓ (MENNYISÉGI: -1.0…1.0 )
• ALAPTERÜLET – INGATLAN ÁRA
• ASSZOCIÁCIÓ (MINŐSÉGI), VEGYES KAPCSOLAT
• VÉGZETTSÉG – NEM – VÁRHATÓ ÉLETKOR
• KAUZALITÁS
• CUM HOC ERGO PROPTER HOC – FALLACY
• Minél gyorsabban forog a szélmalom, annál erősebben fúj a szél. Azok a gyerekek, akik többet néznek
tévét, erőszakosabbak. (Együttjárás nem ok-okozat)
• IDŐBELI SORRENDISÉG IS KELL OK-OKOZATHOZ
• POST HOC ERGO PROPTER HOC – FALLACY
• A büntetés javítja, a jutalmazás rontja a teljesítményt (Valós ok: statisztikai átlaghoz visszatérés)
• MAGYARÁZHATÓSÁG, ÁTLÁTHATÓSÁG
• Születésszám-gólya, távvezeték-zöld fű, a cipőben alvás fejfájással jár
• Rejtett háttértényező
GTSz

PREDIKCIÓ
• ELŐRE MEGMONDANI
• JÖVŐ (egyik ftl változó az idő) / ISMERETLEN JELEN
• A TUDOMÁNY TÖREKVÉSE
• Annyira megérteni, hogy tudjak előrejelzést adni
• HA ÉRTEM, BEJÓSLOM. HA BEJÓSLOM, ÉRTEM?
• Fekete doboz, megérzés, stb. – bejóslás megy, de nem látom át.
• INSIGHT a célja a DS-nek, működő előrejelző eszköz a ML-nek
GTSz

Vizualizáció
• Kapcsolatok felderítése, exploráció, próbálkozás, inspirálódunk. Gyakran ez az első lépés, ismereteket közöl a lehetséges
modell osztályokról
GTSz

A tanítás FOLYAMATA
Tanítás
Tanítási
adatok Modell
Adatok

Frissítés Teszt

Teszt adatok

• Sok adat jobb? 1. - NEM


• Garbage in – garbage out.
• Kurátor: előfeldolgozás
GTSz

ML módszerek osztályozása
TARTALOM KIVONAT FELADATTÍPUS SZERINT
TANÍTÁS SZERINT
SPAMSZŰRŐ
FELÜGYELT REGRESSZIÓ
(SUPERVISED) RÉSZVÉNYÁRFOLYAM-
ELŐREJELZÉS
FELÜGYELET NÉLKÜLI OSZTÁLYOZÁS
(UNSUPERVISED) ALPHAGO

MEGERŐSÍTÉSES KÉPFELISMERÉS
CSOPORTOSÍTÁS
(REINFORCEMENT) (MACSKA?)

FACEBOOK: DIMENZIÓ-
RÉSZBEN FELÜGYELT
HASONLÓK CSÖKKENTÉS
(SEMI-SUPERVISED)
CSOPORTJA
GTSz

ML módszerek osztályozása
FELADATTÍPUS SZERINT
TANÍTÁS SZERINT
RÉSZVÉNYÁRFOLYAM-
FELÜGYELT ELŐREJELZÉS
REGRESSZIÓ
(SUPERVISED)
SPAMSZŰRŐ
FELÜGYELET NÉLKÜLI KÉPFELISMERÉS OSZTÁLYOZÁS
(UNSUPERVISED) (MACSKA?)
FACEBOOK:
MEGERŐSÍTÉSES CSOPORTOSÍTÁS
HASONLÓK
(REINFORCEMENT)
CSOPORTJA

TARTALOM KIVONAT DIMENZIÓ-


RÉSZBEN FELÜGYELT CSÖKKENTÉS
(SEMI-SUPERVISED) ALPHAGO
GTSz

Felügyelt tanítás (supervised learning)


• Címkézett adatok (számok és kategóriák) állnak rendelkezésre. Ismert az elvárt
kimenet a tanítási adatokban.
• Feladatok: osztályozás (kategorikus ismérv a függő változó) / regresszió ((közel)
folytonos érték a függő változó)
GTSz

Felügyelet nélküli tanulás (unsupervised learning)


• Nem mondjuk meg (nem tudjuk), mi hova tartozik
• Bonyolultabb algoritmusok
• A gép maga fedezi fel, van-e összefüggés, csoportok vannak-e
• Feladatok:
• Klaszterezés (hasonlóságra, anomália-detektálásra, struktúra felfedezésére,
összefoglalásra alkalmas)
• Dimenziócsökkentés (feature kiválasztás) – fontos a komplexitás csökkentésére
• Sűrűségbecslés / valószínűség-eloszlás becslése (az adatokban valami struktúra van-e?)
• Market basket analysis (abból indul ki, hogy bizonyos termékeket együtt vásárolnak)
GTSz

Regresszió
• Folytonos eredmény (függő) változó Y, folytonos vagy kategorikus ftl (magyarázó) változók X1, X2,...
• Simple, Simple nonlinear X->Y / Multiple, multipe nonlinear X1, X2, ... -> Y egyváltozós, többváltozós
• Rengeteg regressziós módszer van:
• Ordinális, poisson, fast forest kvantilis, lineáris, polinomiális, lasso, stepwise, ridge, bayesian lineáris, neurális háló, decision
forest, boosted decision tree, KNN
• Egyszerű v. egyváltozós lin.: keressük a coefficient / intercept (meredekség és tengelymetszet) paramétereket
• QTX, ahol X: feature set, QT az együttható vektor (paramétervektor, súlyvektor) transzponáltja. A szorzat
eredménye egy hipersíkot ír le. Optimalizációs célunk olyan paraméterek megtalálása, amelyekkel egy
hibafüggvény (pl. a MSE) minimális.
• Módszerek a kiszámításra:
• 1. hagyományos mátrixalgebrával (normálegyenlet) – 10k sornál nagyobb adatoknál nagyon lassú, a mátrixinvertálás ~ O(n3),
és ha nem invertálható, fals értékek születnek
• 2. Optimalizációs módszerek bevetése, iteráció, pl. gradiens módszer (GD) optimumkeresésre
• Modell értelmezése: az egyes feature-ök relatív súlyát mutatja a súlyvektor
• Kérdések:
• hány X változót használjunk, és melyeket? Túl sok -> lassú + overfitting, nem általánosít jól.
• Kategorikus áltozók – „dummy” numerikus értékekkel bevihető a módszerbe (vigyázni kell arra, hogy minden kategóriában, pl.
város, végzettség, a kódolás ne legyen lineárisan összefüggő; pl, kategóriánként egy ismérvértéket nem kódolunk, az a „bázis”
0)
• Lineáris-e az összefüggés minden Xi-Y viszonylatban? Legalábbis vizuálisan ellenőrizni kell lineáris módszer használata előtt.
GTSz

Regresszió 2
• Modell kiértékelés
• Train/test ugyanazon adatokon?
• Tanítás után megnézzük a modell pontosságát a tanító adatok egy részhalmazával, kiszámítunk valami metrikát
(pl.átlagos abszolút hiba)
• Magas tanítási pontosság, de lehetséges alacsony „új adat” (out of sample) pontosság
• Train/test split
• Különválasztott, diszjunkt training / testing halmaz.
• Pontosabban látjuk az out-of-sample accuracyből hogy milyen jó a modell. Cserébe viszont erősen függ attól, hogyan
osztottuk ketté az adathalmazt; célszerű véletlen felosztást választani.
• K-fold cross validation
• K iterációt végzünk. Felszeleteljük az adathalmazt k részre. Mindig az adathalmaz 1/k-ad részével tesztelünk, a többivel
tanítunk, s kiértékeljük az out-of-sample accuracyt, majd az eredményeket átlagoljuk.
• Regresszió kiértékelés
• Training accuracy – magas=jó százalékban belövi a tanult adatokat. Overfittinghez vezethet, megtanulja a zajt, de nem jól
általánosít pont emiatt.
• Out-of-sample accuracy – mekkora részét lövi be jól a korábban nem látott adatoknak.
• MSE,MAE,RMSE. Error, hiba: milyen messze van a valódi adat a becsült értéktől. MAE: átlagos abszolút hiba. MSE:
átlagos négyzetes hiba. RMSE az MSE gyöke. RAE (relatív abszolút hiba) az átlagtól való eltéréshez viszonyítja a hibákat.
RSE az MSE és az átlagtól való négyzetes eltérések átlagának a hányadosa. R2 = 1- RSE (
• A választott metrika sok mindentől függ, pl. szokástól, szakértelemtől, a probléma természetétől, illetve ízléstől.
GTSz

Probléma: Curse of dimensionality (k ismérv, N értékváltozat)


• Ha van 3 különböző ismérvem (változóm; 3 dimenzió) és mindegyik 10
lehetséges ismérvértékkel rendelkezik, akkor a bemenet lehetséges előforduló
variációi (X1,X2,X3): 103 = 10*10*10: 1000 különböző érték.
• Ha van 10 változóm (10 dimenzió), mindegyik 3 lehetségs értékkel, akkor
ugyanez 310 = 59049
• A dimeziószámmal exponenciálisan nő a lehetőségek száma, amit „illene
lefedni” valahogy. A kiszámíthatóság, feldolgozhatóság drasztikusan hanyatlik.
• Pár példa
N:k Nk kN
10:3 1,000 59,049
20:3 8,000 3,486,784,401
50:2 2,500 1.1258999e+15
100:3 1,000,000 5.1537752e+47
GTSz

Módszerek
GTSz
GTSz

Felügyelt tanítás
Regresszió, osztályozás
GTSz

ML – DL (nem kell feature engineering)


GTSz

Lekéstünk?

ESZKÖZÖK
PLATFORMOK ALKALMAZÁS
KERETRENDSZEREK

ALAPKUTATÁS
ALGORITMUSOK
MÓDSZEREK
2019-
2020

https://medium.com/inside-inovo/your-ai-skills-are-worth-less-than-you-think-e4b5640adb4f
GTSz

GYAKORLATI LÉPÉSEK
GTSz

Meglepetések a statisztikából
• Minél több komponens van egy rendszerben, annál valószínűbb, hogy van
benne hibás alkatrész
• 21 embernél több egy társaságban – 50% fölötti az esélye, hogy van két egy
napon született
GTSz

ML folyamat (Data Science folyamat)


• Üzleti ... bla-bla (megéri-e, van-e pénz, van-e támogatás, van-e értelme foglalkozni vele stb.)
• Milyen típusú a probléma?
• Feladatkategória kiválasztása (regresszió, osztályozás, klaszterezés...)
• Kategórián belül milyen modellek jöhetnek szóba, melyiknek mik a trade-offjai?
• Elvárásaink a modellel kapcsolatban? (tanítási idő, ki fogja használni, milyen pontos legyen stb.)
• Modellcsomag kiválasztása
• Modellcsomag kiértékelési lépések megtervezése (melyikkel kezdjük, milyen kritériumokat használunk stb.)
• 1. Modell kijelölése
• Adatok beszerzése és tisztítása
• Tanítás
• Validálás / teszt kiértékelés
• Hibaelemzés és javítási lehetőségek
• Modell mérték meghatározása (pl. szintetikus benchmark)
• Ismétlés a többi modellre
• Benchmarkok összehasonlítása és értékelés
• Kiválasztott (szűkebb) modellek további sorsának meghatározása, esetleg a teljes újragondolás
• Bevezetés, integrálás az üzleti folyamatokba
GTSz

ML Pipeline
• Data preprocessing
• Feature selection – Feature Extraction
• Train/test split
• Algorithm Setup
• Model Fitting
• Parameter Tuning
• Prediction
• Test – Evaluation
• Model Export
GTSz

KINEK MEKKORA A ML-JE?


• ML: Algoritmusok, Adatok, Platform, Knowhow
• Algoritmus: 98%-ban nyílt, mindenkinek ugyanaz van
• Adatok: Google, Amazon, MS. Többiek: akvizícióval (IBM: Truven, Merge, stb)
• Platform: könnyen használható (Tensorflow, Caffe, Torch,Theano), üzleti minőség
(support garantált paraméterek: Azure, PowerAI, Bluemix)
• Knowhow: több ezer szereplő: statisztika, matematika, programozás, “adattudomány”,
rendszerintegráció

• Sok adat jobb? – 4. Egyébként igen.


GTSz

Scikit-learn (built on scipy, numpy, matplotlib)


• Preprocessing
• Model selection
• Regression
• Classification
• Clustering
• Dimensionality reduction
GTSz

Scikit-learn user guide fejezetek


• Supervised learning
• Linear models (ordinary mean squares, ridge – regularized, lasso – sparse coefficients, elastic-Net – l1- és l2-norma használatával regularizált, LeastAngleRegreSsion
– high dimensional data, Orthogonal Matching Pursuit, Bayesian, logistic regression – logit loglinear, maximumenthropy, SGD, Perceptron, PassiveAggressive,
RANdomSAmpleConsensus – probabilistic model, Huber regression, Polynomial regression) / Linear and Quadratic discriminant analysis / kernel ridge regression /
SVM / SGD / Nearest Neighbors / Gaussian processes / Naive Bayes / Decision trees / Ensemble methods (Bagging, Boosting, Random forest, Voting) / Multiclass
and multilabel – there are more than one class. One sample gets more labels. Multioutput regression. OnevsRest. Onevsone / Feature selection / Semi-supervised /
Neural Network models
• Unsupervised learning
• Gaussian mixture / Manifold learning (nonlinear dimensionality reduction - the dimensionality of data is just artificially high) / Clustering (K-means, Affinity
propagation, Mean shift, spectral, hierarchical) / Decomposing signals in components (PCA, LDA, Dictionary Learning, Factor Analysis, ICA, NMF) / Covariance
estimation / Anomaly detection (Novelty and outlier detection) / Density Estimation / Neural Network (Restricted Boltzmann machines)
• Model selection and evaluation
• Cross validation (k-fold, leave one out, leave p out, stratified k-fold, group k-fold,) / Hyperparameter tuning (grid search, model specific searches) / evaluation,
quantifying quality (scoring-common or your own; classification accuracy, precision, recall, confusion matrix, f-scores; regression explained variance, max error, r2,
MSE)/ Model persistence (no need to retrain: pickle saves model; export – you cannot recover the full estimator object) / plotting scores, validation curves
(validation curve, learning curve - https://scikit-learn.org/stable/modules/learning_curve.html)
• Inspection
• Dataset transformation
• Pipeline (chaining estimators, feature union, column transformer) / Feature extraction (text, img) / preprocessing (standardization, normalization, imputation,
discretization, categorical variable handling, nonlinear transformation) / Projection / Kernel approximation / Metrics
• Dataset loading utilities
• Loaders (small), fetchers (large), generators /Toy datasets (iris, boston house price, wine, breast cancer...) / Real world (Olivetti faces, faces in the wild, california
housing) / Generated / Loading other datasets (openml.org, scipy.io,),
• Computing with scikit-learn
• Scaling, performance, parallelism, config
GTSz

FORRÁSOK
• 1. COURSERA: ML, Stanford, Andrew Ng
• 2. Elements of Statistical Learning
• 3. Machine Learning A-Z
• https://developers.google.com/machine-learning/crash-course
• An Introduction to Statistical Learning with R

• Egy érdekes továbblépési lehetőség Raspberry PI felé:


https://www.tensorflow.org/install/source_rpi

You might also like