Strojov uenie Machine Learning Michal Holub Prezentcia vznikla
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 � kniha Building Machine Learning Systems with Python (Willi Richert, Luis Pedro Coelho) � Microsoft, projekt Bing � Bioinformatik, spracovanie obrázkov bio vzoriek 2 Personalized Web Group @ FIIT STU 28. 10. 2014
Čo je to strojové učenie? � Učí stroje, ako majú vykonávať úlohy samostatne. 3 Personalized Web Group @ FIIT STU 28. 10. 2014
2 základné typy algoritmov � supervised learning algorithm � 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 4 Personalized Web Group @ FIIT STU 28. 10. 2014
2 základné typy algoritmov � supervised learning algorithm � 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 � unsupervised learning algorithm � učenie bez učiteľa � mám dáta a neviem, čo v nich chcem objaviť � zhlukovanie – rozdelenie do rôznych skupín 5 Personalized Web Group @ FIIT STU 28. 10. 2014
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 6 Personalized Web Group @ FIIT STU 28. 10. 2014
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 7 Personalized Web Group @ FIIT STU 28. 10. 2014
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 8 Personalized Web Group @ FIIT STU 28. 10. 2014
Predikcia cien bytov 140 135 130 125 120 [1000 €] 115 110 105 100 95 90 85 50 9 60 70 80 [m 2] Personalized Web Group @ FIIT STU 90 100 28. 10. 2014 110
Za koľko mám predať / kúpiť? 140 135 130 125 120 [1000 €] 115 110 105 100 95 90 85 € = ? 50 10 60 70 80 [m 2] Personalized Web Group @ FIIT STU 90 100 28. 10. 2014 110
Reálne dáta, použijem na trénovanie 140 135 130 125 120 [1000 €] 115 110 105 100 95 90 85 50 11 60 70 80 [m 2] Personalized Web Group @ FIIT STU 90 100 28. 10. 2014 110
Model = lineárna funkcia 140 135 130 125 120 [1000 €] 115 110 105 100 95 90 85 50 12 60 70 80 [m 2] Personalized Web Group @ FIIT STU 90 100 28. 10. 2014 110
Predikovaná cena je cca 113 000 € 140 135 130 125 120 [1000 €] 115 110 105 100 95 90 85 50 13 60 70 80 [m 2] Personalized Web Group @ FIIT STU 90 100 28. 10. 2014 110
Model = polynomiálna funkcia 140 135 130 125 120 [1000 €] 115 110 105 100 95 90 85 50 14 60 70 80 [m 2] Personalized Web Group @ FIIT STU 90 100 28. 10. 2014 110
Predikovaná cena je cca 120 000 € 140 135 130 125 120 [1000 €] 115 110 105 100 95 90 85 50 15 60 70 80 [m 2] Personalized Web Group @ FIIT STU 90 100 28. 10. 2014 110
Model = polynomiálna funkcia 140 135 130 125 120 [1000 €] 115 110 105 100 95 90 85 50 16 60 70 80 [m 2] Personalized Web Group @ FIIT STU 90 100 28. 10. 2014 110
Predikovaná cena je cca 99 000 € 140 135 130 125 120 [1000 €] 115 110 105 100 95 90 85 50 17 60 70 80 [m 2] Personalized Web Group @ FIIT STU 90 100 28. 10. 2014 110
Zvolím lineárnu funkciu 140 135 130 125 120 [1000 €] 115 110 105 100 95 90 85 50 18 60 70 80 [m 2] Personalized Web Group @ FIIT STU 90 100 28. 10. 2014 110
Základná schéma výpočtu � 19 Personalized Web Group @ FIIT STU 28. 10. 2014
Zvolím lineárnu funkciu 140 135 130 125 120 [1000 €] 115 110 105 100 95 90 85 50 20 60 70 80 [m 2] Personalized Web Group @ FIIT STU 90 100 28. 10. 2014 110
Nákladová funkcia � 21 Personalized Web Group @ FIIT STU 28. 10. 2014
Nákladová funkcia – priebeh 3 2. 5 2 1. 5 1 0. 5 22 Personalized Web Group @ FIIT STU 28. 10. 2014
Nákladová funkcia pre 2 parametre Image by Andrew Ng, Machine Learning @ Coursera 23 Personalized Web Group @ FIIT STU 28. 10. 2014
Algoritmus postupného klesania � 24 Personalized Web Group @ FIIT STU 28. 10. 2014
Nákladová funkcia – priebeh 3 2. 5 2 1. 5 1 0. 5 25 Personalized Web Group @ FIIT STU 28. 10. 2014
Nákladová funkcia – priebeh 3 2. 5 2 1. 5 1 0. 5 26 Personalized Web Group @ FIIT STU 28. 10. 2014
Nákladová funkcia – priebeh 3 2. 5 2 1. 5 1 0. 5 27 Personalized Web Group @ FIIT STU 28. 10. 2014
Nákladová funkcia – priebeh 3 2. 5 2 1. 5 1 0. 5 28 Personalized Web Group @ FIIT STU 28. 10. 2014
Nákladová funkcia – priebeh 3 2. 5 2 1. 5 1 0. 5 29 Personalized Web Group @ FIIT STU 28. 10. 2014
Nákladová funkcia – priebeh 3 2. 5 2 1. 5 1 0. 5 30 Personalized Web Group @ FIIT STU 28. 10. 2014
Výpočet � aktualizácia súčasne! musím použiť temp premenné 31 Personalized Web Group @ FIIT STU 28. 10. 2014
Výpočet � 32 Personalized Web Group @ FIIT STU 28. 10. 2014
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 33 Personalized Web Group @ FIIT STU 28. 10. 2014
Ďalšie možnosti � Viac atribútov � Iná hypotéza (polynomiálna funkcia) � Podtrénovanie vs pretrénovanie � Under / over fitting � Rozdelenie trénovacej množiny � 80 : 20, 70 : 30 � Trénovanie a testovanie 34 Personalized Web Group @ FIIT STU 28. 10. 2014
Existujú knižnice pre rôzne platformy � By Awesome Machine Learning � Python � Py. Brain - www. pybrain. org � Ruby � AI 4 R - www. ai 4 r. org � Java Apache Mahout - mahout. apache. org � Weka - www. cs. waikato. ac. nz/ml/weka � � C# � Accord. Machine. Learning - www. nuget. org/packages/Accord. Machine. Learning � C++ � Dlib - dlib. net � Octave, R 35 Personalized Web Group @ FIIT STU 28. 10. 2014
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 � cs 229. stanford. edu/materials. html � http: //work. caltech. edu/lectures. html � ocw. mit. edu/courses/electrical-engineering-andcomputer-science/6 -867 -machine-learning-fall 2006/lecture-notes � www. toptal. com/machine-learningtheory-an-introductory-primer � http: //ciml. info/ 36 Personalized Web Group @ FIIT STU 28. 10. 2014
- Slides: 36