Click here to load reader
Upload
david-filip
View
838
Download
5
Embed Size (px)
Citation preview
Úvod do Strojového Učení
David Filip
Obsah Přednášky
• Úvod
o Vysvětlení pojmuo Motivační příklad
• Přehled typických úloh• Jak začít
o Prerekvizityo Implementaceo Knihy + odkazy
Zaměřeno na zodpovězení otázky “Proč?”, opomíjí “Jak?”
Strojové Učení
Metodologie pro získávání informací z dat. Mezní obor mezi umělou inteligencí a statistikou. Oblasti strojového učení: • Klasifikace• Seskupování• Vyhledávání• Doporučování• Hledání vzorů chování• a další (počítačové vidění, robotika)
Roboti (1/3)Potřebujeme najít pravidla pro rozeznání přátelských a nepřátelských robotů.
Roboti (2/3)
Tvar Hlavy Úsměv Ozdoba krku Tvar těla Předmět v ruce Přátelský?
Kruh ne kravata čtverec šavle ne
Čtverec ano motýlek čtverec nic ano
Kruh ne motýlek kruh šavle ano
Trojúhelník ne kravata čtverec balón ne
Kruh ano nic trojúhelník květina ne
Trojúhelník ne nic trojúhelník balón ano
Trojúhelník ano kravata kruh nic ne
Kruh ano kravata kruh nic ano
Roboti (3/3)
Něco Reálnějšího
Máme web a chceme optimalizovat landing page pro aktuálního uživatele. 1. Získáme a identifikujeme důležité (historické)
Referrer, page views, přečtení stránky About1. Vybudujeme rozhodovací strom2. Sledujeme chování návštšníka a nabízíme promotion
Promotion:
Zvýraznění nejpravděpodobnějšího plánu Nabídka slevy ...
Typické Úlohy
Typické Využití Strojového Učení
• Cílený marketing• Cross selling• Predikce odchodu zákazníků• Fraud detection• Credit risk• Spam filtering• Recommendation engines• Farmacie
Klasifikace
Určení třídy objektu:• Příklad s roboty (rozhodovací stromy)• Spam filter (naive Bayes)• Inteligentní výběr zajímavých článků
Clustering
Hledání skupin objektů v datech:• Google News• Výsledky průzkumů a anket• Informace o chování zákazníků• Seznam kupovaných výrobků
V omezeném rozsahu možno využít SQL, pro lepší výsledky
existují specializované algoritmy.
Filtering
Výběr potencionálně zajímavých objektů:• na základě shody obsahu• na základě podobnosti uživatelů
• Doporučování na Amazonu • Last.fm doporučení hudebních skupin• Netflix• News feed na Facebooku
Jak začít
Proč se věnovat strojovému učení
• Součastná řešení jsou tak naivní, že nedá práci vytvořit
lepší• I ve velmi malém týmu je možno vytvořit velké věci• Vysoká bariéra pro vstup nových hráčů• Nenasycenost trhu
Prerekvizity
• Znalost formálního zápisu a důkazů (!) • Matematika:
o Lineární algebrao Pravděpodobnosto Statistika
• Informatika:o Logika (stačí výroková a predikátová)o Analýza algoritmů, datové struktury, ... o Teorie grafů
Implementace
• Nutná znalost algoritmů• Většina práce je předzpracování dat a ladění parametrů
• Knihovny pro většinu jazyků:
o Ruby: ai4ro Python: PyML, SciPyo Java: Weka, Java-ML
• Nástroje:
o Free: Weka, R, Orange, ...o Placené: Matlab, SAS, SPSS, Mathematica, ...
Typické Problémy
Velké nebezpečí u lidí, kteří tomu rozumí "tak trochem". • Validita Modelu:
o jsou výsledky správné?o black-box metody
• Neintuitivnost většiny problémů
Knihy
Česky: Dobývání znalostí z databází
Odkazy
Anglicky: http://www.autonlab.org/tutorials/index.html http://www.cs.utexas.edu/~mooney/cs391L/ http://www.stanford.edu/class/cs229/materials.html
Česky: http://sorry.vse.cz/~berka/4IZ450/