CursIA PDF
CursIA PDF
(informatii generale)
Constanta-Nicoleta BODEA
Radu Ioan MOGOS
Sapt. 6 24.03.2020 Invatare automata (ML). Deep learning. Retele neuronale.Aplicatii bazate
pe retele neuronale
Sapt. 7 31.03.2020 ML in Natural Language Processing (NLP). Aplicatii R
Sapt. 8 07.04.2020 ML: Arbori de decizie, analiza cluster
14.04.2020 VACANTA PASTE
Sapt. 9 21.04.2020 ML: Aspecte metodologice privind clasificatorii (etape, aspecte ale utilizarii
datelor, evaluarea clasificatorilor)
Sapt. 10 28.04.2020 Reguli de productie si grafuri semantice. Ontologii. Semantic Web
Sapt. 11 05.05.2020 Autonomous Database Systems
Sapt. 12 12.05.2020 Automatizarea proceselor de afaceri
Sapt. 13 19.05.2020 LUCRARE DE CONTROL
Sapt. 14 26.05.2020 Sustinere proiecte
2
Evaluare curs
LUCRARE DE CONTROL: 19 mai 2020
Punctaj lucrare: maxim 5 puncte (cu punct din oficiu inclus)
Format: intrebari grila
Punctaj suplimentar: participarea la sesiunea stiintifica
studenteasca (vezi seminar).
3
Inteligenta Artificiala (1)
Constanta Bodea
Radu Mogos
2
Contextul IA
Etapele introducerii IT in business
4
Digitalizarea
Transformarea proceselor de afaceri, a functiilor de afaceri sau a
modelelor, utilizand tehnologiile digitale
Angajatii lucreaza intr-un mod diferit, (“digital”) folosind instrumente
digitale precum dispozitivele și tehnologiile mobile care faciliteaza
colaborarea socială și platformele de comunicare unificate,
Digitalizarea afacerii conduce la afaceri digitale.
Adoptarea continuă a tehnologiilor digitale în diferite activităti sociale.
5
Digitalizarea înseamnă utilizarea tehnologiilor digitale si a datelor
(digitizate si nativ digitale) pentru a crea valoare, pentru a îmbunătăți
afacerile, pentru a înlocui / transforma procesele de afaceri (nu doar
pentru a le digitiza) si pentru a crea un mediu pentru afaceri digitale, in
care informațiile sunt esentiale.
6
Transformare digitala (Digital
transformation, DT, DX)
Transformarea digitală este o schimbare culturală, organizatorică si
operatională a unei organizatii, industrii sau ecosistem printr-o integrare a
tehnologiilor, proceselor și competentelor digitale pe toate nivelurile si
functiile organizatiei.
7
Transformarea digitala reprezinta o schimbare profunda a proceselor,
competentelor si modelelor de afaceri si organizaționale, pentru a valorifica
pe deplin schimbările și oportunitătile unui amestec de tehnologii digitale si
impactul lor accelerat asupra societății într-un mod strategic și prioritar, cu
schimbări prezente și viitoare.
8
Schimbari digitale (digital disruptions)
Reprezinta schimbări în modul în care sunt utilizate tehnologiile, dar si
schimbări în comportamentul si asteptările angajatilor. Aceste
schimbări pot fi induse de noile tehnologii si de modul în care
tehnologiile sunt adoptate sau valorificate.
9
Impactul DX
10
Sursa: McKinsay Report 2019
11
Potential transformator al AI (AI as
disruptive technology)
Survey-uri globale pentru studiul impactului IA
Gartner, Inc. 2019 CIO Survey:
Organizațiile din toate industriile folosesc IA într-o varietate de aplicatii.
„În urmă cu patru ani, implementarea AI a fost rară, doar 10% dintre
respondentii sondajului au raportat că întreprinderile lor au implementat IA
sau vor face acest lucru în scurt timp. Pentru anul 2019, acest număr a fost
mai mare de 37%, o crestere de 270% in patru ani ”, spune Chris Howard,
vicepreședinte de cercetare la Gartner.
Gartner a adunat date de la peste 3.000 de respondenti CIO în 89 de țări
din industriile majore, reprezentând 15 trilioane de dolari în bugetele de
venituri și din sectorul public și 284 miliarde de dolari în cheltuieli pentru IT.
12
MIT Sloan Management Review 2019:
Un sondaj realizat pe 3.000 de directori, manageri si analisti sugerează
că o majoritate surprinzătoare a companiilor nu au adoptat încă
tehnologiile AI. Mai puțin de un sfert au adoptat tehnologii AI, în timp ce
încă 23% dintre cei chestionați au un anumit proiect pilot în derulare. În
special, 54% au declarat că nu au început să adopte tehnologii AI.
13
14
Oreilly Survey 2018 privind adoptarea IA si ML in companiile din Europa
15
16
17
Teradata Survey: Artificial Intelligence for Enterprises, 2017
18
19
20
21
22
23
24
Studiu de caz DX in domeniul bancar
(Oracle)
25
26
27
IA, in viata personala
Asistenti personali inteligenti (Siri, Google Now, Cortana etc.).
Video games (Middle Earth: Shadow of Mordor, Far Cry, Call of Duty etc.)
Masini inteligente (proiectul Google’s selfdriving car, Tesla’s autopilot”
feature)
Aparate casnice inteligente (case inteligente)
Online customer support (inclusiv pentru recomandari produse)
Aplicatii pentru asigurarea securitatii (supraveghere video cu recunoastere
faciala etc)
28
Aplicatii IA pentru educatie
programe inteligente de tutoring (tutori inteligenti);
automatizarea unor activitati didactice, precum evaluarea eseurilor si
acordare punctaje;
automatizarea unor servicii educationale (selectare cursuri optionale,
recomandarea scolilor/specializarilor etc.);
mesaje customizate la raspunsuri gresite la teste (feedback/instruire
personalizata).
29
Spre o economie DX
30
Ce este IA ?
Un domeniu al stiintei calculatoarelor
Obiectivul domenului IA: Construirea de artefacte (entitati artificiale)
inteligente, pentru:
Obtinerea de avantaje prin utilizarea acestora (relevanta practica);
Intelegerea mai buna a inteligentei naturale, in special a celei umane
(relevanta teoretica).
31
O scurta istorie a IA
Fundamentele IA (radacinile)
Stiinta calculatoarelor
Filozofie
Logica
Psihologie/stiinte cognitive
Biologie, neurologie, genetica
32
… si totusi conceptul de robot umanoid apare frecvent in literatura, chiar inainte
de secolul 19.
33
… si totusi nici pana in prezent acest test
nu a fost trecut
34
In 1956 este semnat certificatul de nastere al IA, ca domeniu stiintific.
35
O problema mai complicata reclama un algoritm mai complicat. … si totusi GPS
a fost un esec, din punct de vedere al performantelor!
36
37
38
39
40
Ce este o entitate inteligenta?
Cognitive
A gandi Logica
Science
41
Ce studiaza IA?
Comportamentul inteligent (CI) si posibilitatile de emulare a acestuia la
masini.
CI este asociat efectuarii unor task-uri dificile (pentru om sau dificil de
automatizat).
CI presupune detinerea si utilizarea de cunostinte. Sisteme bazate pe
cunostinte
2
2
1
(Sursa: Ertel W., Introduction in Artificial Intelligence, Springer Verlag, 2011)
42
Arhitecturi bazate pe agenti
Un agentul software rational (inteligent) reprezinta un prototip de sistem
bazat pe cunostinte.
43
Definitia agentului
Un agent reprezinta o entitate care percepe mediul si actioneaza asupra acestuia.
perceptii
Mediu
Agent
actiuni
Caracteristicile mediului:
Accesibil-inaccesibil
Deterministic-nedeterministic
Episodic-nonepisodic
Static-dinamic
Discret-continuu
44
Agent rational (inteligent)
Reprezinta un agent care actioneaza cu succes.
Masurarea performantei pentru definirea gradului de succes;
Informatia detinuta despre mediu (secventa perceptiilor);
Cunostintele detinute;
Actiunile pe care le poate intreprinde.
45
Definitia agentului inteligent
Reprezinta agentul care actioneaza astfel incat sa-si maximizeze performanta, pe
baza informatiilor despre mediu dobandite prin perceptii si a cunostintelor
detinute anterior.
Programul agent:
O functie (un program) prin care se realizeaza trecerea de la perceptii la
actiuni.
Functia presupune existenta unei arhitecturi de implementare (hardware si
software).
46
Structura generica a unui program agent
47
Structura generica a programului de simulare a mediul
agentului
repeat
for each agent in agenti do
PERCEPT[agent] GET-PERCEPT(agent, stare)
end
for each agent in agenti do
ACTION[agent] PROGRAM[agent](PERCEPT[agent])
end
stare UPDATE-EN(actiuni, agenti, stare)
until conditie-terminare(stare)
48
Arhitectura unui agent
Agent
Senzori
M
perceptii
E
D
Memorie (BC)
I
Alegere actiuni
U
actiuni
Efectori
49
Arhitectura unui agent care invata
Standard de performanta
Critic Senzori
M
feedback Modificari alegere perceptii
E
Scopurile invatarii U
actiuni
Generator de
problema Efectori
50
Evolutia metodelor de IA
2
Cuprins
1. Conceptul de agent
II. Clasificare agenti
III. Proprietati ale agentilor
IV. Sisteme multi-agent (SMA)
V. Tehnici de coordonare ale SMA
VI. Tehnologia orientata agent (TOA) vs. tehnologia
orientata obiect (TOO)
VII. Aplicabilitate SMA si rolul lor in cadrul IA
3
Conceptul de agent inteligent
Agentul inteligent (raţional) - agent care acţionează în scopul obţinerii
succesului.
4
Clasificarea agenţilor inteligenţi
Agenti simpli
Agenti care memoreaza evolutia mediului
Agenti bazati de scop
Agenti bazati pe utilitate
5
Clasificarea agenţilor inteligenţi –
Agenti simpli (1)
Agentul simplu – agent
Agent
care identifica o simplu Senzori
regulă care se
potriveşte situaţiei în Starea
care se află (după cum prezentă a
este definită de mediului
Modul
comportament
Intrari Iesiri
Modul
Senzori comportament
Actiuni
Modul
comportament
7
Clasificarea agenţilor inteligenţi –
Agenți simpli (3)
Avantaje:
- timpul scăzut de răspuns
- simplitatea remarcabilă de realizare
- toleranţa greşelilor.
Comportament
- restrictii: vector
+ executa() : void
Set de Agent
comportamente
- sc: Set de comportamente
- elemente: vector - m: Mediu
+ getAction() : void + run() : void
Stare Actiune
- tip stare: int + actioneaza() : void
+ primeste intrare() : void
8
Clasificarea agenților inteligenți –
Agenți simpli (3)
Avantaje:
timp scazut de raspuns
timp de raspuns mic, pentru ca nu analizeaza date primite prin intermediul
senzorilor proprii de intrare
timpul de raspuns este in functie de viteza primirii de catre agent a datelor
de intrare
simplitate de realizare
datorita absentei elementelor de invatare si rationament
toleranta greselilor
modulele prezente lucreaza in paralel, analizand intrarile si iesirile
dc. un modul functioneaza gresit, nu afecteaza comportamentul celorlelte
module
9
Clasificarea agenţilor inteligenţi –
Agenti care memorează evoluţia mediului
Ex: daca temperatura scade, agentul va face ca masina sa mearga mai incet.
10
Clasificarea agenţilor inteligenţi –
Agenţi bazaţi pe scop (1)
• Agentul are nevoie de:
- informatii ce descriu starea Senzori
13
Clasificarea agenţilor inteligenţi –
Agenti bazaţi pe utilitate (2)
- Stare Senzori
Functia de utilitate FU (măsură a
performanţei): Starea prezentă a mediului
- permite o comparaţie între stările
mediului în raport cu cât de “fericit” l- - Modul în
care mediul
ar face acestea pe agent dacă ar fi
evoluează
atinse Consecinţă acţiune A
- Acţiunile Mediu
mele
Cat de mult ma va
FU poate fi transpusă într-un Utilitate avantajeaza aceasta stare
set de scopuri =>
deciziile luate de ag. bazat pe Ce acţiune să întreprind
scopuri sunt asemanatoare cu acum
cele luate de cel bazat pe
utilitate.
Agent Afectori
14
Clasificarea agenţilor inteligenţi –
Agenti bazaţi pe utilitate (3)
Cand agentii bazati pe scop nu dau rezultate foarte bune,
se poate realiza o specificare completa a FU ce pp.
realizarea unui plan ce permite luarea unor decizii
rationale
15
Proprietati ale agentilor (1)
autonomie – abilitatea unui agent de a opera fara a-i fi impuse instructiuni din exterior
reactivitatea – mediul in care agentul exista si actioneaza este supus unor schimbari
rapide in mod continuu=>este solicitata mult capacitatea agentului de raspuns la stimuli
externi
persistenţa – viata unui agent este de obicei mai lunga decat duratele sarcinilor pe care
trebuie sa le indeplineasca
ag. îşi încheie activitatea după ce a realizat diversele interacţiuni solicitate ce i-au fost
atribuite;
ag. îşi încheie activitatea după ce resursele interne asignate s-au epuizat;
16
Proprietati ale agentilor (2)
mobilitatea – agentul are inclusa proprietatea de a se misca intre
partenerii cu care comunica. El este capabil sa comunice cu un utilizator si
cu un alt agent fara sa faca nicio diferenta.
Bază de date cu Bază de date cu Bază de date cu Bază de date cu Bază de date cu Bază de date cu
mesaje mesaje mesaje mesaje mesaje mesaje
Verificare listă
pentru agentul pentru agentul pentru agentul pentru agentul pentru agentul pentru agentul
mesaje
destinatar destinatar destinatar destinatar destinatar destinatar
17
Proprietati ale agentilor (3)
abilitatea socială (ACL) – proprietatea de a comunica cu alti agenti,
chiar si de a coopera cu ei pentru a atinge scopurile urmarite prin
intermediul schimbului de informatii si cunostinte.
Caracteristica dezvoltata prin intermediul Limbajului comunicarii intre
agenti (Agent Communication Language – ACL)
increderea – schimbul de informatii intr-un SMA nu este sub controlul
direct al unei entitati superioare care poate verifica corectitudinea
raspunsurilor oferite de agenti. De aceea, se presupune ca raspunsurile
oferite de acestia sunt coerecte si se pot lua decizii pe baza lor.
18
Sisteme multiagent (SMA) (1)
19
Rolul SMA in IA
SMA sunt utilizate in cadrul IA cu scopul de a analiza si
oferi solutii la probleme cu grad ridicat de complexitate
din cadrul IA.
Directii de cercetare in IA utilizand SMA:
Realizarea de software orientat agent
Crearea de agenti de tipul BDI (beliefs, desires, and intentions)
Aspecte legate de organizare, cooperare si coordonare
Comunicare
Negocierea si mediere
Pentru invatare
Toleranta erorilor
Roboti
20 Etc.
Sisteme multiagent - avantaje
toleranţa la greşeli
sisteme autoconfigurabile
costuri reduse atât din punct de vedere al hard-ului cât şi
al software-ului
rezolvare eficientă a problemelor
sisteme flexibile
comunicare redusă între module
21
Sisteme multiagent - dezavantaje
identificarea problemelor de rezolvat, descrierea,
descompunerea şi alocarea lor
alegerea metodologiei necesare care va fi folosita
sintetizarea răspunsului oferit de grupul de agenţi
alegerea modului de comunicare, coordonare şi
interoperabilitate între agenţi;
asigurarea corectitudinii în luarea deciziilor de către agent;
modul de detectare, şi reconciliere a conflictelor apărute între
agenţi;
construirea SMA astfel încât să simuleze cât mai bine
realitatea;
22
Tehnici de coordonare in SMA (1)
Motivare:
Corelaţia dintre acţiunile agenţilor
Prevenirea haosului
Eficienţa
Constrângerile globale
Distribuirea informaţiilor şi a resurselor
23
Tehnici de coordonare in SMA (3)
24
Tehnici de coordonare in SMA (2)
25
Tehnologia orientată agent (TOA) vs.
tehnologia orientată obiect (TOO) (1)
Criteriu Agent Obiect
Funcţionalitatea Agenţii sunt consideraţi a fi mai funcţionali (inteligenţi) decât obiectele.
integrată Agenţii includ de obicei elemente de raţiune complexă.
(inteligenţa)
Autonomie Da Nu
Moştenire Moştenirea este mai puţin întâlnită la agenţi. Moştenirea este foarte des
întâlnită la obiecte.
Componenţă Descompunerea structurii unui agent conduce la Mai multe obiecte pot
crearea de obiecte cum ar fi: constitui structura unui
- numele agentului, agent.
- modul de comunicare al agentului,
- componentele limbajului de comunicare
(codarea mesajului, ontologia, elementele de
vocabular),
- politica de trimitere şi primire mesaje.
26
Tehnologia orientată agent (TOA) vs.
tehnologia orientată obiect (TOO) (2)
Greu de realizat o delimitare intre agenti si obiecte
“Ce relatie exista intre un agent si un obiect?” trebuie
raspuns la:
Cat de usor se pot adauga componente unui obiect pentru a
deveni agent?
Daca agentii incep sa devina utili si la scara larga, cat de rapida
va fi tranzitia de la sistemele bazate pe TOO la sistemele bazate
pe TOA?
Cum se va solutiona situatia actuala in care majoritatea SMA
sunt inchise, agentii comunicand doar intre ei, in cadrul
sistemului? Cum se va realiza interconectarea acestor sisteme?
27
Aplicabilitate SMA (1)
Companiei:
Documente inteligente
Managementul rolurilor şi personalului (de exemplu atribuirea dinamică de roluri, atribuţii
şi resurse personalului)
Controlul proceselor
Clădiri inteligente (de exemplu securitate şi climatizare inteligentă)
Creşterea plantelor
Roboţi
Agenţi personali
Filtre pentru email şi ştiri
Managementul planificării programului personal
Secretară personală
28
Aplicabilitate SMA (2)
Task-uri pentru managementul informatiei ( in domenii ca medicina, educatie,
securitate nationala, turism, afaceri imobiliare, cautarea unui loc de munca, etc.).
Cautarea de informatii – cantitate mare de informatii disponibile pe o
retea de intranet/internet restrange capacitatea utilizatorului de a prelua in
mod eficient informatiile utile.
Filtrarea de informatii – agentii de filtrare incearca sa se ocupe de
problema excesului de informatii prin limitarea sau sortarea informatiiloe care
ajung la un utilizator
Monitorizarea informatiei – multe sarcini sunt dependente de notificarea
in timp util a modificarilor aparute in sursele de date. De exemplu, un
planificator pentru monitorizarea logisticii pentru o deplasare a unor
exhipamente de la o locatie la alta
Medierea surselor de date - pentru gestionarea datelor sunt folosite o
multime de sisteme care, de cele mai multe ori, nu comunica intre ele. Agentii
pot fi utilzati ca mediatori intre aceste surse de date, oferind mecanisme care
sa le permita sa interopereze.
29
Domenii de aplicare SMA
operaţii în cadrul reţelelor de comunicaţii
analiză a datelor de tip data-mining
e-business
finanţe şi bănci (de exemplu bănci virtuale)
comerţ
media
e-government
producţie
dispozitive mobile
obiecte inteligente
acvarii virtuale
animale de casă virtuale, etc.
30
Exercitiu
Oferiti un exemplu de agent/sistem multiagent care ar
putea realiza o activitate pe care o desfasurati la servici
sau in viata de zi cu zi, cu scopul de a va usura munca.
Indicatie: se vor specifica:
Intrarile
Iesirile
Scopul/Scopurile
Task-urile
Informatiile folosite (faptele)
31
Inteligenta artificiala (3)
1
Masterat Informatica economica, CSIE
Curs 3: Metodologii de realizare a
sistemelor multi-agent
Folosite pentru:
- a modela mediul în care rulează sistemul
- realizarea sistemului în sine
Concepte (3)
Aspecte vizate de MOA:
descriere modele de interacţiune
descriere modele de cooperare care simulează dependenţele
dintre agenţi şi rolurile pe care aceştia le au în sistem
grad de abstractizare suficient de mare pentru realizarea
modelelor
trebuie să aibă în centru:
agenţii,
rolurile pe care aceştia le au în sistemele realizate
interacţiunea dintre agenţi bazată pe protocoalele determinate de
rolurile acestora.
Provenienţa MOA
Origini MOA:
domeniul inteligenţei artificiale
MAS-CommonKADS (KADS - Knowledge Acquisition and
Documentation Structuring)
metodologiile orientate obiect
MaSE (Multiagent Systems Engineering) care preia modul de folosire al
cunoştinţelor şi informaţiilor de la metodologia AAII (Australian
Artificial Intelligence Institute)
AAII a fost influenţată de metodologia or. ob. OMT (Object Modeling
Technique).
10
Clasificarea MOA (4)
III. Dpdv al folosirii conceptului de “rol” în dezvoltarea SMA:
1. GAIA Identificarea
cerinţelor
Cerinţe
implementare.
Proiectarea
Modelul agentului Modelul serviciilor
detaliilor
Ex de sistem: sistemul SmArt (Semantic
Agreement) realizeaza un acord automat Implementare
folosind ontologii şi tehnologia agent.
MOA pentru modelarea SMA (2)
2. TROPOS
una dintre cele mai complete MOA
17
MOA pentru modelarea SMA (5)
Alte metodologii:
PROMETHEUS
PASSI (Process for Agent Societies Specification and
Implementation)
ADELFE
MASE (Multiagent Systems Engineering )
RAP (Radical Agent-Oriented Process)
MESSAGE
INGENIAS
MOA pentru modelarea SMA (6)
Cerinţe iniţiale
Specificatii
Actiuni si
Scenarii Obiective Functionalitati Modelul sistemului de cerinţe
perceptii Testarea
Descrierea cerinţelor Identificarea societăţii de
sistemului agenţilor agenţi
Specificarea Identificarea
Corelare date sarcinilor rolurilor
si cunostinte
Diagrame de
interactiune agent
Modelul societăţii de agenţi
Proiectarea
Modelul de desfăşurare
arhitecturii
Descrierea Descrierea
Descrierea ontologiei protocolului Realizarea
agentului configurării
Descrierea
Privire de rolurilor
Protocoale de ansamblu a
interactiune sistemului
Definirea structurii
comportamentului
Procese ansamblu a ansamblu a agenţilor agenţilor
aptitudinilor agentului
Prometheus PASSI
(fol. pt. dezv. SMA pe platfome comerciale) (foloseste modele in cascada)
5.Analiză comparativă a principalelor MOA (1)-
Criterii
Pentru procese - descriu aplicabilitatea metodologiei, fazele procesului său de dezvoltare şi
dezvoltarea abordării urmărite de metodologie.
Pentru modelare (şi concepte) - evaluează diversele aspecte ale modelelor, conceptelor
oferite de metodologie, cât şi caracteristicile agenţilor compatibili cu acestea.
Criterii pentru procese Criterii pentru etape si Criterii pentru modelare Criterii pentru
tehnici folosite (şi concepte) adaptabilitate
Studiu de caz I - TROPOS
6. Studiu de caz – TROPOS (1)
Problema: proiectarea unui sistem de management pentru o conferinţă
a) In cadrul primei etape:
sunt determinate cerinţele iniţiale => modelarea intenţiilor stakeholderilor
folosind scopurile în contextul cerinţelor impuse de sistemul dezvoltat.
Stakeholderii sunt reprezentaţi prin actori. Un actor poate fi un agent
sau un rol.
Dependenţele dintre actori sunt modelate prin legături ce indică acele
corelaţii specifice.
Dependenţele pot reprezenta:
scopuri hard
scopuri soft
task-uri
resurse
6. Studiu de caz – TROPOS (1)
Intrebari:
Care sunt actorii principali?
Care sunt scopurile lor?
Cum le pot obţine?
Un actor depinde de alt actor
pentru a-si indeplini scopurile?
R: => Diagrama initiala a
actorilor
Se doreşte ca PMI:
să îmbunătăţească experienţa celui care ascultă prin
automatizarea cât mai multor interacţiuni dintre persoana care
ascultă şi player,
sa ofere un control flexibil al sistemului.
se au în vedere funcţionalităţile de bază ale unui player
CERINTE
Funcţii de bază:
- manevrare PMI (handle user request) – persoana care ascultă (Listener) poate
închide sau deschide PMI prin intermediul telefonului sau PC-ului, printr-o comandă
vocală sau printr-o interfaţă a PMI.
modelarea scopurilor
este urmată de realizarea
de scenarii prin care se
pot atinge scopurile.
scenariile sunt apoi
elaborate pentru agenţi
individuali
sursele de date sunt
identificate prin crearea
de scenarii pe baza
modelarii conceptuale de
comportament
Modelul domeniului – scopuri (ROADMAP)
Scopul principal al sistemului de agenti “manage playing
music” este de a controla PMI.
Rolul de Music Player este cerut pentru a se atinge acest
scop.
goal –G
action -A
percept –P
subScenario – S
other –O
goal –G
action -A
percept –P
subScenario – S
other –O
ROADMAP
problema domeniului este analizata de sus în jos la un nivel de abstractizare
ridicat
scopurile sunt primele definite şi apoi sunt identificate rolurile necesare pentru
atingerea scopurilor
responsabilităţile fiecărui agent sunt definite folosind un model de roluri.
pentru a completa responsabilitaţile, un rol poate avea nevoie de mai multe
funcţionalităţi deferite.
Modelarea dpdv interacţiunilor
computaţionale
modelele create în etape de analiză a cerinţelor sunt folosite pentru
a determina ce agenţi trebuie să fie creaţi şi cum vor interacţiona?
maparea rol-agent este necesară datorită conceptului de “rol” folosit
diferit în Prometheus faţă de ROADMAP
metodologie hibridă => mai mulţi agenţi pot colabora pentru a
îndeplini responsabilităţile unui rol
« P » reprezintă o
percepţie de la mediul
extern
- o săgeată cu « A »
indică o acţiune
realizată de agent în
mediu.
Diagrame de interactiune (2)
Scenariu: Control volum
« M » reprezintă un
mesaj trimis între doi
agenţi
« P » reprezintă o
percepţie de la mediul
extern
- o săgeată cu « A »
indică o acţiune
realizată de agent în
mediu.
Diagrame de interactiune (3)
« M » reprezintă un
Scenariu: Sosire agent media mesaj trimis între doi
agenţi
« P » reprezintă o
percepţie de la mediul
extern
- o săgeată cu « A »
indică o acţiune
realizată de agent în
mediu.
Diagrama generala (1)
Contine:
- aptitudinile
- fluxul dintre aceste aptitudini
- datele deţinute de agent
3
1. Limbaje de comunicare intre agenti (1)
Conceptul de “partajare”: efort de punere în comun a
informaţiilor - knowledge sharing effort (KSE)) (1990 de
către DARPA (US - Defense Advanced Research Projects
Agency )
Programul “DARPA Agent Markup Language (DAML)”
(propus oficial in 2000)
Obiectiv: dezvoltarea unui limbaj de comunicare şi a mai
multor instrumente pentru facilitarea conceptului de “web
semantic”.
4
1. Limbaje de comunicare intre agenti (2)
KSE :
punerea în comun a cunoştintelor,
folosirea de mijloace de comunicaţie
metode de comunicare.
5
1. Limbaje de comunicare intre agenti (3)
Pentru definirea unui ACL între agenţi a fost nevoie de realizarea
următoarelor etape:
8
1. Limbaje de comunicare intre agenti
Comunicare de tip Blackboard pentru
agentii mobili – exemplu
Reguli: Bază de date cu Bază de date cu Bază de date cu
mesaje mesaje mesaje
agentul expeditor nu ştie numele agentului
destinatar (comunicare anonima); pentru agentul pentru agentul pentru agentul
destinatarul poate sau nu să deţină o locaţie destinatar destinatar destinatar
de bază; Scrie mesaje pentru
agentul destinatar este mobil. alţi agenţi
lista cu locatii
Agentul îşi citeşte Agentul îşi citeşte
mesajele destinate mesajele destinate
Com. “blackboard” implică o zonă de
memorie disponibilă în fiecare locaţie pe care
fiecare agent o poate folosi pentru a stoca
mesaje pentru alţi agenţi sau pentru a le citi. Mutare
Mutare
un agent trimite un mesaj altuia prin scrierea agent
agent
acestuia într-o zonă de memorie alocată, apoi Agent Agent
îşi poate schimba locaţia şi tot aşa mai
departe
pentru a citi sau a trimite un mesaj, agentul
destinatar trebuie să se deplaseze la locaţia
unde mesajele au fost stocate. În acest model
fiecare locaţie trebuie să deţină o bază de
date şi să fie capabilă să trimită şi să Locaţie vizitată Locaţie vizitată Locaţie vizitată
manevreze mesaje. de agentul destinatar de agentul destinatar de agentul destinatar
sau expeditor sau expeditor sau expeditor
9
1. Limbaje de comunicare intre agenti
FIPA (Foundation of Intelligent Physical Agents)
a maximizat interoperabilitatea dintre sistemele bazate pe agenti,
ofera specificatii de baza pentru tehnologia orientata agent
10
1. Limbaje de comunicare intre agenti
Message = "(" MessageType MessageParameter* ")".
MessageType =
"accept-proposal"
| "agree"
| "cancel"
| "cfp"
| "confirm"
| "disconfirm"
| "failure"
| "inform"
| "inform-if"
| "inform-ref"
| "not-understood"
| "propose"
| "query-if"
| "query-ref"
| "refuse"
| "reject-proposal"
| "request"
| "request-when"
| "request-whenever"
| "subscribe".
MessageParameter = ":sender" AgentName
| ":receiver" RecipientExpr
| ":content" ( Expression | MIMEEnhancedExpression ) Structura mesaj FIPA - ACL
| ":reply-with" Expression
| ":reply-by" DateTimeToken
| ":in-reply-to" Expression
| ":envelope" KeyValuePairList
| ":language" Expression
| ":ontology" Expression
| ":protocol" Word
| ":conversation-id" Expression.
Expression = Word
| String
| Number Exemplu de tipuri sintaxa mesaj FIPA - ACL
| "(" Expression * ")".
11
1. Limbaje de comunicare intre agenti
FIPA-contract-net Protocol
1.Un agent are rolul de manager (M) – M doreste realizarea unui task
M optimizeaza o functie (ce descrie task-ul) - pret, momentul
de
timp cel mai apropiat la care trebuie terminat task-ul, etc.
12
1. Limbaje de comunicare intre agenti
KQML - Knowledge Query Manipulation Language
ACL de nivel înalt, protocol folosit pentru schimbul
de informaţii cu sintaxă, conţinut şi ontologie
independentă.
independent de mecanismele de transport (ex. TCP,
SMPT etc.) si de conţinutul limbajului (ex: SQL,
etc.) Continut
alcătuit din 3 nivele:
Conţinut - poartă mesajul curent fără a ţine
seama de extensia sa, recunoscând de asemenea
şi limbajul în care a fost scris.
Mesaj - reprezintă partea centrală şi este folosit Mesaj
pentru a decodifica un mesaj pe care o aplicaţie
ar dori să îl translateze spre o alta, determinând
în acelaşi timp şi diferitele tipuri de interacţiuni
dintre agenţi. Funcţia de bază a acestui strat este
să identifice protocolul folosit pentru a salva Comunicare
mesajul
Al treilea strat deţine - un set de servicii pentru agenţi care
mesaje, descriind cel mai mic nivel al faciliează
parametrilor de comunicare. Sintaxa KQLM comunicarea
este bazată pe expresiile folosite în LISP.
13
1. Limbaje de comunicare intre agenti
KQML - Knowledge Query Manipulation Language
Continut
Mesaj
Comunicare
agenţi care
faciliează Nivele limbaj KQLM
comunicarea
14
1. Limbaje de comunicare intre agenti
Alte ACL:
ORB (Object Request Broker) şi CORBA (Common
Object Request Broker Architecture)
KIF (Knowledge Interchange Format)
RMI (Remote Method Invocation)
ADLMAS (Architecture Description Language fo Multi-
Agent Systems)
15
2. Limbaje de programare pentru agenti (LPA)
1. GOAL - este un LPA cu ajutorul căruia se pot programa agenţi
bazaţi pe scopuri.
Limbajul cuprinde:
declararea faptelor si scopurilor
strategia “blind commitment” (default strategy) – agentii renunta
la scopuri doar dupa ce le-au indeplinit
selectia actiunilor bazata pe reguli
permite comunicarea la nivel de cunostinte – agentii comunica
folosind un limbaj de reprezentare a cunostintelor
16
2. Limbaje de programare pentru agenti (LPA)
Un agent scris in GOAL include
sectiunile:
cunostinte
fapte
scopuri
reguli de actiune
moduri de actiune
17
3. Platforme pentru agenti
18
3. Platforme pentru agenti
Alte facilitati platforma Jade:
- agentul Sniffer care realizează o diagramă de secvenţe
pentru descrierea comunicării dintre agenţi. Diagrama de secvenţe
aferentă procesului de negociere propus în scenariul la care iau parte
3 clienţi şi 3 furnizori de servicii ilustrează modul în care agenţii de
pe platformă comunică între ei.
- oferirea unui sistem distribuit pentru agenţi,
- existenţa unui management simplu pentru agenţi
- suport pentru mobilitatea agenţilor
- compatibilitate cu specificaţiile FIPA
- transport eficient al mesajelor asincrone
- o bibliotecă a protocoalelor de interacţiune
- integrează tehnologii web precum JSP (JavaServer Pages), servlets,
applets şi Web service.
19
3. Platforme pentru agenti
Platforma si diagrama de secvenţe aferentă unui proces de
negociere (3 clienţi şi 3 furnizori de servicii)
20
3. Platforme pentru agenti
3.2 Jack
Cadru de lucru in Java pentru
dezvoltarea SMA
A fost realizat de Agent Oriented
Software Pty.Ltd (AOS).
Ofera:
suport pentru agentii inteligenti
propriul limbaj de planificare bazat
pe Java
instrumente pentru planificare
grafica
21
3. Platforme pentru agenti
Jack – particularitati
Rutina pentru agenti – nucleul patformei este o rutina extinsa multi-agent. Dupa
specificarea:
agentilor,
planurilor,
faptelor,
scopurilor,
aptitudinilor,
nucleul Jack se ocupa de rularea sistemului
Jack Plan Language – ofera un limbaj specific agentilor pentru planificare. Limbajul este:
o extensie a limbajului Java
ofera comenzi precum @send si @post pentru mesajele dintre agenti, managementul actiunilor, sub-task-
urilor, etc.
22
3. Platforme pentru agenti
23
3. Platforme pentru agenti
3.3 Jason
Extensie a limbajului de programare orientat agent
AgentSpeak
Folosit pentru a programa comportamentul individual al
agentilor
Dezvoltat in Java
Permite personalizarea aspectelor care vizeaza agentii
Folosit ca un plug-in pentru jEdit sau Eclipse
24
3. Platforme pentru agenti
Jason ofera:
Interpretarea limbajului AgentSpeak
Negociere intr-un mediu inchis / deschis
Suport pentru SMA si agentii care rationeaza in cadrul lor folosind
modelul Moise+ (agentii insisi tind sa se organizeze tinand cont
atat de scopurile lor cat si de schimbarile din mediu)
Posibilitatea de a rula un SMA distribuit in cadrul unei retele
Posibilitatea de a fi usor personalizat: functii, arhitecturi agenti
(perceptii, fapte (convingeri), comunciare inter-agent, etc)
O biblioteca ce contine actiunile interne de baza ale
agentilor
25
3. Platforme pentru agenti
Obiectiv: analiza şi implementarea unei aplicaţii bazate Agent Agent client (2) Anunţ începere proces de
iniţiator negociere şi alte informaţii
pe un model C2B şi un SMA pentru oferirea de servicii
(AI)
de transport în condiţii cât mai avantajoase unui grup de
clienţi cu cerinţe asemănătoare pe baza preferinţelor Agent negociator (2) Anunţ începere proces de
acestora. negociere şi alte informaţii
1
Baza de date Agent client Agent negociator (3) Criteriile cu cotaţii aferente
(AC)
2
2
Agent Agent negociator (4) Trimite oferta
2
transp (6) Trimite oferta îmbunătăţită
Grup de Agenti furnizori
ortator
clienti de servicii
(AT)
3 4
7 5 Agent Agent client (7) Anunţă furnizorul de servicii
6 negoci câştigător
7
ator
(AN) Agent transportator (7) Anunţă furnizorul de servicii
Agent negociator (furnizor de câşstigător
servicii)
27
4. Exemplu aplicatie Jade
Criterii folosite de cerere si oferta
Furnizor de Aspect Criteriu
servicii de
transport
Număr de accidente în ultimul an
Cunoaşte limbi străine
Şofer
Experienţă (număr de ani) sau kilometri
parcurşi
Agent Cost/km
transportator Servicii oferite
Număr curse
Vârstă medie parc auto
Companie Viteză medie
Număr mediu de incidente în ultimul an
Introducere date agent client şi alegere clasă aferentă Introducere date agent transportator şi alegere clasă aferentă
28
4. Exemplu aplicatie Jade
29
4. Exemplu aplicatie Jade
30
4. Exemplu aplicatie Jade
31
4. Exemplu aplicatie Jade
32
Inteligenta artificiala (5)
3
Introducere
4
Introducere
Procesul de negociere
mecanismul care pune in legătura participanții,
cumpărătorii, vânzătorii si care facilitează activitățile
de schimb sau de vânzare - cumpărare.
protocoalele de negociere ajuta părțile implicate sa
ajungă la un compromis, si, in unele cazuri, la o
înțelegere avantajoasa pentru ambele părți.
această înțelegere este atinsa de cele mai multe ori
după mai multe runde de interacțiune.
5
Introducere
Tehnologia orientata agent poate fi utilizata pentru a
simula procesul de negociere.
7
2. Tipuri de licitații
Conceptul de licitație:
cercetat si dezvoltat de economistul John Nash (matematician
american).
licitațiile au loc între un agent numit licitator şi mai mulţi
agenţi numiţi cumpărători.
englezeasca
olandeza (dutch)
first-price sealed bid
Vickrey - second-price sealed bid
suedeza
japoneza
etc.
10
2. Tipuri de licitații
Englezeasca (first price open cry)
Principiu
cel care licitează începe la preţul de rezervă al obiectului şi oferta
înaintează progresiv până când nici un participant nu emite o ofertă mai
mare.
in această licitaţie, fiecare ofertă ţine cont de celelalte oferte citate.
11
2. Tipuri de licitatii
Englezeasca (first price open cry)
Premize:
licitaţia
porneşte de la un preţ stabilit (prețul de rezerva);
cumpărătorii pot anunţa deschis preţul pe care îl licitează, care trebuie să fie
mai mare decât preţul licitat până în acel moment;
câştigă cumpărătorul care a oferit cel mai mare preţ.
Observaţii:
Strategie dominantă: cumpărătorul oferă puţin mai mult decât ultimul preţ și
se oprește când ajunge la valoarea reală a bunului.
“Winner’s curse” (câștigătorul licitației obține bunul licitat la un preț
exagerat) în cazul incertitudinii referitoare la valoarea reală a bunului licitat
Licitatorul poate plasa cumpărători falşi pentru a creşte artificial preţul.
12
2. Tipuri de licitatii
Englezeasca (first price open cry)
13
2. Tipuri de licitatii –
Licitatie olandeza (Dutch)
Principiu
licitatorul pornește de la un preţ ridicat şi solicită un set de oferte
descendente până când un cumpărător acceptă bunul la preţul
curent.
o ofertă suficient de mică propusă chiar la începutul licitaţiei
asigură faptul că bunul va fi vândut în cele din urmă, dar există
posibilitatea ca licitatorul să nu obțină profit.
2. Tipuri de licitatii –
Licitatie olandeza (Dutch)
Premize:
licitaţia porneşte de la un preţ stabilit
licitatorul scade preţul până când unul din participanţi
acceptă preţul.
Observaţii:
Susceptibilă la “winner’s curse” (situație în care
câștigătorul ajunge să platească mai mult decât valorează
obiectul pe care l-a câștigat prin licitație)
Nu există strategie dominantă.
15
2. Tipuri de licitatii –
Licitatie olandeza (Dutch)
16
2. Tipuri de licitatii –
First-price sealed-bid
Principiu
cumpărătorii emit oferte în mod secret. Nici un ofertant nu
cunoaşte cota unei alte oferte. Cel mai mare ofertant este
premiat cu obiectul corespunzător preţului ofertei sale.
17
2. Tipuri de licitatii –
First-price sealed-bid
Premize:
o singură rundă de negociere;
fiecare cumpărător anunţă preţul în plic închis;
câştigă cel cu preţ maxim.
Observaţii:
strategie dominantă: cumpărătorul face o ofertă egală cel mult
cu valoarea privată a bunului.
nu există o soluţie generală pentru a determina cât de mică ar
trebui să fie această ofertă.
18
2. Tipuri de licitatii –
First-price sealed-bid
19
2. Tipuri de licitații –
Vickrey (second-price sealed-bid)
Principiu
Cumpărătorii fac oferte în mod secret.
Câștigă autorul celei mai mari oferte, care va primi bunul
corespunzător la preţul dat de a doua ofertă.
La această licitaţie, cel mai mare ofertant obține întotdeauna
profit dacă oferta acestuia este raţională.
20
2. Tipuri de licitatii –
Vickrey (second-price sealed-bid)
Premize:
o singură rundă de negociere;
ofertele sunt secrete față de ceilalți cumpărători
câştigă cel care a făcut cea mai mare ofertă, dar plăteşte al doilea preţ.
Observaţii:
Strategia dominantă: se licitează valoarea reală a bunului.
Avantajul - încurajează cumpărătorii să fie sinceri
Câștigătorul licitației nu poate şti cât a licitat cel care a pierdut (locul
al doilea), deci nu ştie dacă preţul plătit (al doilea preţ) este corect. O
soluţie ar fi folosirea de semnături digitale sau a unei terţe părţi de
încredere.
Se poate dezvolta un comportament „antisocial”: dacă un cumpărător știe
că va pierde, poate crește intenționat prețul pentru a-i face pe alții să
plătească mai mult.
21
3. Aspecte de evitat in
cadrul licitațiilor
22
3. Aspecte de evitat in cadrul licitatiilor
Coaliții (collution)
Ori de câte ori la o licitaţie ofertanţii cunosc identitatea
celorlaltor participanți, există riscul ca aceştia să se
asocieze în scopul manipulării rezultatului licitaţiei, o
practică cunoscută sub numele de collusion (înțelegere
secretă, coaliție).
Nici un tip de licitaţie nu este imun la coaliții
Se pot forma coaliţii care să menţină preţul scăzut
Câştigătorul obiectului (care trebuie să facă parte din
coaliţie) împarte profitul cu ceilalţi.
23
3. Aspecte de evitat in cadrul licitatiilor
24
4. Standardul FIPA-ACL pentru SMA
25
4. Standardul FIPA-ACL pentru SMA
Protocolul contract-net
26
4. Standardul FIPA-ACL pentru SMA
Protocol pentru
Licitatia englezeasca
27
4. Standardul FIPA-ACL pentru SMA
Protocol pentru
Licitatia olandeza
28
5. Exemplu aplicatie
(SMA si negociere)
29
5. Exemplu aplicație (SMA si negociere)
Proiectare aplicatie
Implementare
Rulare
30
Inteligenta artificiala (6-RO)
2
Introducere in calculul neuronal
3
Fundamentarea biologica a calculului neuronal
corp
nucleu
sinapsa
axon
dendrita
4
Notiuni de baza: neuron artificial
Modelul simplificat:
Σ _Г
5
Perceptronul simplu – LTU (Linear Threshold Unit)
Uj
Oi Σ _Г Oj
Wij
Tj
1, input total j Tj
Oj
0, input total j Tj
6
Uj
Oi Wij Σ _Г Oj
WFj=-Tj
OF=1
input net j net j wij Oi T j wij Oi
i i,F
1, net j 0
Oj
0, net j 0
7
Generalizarea perceptronului simplu (a)
Uj
Oi Wij Σ fj Oj
WFj=-biasj=θj
OF=1
9
Generalizarea perceptronului simplu (b)
Uj
Oi Wij gj f Oj
WFj=-biasj=θj
OF=1
10
Generalizarea perceptronului simplu (c)
Uj
Oi Wij gj fj Oj
11
Feedback local
Wij
Oi gj fj Oj
Uj
Wij
Oi gj fj Oj
12
Retea neuronala artificiala
O retea neuronala artificiala reprezinta o structura
distribuita de prelucrare compusa din elemente de prelucrare
(neuroni) interconecate prin conexiuni, ce prezinta directie si
intensitate.
13
Caracteristicile retelelor neuronale
Functionale (model functional)
Structurale (model structural)
De dinamica (model de dinamica)
14
Modelul functional al unei retele neuronale
X1 O1
.
.
.
.
F .
.
Xn Om
n m
F:R R
15
Teoria aproximarii functiilor
Reproducerea exacta sau aproximativa a unei functii pe baza
evaluarii unui ansamblu determinat de functii primitive.
16
Rezolvarea unei probleme cu ajutorul unei retele neuronale
17
F este implementata prin f, intr-un mod care depinde de
interconectarea unitatilor si intensitatile conexiunilor.
O = F(W; X)
X1 O1
.
.
.
F(W; X) .
.
.
Xn Om
18
Determinarea parametrilor W. Instruirea retelelor
neuronale
Parametrii W se determina printr-un proces adaptiv,
cunoscut sub numele de instruirea (antrenarea, invatarea)
retelei.
19
Tipuri de instruire a retelelor neuronale
Instruire supervizata
Instruire nesupervizata
Instruire semisupervizata (dirijata)
20
Instruire supervizata
X F(W;X)
21
Instruirea retelei reprezinta un proces de optimizare (minimizare)
a functiei distanta pentru toate instantele de instruire.
22
Modelul structural al unei retele neuronale
23
Geometria retelei neuronale
Reprezinta perechea (G,g) unde:
G = set de puncte (grila) in spatiu n-dimensional
g = proiectie 1:1 a neuronilor in punctele grilei
24
Schema de interconectare
25
Tipuri de retele neuronale in raport de modelul structural
26
Modelul de dinamica al unei retele neuronale
Functionarea unei retele poate fi caracterizata in timp.
27
Modelul de dinamica al unei retele neuronale feedforward
X(t) O(t)=F(W;X(t))
28
Modelul de dinamica al unei retele neuronale recurente
X(t) f (x(t), f(x(t-1), f(x(t-2),..))))
f
X(t) O(t+ )
Ecuatiile de dinamica:
O(0)=X(0)
O(t+ ) = F(W;X(t))
29
Retele neuronale uni- si multi-nivel
30
Retele neuronale feedforward uni-nivel
Up Op
W1p
Uj Oj
U1
Uk Ok
Un
Wnk
Um
Om
31
Caracteristici
Unitătile de prelucrare:
neuroni treaptă, cu domeniu real al valorilor de intrare şi cu
domeniu binar (0,1) sau bipolar (-1,1) al valorilor de output.
Condiţia de activare a unei unităti de output Uj
32
Ecuatia
w ij x i Tj
i
X1
0
1
X2
34
w13= -0.8931
w23= 0.0594
wF3= 0.3423
x2
1
0.5 w13x1+w23x2+WF3=0
0
- 0.5
x1
-0.5 0 0.3 1
35
w13= -2.1931
w23= -0.4406
wF3= 0.3423
x2
1
w13x1+w23x2+WF3=0
0.5
0
- 0.5
x1
-0.5 0 0.3 1
36
Algoritmi de instruire a reţelelor feedforward
uninivel
Algoritmul perceptronului:
37
Regula percepronului:
w ij d jx i
Regula delta:
w ij d jx i
reprezintă o valoare pozitivă, subunitară, denumită rată de instruire.
38
Teorema de convergenţă a perceptronului
Dacă datele care trebuie clasificate sunt liniar separabile, regula
de instruire a perceptronului va converge la soluţie (valorile
parametrilor care asigură o clasificare corectă a datelor) într-
un număr finit de paşi, indiferent de alegerea iniţială a valorilor
parametrilor.
39
Retele neuronale feedforward multinivel
1. Arhitectura retelelor feedforward multinivel
2. Functionalitatea retelelor feedforward multinivel
3. Instruirea retelelor feedforward multinivel
4. Realizarea aplicatiilor
40
Arhitectura retelelor feedforward multinivel
Up
W1p
Uj
U1
Uk
Un
Wnk
41
Functionalitatea retelelor feedforward multinivel
Pot trata probleme de clasificare neliniare, prin formarea
unor regiuni de decizie complexe.
• Fiecare nod de pe primul nivel ascuns determină crearea unui hiperplan.
• Fiecare nod de pe al doilea nivel ascuns combină hiperplanele pentru a
crea regiuni de decizie convexe,
• Fiecare nod din al treilea nivel ascuns combină regiunile convexe pentru a
forma regiuni concave.
42
Retelele feedforward multinivel reprezinta modele neliniare
care realizeaza o aproximare universala, adica pot
aproxima orice relatie intrare-iesire continua.
43
Teoreme de existenta
Teorema lui Kolmogorov
Fiind data orice functie continua: H : [0,1]N → RM aceasta
functie poate fi implementata exact pe o retea feedforward cu 3
straturi
N : (2N+1) : M.
Teorema Kolmogorov-Sprecher
Orice functie reala continua poate fi implementata exact pe o
retea feedforward cu patru straturi, cu numar finit de unitati.
unde: Xp (X 1p , X p2 ,..., X pN )
si tp (t1p , t p2 ,..., t pM )
45
Considerand H(X) functia de prelucrare asociata
problemei,
p
atunci:
p
t H(X )
Op (O1p , Op2 ,..., OpM )
Outputul obtinut prin prelucrarea datelor de intrare cu
ajutorul retelei neuronale este notat cu:
46
Op este rezultatul prelucrarii datelor de intrare, Xp, cu ajutorul functiei
F(W;Xp).
Op F(W; X p )
47
Exemple de functii de combinare a erorilor
Norma-L1
f(epj ) | epj |
Norma-L2
f(epj ) (epj ) 2
Functia Hampel
β2 πe pj
(1 cos ),pentru| e pj | β
f Ha (e pj ) π β , cuβ 0
β 2
2 ,pentru| e pj | β
π
48
Minimizarea erorii - metode
Metode deterministe:
Metode nedeterministe
49
Metoda coborarii gradientului
O functie J(V) este minimizata in raport de V prin metoda coborarii
gradientului astfel:
50
Coborarea gradientului pentru minimizarea
functiei eroare. Algoritmul Backpropagation
standard
Fie:
1
Ep (t j O j ) 2
2 j
Atunci:
Ep
Δw ij η
w ij
Ep Ep O pj
w ij O pj w ij
51
Consideram Uj este unitate de output:
Ep 1 p2 p2 p p
p
( (t j + O j 2t j O j )) (t pj O pj )
Oj Oj 2
O pj O pj net pj
F (net pj ) w kjO pk F (net pj ) Oip
w ij net pj w ij w ij k
Deci:
Ep
(t pj O pj ) F (net pj ) O ip
w ij
52
Notand:
d pj (t pj O pj ) F' (net pj )
Atunci:
Ep
d pj O ip
w ij
w ijp d pj O ip
53
Consideram Uj unitate ascunsa, aflata imediat in fata stratului de output si
Uk unitate de output care primeste Oj.
Ep E p O pk
p
( p p
)
Oj k Ok O j
Ep
(t pk O pk )
O pk
O pk O pk net pk
F (net pk ) w jk
O pj net pk O pj
Deci:
Ep
(t pk O pk ) F (net pk ) w jk
O pj k
54
Notand:
d pk (t pk Opk ) F' (net pk )
Se obtine:
Ep
d pk w jk
O pj k
Totodata:
O pj O pj net pj
F' (net pj ) Oip
w ij net pj w ij
Rezulta:
Ep
( d pk w jk ) F' (net pj ) Oip
w ij k
55
Notand:
d pj ( d pk w jk ) F' (net pj )
k
Se obtine:
Ep
d pj O ip
w ij
w ijp d pj O ip
Deoarece x reprezinta inputul net, iar F(X) este nivelul de activare al unitatii,
se poate scrie in acest caz ca:
F' (net pj ) O pj (1 O pj )
57
Suprainstruirea retelelor feedforward
58
Generalizare
Abilitatea de estimare cantitativa a caracteristicilor unui fenomen ce nu a
fost intalnit anterior, pe baza similaritatii sale cu fenomene deja cunoscute.
59
Performantele la instruire si testare in raport de
epoca de instruire
eroare
eroarea la testare
eroarea la instruire
1 2 ni numar epoca
60
Cauzele suprainstruirii
• datele de instruire sunt nerelevante, in sensul ca datele contin
neregularitati ce nu sunt semnificative dar pe care reteaua tinde sa le
retina;
61
Evitarea suprainstruirii
62
• limitarea numarului de parametri ai retelei, fara a fi afectata capacitatea
de invatare a retelei. Proiectarea retele neuronale trebuie sa permita
determinarea arhitecturii minimale a retelei.
63
Inteligenta artificiala (7)
2
Ce inseamna NLP?
Legatura intre NLP, ML si R
Word-sence disambiguation (WSD)
Identificarea colocatiilor semantice (COL)
Utilizarea retelelor neuronale in NLP
3
Ce inseamna NLP?
Natural Language Processing (NLP) se refera la interactiunea om-
calculator, in limbaj natural scris/vorbit.
NLP presupune realizarea a numeroase task-uri, precum:
Asocierea sensului corect cuvintelor din cadrul textului (Word-Sence
Disambiguation - WSD)
Identificarea colocatiilor cu semnificatie (semantic collocation
Identification - COL)
Datele necesare efectuarii task-urilor NLP:
texte (audio sau scrise/trascript-uri)
informatii/cunostinte lingvistice
Aplicatiile R (materiale anexate suportului de curs) sunt preluate de la
https://ufal.mff.cuni.cz/courses/npfl054
4
Legatura NLP, ML, si R
5
Word-sence disambiguation (WSD)
Sa consideram, de exemplu, cuvantul line, cu urmatoarele posibile
sensuri: CORD, DIVISION, FORMATION, PHONE, PRODUCT,
TEXT.
6
Formularea WSD ca problema de clasificare
Elementele definirii WSD:
Obiectivul WSD : asocierea sensului curent la un cuvant target/tinta).
Inputulul WSD = o propozitie care contine cuvantul tinta (“line”)
Outputul WSD = una dintre valorile de lista de valori posibile pentru sensul
cuvantului target {CORD, DIVISION, FORMATION, PRODUCT, PHONE,
TEXT}
Propozitiile de intrare reprezinta obiectele de clasificat, sensurile
posibile sunt clasele
Taskul de clasificare presupune ca valoarea de output sa fie
discreta si sa reprezinte una din clasele posibile.
Fisierele pentru aplicatii:
Fisierele de date: wsd.development.csv si wsd.test.csv
Scripturile R: (script-Decision Tree) DT-WSD.R si (Script-
7
Naive Bayes) NB-WSD.R
Datele de instruire
Pentru invatarea modului de recunoastere a sensului corect
al unui cuvant intr-o anumita propozie sunt necesare mai
multe exemple (date de instruire).
8
Cunostinte necesare atribuirii sensului
Pentru recunoasterea sensului corect al cuvantului tinta “line”
este necesar sa fie cunoscute anumite informatii despre
contextul in care este utilizat cuvantul tinta. Aceste
informatii sunt denumite atribute/caracteristici (features).
Exercitiu
Analizati datele incluse in fisierul Datele-WSD.xls
12
Atributele utilizate
13
Generarea arborilor de decizie
14
Analiza performantelor arborilor generati
Performanta modelelor generate, definita ca numarul exemplelor
din setul de test la care rezultatul obtinut prin model a fost corect,
raportat la numarul total al exemplelor din setul de test este
prezentata in urmatorul tabel:
15
Sa consideram propozitia: „Draw a line between the points P
and Q.”, cu urmatoarele valori ale caracteristicilor:
Se va utiliza modelul M2
16
Exercitiu
Asociati sensul corect la cuvantul line in urmatoarele propozitii:
17
Identificarea colocatiilor semantice (COL)
Presupune sa se decida daca anumite grupuri de cuvinte
formeaza o colocatie cu anumita semnificatie , diferita de cea a
cuvintelor individuale(semantic collocation). De exemplu, green
card, grey market, etc.
Colocatiile semnatice au proprietati care nu pot explicate
strict pe baza componentelor, prin urmare trebuie prezentate
explicit/listate in cadrul dictionarului.
18
19
Formularea COL ca problema de clasificare
Elementele definirii COL
Obiectivul COL: sa se decida daca o pereche de cuvinte
formeaza sau nu o colocatie semantica
Inputul COL = perechi de cuvinte
Outputul COL = clasa {YES, NO}
20
Atributele utilizate
22
Inteligenta artificiala (8)
2
Clasificare. Arbori de decizie si clasificatori
bayesieni naïve (Naïve Bayes)
Introducere in arborii de decizie
Componentele unui arbore de decizie
Tipuri de arbori de decizie
Algoritmi de inductie automata a arborilor de decizie
Probleme de implementare
Clasificatori bayesieni naivi
3
Introducere in arborii de decizie
Un arbore de decizie constituie o modalitate de reprezentare
grafică, sub formă arborescentă, a unor reguli de clasificare.
Fie un set de date D ={t1, t2, ..., tn} unde fiecare înregistrare este are
forma ti = < t1i, ... , tih>, adică fiecare înregistrare este alcătuită dintr-un
set de atribute {A1, A2, ..., Ah}.
4
Elementele unui arbore de clasificare
Noduri neterminale (atribute), arce (valori ale atributelor)
si noduri terminale (etichete ale claselor).
Atributele pot fi binare, multivaloare sau continue.
Numarul claselor este, de obicei redus.
5
Exemplu
Durere
=t =f
temp tuse
>38 <38 =t =f
R S R S
6
f1 atribute
0 1
Valori
f2 f3 de
atribute
0 1 0 1
0 1 0 1
Etichete de clase
7
Arbori de clasificare si expresii booleene
f3
0 1
f2 f1
0 1 0 1
f2
0 1 0 0 1
h=(~f3^f2) ν f3^f1^~f2
1 0
8
Nu exista legatura intre complexitatea expresiei si a
arborelui
F
0 1
H G
0 1 0 1
J K
1 0 1 0 1 1
0 1 0 1
(~F^~H)v(~F^H^J)v(F^~G^K)v(F^G)
9
Arbore complex si expresie simpla
F
0 1
H G
0 1 0 1
J H
0 0 1 0 1 1
J
0 1
0 1 0
(F^G)v(H^J)
10 0 1
Tipuri de arbori de decizie
Arbori binari
T1
1
0
T2 0
1 T4
1 0
T3 0
I1
1 0 I4 I5
I2 I3
11
Arbori multi-valoare
culo
are
roşu ¬ roşu
sex sex
F B c1
c2
verde
albastru verde albastru
... In
12
Arbore de clasificare real
13
Alt arbore de clasificare real
14
Algoritmi de inductie automata a arborilor de
decizie
Sunt aplicate metode supervizate de invatare.
Se utilizeaza instante de instruire.
O instanta de instruire este constituita din valori ale atributelor
impreuna cu eticheta de clasa.
15
Cerinte
Cerinta de inteligibilitate a arborelui
Cerinta de rapiditate a invatarii
Cu cat setul de instante de instruire este mai mare cu atat
dimensiunea arborelui creste.
La seturi diferite de instante se obtin arbori diferiti.
16
Spatiul de cautare
Toate secventele posibile a tuturor testelor posibile
Spatiul de cautare este foarte mare De exemplu, pentru N
atribute binare:
1 arbore nul
N arbori cu 1 test
≈ N4 arbori cu 4 teste
Dimensiunea spatiului de cautare creste exponential cu
numarul atributelor
Nu se poate realiza o cautare exhaustiva
Se folosesc algoritmi de inductie care nu realizeaza cautare exhaustiva
17
Primul algoritm de inductie automata a arborilor de clasificare -
definit in 1984, simultan de catre Breiman, Friedman, Olsen,
Stone (statistica) si Quinlan (IA, machine learning).
Este cunoscut sub numele ID3, ID4, ID5, …, ulterior C4.5, C5.0
[Quinlan] respectiv CART: Classification and Regression Trees
[Breiman].
18
Procedura : Inductie-arbore(Instante)
19
Algoritm de partitionarea recursiva a instantelor
Cel mai bun atribut este plasat ca radacina
Instantele sunt partitionate dupa valoarea atributului radacina
Pentru fiecare partitie se determina cel mai bun atribut
Se partitioneaza in continuare instantele dupa noile atribute
Se repeta pana cand:
toate nodurile sunt “pure” (instante ale aceleiasi clase)
Toate nodurile contin mai putin de k instante
Arborele a atins o adancime maxima prederminata
Nu mai exista atribute pentru a fi testate
20
Selectarea celui mai bun atribut
Se alege atributul cu cea mai mica valoare H:
H val p i log p i
i clasa
21
Exemplu
Clasa Atribut C1 Atribut C2 Atribut C3
22
Se calculeaza valoarea H pentru fiecare atribut in parte.
Atributul C1:
1 1 1 4 2 2 2 2 1 1 1
H ( log ) ( log log ) ( log ) 0.462
6 1 1 6 4 4 4 4 6 1 1
Atributul C2:
3 2 2 1 1 3 3 3
H ( log log ) ( log ) 0.318
6 3 3 3 3 6 3 3
Atributul C3:
5 3 3 2 2 1 1 1
H ( log log ) ( log ) 0.56
6 5 5 5 5 6 1 1
23
Se selecteaza C2, care prezinta doua valori, deci arborele va avea
pentru inceput doua ramuri. Pe ramura V22 regasim numai instante
ale clasei A, deci nu mai este necesara o discriminare ulterioara a
acestor instante.
Pe ramura V21 este nevoie de selectarea unui nou atribut, in raport
de care sa se realizeze clasificarea instantelor.
1 1 1 2 2 2
H ( log ) ( log ) 0
C1: 3 1 1 3 2 2
3 2 2 1 1
H ( log log ) 0.636
C3: 3 3 3 3 3
24
Arborele de clasificare rezultat
C2
V21 V22
C1 A
V11 V12
A B
25
Alegerea atributelor
Se aleg atributele care conduc la formarea celui mai mic arbore.
26
Castigul de informatie IG
Castigul de informatie determina o crestere a puritatii medii a
subseturilor pe care un atribut la produce.
27
Limitele utilizarii IG
IG determina rezultate slabe pentru atribute cu multe valori (caz
extrem: id-ul).
28
Alt exemplu
29
Care atribut trebuie selectat?
30
Obiectivul: generarea celui mai mic arbore
Euristica aplicata:
Se aleg nodurile care produc cele mai “pure” noduri, adica cele ce aduc cel mai mare castig de
informatie
Teoria informatiei masoara informatia in biti
Cel mai bun atribut:
31
Cel mai bun atribut: outlook
32
Continuarea partitionarii
33
Probleme de implementare
Inlaturarea supra-specializarii
34
Exemplu pentru atributul de identificare ID
Entropia(“ID”)=entropia([0,1])+entropia([0,1])…+ entropia([0,1])=0
GR=IG/II=0.940/3.870=0.246
35
Dezavantajul utilizarii GR
36
Metode euristice de optimizare a algoritmului
Eliminarea atributelor ce impart domeniul in segmente de
dimensiuni foarte scazute (ex: id-ul)
37
Tratarea atributelor numerice
Metoda standard: impartirea binara.
38
Exemplu de impartire
64 65 68 69 70 71 72 72 75 75 80 81 83 85
Yes No Yes Yes Yes No No Yes Yes Yes No Yes Yes No
IG([4,2],[5,3])=(6/14)IG([4,2])+(8/14)IG([5,3])=0.939
39
Impartirea pe intervale
O cale eficienta de a genera punctele de taiere multipla: un
algoritm greedy.
40
Problema valorilor lipsa
Algoritmul imparte instantele cu valori lipsa in subseturi.
Un subset va avea o pondere proportionala cu importanta/
popularitatea arcului (numarul de instante).
Castigul de informatie poate fi folosit cu ponderi ale instantelor in
loc de numar de instante pe arc.
41
Eliminarea perturbatiilor (zgomotului)
Doua metode:
ante-eliminarea zgomotului
post-eliminarea zgomotului
42
Ante-eliminarea zgomotului
Are la baza teste statistice ale importantei. Metoda opreste
cresterea arborelui atunci cand nu mai exista nici o asociere
semnificativa intre atributul castigator la nodul (nivelul) N si
clasele in care trebuie sa imparta instantele ramase.
43
Problema stoparii premature
Ante-eliminarea poate provoca oprirea dezvoltarii arborelui inainte
de a reprezenta intregului domeniu.
44
Post-eliminarea
Se incepe de la arborele complet construit si se elimina treptat
componente ale arborelui.
45
Ridicarea sub-arborilor
A A
B C
46
Clasificatorul bayesian naiv
Baze teoretice si aplicabilitate
Algoritmul de clasificare. Corectia Laplace
Avantaje si dezavantaje
Inferenta probabilista
47
Baze teoretice
Teoria rationamentului probabilist definita de Thomas Bayes
(regula lui Bayes).
48
Regula lui Bayes:
Pr( A)
Pr( A | B ) Pr( B | A)
Pr( B )
49
Probabilitati conditionate
Presupunem ca studentii de la Masterul de Informatica Economica sunt impartiti
astfel: 60% au media de licenta sub 9 si 40% au media de licenta peste 9.
Toti masteranzii cu medie sub 9 sunt angajati cu norma intreaga, in timp ce numai
50% dintre masteranzii cu media peste 9 au acest statut.
Este selectat un masterand dintre cei care lucreaza norma intreaga. Care este
probabilitatea ca acest student sa aiba media de licenta peste 9?
P(D) = P(D | θ1)* P(θ1) + P(D | θ2)* P(θ2) = 0.5×0.4 + 1×0.6 = 0.8. sau 80%.
51
Probabilitatea ca masterandul selectat sa aiba media peste 9:
P(θ1 | D) = P(D | θ1)* P(θ1) / P(D) = 0.5×0.4 / 0.8 = 0.25 sau 25%
52
“Spargerea” legaturii
53
Alegerea unei ordinii a variabilelor
Presupunerea independentei conditionale exprimata de o retea Bayensiana
permite o reprezentare compacta a distribuitiei conditionate.
54
Probabilitati consistente
Distributia unui set de variabile v1, … ,vn este definita drept
P(v1 … vn) pentru toate valorile
v1 … vn.
55
Clasificator - semnificatie
56
Clasificator Bayesian – un exemplu
57
Avand un vector X de caracteristici (vector de input), clasa
in care se repartizeaza X (valorea y care se asociaza lui X)
se determina cu ajutorul valorilor R.
Presupunem: X=<0,0,1,1>
Scorul lui X, daca presupunem ca X apartine clasei 1:
S(1) = R1(0,1)*R2(0,1)*R3(1,1)*R4(1,1)
S(1) = 0.205
count(xij 1 yi 0)
R j (1,0)
count(y i 0)
R j (0,0) 1 R j (1,0)
59
Algoritmul de clasificare – faza de predictie
R j (1,0) daca x j 1
S (0)
j R j (0,0) altfel
60
Corectia Laplace
Instantele de instruire reflecta doar partial realitatea.
61
Modificarea formulelor de calcul pentru R
count( xij 1 yi 1) 1
R j (1,1)
count( y i 1) 2
R j (0,1) 1 R j (1,1)
count( x ij 1 yi 0) 1
R j (1,0)
count( y i 0) 2
R j (0,0) 1 R j (1,0)
62
Exemplu revizuit
64
Clasificatorul bayesian naiv
y=1 daca:
j x j (1 j )(1 x j ) j x j (1 j )(1 x j )
j j
65
Avantaje si dezavantaje
Determinarea parametrilor R nu urmareste minimizarea erorii
si utilizeaza o metoda rapida de calcul.
67
Inferenta probabilista
68
Algoritmul de clasificare – faza de instruire
count( xij 1 yi 1)
R( f1 1 | Y 1)
count( y i 1)
R( f j 0|Y 1) 1 R( f j 1| Y 1)
count( xij 1 yi 0)
R( f j 1| Y 0)
count( y i 0)
R( f j 0|Y 0) 1 R ( f j 1| Y 0)
69
Algoritmul de clasificare – faza de predictie
Fiind dat un vector x, se calculeaza scorul:
R( f j 1 | Y 1) daca x j 1
S ( x1...xn | Y 1)
j R( f j 0 | Y 1) altfel
R( f j 1 | Y 0) daca x j 1
S ( x1...xn | Y 0)
j R( f j 0 | Y 0) altfel
70
Studiu de caz
Clasificatorul Bayesian aplicat in identificarea spam-urilor
(filtrarea mesajelor)
Ce este spam-ul?
Modalităţi de combatere spam.
Avantajele filtrului Bayesian.
71
Clusterizarea in Machine Learning
1. Definitii. Aplicatii ale analizei cluster
2. Cerinte pentru analiza cluster
3. Masuri ale calitatii clusterizarii
4. Abordari in analiza cluster
5. Algoritmi de partitionare
6. Algoritmi ierarhici
72
Definitii
Cluster: o colectie de obiecte
Similare intre ele
Nesimilare obiectelor din alte clustere
Analiza cluster:
Gruparea unei multimi de obiecte in clustere
Se bazeaza pe instruire nesupervizata (nu exista clase predefinite)
Valorificare:
Metoda autonoma pentru caracterizare date
Etapa de preprocesare pentru alte prelucrari
73
Aplicatii ale analizei cluster
Recunoastere forme
Analiza date spatiale
Prelucrare imagini
Cercetari economice (studii de piata)
WWW
Clasificare documente
Descoperire comportamente de navigare
74
Marketing (managerii de marketing descopera grupuri de
clienti si pot proiecta campanii de marketing diferentiate)
Utilizare terenuri (identificarea zonelor cu utilizari similare)
Asigurari (identificarea grupurilor de clienti)
Urbanistica (identificarea ansamblurilor de locuinte)
Seismologie (observarea epicentrelor si gruparea lor)
75
Cerinte pentru analiza cluster
O buna metoda de analiza cluster produce clustere de calitate
ridicata:
Similaritate intra-cluster ridicata
Similaritate inter-cluster scazuta
Calitatea clusterizarii depinde de masura de similaritate
utilizata precum si de metoda implementata.
Calitatea clusterizarii este apreciata si in raport de abilitatea de
a descoperi unele sau toate dintre patternurile ascunse.
76
Scalabilitatea
Abilitatea de a trata diferite tipuri de caracteristici
Capacitatea de a descoperi clustere de forme arbitrare
Capacitatea de a trata zgomotul si outlierii
Independenta fata de ordinea datelor de intrare
Dimensionalitate ridicata
Incorporarea unor restrictii precizate de utilizator
Posibilitatea de interpretare si utilizare a rezultatelor
77
Masuri ale calitarii clusterizarii
Metrica similaritatii/nesimilaritatii: uzual functie distanta: d(i, j)
Se defineste separat o functie de calitate a clusterelor
Modul de definire al distantei difera in raport de tipul de variabile
(bazate pe interval, booleene, categoriale)
Se pot asocia ponderi diferitelor caracteristici
Este dificil de definit “suficient de similar” (subiectivism ridicat).
78
Similaritatea/Nesimilaritatea dintre obiecte
unde i = (xi1, xi2, …, xip) si j = (xj1, xj2, …, xjp) sunt doua obiecte p-
dimensionale, si q este un intreg pozitiv.
Daca q = 1, d este distanta Manhattan
79
Daca q = 2, d este distanta Euclideana
Proprietati:
d(i,j) 0
d(i,i) = 0
d(i,j) = d(j,i)
d(i,j) d(i,k) + d(k,j)
80
Caracteristici binare
Tabela de contingenta
Object j
1 0 sum
1 a b a b
Object i 0 c d c d
sum a c b d p
81
Exemplu
Nume Febra Tuse Test-1 Test-2 Test-3 Test-4
Jack Y N P N N N
Mary Y N P N P N
Jim Y P N N N N
Valorile Y si P sunt 1, si valoarea N este 0.
Coeficientii Jaccard:
0 1
d ( jack , m ary) 0.33
2 0 1
1 1
d ( jack , jim ) 0.67
1 1 1
1 2
d ( jim, m ary) 0.75
1 1 2
82
Caracteristici nominale
83
Calitatea clusterelor
Indicatori ai imprastierii (in special indicatorii sintetici ai imprastierii)
Diferenta medie Gini – DG: media diferentelor luate in valoare
absoluta si formate prin asocierea valorilor individuale ale
caracteristicii urmarite doua cate doua.
xi x j
i 1. .n j 1. .n
DG n 2
84
Indicatorii gradului de concentrare/diversificare
Curba lui Lorentz
Coeficientul (raportul) de concentrare Gini
Lungimea vectorului de structura
Energia informationala
Entropia
85
Abordari in analiza cluster
Algoritmi de partitionare: Construiesc diferite partitii si apoi le
evalueaza in raport de anumite criterii.
Algoritmi ierarhici: Creaza o descompunere ierarhica a colectiei de
obiecte utilizand anumite criterii.
Algoritmi pe baza functiei de densitate: Au la baza functii de
conectivitate si de densitate.
Algoritmi grid: Au la baza o structura cu mai multe niveluri de
granularitate.
Algoritmi de baza de model : Se fomuleaza ca ipoteza un model
pentru fiecare cluster.
86
Algoritmi de partitionare
Realizeaza o partitionare a bazei de date D cu n obiecte intr-un set de
K clustere.
87
Algoritmul k-means
Se partitioneaza obiectele in k subseturi nevide (clustere) astfel:
Se aleg aleator k obiecte care se considera centrele clusterelor,
celelalte obiecte fiind incluse in clusterul cu cel mai apropiat
centriod.
Se calculeaza centroizii (centrul) clusterelor.
1
cl pl x
x Gl
88
Exemplu
10 10
9 9
8 8
7 7
6 6
5 5
4 4
3 3
2 2
1 1
0 0
0 1 2 3 4 5 6 7 8 9 10 0 1 2 3 4 5 6 7 8 9 10
10 10
9 9
8 8
7 7
6 6
5 5
4 4
3 3
2 2
1 1
0 0
0 1 2 3 4 5 6 7 8 9 10 0 1 2 3 4 5 6 7 8 9 10
89
Comentarii referitoare la algoritmul k-means
Puncte tari:
Relativ eficient
Este identificat adesea un optim local
Puncte slabe:
Aplicabil numai atunci cand este definita media
Este necesara specificarea prealabila a lui k
Nu poate trata date cu zgomot si outliers
Nu se recomada pentru descoperirea de clustere neconvexe.
90
Algoritmul K-medoids
91
Sunt selectate in mod arbitrar k obiecte reprezentative
Pentru fiecare pereche (obiect neselectat h , obiect selectat i),
se calculeaza costul total de inlocuire TCih
TCih= jCjih
Pentru fiecare pereche i si h,
Daca TCih < 0, i este inlocuit de h
Se asigneaza fiecare obiect neselectat la cel mai similar obiect
reprezentativ.
Se repeta pasii 2-3 pana cand nu se mai inregistreaza nici o
schimbare
92
10 10
9 9
8 8
t j
7 t 7
6 6
5 j 5
4 4
3 i h 3 h
2 2 i
1 1
0 0
0 1 2 3 4 5 6 7 8 9 10 0 1 2 3 4 5 6 7 8 9 10
10
10
9
9
8
8
7 h 7
6 j 6
5
5
i
4
i 4
h j
3 t 3
2
2
1
1 t
0
0
0 1 2 3 4 5 6 7 8 9 10
0 1 2 3 4 5 6 7 8 9 10
94
Tipuri de algoritmi ierarhici
95
Algoritmul AGNES (Agglomerative Nesting)
Introdus de Kaufmann si Rousseeuw (1990)
Fiecare obiect este introdus intr-un cluster distinct.
Se calculeaza distantele intre toate perechile de doua clustere
Se grupeaza clusterele cele mai apropiate si se reia de la 2.
Se pot obtine oricate clustere, fiind posibil ca toate nodurile pot
sa apartina aceluiasi cluster.
10 10 10
9 9 9
8 8 8
7 7 7
6 6 6
5 5 5
4 4 4
3 3 3
2 2 2
1 1 1
0 0 0
0 1 2 3 4 5 6 7 8 9 10 0 1 2 3 4 5 6 7 8 9 10 0 1 2 3 4 5 6 7 8 9 10
96
Dendrograme
Permit reprezentarea grafica ierarhica a clusterelor, sub forma unui
arbore, cu mai multe niveluri.
97
Algoritmul DIANA (Divisive Analysis)
Introdus de Kaufmann si Rousseeuw (1990)
Inverseaza ordinea din AGNES
Fiecare nod poate forma un cluster
10 10
10
9 9
9
8 8
8
7 7
7
6 6
6
5 5
5
4 4
4
3 3
3
2 2
2
1 1
1
0 0
0
0 1 2 3 4 5 6 7 8 9 10 0 1 2 3 4 5 6 7 8 9 10
0 1 2 3 4 5 6 7 8 9 10
98
Cele mai apropiate clustere
Cei mai apropiati centrii
Cele mai apropiatie medoiduri
Cei mai apropiati vecini
Masuri specifice domeniului
Frecventa cuvintelor
99
Distanta medie intre clustere
Dist(i, j)
i c1 j c 2
Mean _ Dist(C1 , C 2 )
1
i c1 j c 2
Dist(i, j)
i c j c ,i j
Mean _ Internal_ Dist(C)
1
i c j c ,i j
100
Exemplu
Se consideră următoarea mulţime de patternuri:
A = {1, 2, 3, 6, 7, 8, 13, 15, 17}.
101
Urmand aceeasi logica cu toate elementele ramase in A vom obtine:
C1={1}, M1 =1,
C2={2}, M2 = 2,
C3={3, 6, 7, 8, 13, 15, 17}, M3 = 69/7=9.86
Iteratia 2
Se reia algoritmul de la pasul in care se face repartizarea elementelor pe
clustere, considerand noile medii ca centrele clusterelor.
102
Noile clustere sunt:
C1 = {1}, M1 = 1,
C2 = {2, 3}, M2 = 2.5,
C3 ={6, 7, 8, 13, 15, 17}, M3 =66/6 = 11.
Iteratia 3
Elementele 1, 2 si 3 raman in clusterele deja stabilite. Se incearca repartizarea
elementului 6.
dist(6, M2)<dist(6, M3). Elementul 6 trece in C2.
103
Iteratia 4
Dist(2, M1)<dist(2, M2). Elementul 2 trece in C1.
dist(7, M2)<dist(7, M3). Elementul 7 trece in C2.
Celelalte elemente raman in clusterele in care au fost repartizate.
C1 = {1,2}, M1=1.5,
C2 ={3, 6, 7}, M2=5.34,
C3 = {8, 13, 15, 17},M3=13.25
Iteratia 5
Dist(3, M1)<dist(3, M2). Elementul 3 trece in C1.
dist(8, M2)<dist(8, M3). Elementul 8 trece in C2.
C1={1,2,3}, M1 = 2,
C2={6, 7, 8}, M2 = 7,
C3 = {13, 15, 17}, M3 = 15.
Din acest moment nici un element nu se mai deplaseaza inspre un alt cluster si
algoritmul se termina.
104