Ingineria Sistemelor cu Inteligenta Artificialaimag.pub.ro/ro/cursuri/ISIA/curs/Optim.pdf ·...

34
Corneliu Florea. Ingineria Sistemelor cu Inteligenta Artificiala

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

“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

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

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

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

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

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

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

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

Exemplu 3D

f(x) = 1Gradients constrangerii si functiei obiective sunt lineari dependenti.