Sunteți pe pagina 1din 22

Învățarea automată

(Machine Learning)
Curs 1
Obiective
• Originile și aplicațiile practice ale învățării automate
• Definirea și reprezentarea cunoștințelor de către computer
• Concepte de bază care diferențiază diversele abordări ale învățării
automate
Originile învățării automate
• Încă de la naștere suntem înconjurați de date.
• Primele baze de date au înregistrat informații din mediul observabil.
• Apariția senzorilor electronici a contribuit în mod suplimentar la
creșterea bogăției datelor înregistrate.
• Trăim înconjurați de baze de date și senzori, multe aspecte ale vieții
noastre sunt înregistrate.
• Ceea ce face unică această perioadă este ușurința cu care accesăm și
procesăm vastele cantități de date (Big Data).
Ce este învățarea automată?
• Domeniul de studiu interesat de dezvoltarea algoritmilor pentru
transformarea datelor în acțiuni inteligente este cunoscut sub numele
de învățare automată.
Date
disponibile

Putere de Metode
calcul statistice
Învățarea automată – uz
• Învățarea automată poate avea aplicații multiple:
• Predicția rezultatelor alegerilor/referendumurilor
• Identificarea și filtrarea mesajelor de spam
• Prevenirea activităților criminale
• Semaforizarea automată în funcție de condițiile de trafic
• Examinarea coșului de cumpărături
• Avioane și mașini autonome
• Publicitate direcționată/țintită pe client
• etc.
Învățarea automata – eșec
• În anumite situații modelele construite pot eșua deoarece nu iau în
calcul anumite variabile complexe cum ar fi, de exemplu,
comportamentul uman.
• Cele mai întâlnite motive includ:
• pre-procesare/pregătirea inadecvată a datelor
• validare inadecvată a modelului
• extrapolare nejustificată
• supra-antrenarea modelului cu datele existente.
Învățarea automată - abuz
• Câteva considerații etice:
• trebuie exercitată prudență atunci când se obțin sau se utilizează date pentru
a evita
• încălcarea legii
• violarea clauzelor contractuale sau de utilizare a datelor,
• abuzul de încredere
• violarea intimității clienților sau publicului larg
• ”don’t be evil” – motto-ul Google
• Faptul că se pot utiliza anumite date nu înseamnă întotdeauna că ar trebui
făcut acest lucru.
Cum funcționează învățarea?
• Indiferent dacă cel care învață este om sau mașină, procesul de
învățare de bază este similar:
• introducerea datelor – utilizează observarea, stocarea în memorie și
reamintirea pentru a furniza o bază de fapte pentru raționamentul următor
• abstractizarea – implică traducerea datelor într-o reprezentare mai largă
• generalizarea – utilizează datele abstractizate pentru a forma o bază pentru
acțiune

Abstractizare Generalizare
Date
Abstractizarea și reprezentarea cunoștințelor
• Atribuirea unei semnificații pentru date apare în procesul de
abstractizare.
• În timpul procesului de reprezentare a cunoștințelor, computerul
rezumă datele de intrare într-un model, o descriere explicită a
tiparelor structurate din date.
• Există numeroase tipuri de modele:
• ecuații
• diagrame (arbori sau grafuri)
• reguli dacă/atunci
• grupări de date cunoscute sub numele de roiuri sau clustere
Antrenarea
• Este procesul de asociere a unui anumit model cu un set de date.
• Nu este același lucru cu învățarea!
• Exprimă faptul că modelul de învățare automată este impus de
instructorul uman mașinii student, furnizând computerului o
structură pe care să o modeleze după aceea.
• După ce modelul a fost antrenat, datele au fost transformate într-o
formă abstractă care sumarizează informația inițială.

Observații Date Model


Generalizarea
• Procesul de învățare nu este complet până când cel care învață nu
este capabil să utilizeze cunoștințele abstracte pentru acțiuni viitoare.
• Termenul de generalizare descrie procesul transformării
cunoștințelor abstracte într-o formă care poate fi utilizată pentru
acțiune/decizie.
• Tradițional, generalizarea a fost considerată o căutare în mulțimea
modelelor (adică, a teoriilor) care au fost abstractizate în timpul
antrenării.
• Pentru accelerarea procesului de căutare se utilizează euristicile – aproximări
și procedee empirice, în general suboptimale.
Învățarea inductivă
• Constă în generalizarea tiparelor obținute în date pentru a crea
cunoștințe utile.
• Este utilizată în sarcini de învățare automată cum ar fi: clasificarea,
regresia, detecția tiparelor în date (eng. clustering).
• Este unul din cele mai studiate scenarii de învățare utilizat în învățarea
automată.
• Presupune furnizarea unor informații (sub forma unor date de
antrenare) din care se obțin cunoștințe (sub forma unor modele) prin
intermediul inferenței inductive.
Cunoștințele și inferența
• Cunoștințele
• reprezintă rezultatul așteptat al procesului de învățare
• scopul lor este inferența
• Inferența
• este procesul utilizării cunoștințelor disponibile pentru a obține noi cunoștințe
• poate fi de mai multe tipuri:
• inferență inductivă – utilizată în procesul de antrenare a modelului
• Inferență deductivă – utilizată în procesul de generalizare și analiză a noilor date
Inferența inductivă
• Este un proces de raționament de la particular la general:
• utilizează un număr de observații particulare/individuale pentru a genera
reguli/legi care se potrivesc observațiilor cunoscute
• pot fi utilizate pentru a prognoza observații viitoare, necunoscute la
momentul curent
• Are rolul de a deriva (obține) cunoștințe generale plecând de la
informațiile disponibile pentru antrenare (considerate cunoștințe
particulare/specifice).
• Nu conduce întotdeauna la concluzii adevărate deși se poate pleca de
la premise adevărate.
• se încearcă maximizarea cunoștințelor obținute din informații de antrenare
nu întotdeauna sigure și precise
Inferența deductivă
• În general, este infailibilă, cunoștințele sale fiind garantat satisfăcute
atunci când premisele sunt satisfăcute,
• În cazul învățării automate, nu poate garanta răspunsul corect la toate
întrebările întrucât se bazează pe cunoștințele induse pe baza datelor
care, în practică, nu sunt întotdeauna precise.
• Poate fi folosită atât în cazul unor premise generale cât și a unor
premise particulare/specifice.
• Poate genera atât concluzii generale cât și specifice.
Evaluarea procesului de învățare
• După ce un model a fost antrenat pe setul de date inițial, acesta este testat
pe un nou set de date și este judecat în ceea ce privește modul în care
caracterizarea oferită pentru setul de antrenare se generalizează pentru
noile date.
• Eșecul modelului de a generaliza perfect se datorează problemei
zgomotului sau a variațiilor inexplicabile din date:
• erori de măsurare datorate senzorilor impreciși care, uneori, adaugă sau scad puțin
din ceea ce citesc
• probleme cu raportarea datelor cum ar fi respondenți care dau răspunsuri aleatorii la
chestionare pentru a termina mai repede
• erori cauzate la înregistrarea datelor incluzând valori lipsă, nule, trunchiate,
codificate incorect sau cu valori corupte
• etc.
• Capacitatea modelelor de a gestiona zgomotul constituie o deosebire
importantă între acestea.
Pașii procesului de învățare automată
• Colectarea datelor
• Indiferent de sursă, datele vor trebui adunate într-un format electronic potrivit
pentru analiză
• Explorarea și pregătirea datelor (preprocesarea)
• calitatea oricărui proiect de învățare automată este bazată foarte mult pe calitatea
datelor utilizate
• acest pas din procesul de învățare automată tinde să necesite o mare parte de
intervenție umană (80% !!!)
• Antrenarea unui model
• Evaluarea performanței modelului
• se poate utiliza un set de date de test sau poate fi necesar să se dezvolte măsuri ale
performanței specifice aplicației destinate
• Îmbunătățirea performanței modelului
Structura datelor de intrare
• De obicei, se utilizează reprezentarea setului de date în format
matriceal:
• un exemplu (eșantion) este un singur exemplar, o singură instanță a
conceptului care trebuie învățat
• este o linie din matrice
• o proprietate este o caracteristică sau un atribut al unui exemplu, care ar
putea fi utilă pentru învățarea unui anumit concept
• este o coloană din matrice
• poate avea valori numerice, categoriale (nominale sau simbolice) sau ordinale
Tipuri de algoritmi de învățare automată
• Algoritmii de învățare automată pot fi împărțiți în două grupuri
principale:
• de învățare supravegheată (supervizată) care sunt utilizați pentru a construi
modele predictive
• un model predictiv este utilizat pentru o sarcină care implică predicția unei valori
utilizând alte valori din setul de date.
• algoritmul de învățare încearcă să descopere și să modeleze relațiile dintre proprietatea
țintă (caracteristica prognozată) și alte caracteristici
• de învățare nesupravegheată (nesupervizată) care sunt utilizați pentru a
construi modele descriptive
• un model descriptiv este utilizat pentru sarcini care vor beneficia de perspectiva
obținută prin rezumarea datelor în moduri noi și interesante
• spre deosebire de modelele predictive care prezic o țintă, într-un model descriptiv nicio
proprietate nu este mai importantă ca alta. De fapt, nu există nicio țintă de învățat.
Algoritmi de învățare supravegheată
• Pentru clasificare: • Pentru predicție numerică:
• Nearest Neighbor • Linear Regression
• Naive Bayes • Regression Trees
• Decision Trees • Model Trees
• Classification Rule • Neural Networks
• Neural Networks • Support Vector Machines
• Support Vector Machines
Algoritmi de învățare nesupravegheată
• Detecția de tipare
• Reguli de asociere
• Clustering
• K-means Clustering
Bibliografie
• Tom Mitchell, Machine Learning, McGraw-Hill, 1997
• Max Kuhn, Kjell Johnson, Applied Predictive Modeling, Springer, 2013
• Brett Lantz, Machine Learning with R, Packt Publishing, 2013
• Pawel Cichocz, Data Mining Algorthims Explained Using R, Wiley,
2015
• Michaels Berthold, David J. Hands (Eds.), Intelligent Data Analysis,
Springer, 2003
• ***, Manual R, https://cran.r-project.org/doc/manuals/r-release/R-
intro.html

S-ar putea să vă placă și