380 likes | 614 Views
Strojové učenie. Jožo Kováč 7SEGMENTS s.r.o. jozo.kovac@ 7segments.com. Agenda. Úplné základy strojového učenia Predtým ako sa pustíme do učenia ... Rozhodovacie strom y – CART, CHAID Boosting, Bagging, AdaBoost, Random Forrests Iné aplikácie strojového učenia
E N D
Strojové učenie Jožo Kováč 7SEGMENTS s.r.o. jozo.kovac@7segments.com
Agenda • Úplné základy strojového učenia • Predtým ako sa pustíme do učenia ... • Rozhodovacie stromy – CART, CHAID • Boosting, Bagging, AdaBoost, Random Forrests • Iné aplikácie strojového učenia • Hodnotenie zručnosti v hrách • ELO / True Skill / Multiplayer Matchmaking Rating • Product Recommendation systémy
Základy strojového učenia Algoritmy strojového učenia: • Učenie s učiteľom (supervised) • Učenie bez učiteľa (unsupervised) A taktiež: • Učenie odmenou a trestom (Reinforcement learning) • Recommendation systémy
Učenie s učiteľom • Klasifikácia • Zadeľovanie objektov do dvoch (binárna) alebo viacerých tried • Kúpi si Jano paušál v Orange? • {áno, nie} • Ktorý z troch paušálov si Jano kúpi? • {X, Y, Z, ..} • Regresia • Predikcia celočíselnej hodnoty • Koľko Jano zaplatí za svoj paušál budúci rok?( € ) • Koľko paušálov predá Orange budúci rok?( # )
Príklad: Cenynehnuteľností Predajná cena = b0 + b1 . Plocha + b2 * Izby + b3 * Poschodia Úloha A – určiť b0 až b3 tak, aby rovnica sedela na dáta ÚlohaB – vybrať minimálny set atribútov, ktoré postačujú pre kvalitnú predikciu ( nepoužiť všetky )
Predtým ako sa pustíme do učenia ... ... stanovíme pravidla hry • Vyhráva najpresnejší algoritmus. Ako merať presnosť? A: “ algoritmus má úspešnosť 80% “ B: “ algoritmus je o 400% lepší ako náhodný výber ” C: “ algoritmus dokonale zachytáva všetky pozitívne prípady ”
Predtým ako sa pustíme do učenia ... ... stanovíme pravidla hry Letisko v Iraku: 10 z 10 000 pasažierov sú teroristi. A: “ algoritmus má úspešnosť 80% “ Lenže pravidlo: nikto nie je terorista má 99,9%. B: “ algoritmus je o 400% lepší ako náhodný výber ” Náhodne je zo1000 zadržaných 1 terorista. Takto 4 z 1000. Stačí? C: “ algoritmus dokonale zachytáva všetky pozitívne prípady ” To aj pravidlo: každý je terorista? Nezavrieme radšej letisko?
Ešte k očakávaniam Tvrdá realita Študentovo očakávanie x2 x1 Strojové učenie pomáha riešiť ťažké problémy, riešenie nebýva dokonalé, len je lepšie ako existujúce prístupy.
Vyhodnocovanie kvality modelov 1 • Regresia • korelačný koeficient R^2 • Vyjadruje ako dobre sedí funkcia na dát, t.j. akú kvalitnú predikciu môžeme očakávať • chybová funkcia RSME (root square mean error) • Klasifikácia • Zle: Úspešnosť = správne / (správne + nesprávne) [%] • Lepšie: Presnosť a návratnosť Presnosť 0.5 0.5 1 Návratnosť true positives Presnosť = no. of predicted positive true positives Návratnosť = no. of actual positive
Ďalšie kritéria úspešnosti • Úspešnosť, presnosť, návratnosť • Lift • GINI index • Kolmogorov-Smirnov štatistika • Informačný zisk • Chybová funkcia (RMSE, ...) Prezradí viac
Vyhodnotenie kvality klasifikácie true positives Presnosť = no. of predicted positive true positives Návratnosť = no. of actual positive Chi kvadrát= Očakávané vs. Skutočné Chi test – je skutočnosť odlišná od očakávania? Čím je skutočnosť odlišnejšia, tým lepší model. p – pravdepodobnosť, že skutočnosť je odlišná od očakávania F1 score =
Tvorba modelov • Štatisticky prístup • Majme funkciu (predpokladaný “tvar” dát) a poďme nájsť, ako dobre sa dá napasovať na naše dáta • Lineárna regresia, polynomiálna, logistická .... • Data-miningový prístup • Nemáme žiadne predpoklady o tvare dát a učíme sa čisto z pozorovaní • Rozhodovacie stromy, neurónové siete, ... “TESTOVANIE HYPOTÉZ” “IDE O VÝSLEDKY, NIE O MODEL”
Logistická regresia ... je tiež jednoduchá Šanca = P (true) / P (false) samozrejme : P (false) = 1 - P(true) … pridajmelogaritmus … … ten ma lineárny vzťah k prediktorom ... ... odstránime logaritmuse^... ... vyjadríme pravdepodobnosť ... ... a máme výsledok:
CART – Classification And Regression Tress • Neparametrická metóda, samovalidačný (train/validation/test) • Automatický výber prediktorov, kritérium GINI • Binárny split • Strom rastie do hĺbky • Výsledky sú invariantné lineárnym transformáciám atribútov napr. x’=Log(x); nie je citlivý na extrémne hodnoty • Samoorezávanie (minimálna chyba na validačnej množine) • Nevýhody • Nestabilný, malá zmena v dátach – celkom iný strom • Rozdeľuje iba cez jeden atribút, oproti stromom, ktoré dokážu rozdeľovať cez kombináciu napr. (b0 + b1 X + b2 Y)
CHi-squared Automatic Interaction Detection • Rozdeľovacím kritérium: • ChiSquare pri klasifikácií • F-test pri regresii • Väčšina vlastností podobná s CART • Numerické atribúty diskretizuje do N (napr. 10) binov • Spája diskrétne hodnoty, ak sa spojením nestratí sila • Vytvára viac-cestné splity (vs. binárne) • Strom rastie do šírky, jednoduchšie na interpetáciu
Cesta za najlepším algoritmom • Bagging • Bootstrap aggregating– vytváranie nových prediktorov výberom s opakovaním • Boosting • Adaboost – v tom čase najlepší, ale konverguje? Nie vždy • Prvý model na celej populácií, potom upravuje váhy a trénuje ďalšie • RandomForest – Bagging + náhodný výber prediktorov
Random Forests Parametre: • M je celkový počet premenných v trénovacej množine • N je celkový počet prípadov v trénovacej množine • Náhodne sa vyberie m premenných z M; m=odmocnina(M) • Príklady do trénovacej množiny sa vyberú n-násobným výberom s opakovaním z N (bootstraping). Na zvyšnej1/3 prípadovsa otestuje chyba stromu. • Nechá sa narásť celýrozhodovací strom (neorezávať) Pri hodnotení nového príkladu sa vypočíta výsledok každého stromu a rozhodne sa hlasovaním jednotlivých stromov.
Random Forests • Jeden z najpresnejších algoritmov v súčasnosti • Dá sa použiť na veľmi veľké datasety • Nepotrebujú testovaciu množinu ani krížovú validáciu, samé pri učení vypočítavajú odhad skutočnej chyby • Nie je to black-box; významnosť atribútov sa vypočítava permutáciou hodnôt atribútu a otestovaním, ako veľmi sa zmenili výsledky • Náhrada chýbajúcich hodnôt: medián triedy, modus triedy • Nevýhodou je na prvý pohľad zložitosť a niekedy aj náchylnosť na preučenie
Správa od p. Breimana Ani najmúdrejší algoritmus nedokáže nahradiť ľudskú inteligenciu a nerozumie dátam tak, ako im rozumie človek. Berte výstupy náhodných stromov nie ako absolútnu pravdu, ale ako inteligentný počítačom generovaný odhad, ktorý môže napomôcť hlbšiemu porozumeniu. [Leo Breiman]
Nekontrolované učenie - Segmentácia • K-Means; • podla vzdialenosti • Hierarchické zhlukovanie • Dendogram • Pravdepodobnostné zhlukovanie (EM) • Použitie?
Recommendation systémy • Kolaboratívne filtrovanie Netflix1M$ cenazazlepšenie odporúčania filmov (2008) http://www.netflixprize.com/ Yahoo KDD cup – hodnoteniehudby (2011) http://kddcup.yahoo.com/ Radio.FM + Kaggle (2012) http://labrosa.ee.columbia.edu/millionsong/
Algoritmy pre kolaboratívne filtrovanie • vi,j= hlas používateľa ipre položku j • Ii = položky ktoré používateľ iuž ohodnotil • Priemerné hodnotenie ije • Odhadovaný hlas pre používateľa a je vážená suma Rozdiel priemeru a hodnotenia tejto položky priemerné hodnotenie používateľa a váha n-podobných používateľov normalizátor
Ako vybrať “podobných” používateľov • K-nearest neighbor • Pearson correlation coefficient • Cosine distance (from IR)
Player Skill Rating • Systémy pre hodnotenie schopností hráčov / tímov • Spravodlivo prideľujú body pri výhre / prehre • aj pokiaľ ide o súboje Dávida s Goliášom • Umožňujú • robiť rebríčky (ladder boards) • vytvárať vyrovnané zápasy pri zohľadnení zručností X hráčov • predikovať šance na výhru $10,000 prize to be awarded to the team that submits the most accurate predictions; http://www.kaggle.com/c/chessratings2
Triviálne systémy • Výhra +X bodov , prehra –Y • Viac zápasov, viac bodov, nevyjadruje priamo zručnosť • Príklad: tenis WTA, ATP, hokejová liga • Nevhodné pre balancovanie zápasov • Otázna schopnosť predikovať víťaza • (HC Košice prehrali s HK Nitra2:3, Košice vyhrali ligu s 110 bodmi, Nitra je posledná s 52)
ELO • známy zo šachu, vhodný pre 1 vs. 1 • o 200 bodov vyššie skóre dosiahne priemerne o 75% win-rate (0.75 bodu v šachu, 0prehra, 1 výhra, 0.5 remíza) • 5839 players had an active rating between 2200 and 2299, and are usually associated with the Candidate Master title. • 2998 players had an active rating between 2300 and 2399, and are usually associated with the FIDE Master title. • 1382 players had an active rating between 2400 and 2499, most of whom had either the International Master or the International Grandmastertitle. • 587 players had an active rating between 2500 and 2599, most of whom had the International Grandmaster title • 178 players had an active rating between 2600 and 2699, all but one of whom had the International Grandmaster title • 42 players had an active rating between 2700 and 2799 • 4 active players had a rating over 2800: Magnus Carlsen, Viswanathan Anand, Vladimir Kramnik and Levon Aronian. Ra – rating hráča A Ea – očakávanie Sa – výsledok K – násobiteľ zmeny Očakávané skóre hráča A – znova raz logistická regresia Nové body:
True Skill • Microsoft Research, použitý v X-Box Live u – priemerný skill hráča sigma – stupeň istoty, že naozaj má tento skill Rýchlejšie sa dostanem na skutočný skill a tam +- ostanem viac hier, vyššia istota, menšia sigma http://research.microsoft.com/en-us/projects/trueskill/details.aspx
MMR – Multiplayer Matchmaking Rating • Hra 10 hráčov v 2 teamoch, median skóre 1600, nováčik 1500 • Pred zápasom sa zráta šanca na výhru • Čím horšie šance, tým viac bodov sa dá získať • Autobalancing