Ingineria Sistemelor cu Inteligenta Artificialaimag.pub.ro/ro/cursuri/ISIA/curs/Optim.pdf ·...
Transcript of Ingineria Sistemelor cu Inteligenta Artificialaimag.pub.ro/ro/cursuri/ISIA/curs/Optim.pdf ·...
![Page 1: Ingineria Sistemelor cu Inteligenta Artificialaimag.pub.ro/ro/cursuri/ISIA/curs/Optim.pdf · Preliminarii Curs (disciplina) in anul 3 dedicat la CTI Problema:. Fiind data o functie](https://reader030.fdocument.pub/reader030/viewer/2022040720/5e2bd0aa27cf7b3c6f342773/html5/thumbnails/1.jpg)
Corneliu Florea.
Ingineria Sistemelor cu Inteligenta Artificiala
![Page 2: Ingineria Sistemelor cu Inteligenta Artificialaimag.pub.ro/ro/cursuri/ISIA/curs/Optim.pdf · Preliminarii Curs (disciplina) in anul 3 dedicat la CTI Problema:. Fiind data o functie](https://reader030.fdocument.pub/reader030/viewer/2022040720/5e2bd0aa27cf7b3c6f342773/html5/thumbnails/2.jpg)
Tehnici de OPTIMIZARE
Gradient Descent
![Page 3: Ingineria Sistemelor cu Inteligenta Artificialaimag.pub.ro/ro/cursuri/ISIA/curs/Optim.pdf · Preliminarii Curs (disciplina) in anul 3 dedicat la CTI Problema:. Fiind data o functie](https://reader030.fdocument.pub/reader030/viewer/2022040720/5e2bd0aa27cf7b3c6f342773/html5/thumbnails/3.jpg)
Preliminarii
Curs (disciplina) in anul 3 dedicatla CTI
Problema:Fiind data o functie f(x)- cat este x
astfel incat functia sa fie minima
Optim: minim sau maxim
x poate fi scalar sau vectorialf poate fi scalara sau vectoriala
x
f(x)Minim
local puternic
Minim local slab Minim
globalputernic
Minim localputernic
Regiunea de cautare
Care dintre minime va fi gasit depinde de punctul de pornire
Situatiile ilustrate se regasesc toate in practica
![Page 4: Ingineria Sistemelor cu Inteligenta Artificialaimag.pub.ro/ro/cursuri/ISIA/curs/Optim.pdf · Preliminarii Curs (disciplina) in anul 3 dedicat la CTI Problema:. Fiind data o functie](https://reader030.fdocument.pub/reader030/viewer/2022040720/5e2bd0aa27cf7b3c6f342773/html5/thumbnails/4.jpg)
Categorii pentru probleme de decizie
Categoria 1:• Setul tuturor alternativelor posibile este discret (cu un numar redus de valori)
– Exemplu: “Un student poate alege intre patru cursuri , toate cu referinte bune, dartrebuie sa opteze pentru unul singur.”
• Solutia: metode de evaluare (scoring methods)
Categoria 2:• Numarul de alternative posibile este foarte mare, daca nu chiar infinit; decizia
trebuie sa satisfaca si o serie de constangeri suplimentare• Solutia: metode de optimizare (cu constrangeri)
![Page 5: Ingineria Sistemelor cu Inteligenta Artificialaimag.pub.ro/ro/cursuri/ISIA/curs/Optim.pdf · Preliminarii Curs (disciplina) in anul 3 dedicat la CTI Problema:. Fiind data o functie](https://reader030.fdocument.pub/reader030/viewer/2022040720/5e2bd0aa27cf7b3c6f342773/html5/thumbnails/5.jpg)
Exemplu de metode notare (scoring) Alfredo trebuie sa aleaga intre patru cursuri
Caracteristica
Nota pt cursul Tip scor Domeniu Pondere
C1 C2 C3 C4
Utilitate 7 8 9 4 Pozitiv 0-10 7Claritatepredare
5 7 9 5 Pozitiv 0-10 3
Usurintaexamen
5 7 9 1 Negativ 0-10 10
Mergprieteni
5 4 2 8 Pozitiv 0-10 7
![Page 6: Ingineria Sistemelor cu Inteligenta Artificialaimag.pub.ro/ro/cursuri/ISIA/curs/Optim.pdf · Preliminarii Curs (disciplina) in anul 3 dedicat la CTI Problema:. Fiind data o functie](https://reader030.fdocument.pub/reader030/viewer/2022040720/5e2bd0aa27cf7b3c6f342773/html5/thumbnails/6.jpg)
Categoria 2 Probleme de optimizare
1. Se construieste o formulare clara a problemei se, culeg toatedatele relevante.
1. Factori necontrolabili (variabile aleatoare)2. Data controlabile (variabile deterministe)
2. Se construieste un model matematic ( pb de optimizare) .• Se formuleaza (defineste) functia obiectiv si constrangerile
3. Se rezolva modelul• Se aplica cel mai potrivit algorim pentru rezolvarea problemei
4. Implementare
![Page 7: Ingineria Sistemelor cu Inteligenta Artificialaimag.pub.ro/ro/cursuri/ISIA/curs/Optim.pdf · Preliminarii Curs (disciplina) in anul 3 dedicat la CTI Problema:. Fiind data o functie](https://reader030.fdocument.pub/reader030/viewer/2022040720/5e2bd0aa27cf7b3c6f342773/html5/thumbnails/7.jpg)
Definirea problemei
Avem functia obiectiv de optimizat
Scopul este sa aflam variabila determinista x care minimizeaza functia (i.e. pentru care f atingecea mai mica valoare)
Minizarea necesita constrangerile:
• De tip egalitate:
• De tip inegalitate:
Maximizarea ( functie de tip profit) este echivalenta cu a cauta minimul lui –f(x)
Problema: Vrem sa alegem drept presedinte cel mai bun politician roman. Constrangere 1: in viataConstrangere 2: Cu studii de cel putin 5 ani
![Page 8: Ingineria Sistemelor cu Inteligenta Artificialaimag.pub.ro/ro/cursuri/ISIA/curs/Optim.pdf · Preliminarii Curs (disciplina) in anul 3 dedicat la CTI Problema:. Fiind data o functie](https://reader030.fdocument.pub/reader030/viewer/2022040720/5e2bd0aa27cf7b3c6f342773/html5/thumbnails/8.jpg)
Tipuri de minime
• Care dintre minime va fi gasit depinde de punctul de pornire
• Situatiile ilustrate se regasesc toate in practica
x
f(x)Minim
local puternic
Minim local slab Minim
globalputernic
Minim localputernic
Regiunea de cautare
![Page 9: Ingineria Sistemelor cu Inteligenta Artificialaimag.pub.ro/ro/cursuri/ISIA/curs/Optim.pdf · Preliminarii Curs (disciplina) in anul 3 dedicat la CTI Problema:. Fiind data o functie](https://reader030.fdocument.pub/reader030/viewer/2022040720/5e2bd0aa27cf7b3c6f342773/html5/thumbnails/9.jpg)
Optimizare univariata fara constrangeri
Vom presupune ca pornim aproape de minimul global
Pentru a determina pozitia minimului?• Metode de cautare (Dichotomous, Fibonacci, Sectiunea de aur)• Metode de aproximare
1. Interpolare polinomiala 2. Newton de tip Newton
• Combinatii
![Page 10: Ingineria Sistemelor cu Inteligenta Artificialaimag.pub.ro/ro/cursuri/ISIA/curs/Optim.pdf · Preliminarii Curs (disciplina) in anul 3 dedicat la CTI Problema:. Fiind data o functie](https://reader030.fdocument.pub/reader030/viewer/2022040720/5e2bd0aa27cf7b3c6f342773/html5/thumbnails/10.jpg)
Metode de optimizare: intuitie
Se porneste de la un punct initial
Proces iterativ− Se executa salturi
− Pana cand se gaseste minimul cu suficienta precizie
O alta metoda presupune un alt mod de a calcula saltul
x1 x2
![Page 11: Ingineria Sistemelor cu Inteligenta Artificialaimag.pub.ro/ro/cursuri/ISIA/curs/Optim.pdf · Preliminarii Curs (disciplina) in anul 3 dedicat la CTI Problema:. Fiind data o functie](https://reader030.fdocument.pub/reader030/viewer/2022040720/5e2bd0aa27cf7b3c6f342773/html5/thumbnails/11.jpg)
Metode de cautare
• Se porneste cu un interval inchis [xL, xU] astfel incat sa includaminimul x* .
• Se evaluaza f(x) in doua puncte in interval .• Se reduce intervalul.• Se repeta procesul pana cand interval este destul de mic.
• Poate fi aplicata oricarei functii Functia nu trebuie sa fie diferentiabila.
![Page 12: Ingineria Sistemelor cu Inteligenta Artificialaimag.pub.ro/ro/cursuri/ISIA/curs/Optim.pdf · Preliminarii Curs (disciplina) in anul 3 dedicat la CTI Problema:. Fiind data o functie](https://reader030.fdocument.pub/reader030/viewer/2022040720/5e2bd0aa27cf7b3c6f342773/html5/thumbnails/12.jpg)
Metode de cautare
xL
xU
xL
xU
xL xU
xL
xU
xL
xUxL xU
xLxU
1 2 3 5 8xL
xU
1 2 3 5 8xL xU
1 2 3 5 8xL xU
1 2 3 5 8
xL xU
1 2 3 5 8
Dichotomous
Fibonacci: 1 1 2 3 5 8 …
![Page 13: Ingineria Sistemelor cu Inteligenta Artificialaimag.pub.ro/ro/cursuri/ISIA/curs/Optim.pdf · Preliminarii Curs (disciplina) in anul 3 dedicat la CTI Problema:. Fiind data o functie](https://reader030.fdocument.pub/reader030/viewer/2022040720/5e2bd0aa27cf7b3c6f342773/html5/thumbnails/13.jpg)
Metode de cautare
xL
xU
xL
xU
xL xU
Dichotomous
[Zitova]
Algoritm0) Fie intervalul interval [xL,xU] = [a,b]1) Calculam x1= a + (b-a)/2 –E/2 and x2= a+(b-a)/2 +E/2
E este rezolutia2) Se compara ƒ(x1) cu ƒ(x2)3) Daca ƒ(x1)<ƒ(x2) atunci se elimina x > x2 si se alege b = x2
Daca ƒ(x1)>ƒ(x2) atunci se elimina x < x1 si se alege a = x1Daca ƒ(x1)=ƒ(x2) atunci se alege alta pereche de puncte
4) Se continua pana cand latimea intervalului este mai mica decat toleranta (2 E)
![Page 14: Ingineria Sistemelor cu Inteligenta Artificialaimag.pub.ro/ro/cursuri/ISIA/curs/Optim.pdf · Preliminarii Curs (disciplina) in anul 3 dedicat la CTI Problema:. Fiind data o functie](https://reader030.fdocument.pub/reader030/viewer/2022040720/5e2bd0aa27cf7b3c6f342773/html5/thumbnails/14.jpg)
Functie
Drept exemplu sa consideram functia
![Page 15: Ingineria Sistemelor cu Inteligenta Artificialaimag.pub.ro/ro/cursuri/ISIA/curs/Optim.pdf · Preliminarii Curs (disciplina) in anul 3 dedicat la CTI Problema:. Fiind data o functie](https://reader030.fdocument.pub/reader030/viewer/2022040720/5e2bd0aa27cf7b3c6f342773/html5/thumbnails/15.jpg)
Metoda “Gradient descent”Fiind data o locatie de start , x0, se calculeaza gradientul df/dx Si se merge in directia scaderii lui (la vale) Acolo se genereaza un nou estimat, x1 = x0 + δx
Cum se determina valoarea saltului δx?
![Page 16: Ingineria Sistemelor cu Inteligenta Artificialaimag.pub.ro/ro/cursuri/ISIA/curs/Optim.pdf · Preliminarii Curs (disciplina) in anul 3 dedicat la CTI Problema:. Fiind data o functie](https://reader030.fdocument.pub/reader030/viewer/2022040720/5e2bd0aa27cf7b3c6f342773/html5/thumbnails/16.jpg)
Metoda “Gradient descent”Fiind data o locatie de start , x0, se calculeaza gradientul df/dxSi se merge in directia scaderii lui (la vale) Se alege saltul pe baza unui parametru prestabilit – learning rate λ
δx = λ * f’(x0)?
λ = 0.01
![Page 17: Ingineria Sistemelor cu Inteligenta Artificialaimag.pub.ro/ro/cursuri/ISIA/curs/Optim.pdf · Preliminarii Curs (disciplina) in anul 3 dedicat la CTI Problema:. Fiind data o functie](https://reader030.fdocument.pub/reader030/viewer/2022040720/5e2bd0aa27cf7b3c6f342773/html5/thumbnails/17.jpg)
Interepretare polinomiala
• Se considera un interval care contine minimul.
• Se considera o aproximare cu un polinom de gradul 2 (aproximare patratica) sau de gradul 3 (cubica) care aproximeazafunctia pe intervalul data.
• Pentru polinomul ales se calculeaza analitic pozitia minimului
• Noua valoare este data de minimul polinomul
• Repeta procesul.
![Page 18: Ingineria Sistemelor cu Inteligenta Artificialaimag.pub.ro/ro/cursuri/ISIA/curs/Optim.pdf · Preliminarii Curs (disciplina) in anul 3 dedicat la CTI Problema:. Fiind data o functie](https://reader030.fdocument.pub/reader030/viewer/2022040720/5e2bd0aa27cf7b3c6f342773/html5/thumbnails/18.jpg)
Interpolare polinomiala
• Interpolare patratica folosind 3 puncte, 2 iteratii•
![Page 19: Ingineria Sistemelor cu Inteligenta Artificialaimag.pub.ro/ro/cursuri/ISIA/curs/Optim.pdf · Preliminarii Curs (disciplina) in anul 3 dedicat la CTI Problema:. Fiind data o functie](https://reader030.fdocument.pub/reader030/viewer/2022040720/5e2bd0aa27cf7b3c6f342773/html5/thumbnails/19.jpg)
Metode de tip Newton
•
Se gaseste δx care minimizeaza aproximarea patratica (polinom de gradul 2 – minim in -(b/2a) ).
• Se considera noua valoare a lui x si se repeta procesul.
In punctul curent se considera aproximarea functiei pe baze serieiTaylor cu 2 termeni.
![Page 20: Ingineria Sistemelor cu Inteligenta Artificialaimag.pub.ro/ro/cursuri/ISIA/curs/Optim.pdf · Preliminarii Curs (disciplina) in anul 3 dedicat la CTI Problema:. Fiind data o functie](https://reader030.fdocument.pub/reader030/viewer/2022040720/5e2bd0aa27cf7b3c6f342773/html5/thumbnails/20.jpg)
Metode de tip Newton
• Convergenta foarte rapida• Necesita derivata a doua
![Page 21: Ingineria Sistemelor cu Inteligenta Artificialaimag.pub.ro/ro/cursuri/ISIA/curs/Optim.pdf · Preliminarii Curs (disciplina) in anul 3 dedicat la CTI Problema:. Fiind data o functie](https://reader030.fdocument.pub/reader030/viewer/2022040720/5e2bd0aa27cf7b3c6f342773/html5/thumbnails/21.jpg)
Metode de tip Newton
• Convergenta proasta pentru metode de tip Newton Derivata a doua creeaza probleme Probleme numerice.
![Page 22: Ingineria Sistemelor cu Inteligenta Artificialaimag.pub.ro/ro/cursuri/ISIA/curs/Optim.pdf · Preliminarii Curs (disciplina) in anul 3 dedicat la CTI Problema:. Fiind data o functie](https://reader030.fdocument.pub/reader030/viewer/2022040720/5e2bd0aa27cf7b3c6f342773/html5/thumbnails/22.jpg)
Extensia la spatii N-dimensionale (multivariate)
• N poate fi foarte mare– Retelele adanci au milioane de parametri
• In general se ilustreaza pe N=2 pentru vizualizare.
![Page 23: Ingineria Sistemelor cu Inteligenta Artificialaimag.pub.ro/ro/cursuri/ISIA/curs/Optim.pdf · Preliminarii Curs (disciplina) in anul 3 dedicat la CTI Problema:. Fiind data o functie](https://reader030.fdocument.pub/reader030/viewer/2022040720/5e2bd0aa27cf7b3c6f342773/html5/thumbnails/23.jpg)
Algoritm generic de optimizare• Start cu x0, k = 0.1. Calculeaza o directie de cautare pk
2. Calculeaza o lungime a saltului αk, astfel incat f(xk + αk pk ) < f(xk)
3. Calculeaza noul pas xk+1 = xk + αk pk
4. Verifica convergenta (criteriu de stop) e.g. df/dx = 0
Reduce optimizarea in N dimensiuni la o serie de minimizari liniare (1D)k = k+1
![Page 24: Ingineria Sistemelor cu Inteligenta Artificialaimag.pub.ro/ro/cursuri/ISIA/curs/Optim.pdf · Preliminarii Curs (disciplina) in anul 3 dedicat la CTI Problema:. Fiind data o functie](https://reader030.fdocument.pub/reader030/viewer/2022040720/5e2bd0aa27cf7b3c6f342773/html5/thumbnails/24.jpg)
Dezvoltare multidimensionala in jurul unui punct x*
Unde gradientul este un vector
Iar H(x*) este matricea hessian, simmetrica ce trebuie inversata
Dezvoltare in serie Taylor
![Page 25: Ingineria Sistemelor cu Inteligenta Artificialaimag.pub.ro/ro/cursuri/ISIA/curs/Optim.pdf · Preliminarii Curs (disciplina) in anul 3 dedicat la CTI Problema:. Fiind data o functie](https://reader030.fdocument.pub/reader030/viewer/2022040720/5e2bd0aa27cf7b3c6f342773/html5/thumbnails/25.jpg)
Steepest descent • Basic principle is to minimize the N-dimensional function by a
series of 1D line-minimizations:
• The steepest descent method chooses pk to be parallel to the gradient
• Step-size αk is chosen to minimize f(xk + αkpk).For quadratic forms there is a closed form solution:
![Page 26: Ingineria Sistemelor cu Inteligenta Artificialaimag.pub.ro/ro/cursuri/ISIA/curs/Optim.pdf · Preliminarii Curs (disciplina) in anul 3 dedicat la CTI Problema:. Fiind data o functie](https://reader030.fdocument.pub/reader030/viewer/2022040720/5e2bd0aa27cf7b3c6f342773/html5/thumbnails/26.jpg)
“Steepest” descent
• Gradientul este peste tot perpendicular pe liniile de contur.• După fiecare minimizare pe directia stabilita, noul gradient este
întotdeauna perpendicular pe direcția anterioara.• În consecință, iterațiile au tendința de a face zig-zag pe vale într-o
manieră foarte ineficientă
![Page 27: Ingineria Sistemelor cu Inteligenta Artificialaimag.pub.ro/ro/cursuri/ISIA/curs/Optim.pdf · Preliminarii Curs (disciplina) in anul 3 dedicat la CTI Problema:. Fiind data o functie](https://reader030.fdocument.pub/reader030/viewer/2022040720/5e2bd0aa27cf7b3c6f342773/html5/thumbnails/27.jpg)
Conjugate gradient • Fiecare pk este ales astfel incat sa fie perpendicular (conjugat)
pe toate directiile de cautare precedente in raport cu Hessian H:
• Directiile de cautare sunt mutual linear independente.• Remarcabil, pk poate fi ales doar cu cunostinte despre pk-1,
, and
![Page 28: Ingineria Sistemelor cu Inteligenta Artificialaimag.pub.ro/ro/cursuri/ISIA/curs/Optim.pdf · Preliminarii Curs (disciplina) in anul 3 dedicat la CTI Problema:. Fiind data o functie](https://reader030.fdocument.pub/reader030/viewer/2022040720/5e2bd0aa27cf7b3c6f342773/html5/thumbnails/28.jpg)
Metoda Newton
Se devolta f(x) in serie Taylor in jurul punctului xk
Unde gradientul este vectorul
Iar Hessiana este matricea simetrica
![Page 29: Ingineria Sistemelor cu Inteligenta Artificialaimag.pub.ro/ro/cursuri/ISIA/curs/Optim.pdf · Preliminarii Curs (disciplina) in anul 3 dedicat la CTI Problema:. Fiind data o functie](https://reader030.fdocument.pub/reader030/viewer/2022040720/5e2bd0aa27cf7b3c6f342773/html5/thumbnails/29.jpg)
Simplex
![Page 30: Ingineria Sistemelor cu Inteligenta Artificialaimag.pub.ro/ro/cursuri/ISIA/curs/Optim.pdf · Preliminarii Curs (disciplina) in anul 3 dedicat la CTI Problema:. Fiind data o functie](https://reader030.fdocument.pub/reader030/viewer/2022040720/5e2bd0aa27cf7b3c6f342773/html5/thumbnails/30.jpg)
Optimizare cu Constrangeri
In functie de
• Constrangeri de tip egalitate :
• Constrangeri de tip inegalitate:
• Constrangerile definesc o reziune fezabile nevida.• Idea este sa o convertim intr-o optimizare fara constrangeri.
![Page 31: Ingineria Sistemelor cu Inteligenta Artificialaimag.pub.ro/ro/cursuri/ISIA/curs/Optim.pdf · Preliminarii Curs (disciplina) in anul 3 dedicat la CTI Problema:. Fiind data o functie](https://reader030.fdocument.pub/reader030/viewer/2022040720/5e2bd0aa27cf7b3c6f342773/html5/thumbnails/31.jpg)
Constrangeri de tip egalitate
• Minimizam f(x) cu constrangerea : pentru
• Gradientul lui f(x) intro zona restransa este egala cu combinatia liniara a gradientilor lui ai(x) de inmultit cu multiplicatorii lui Lagrange drept coeficienti.
![Page 32: Ingineria Sistemelor cu Inteligenta Artificialaimag.pub.ro/ro/cursuri/ISIA/curs/Optim.pdf · Preliminarii Curs (disciplina) in anul 3 dedicat la CTI Problema:. Fiind data o functie](https://reader030.fdocument.pub/reader030/viewer/2022040720/5e2bd0aa27cf7b3c6f342773/html5/thumbnails/32.jpg)
Exemplu 3D
![Page 33: Ingineria Sistemelor cu Inteligenta Artificialaimag.pub.ro/ro/cursuri/ISIA/curs/Optim.pdf · Preliminarii Curs (disciplina) in anul 3 dedicat la CTI Problema:. Fiind data o functie](https://reader030.fdocument.pub/reader030/viewer/2022040720/5e2bd0aa27cf7b3c6f342773/html5/thumbnails/33.jpg)
Exemplu 3D
f(x) = 3Gradients of constraints and objective function are linearly independent.
![Page 34: Ingineria Sistemelor cu Inteligenta Artificialaimag.pub.ro/ro/cursuri/ISIA/curs/Optim.pdf · Preliminarii Curs (disciplina) in anul 3 dedicat la CTI Problema:. Fiind data o functie](https://reader030.fdocument.pub/reader030/viewer/2022040720/5e2bd0aa27cf7b3c6f342773/html5/thumbnails/34.jpg)
Exemplu 3D
f(x) = 1Gradients constrangerii si functiei obiective sunt lineari dependenti.