1 / 36

Strojové učenie Machine Learning

Strojové učenie Machine Learning. Michal Holub. Prezentácia vznikla na základe. online kurz Machine Learning ( Andrew Ng ) Profesor na univerzite Stanford Spoluzakladateľ Coursera.org Hlavný výskumník v Baidu (čínsky Google) https:// www.coursera.org/course/ml

Download Presentation

Strojové učenie Machine Learning

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Strojové učenieMachineLearning Michal Holub

  2. Prezentácia vznikla na základe • online kurz Machine Learning (Andrew Ng) • Profesor na univerzite Stanford • Spoluzakladateľ Coursera.org • Hlavný výskumník v Baidu (čínsky Google) • https://www.coursera.org/course/ml • kniha BuildingMachineLearning Systems withPython (WilliRichert, Luis Pedro Coelho) • Microsoft, projekt Bing • Bioinformatik, spracovanie obrázkov bio vzoriek Personalized Web Group @ FIIT STU

  3. Čo je to strojové učenie? • Učí stroje, ako majú vykonávať úlohy samostatne. Personalized Web Group @ FIIT STU

  4. 2 základné typy algoritmov • supervisedlearningalgorithm • učenie s učiteľom • mám vzorku dát a k nim správne hodnoty • tieto chcem neskôr predikovať nad novými dátami Personalized Web Group @ FIIT STU

  5. 2 základné typy algoritmov • supervisedlearningalgorithm • učenie s učiteľom • mám vzorku dát a k nim správne hodnoty • tieto chcem neskôr predikovať nad novými dátami • unsupervisedlearningalgorithm • učenie bez učiteľa • mám dáta a neviem, čo v nich chcem objaviť • zhlukovanie – rozdelenie do rôznych skupín Personalized Web Group @ FIIT STU

  6. Príklady učenia s učiteľom • Email JE / NIE JE spam • Rôzne metadáta emailu • Dĺžka, čas doručenia, štát / server odosielateľa, použité slová, ... • Na základe nich sa rozhodnem, či to je spam • Výstup z predvolenej množiny hodnôt (true alebo false) • Klasifikácia Personalized Web Group @ FIIT STU

  7. Príklady učenia s učiteľom • Email JE / NIE JE spam • Rôzne metadáta emailu • Dĺžka, čas doručenia, štát / server odosielateľa, použité slová, ... • Na základe nich sa rozhodnem, či to je spam • Výstup z predvolenej množiny hodnôt (true alebo false) • Klasifikácia • Predajca notebookov – koľko ks výrobkov predám? • Rôzne metadáta notebooku • Cena, veľkosť RAM, rýchlosť CPU, veľkosť disku, displej, ... • Výstupom je spojitá veličina (počet ks) • Regresia Personalized Web Group @ FIIT STU

  8. Príklady učenia bez učiteľa • Zoskupovanie ľudí podľa záujmov • Na sociálnej sieti publikujem správy, názory, záujmy, moje demografické info, ... • Vznikajú virtuálne skupiny podobných ľudí • Dopredu neviem, aké budú, nemám pre ne „štítok“ • Zhlukovanie Personalized Web Group @ FIIT STU

  9. Predikcia cien bytov 140 135 130 125 120 115 110 105 100 95 90 85 [1000 €] 50 60 70 80 90 100 110 [m2] Personalized Web Group @ FIIT STU

  10. Za koľko mám predať / kúpiť? 140 135 130 125 120 115 110 105 100 95 90 85 € = ? [1000 €] 50 60 70 80 90 100 110 [m2] Personalized Web Group @ FIIT STU

  11. Reálne dáta, použijem na trénovanie 140 135 130 125 120 115 110 105 100 95 90 85 [1000 €] 50 60 70 80 90 100 110 [m2] Personalized Web Group @ FIIT STU

  12. Model = lineárna funkcia 140 135 130 125 120 115 110 105 100 95 90 85 [1000 €] 50 60 70 80 90 100 110 [m2] Personalized Web Group @ FIIT STU

  13. Predikovaná cena je cca 113 000 € 140 135 130 125 120 115 110 105 100 95 90 85 [1000 €] 50 60 70 80 90 100 110 [m2] Personalized Web Group @ FIIT STU

  14. Model = polynomiálna funkcia 140 135 130 125 120 115 110 105 100 95 90 85 [1000 €] 50 60 70 80 90 100 110 [m2] Personalized Web Group @ FIIT STU

  15. Predikovaná cena je cca 120 000 € 140 135 130 125 120 115 110 105 100 95 90 85 [1000 €] 50 60 70 80 90 100 110 [m2] Personalized Web Group @ FIIT STU

  16. Model = polynomiálna funkcia 140 135 130 125 120 115 110 105 100 95 90 85 [1000 €] 50 60 70 80 90 100 110 [m2] Personalized Web Group @ FIIT STU

  17. Predikovaná cena je cca 99 000 € 140 135 130 125 120 115 110 105 100 95 90 85 [1000 €] 50 60 70 80 90 100 110 [m2] Personalized Web Group @ FIIT STU

  18. Zvolím lineárnu funkciu 140 135 130 125 120 115 110 105 100 95 90 85 [1000 €] 50 60 70 80 90 100 110 [m2] Personalized Web Group @ FIIT STU

  19. Základná schéma výpočtu • trénovacia množina (plocha bytu | cena) • zvolím model (lineárna funkcia) • algoritmus strojového učenia • predikuje h – hypotéza z trénovacích hodnôt • tak, aby bola chyba čo najmenšia – testovanie po každom kroku • chybu ohodnocuje „funkcia nákladov“ – costfunction Personalized Web Group @ FIIT STU

  20. Zvolím lineárnu funkciu 140 135 130 125 120 115 110 105 100 95 90 85 [1000 €] 50 60 70 80 90 100 110 [m2] Personalized Web Group @ FIIT STU

  21. Nákladová funkcia • m – počet testovacích príkladov (dvojica plocha – cena) • minimalizujem funkciu J • vtedy moja hypotéza najpresnejšie (ako je to možné v rámci lineárnej funkcie) opisuje trénovacie dáta Personalized Web Group @ FIIT STU

  22. Nákladová funkcia – priebeh 3 2.5 2 1.5 1 0.5 0 0.5 1 1.5 2 2.5 3 3.5 Personalized Web Group @ FIIT STU

  23. Nákladová funkcia pre 2 parametre Image by AndrewNg, MachineLearning@Coursera Personalized Web Group @ FIIT STU

  24. Algoritmus postupného klesania • Gradient descentalgorithm • Použijem ho na minimalizovanie funkcie J • Začni s nejakými hodnotami parametrov • Postupne ich mierne upravuj tak, aby J klesala • Opakuj, kým nedosiahneš minimum J Personalized Web Group @ FIIT STU

  25. Nákladová funkcia – priebeh 3 2.5 2 1.5 1 0.5 0 0.5 1 1.5 2 2.5 3 3.5 Personalized Web Group @ FIIT STU

  26. Nákladová funkcia – priebeh 3 2.5 2 1.5 1 0.5 0 0.5 1 1.5 2 2.5 3 3.5 Personalized Web Group @ FIIT STU

  27. Nákladová funkcia – priebeh 3 2.5 2 1.5 1 0.5 0 0.5 1 1.5 2 2.5 3 3.5 Personalized Web Group @ FIIT STU

  28. Nákladová funkcia – priebeh 3 2.5 2 1.5 1 0.5 0 0.5 1 1.5 2 2.5 3 3.5 Personalized Web Group @ FIIT STU

  29. Nákladová funkcia – priebeh 3 2.5 2 1.5 1 0.5 0 0.5 1 1.5 2 2.5 3 3.5 Personalized Web Group @ FIIT STU

  30. Nákladová funkcia – priebeh 3 2.5 2 1.5 1 0.5 0 0.5 1 1.5 2 2.5 3 3.5 Personalized Web Group @ FIIT STU

  31. Výpočet aktualizácia súčasne! musím použiť temp premenné Personalized Web Group @ FIIT STU

  32. Výpočet Personalized Web Group @ FIIT STU

  33. Rekapitulácia • Máme trénovaciu množinu vzoriek (plocha, cena) • Vybrali sme si lineárnu funkciu ako model • Presnosť (chybu) spočítame nákladovou funkciou J • Cieľom je minimalizovať J • Použijeme na to algoritmus postupného klesania • Zistíme optimálne parametre pre model (hypotézu) • Následne vieme pre novú vzorku (plocha) určiť vhodnú cenu Personalized Web Group @ FIIT STU

  34. Ďalšie možnosti • Viac atribútov • Iná hypotéza (polynomiálna funkcia) • Podtrénovanievs pretrénovanie • Under / over fitting • Rozdelenie trénovacej množiny • 80 : 20, 70 : 30 • Trénovanie a testovanie Personalized Web Group @ FIIT STU

  35. Existujú knižnice pre rôzne platformy • By Awesome Machine Learning • Python • PyBrain - www.pybrain.org • Ruby • AI4R - www.ai4r.org • Java • Apache Mahout - mahout.apache.org • Weka - www.cs.waikato.ac.nz/ml/weka • C# • Accord.MachineLearning - www.nuget.org/packages/Accord.MachineLearning • C++ • Dlib - dlib.net • Octave, R Personalized Web Group @ FIIT STU

  36. Užitočné odkazy • www.coursera.org/course/ml • cloud.google.com/prediction/ • azure.microsoft.com/en-us/services/machine-learning • github.com/josephmisiti/awesome-machine-learning • cs229.stanford.edu/materials.html • http://work.caltech.edu/lectures.html • ocw.mit.edu/courses/electrical-engineering-and-computer-science/6-867-machine-learning-fall-2006/lecture-notes • www.toptal.com/machine-learning/machine-learning-theory-an-introductory-primer • http://ciml.info/ Personalized Web Group @ FIIT STU

More Related